From 079e3a66080cf08c5b1f80fcb435a86b107e6caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A6=82=E6=84=8F=20=E5=BD=AD?= <2417589739@qq.com> Date: Sat, 12 Nov 2022 16:11:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=94=E6=80=A7=E5=91=B3=E9=AD=94=E6=96=B9?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Image/弹窗.png | Bin 40411 -> 38972 bytes .../RecDictionarys/RecToggleButton.xaml | 79 ++ BPASmartClient.S7Net/EntityClassResolution.cs | 8 +- BPASmartClient.S7Net/SiemensHelper.cs | 5 +- DosingSystem/Model/DeviceInquire.cs | 12 +- DosingSystem/View/CommParSetView.xaml | 12 +- DosingSystem/View/ManualControlView.xaml | 875 ++++++++++-------- DosingSystem/View/RecipeControlView.xaml | 50 +- .../ViewModel/ManualControlViewModel.cs | 39 + .../ViewModel/RecipeControlViewModel.cs | 53 +- 10 files changed, 681 insertions(+), 452 deletions(-) diff --git a/BPASmartClient.CustomResource/Image/弹窗.png b/BPASmartClient.CustomResource/Image/弹窗.png index 7d4f8fdd060c484513a3a9e7a658921cfd1d4f6c..ce73a3c8e5dab4d810e871383e882d0c2de99988 100644 GIT binary patch literal 38972 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 DM=;YI diff --git a/BPASmartClient.CustomResource/RecDictionarys/RecToggleButton.xaml b/BPASmartClient.CustomResource/RecDictionarys/RecToggleButton.xaml index 635e3b0e..43527aa4 100644 --- a/BPASmartClient.CustomResource/RecDictionarys/RecToggleButton.xaml +++ b/BPASmartClient.CustomResource/RecDictionarys/RecToggleButton.xaml @@ -137,4 +137,83 @@ + + + + \ No newline at end of file diff --git a/BPASmartClient.S7Net/EntityClassResolution.cs b/BPASmartClient.S7Net/EntityClassResolution.cs index 5e720711..b9ddd591 100644 --- a/BPASmartClient.S7Net/EntityClassResolution.cs +++ b/BPASmartClient.S7Net/EntityClassResolution.cs @@ -55,9 +55,9 @@ namespace BPASmartClient.S7Net numBytes += len; break; default: - numBytes = GetClassSize(Activator.CreateInstance(type), numBytes, isInnerProperty: true); if (type.IsClass) IncrementToEven(ref numBytes); else if (!type.IsPrimitive && !type.IsEnum && type.IsValueType) IncrementToEven(ref numBytes); + numBytes = GetClassSize(Activator.CreateInstance(type), numBytes, isInnerProperty: true); break; } @@ -221,15 +221,13 @@ namespace BPASmartClient.S7Net break; default: { - object obj2 = Activator.CreateInstance(propertyType); - numBytes = FromBytes(obj2, bytes, numBytes); - numBytes = Math.Ceiling(numBytes); if (numBytes / 2.0 - Math.Floor(numBytes / 2.0) > 0.0) { numBytes += 1.0; } - + object obj2 = Activator.CreateInstance(propertyType); + numBytes = FromBytes(obj2, bytes, numBytes); obj = obj2; break; } diff --git a/BPASmartClient.S7Net/SiemensHelper.cs b/BPASmartClient.S7Net/SiemensHelper.cs index e79ad7fb..bf4b7dc9 100644 --- a/BPASmartClient.S7Net/SiemensHelper.cs +++ b/BPASmartClient.S7Net/SiemensHelper.cs @@ -2,7 +2,6 @@ using System.Net; using System.Text; using BPASmartClient.S7Net; -using System.Text; namespace BPASmartClient.S7Net { @@ -107,11 +106,11 @@ namespace BPASmartClient.S7Net } } - public void WriteString(int db,string txt, int startAddress = 0) + public void WriteString(int db, string txt, int startAddress = 0) { var temp = Encoding.ASCII.GetBytes(txt); var bytes = S7.Net.Types.S7String.ToByteArray(txt, temp.Length); - myPlc.WriteBytes(DataType.DataBlock,db, startAddress, bytes); + myPlc.WriteBytes(DataType.DataBlock, db, startAddress, bytes); } public TResult ReadClass(int db, int startByteAdr = 0) where TResult : class, new() diff --git a/DosingSystem/Model/DeviceInquire.cs b/DosingSystem/Model/DeviceInquire.cs index 8d1787b0..93cd452e 100644 --- a/DosingSystem/Model/DeviceInquire.cs +++ b/DosingSystem/Model/DeviceInquire.cs @@ -197,12 +197,6 @@ namespace BPASmartClient.DosingSystem DeviceLists[ip].modbusTcp.IsReconnect = false; App.Current.Dispatcher.Invoke(new Action(() => { - //DeviceListViewModel.devices.Add(new Devices() - //{ - // DeviceName = DeviceName, - // IpAddress = ip - //});//加入连接的(有名称的)设备列表 - devices.Add(new Devices() { DeviceName = DeviceName, IpAddress = ip }); if (TopDeviceCurrentStatuses.Count <= 7) @@ -244,20 +238,16 @@ namespace BPASmartClient.DosingSystem DS.modbusTcp.ConnectFail = new Action(() => { if (!InvalidIP.Contains(ip)) InvalidIP.Add(ip); - //MessageLog.GetInstance.ShowAlarmLog($"设备{ip}连接失败"); }); DS.modbusTcp.Disconnect = new Action(() => { if (InvalidIP.Contains(ip)) InvalidIP.Remove(ip); - //var res = DeviceListViewModel.devices.FirstOrDefault(P => P.IpAddress == ip); var res = devices.FirstOrDefault(P => P.IpAddress == ip); - //if (res != null && DeviceListViewModel.devices.Contains(res)) if (res != null && devices.Contains(res)) { App.Current.Dispatcher.Invoke(new Action(() => { - //DeviceListViewModel.devices.Remove(res); devices.Remove(res); var item = Global.DeviceRawMaterials.FirstOrDefault(P => P.RawMaterialName == res.DeviceName); if (item != null) Global.DeviceRawMaterials.Remove(item); @@ -307,7 +297,6 @@ namespace BPASmartClient.DosingSystem modbusTcp.ShowEx = new Action((s) => { MessageNotify.GetInstance.ShowRunLog(s); }); this.DeviceName = DeviceName; AlarmHelper.Init(); - if (modbusTcp.Connected) { ThreadManage.GetInstance().StartLong(new Action(() => @@ -353,6 +342,7 @@ namespace BPASmartClient.DosingSystem { modbusTcp.SetReal(DeviceAddress.WeightSet, Value);//写入配方量 modbusTcp.Write(DeviceAddress.Start, (ushort)1);//设备启动写入 + MessageNotify.GetInstance.ShowRunLog($"{DeviceName},设置重量:{Value}"); //配料设备参数写入 var res = Json.Data.deviceParModels.FirstOrDefault(p => p.MaterialName == DeviceName); if (res != null) diff --git a/DosingSystem/View/CommParSetView.xaml b/DosingSystem/View/CommParSetView.xaml index e12528e4..7758d9d3 100644 --- a/DosingSystem/View/CommParSetView.xaml +++ b/DosingSystem/View/CommParSetView.xaml @@ -125,7 +125,10 @@ Text="{Binding CommBaseParModel.BlockCylinderCount, UpdateSourceTrigger=PropertyChanged}" /> - + @@ -146,7 +149,10 @@ Text="{Binding CommBaseParModel.PalletCylinderCount, UpdateSourceTrigger=PropertyChanged}" /> - + @@ -171,7 +177,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + Height="100" + Margin="0,0,0,15" + Background="Transparent"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DosingSystem/View/RecipeControlView.xaml b/DosingSystem/View/RecipeControlView.xaml index 752864c0..865f7c9f 100644 --- a/DosingSystem/View/RecipeControlView.xaml +++ b/DosingSystem/View/RecipeControlView.xaml @@ -880,7 +880,7 @@ HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16" - Foreground="{Binding RecipStatus,Converter={StaticResource RecipeStatusConvert}}" + Foreground="{Binding RecipStatus, Converter={StaticResource RecipeStatusConvert}}" Text="{Binding RecipStatus}" /> + + + + - - + - + Stretch="Fill" />--> @@ -939,7 +942,9 @@ @@ -1011,6 +1016,27 @@ +