diff --git a/BPASmartClient.Academy/App.config b/BPASmartClient.Academy/App.config index dc5fc1ff..89ed7224 100644 --- a/BPASmartClient.Academy/App.config +++ b/BPASmartClient.Academy/App.config @@ -14,6 +14,7 @@
+
@@ -68,8 +69,15 @@ - + + + + + + + + \ No newline at end of file diff --git a/BPASmartClient.Academy/Converter/DeviceCtrlConvert.cs b/BPASmartClient.Academy/Converter/DeviceCtrlConvert.cs index f25a49d7..189f92a8 100644 --- a/BPASmartClient.Academy/Converter/DeviceCtrlConvert.cs +++ b/BPASmartClient.Academy/Converter/DeviceCtrlConvert.cs @@ -98,7 +98,7 @@ namespace BPASmartClient.Academy.Converter bool value_get = (bool)value; if (value_get) { - return -1; + return 2; } else { diff --git a/BPASmartClient.Academy/Model/DeviceCtrl.cs b/BPASmartClient.Academy/Model/DeviceCtrl.cs index 64f24bb5..54d93d38 100644 --- a/BPASmartClient.Academy/Model/DeviceCtrl.cs +++ b/BPASmartClient.Academy/Model/DeviceCtrl.cs @@ -12,12 +12,13 @@ namespace BPASmartClient.Academy.Model public bool M101 { get { return _m101; } set { _m101 = value;OnPropertyChanged(); } } private bool _m101 = false; private int myVar; - public int MyProperty { get { return myVar; } set { myVar = value; } } + public bool IsConnect { get { return _isConnect; } set { _isConnect = value; OnPropertyChanged(); } } + private bool _isConnect = false; public bool M102 { get { return _m102; } set { _m102 = value; OnPropertyChanged(); } } private bool _m102 = false; public bool M103 { get { return _m103; } set { _m103 = value; OnPropertyChanged(); } } @@ -45,5 +46,16 @@ namespace BPASmartClient.Academy.Model private bool _vx109 = false; public bool VX110 { get { return _vx110; } set { _vx110 = value; OnPropertyChanged(); } } private bool _vx110 = false; + public bool VX111 { get { return _vx111; } set { _vx111 = value; OnPropertyChanged(); } } + private bool _vx111 = false; + public bool VX112 { get { return _vx112; } set { _vx112 = value; OnPropertyChanged(); } } + private bool _vx112 = false; + public bool VX113 { get { return _vx113; } set { _vx113 = value; OnPropertyChanged(); } } + private bool _vx113 = false; + public bool VX114 { get { return _vx114; } set { _vx114 = value; OnPropertyChanged(); } } + private bool _vx114 = false; + public bool VX115 { get { return _vx115; } set { _vx115 = value; OnPropertyChanged(); } } + private bool _vx115 = false; + } } diff --git a/BPASmartClient.Academy/Model/PipeLineStatus.cs b/BPASmartClient.Academy/Model/PipeLineStatus.cs new file mode 100644 index 00000000..dd47c8cd --- /dev/null +++ b/BPASmartClient.Academy/Model/PipeLineStatus.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BPASmartClient.Academy.Model +{ + public class PipeLineStatus:NotifyBase + { + private int _direction; + + public int Direction + { + get { return _direction; } + set { _direction = value;OnPropertyChanged(); } + } + private bool _fill; + + public bool Fill + { + get { return _fill; } + set { _fill = value;OnPropertyChanged(); } + } + + } + + public class PipeLineMode : NotifyBase + { + private PipeLineStatus _pipeH_1=new PipeLineStatus(); + + public PipeLineStatus PipeH_1 + { + get { return _pipeH_1; } + set { _pipeH_1 = value; OnPropertyChanged(); } + } + private PipeLineStatus _pipeH_2=new PipeLineStatus(); + + public PipeLineStatus PipeH_2 + { + get { return _pipeH_2; } + set { _pipeH_2 = value; OnPropertyChanged(); } + } + private PipeLineStatus _pipeH_3 = new PipeLineStatus(); + + public PipeLineStatus PipeH_3 + { + get { return _pipeH_3; } + set { _pipeH_3 = value; OnPropertyChanged(); } + } + } +} diff --git a/BPASmartClient.Academy/Model/Simens_PLC.cs b/BPASmartClient.Academy/Model/Simens_PLC.cs index e3ca49db..ee5828d6 100644 --- a/BPASmartClient.Academy/Model/Simens_PLC.cs +++ b/BPASmartClient.Academy/Model/Simens_PLC.cs @@ -1,7 +1,10 @@ using BPA.Helper; +using BPASmartClient.CustomResource.UserControls.MessageShow; +using BPASmartClient.CustomResource.UserControls; using LiveCharts; using Microsoft.Windows.Input; using Newtonsoft.Json.Linq; +using SqlSugar.Extensions; using System; using System.Collections.Generic; using System.Collections.Specialized; @@ -21,8 +24,9 @@ namespace BPASmartClient.Academy.Model public DataFeedback dataFeedback { get; set; } = new DataFeedback(); public string id { get; set; } = ""; //public SiemensHelper siemens { get; set; } = new SiemensHelper(); - public ICommSiemens siemens { get; set; } = CommHelper.Siemens; + public ICommSiemens siemens; public DeviceCtrl deviceCtrl { get; set; } = new DeviceCtrl(); + public ConcurrentDictionary AlarmInfo { get; set; }= new ConcurrentDictionary(); public bool IsConnected { get; set; } = false; bool heart = false; public void Connect() @@ -32,16 +36,19 @@ namespace BPASmartClient.Academy.Model var x = (NameValueCollection)ConfigurationManager.GetSection("FlexBatchSystem/PLCInfo"); if (x != null) { + string ip = x.Get("IpAddress"); //siemens.Connect(S7.Net.CpuType.S7200Smart, x.Get("IpAddress"), Convert.ToInt32(x.Get("Port"))); - CommHelper.CreateSiemens(CpuType.S7200Smart, x.Get("IpAddress")); + CommHelper.CreateSiemens(CpuType.S7200Smart, x.Get("IpAddress")).OnSuccess(o => + { + siemens = o.Content; + IsConnected = true; + }); } }); - - - } public void Init() { + AlarmInfoGet(); ThreadManage.GetInstance.StartLong(() => { ReadStatus(); @@ -55,92 +62,231 @@ namespace BPASmartClient.Academy.Model ChartDataRead(); }, "曲线数据"); } + public void AlarmInfoGet() + { + var x = (NameValueCollection)ConfigurationManager.GetSection("FlexBatchSystem/Alarm"); + if (x!=null) + { + x.AllKeys.ToList().ForEach(o => + { + if (!AlarmInfo.ContainsKey(o)) + { + AlarmInfo.TryAdd(o, x.Get(o)); + + } + }); + } + } + public void AlarmRead() + { + if (IsConnected) + { + AlarmInfo.Keys.ToList().ForEach(o => + { + siemens.Read(o).OnSuccess(p => + { + if (p.Content) + { + App.Current.Dispatcher.Invoke(() => + { + NoticeDemoViewModel.OpenMsg(EnumPromptType.Warn, App.MainWindow, "警告", Simens_PLC.GetInstance.AlarmInfo[o], 2, 1); + }); + } + }); + }); + + } + + } public void ReadStatus() { if (IsConnected) { - deviceCtrl.M101 = siemens.Read("V2000.0").Content; - deviceCtrl.M102 = siemens.Read("V2000.1").Content; - deviceCtrl.M103 = siemens.Read("V2000.2").Content; - deviceCtrl.VX100 = siemens.Read("V2000.3").Content; - deviceCtrl.VX101 = siemens.Read("V2000.4").Content; - deviceCtrl.VX102 = siemens.Read("V2000.5").Content; - deviceCtrl.VX103 = siemens.Read("V2000.6").Content; - deviceCtrl.VX104 = siemens.Read("V2000.7").Content; - deviceCtrl.VX105 = siemens.Read("V2001.0").Content; - deviceCtrl.VX106 = siemens.Read("V2001.1").Content; - deviceCtrl.VX107 = siemens.Read("V2001.2").Content; - deviceCtrl.VX108 = siemens.Read("V2001.3").Content; - deviceCtrl.VX109 = siemens.Read("V2001.4").Content; - deviceCtrl.VX110 = siemens.Read("V2001.5").Content; - heart = siemens.Read("V1003.7").Content; + siemens.Read("DB1.DBX1003.7").OnSuccess(o => + { + heart = o.Content; + }); + siemens.Read("DB1.DBX2000.0").OnSuccess(o => + { + deviceCtrl.M101 = o.Content; + }); + siemens.Read("DB1.DBX2000.1").OnSuccess(o => + { + deviceCtrl.M102 = o.Content; + }); + siemens.Read("DB1.DBX2000.2").OnSuccess(o => + { + deviceCtrl.M103 = o.Content; + }); + siemens.Read("DB1.DBX2000.3").OnSuccess(o => + { + deviceCtrl.VX100 = o.Content; + }); + siemens.Read("DB1.DBX2000.4").OnSuccess(o => + { + deviceCtrl.VX101 = o.Content; + }); + siemens.Read("DB1.DBX2000.5").OnSuccess(o => + { + deviceCtrl.VX102 = o.Content; + }); + siemens.Read("DB1.DBX2000.6").OnSuccess(o => + { + deviceCtrl.VX103 = o.Content; + }); + siemens.Read("DB1.DBX2000.7").OnSuccess(o => + { + deviceCtrl.VX104 = o.Content; + }); + siemens.Read("DB1.DBX2001.0").OnSuccess(o => + { + deviceCtrl.VX105 = o.Content; + }); + siemens.Read("DB1.DBX2001.1").OnSuccess(o => + { + deviceCtrl.VX106 = o.Content; + }); + siemens.Read("DB1.DBX2001.2").OnSuccess(o => + { + deviceCtrl.VX107 = o.Content; + }); + siemens.Read("DB1.DBX2001.3").OnSuccess(o => + { + deviceCtrl.VX108 = o.Content; + }); + siemens.Read("DB1.DBX2001.4").OnSuccess(o => + { + deviceCtrl.VX109 = o.Content; + }); + siemens.Read("DB1.DBX2001.5").OnSuccess(o => + { + deviceCtrl.VX110 = o.Content; + }); + siemens.Read("DB1.DBX2001.6").OnSuccess(o => + { + deviceCtrl.VX111 = o.Content; + }); + siemens.Read("DB1.DBX2001.7").OnSuccess(o => + { + deviceCtrl.VX112 = o.Content; + }); + siemens.Read("DB1.DBX2002.0").OnSuccess(o => + { + deviceCtrl.VX113 = o.Content; + }); + siemens.Read("DB1.DBX2002.1").OnSuccess(o => + { + deviceCtrl.VX114 = o.Content; + }); + siemens.Read("DB1.DBX2002.2").OnSuccess(o => + { + deviceCtrl.VX115 = o.Content; + }); + + PipeDetect(); Thread.Sleep(100); } } - public void ChartDataRead() + public void PipeDetect() { - if (id != "") + if (deviceCtrl.VX102||deviceCtrl.VX103) { - SaveData saveData = new SaveData() - { - Id = id, - Name = dataFeedback.Name, - Date = DateTime.Now, - M101_Speed = siemens.Read("VD2006").Content, - M102_Speed = siemens.Read("VD2010").Content, - M103_Speed = siemens.Read("VD2014").Content, - OpenValve = siemens.Read("VD2018").Content, - TempWok = siemens.Read("VD2022").Content, - TempMaterial = siemens.Read("VD2026").Content, - TempVent = siemens.Read("VD2030").Content, - PressureWok = siemens.Read("VD2034").Content, - WeightWok = siemens.Read("VD2038").Content, - }; - - - DataView(dataFeedback.M101_Speed, new DataValue() { DateTime = saveData.Date, Value = saveData.M101_Speed }); - DataView(dataFeedback.M102_Speed, new DataValue() { DateTime = saveData.Date, Value = saveData.M102_Speed }); - DataView(dataFeedback.M103_Speed, new DataValue() { DateTime = saveData.Date, Value = saveData.M103_Speed }); - DataView(dataFeedback.OpenValve, new DataValue() { DateTime = saveData.Date, Value = saveData.OpenValve }); - DataView(dataFeedback.TempWok, new DataValue() { DateTime = saveData.Date, Value = saveData.TempWok }); - DataView(dataFeedback.TempMaterial, new DataValue() { DateTime = saveData.Date, Value = saveData.TempMaterial }); - DataView(dataFeedback.TempVent, new DataValue() { DateTime = saveData.Date, Value = saveData.TempVent }); - DataView(dataFeedback.PressureWok, new DataValue() { DateTime = saveData.Date, Value = saveData.PressureWok }); - DataView(dataFeedback.WeightWok, new DataValue() { DateTime = saveData.Date, Value = saveData.WeightWok }); + DeviceMotionViewModel.PipeLine.PipeH_1.Fill = true; + DeviceMotionViewModel.PipeLine.PipeH_1.Direction = 1; + } + else + { + DeviceMotionViewModel.PipeLine.PipeH_1.Fill = false; + DeviceMotionViewModel.PipeLine.PipeH_1.Direction = 0; + } + if (deviceCtrl.VX107||deviceCtrl.VX110) + { + DeviceMotionViewModel.PipeLine.PipeH_2.Fill = true; + DeviceMotionViewModel.PipeLine.PipeH_2.Direction = 1; } else { - DateTime date = DateTime.Now; - Random random = new Random(); + DeviceMotionViewModel.PipeLine.PipeH_2.Fill = false; + DeviceMotionViewModel.PipeLine.PipeH_2.Direction = 0; + } + if (deviceCtrl.VX108||deviceCtrl.VX109) + { + DeviceMotionViewModel.PipeLine.PipeH_3.Fill = true; + DeviceMotionViewModel.PipeLine.PipeH_3.Direction = 1; + } + else + { + DeviceMotionViewModel.PipeLine.PipeH_3.Fill = false; + DeviceMotionViewModel.PipeLine.PipeH_3.Direction = 0; + } + } + public void ChartDataRead() + { + if (siemens!=null) + { + SaveData saveData = new SaveData() { Id = id, Name = dataFeedback.Name, Date = DateTime.Now, - M101_Speed = random.Next(0, 2000), - M102_Speed = random.Next(0, 2000), - M103_Speed = random.Next(0, 2000), - OpenValve = random.Next(0, 5), - TempWok = random.Next(-10, 150), - TempMaterial = random.Next(-10, 150), - TempVent = random.Next(-10, 150), - PressureWok = random.NextDouble(), - WeightWok = random.Next(0, 50), + M101_Speed = siemens.Read("DB1.DBD2006").Content, + M102_Speed = siemens.Read("DB1.DBD2010").Content, + M103_Speed = siemens.Read("DB1.DBD2014").Content, + OpenValve = siemens.Read("DB1.DBD2018").Content, + TempWok = siemens.Read("DB1.DBD2022").Content, + TempMaterial = siemens.Read("DB1.DBD2026").Content, + TempVent = siemens.Read("DB1.DBD2030").Content, + PressureWok = siemens.Read("DB1.DBD2034").Content, + WeightWok = siemens.Read("DB1.DBD2038").Content, }; - Sqlite.GetInstance.saveDatas.Add(saveData); - DataView(dataFeedback.M101_Speed, new DataValue() { DateTime = date, Value = saveData.M101_Speed }); - DataView(dataFeedback.M102_Speed, new DataValue() { DateTime = date, Value = saveData.M102_Speed }); - DataView(dataFeedback.M103_Speed, new DataValue() { DateTime = date, Value = saveData.M103_Speed }); - DataView(dataFeedback.TempWok, new DataValue() { DateTime = date, Value = saveData.TempWok }); - DataView(dataFeedback.TempMaterial, new DataValue() { DateTime = date, Value = saveData.TempMaterial }); - DataView(dataFeedback.TempVent, new DataValue() { DateTime = date, Value = saveData.TempVent }); - DataView(dataFeedback.OpenValve, new DataValue() { DateTime = date, Value = saveData.OpenValve }); - DataView(dataFeedback.PressureWok, new DataValue() { DateTime = date, Value = saveData.PressureWok }); - DataView(dataFeedback.WeightWok, new DataValue() { DateTime = date, Value = saveData.WeightWok }); + if (id != "") + { + DataView(dataFeedback.M101_Speed, new DataValue() { DateTime = saveData.Date, Value = saveData.M101_Speed }); + DataView(dataFeedback.M102_Speed, new DataValue() { DateTime = saveData.Date, Value = saveData.M102_Speed }); + DataView(dataFeedback.M103_Speed, new DataValue() { DateTime = saveData.Date, Value = saveData.M103_Speed }); + DataView(dataFeedback.OpenValve, new DataValue() { DateTime = saveData.Date, Value = saveData.OpenValve }); + DataView(dataFeedback.TempWok, new DataValue() { DateTime = saveData.Date, Value = saveData.TempWok }); + DataView(dataFeedback.TempMaterial, new DataValue() { DateTime = saveData.Date, Value = saveData.TempMaterial }); + DataView(dataFeedback.TempVent, new DataValue() { DateTime = saveData.Date, Value = saveData.TempVent }); + DataView(dataFeedback.PressureWok, new DataValue() { DateTime = saveData.Date, Value = saveData.PressureWok }); + DataView(dataFeedback.WeightWok, new DataValue() { DateTime = saveData.Date, Value = saveData.WeightWok }); + } + else + { + //DateTime date = DateTime.Now; + //Random random = new Random(); + //SaveData saveData = new SaveData() + //{ + // Id = id, + // Name = dataFeedback.Name, + // Date = DateTime.Now, + // M101_Speed = random.Next(0, 2000), + // M102_Speed = random.Next(0, 2000), + // M103_Speed = random.Next(0, 2000), + // OpenValve = random.Next(0, 5), + // TempWok = random.Next(-10, 150), + // TempMaterial = random.Next(-10, 150), + // TempVent = random.Next(-10, 150), + // PressureWok = random.NextDouble(), + // WeightWok = random.Next(0, 50), + //}; + //Sqlite.GetInstance.saveDatas.Add(saveData); + //DataView(dataFeedback.M101_Speed, new DataValue() { DateTime = date, Value = saveData.M101_Speed }); + //DataView(dataFeedback.M102_Speed, new DataValue() { DateTime = date, Value = saveData.M102_Speed }); + //DataView(dataFeedback.M103_Speed, new DataValue() { DateTime = date, Value = saveData.M103_Speed }); + //DataView(dataFeedback.TempWok, new DataValue() { DateTime = date, Value = saveData.TempWok }); + //DataView(dataFeedback.TempMaterial, new DataValue() { DateTime = date, Value = saveData.TempMaterial }); + //DataView(dataFeedback.TempVent, new DataValue() { DateTime = date, Value = saveData.TempVent }); + //DataView(dataFeedback.OpenValve, new DataValue() { DateTime = date, Value = saveData.OpenValve }); + //DataView(dataFeedback.PressureWok, new DataValue() { DateTime = date, Value = saveData.PressureWok }); + //DataView(dataFeedback.WeightWok, new DataValue() { DateTime = date, Value = saveData.WeightWok }); + } } + Thread.Sleep(1000); } public void DataView(ChartValues values, T value) @@ -157,73 +303,76 @@ namespace BPASmartClient.Academy.Model } public void Heartbeat() { - if (!heart) - { - siemens.Write("V1003.7", true); - } - else + if (IsConnected) { - IsConnected = false; GetInstance.Connect(); } - - if (deviceCtrl.M101) - { - deviceCtrl.M101 = false; - } - else + if (!heart&&siemens!=null) { - deviceCtrl.M101 = true; + siemens.Write("DB1.DBX1003.7", true).OnFailure(o => + { + IsConnected = false; + }).OnSuccess(o => + { + IsConnected=true; + }); } - if (deviceCtrl.VX100) - { - deviceCtrl.VX100 = false; - } - else - { - deviceCtrl.VX100 = true; - } + //if (deviceCtrl.M101) + //{ + // deviceCtrl.M101 = false; + //} + //else + //{ + // deviceCtrl.M101 = true; + //} - if (deviceCtrl.M102) - { - deviceCtrl.M102 = false; - } - else - { - deviceCtrl.M102 = true; - } + //if (deviceCtrl.VX100) + //{ + // deviceCtrl.VX100 = false; + //} + //else + //{ + // deviceCtrl.VX100 = true; + //} - if (deviceCtrl.VX101) - { - deviceCtrl.VX101 = false; - } - else - { - deviceCtrl.VX101 = true; - } + //if (deviceCtrl.M102) + //{ + // deviceCtrl.M102 = false; + //} + //else + //{ + // deviceCtrl.M102 = true; + //} - if (deviceCtrl.VX102) - { - deviceCtrl.VX102 = false; - } - else - { - deviceCtrl.VX102 = true; - } + //if (deviceCtrl.VX101) + //{ + // deviceCtrl.VX101 = false; + //} + //else + //{ + // deviceCtrl.VX101 = true; + //} - if (deviceCtrl.VX103) - { - deviceCtrl.VX103 = false; - deviceCtrl.VX104 = false; - deviceCtrl.VX105 = false; - } - else - { - deviceCtrl.VX103 = true; - deviceCtrl.VX104 = true; - deviceCtrl.VX105 = true; - } + + + //if (deviceCtrl.VX102) + //{ + // deviceCtrl.VX102= false; + // deviceCtrl.VX104 = false; + // deviceCtrl.VX105 = false; + // deviceCtrl.VX106 = false; + // deviceCtrl.VX109 = false; + //} + //else + //{ + // deviceCtrl.VX102 = true; + // deviceCtrl.VX104 = true; + // deviceCtrl.VX105 = true; + // deviceCtrl.VX106 = true; + // deviceCtrl.VX109 = true; + //} + //PipeDetect(); Thread.Sleep(3000); } diff --git a/BPASmartClient.Academy/View/DeviceMotionView.xaml b/BPASmartClient.Academy/View/DeviceMotionView.xaml index 3e359703..4b723cfa 100644 --- a/BPASmartClient.Academy/View/DeviceMotionView.xaml +++ b/BPASmartClient.Academy/View/DeviceMotionView.xaml @@ -143,8 +143,9 @@ + + + + + @@ -278,6 +305,7 @@ Margin="0,0,0,-8" Direction="{Binding DeviceStatus.VX102, Converter={StaticResource deviceConvert}, ConverterParameter=1}" Fill="{Binding DeviceStatus.VX102, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="25" Speed="10" /> @@ -342,7 +371,7 @@ Canvas.Top="170" Width="8" Height="30" - Direction="{Binding DeviceStatus.VX103, Converter={StaticResource deviceConvert}, ConverterParameter=1}" + Direction="{Binding DeviceStatus.VX103, Converter={StaticResource deviceConvert}, ConverterParameter=5}" Fill="{Binding DeviceStatus.VX103, Converter={StaticResource deviceConvert}, ConverterParameter=2}" Speed="10" /> @@ -350,15 +379,16 @@ Canvas.Left="638" Canvas.Top="154" Width="16" - Direction="{Binding DeviceStatus.VX103, Converter={StaticResource deviceConvert}, ConverterParameter=1}" + Direction="{Binding DeviceStatus.VX103, Converter={StaticResource deviceConvert}, ConverterParameter=5}" Fill="{Binding DeviceStatus.VX103, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="25" Speed="10" /> @@ -382,16 +412,16 @@ Canvas.Left="321" Canvas.Top="229" Width="30" - Direction="{Binding DeviceStatus.VX101, Converter={StaticResource deviceConvert}, ConverterParameter=1}" + Direction="{Binding DeviceStatus.VX101, Converter={StaticResource deviceConvert}, ConverterParameter=5}" Fill="{Binding DeviceStatus.VX101, Converter={StaticResource deviceConvert}, ConverterParameter=2}" - LineWidth="13" + LineWidth="15" Speed="10" /> + Direction="{Binding PipeLine.PipeH_2.Direction}" + Fill="{Binding PipeLine.PipeH_2.Fill, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="4" /> + Direction="{Binding DeviceStatus.VX107, Converter={StaticResource deviceConvert}, ConverterParameter=5}" + Fill="{Binding DeviceStatus.VX107, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="4" /> @@ -550,15 +586,17 @@ + Height="50" + Margin="348,287,402,154" + Direction="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=1}" + Fill="{Binding DeviceStatus.VX110, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="4" /> @@ -575,27 +613,42 @@ Width="95" Height="12" Margin="105,278,402,154" - LineWidth="2" /> + Direction="{Binding PipeLine.PipeH_3.Direction}" + Fill="{Binding PipeLine.PipeH_3.Fill, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="4" /> + + Height="40" + Margin="81,226,402,154" + Direction="{Binding DeviceStatus.VX108, Converter={StaticResource deviceConvert}, ConverterParameter=1}" + Fill="{Binding DeviceStatus.VX108, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="4" /> - + @@ -604,18 +657,21 @@ + Direction="{Binding DeviceStatus.VX109, Converter={StaticResource deviceConvert}, ConverterParameter=5}" + Fill="{Binding DeviceStatus.VX109, Converter={StaticResource deviceConvert}, ConverterParameter=2}" + LineWidth="4" /> - + @@ -627,12 +683,15 @@ Width="65" Height="8" Margin="607,68,402,154" + Direction="{Binding DeviceStatus.VX106, Converter={StaticResource deviceConvert}, ConverterParameter=5}" + Fill="{Binding DeviceStatus.VX106, Converter={StaticResource deviceConvert}, ConverterParameter=2}" LineWidth="2" /> @@ -668,7 +727,7 @@ - + - - - - - - + Margin="20,10" + HorizontalAlignment="Left" + VerticalAlignment="Top" + FontSize="20" + Foreground="White" + Text="开关控制:" /> + + + + + + + + + + + + + + + + + + + + + + - - + @@ -968,24 +1171,24 @@ - - + + - - - - -