From 41cc73619013bb1aa630e41a8a08ba6a6c5e9db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=9C=A3?= Date: Thu, 1 Sep 2016 11:14:44 +0800 Subject: [PATCH] Fix --- Modbus.Net/NA200H.UI.WPF/MainWindow.xaml.cs | 58 ++++++++++++--------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/Modbus.Net/NA200H.UI.WPF/MainWindow.xaml.cs b/Modbus.Net/NA200H.UI.WPF/MainWindow.xaml.cs index 6f54cf1..d8d89e9 100644 --- a/Modbus.Net/NA200H.UI.WPF/MainWindow.xaml.cs +++ b/Modbus.Net/NA200H.UI.WPF/MainWindow.xaml.cs @@ -29,11 +29,14 @@ namespace NA200H.UI.WPF private void GetUtilityEnter() { - utility = new ModbusUtility(ModbusType.Tcp, "192.168.3.12"); - utility.AddressTranslator = new AddressTranslatorNA200H(); - object[] getNum = utility.GetDatas(0x02, 0x00, "NW 1", new KeyValuePair(typeof(ushort), 4)); - //utility = new SiemensUtility(SiemensType.Tcp, "192.168.3.11", SiemensMachineModel.S7_300); - //utility.AddressTranslator = new AddressTranslatorSiemens(); + if (utility == null) + { + utility = new ModbusUtility(ModbusType.Tcp, "192.168.3.12"); + utility.AddressTranslator = new AddressTranslatorNA200H(); + //utility = new SiemensUtility(SiemensType.Tcp, "192.168.3.11", SiemensMachineModel.S7_300); + //utility.AddressTranslator = new AddressTranslatorSiemens(); + } + object[] getNum = utility.GetDatas(0x02, 0x00, "NW 1", new KeyValuePair(typeof(ushort), 4)); //object[] getNum = utility.GetDatas(0x02, 0x00, "V 1", new KeyValuePair(typeof(ushort), 4)); ushort[] getNumUshorts = BigEndianValueHelper.Instance.ObjectArrayToDestinationArray(getNum); SetValue(getNumUshorts); @@ -41,29 +44,32 @@ namespace NA200H.UI.WPF private void GetMachineEnter() { - //machine = new ModbusMachine(ModbusType.Tcp, "192.168.3.12", new List() - //{ - //new AddressUnit() {Id = "1", Area = "MW", Address = 1, CommunicationTag = "Add1", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - //new AddressUnit() {Id = "2", Area = "MW", Address = 2, CommunicationTag = "Add2", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - //new AddressUnit() {Id = "3", Area = "MW", Address = 3, CommunicationTag = "Add3", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - //new AddressUnit() {Id = "4", Area = "MW", Address = 4, CommunicationTag = "Ans", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - //}); - //machine.AddressFormater = new AddressFormaterNA200H(); - //machine.AddressTranslator = new AddressTranslatorNA200H(); - //machine.AddressCombiner = new AddressCombinerContinus(machine.AddressTranslator); - //machine.AddressCombinerSet = new AddressCombinerContinus(machine.AddressTranslator); - machine = new SiemensMachine(SiemensType.Ppi, "COM4", SiemensMachineModel.S7_300, new List() - { - new AddressUnit() {Id = "1", Area = "V", Address = 0, CommunicationTag = "Add1", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - new AddressUnit() {Id = "2", Area = "V", Address = 2, CommunicationTag = "Add2", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - new AddressUnit() {Id = "3", Area = "V", Address = 4, CommunicationTag = "Add3", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, - new AddressUnit() {Id = "4", Area = "V", Address = 6, CommunicationTag = "Ans", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0} - }); - machine.AddressCombiner = new AddressCombinerContinus(machine.AddressTranslator); - machine.AddressCombinerSet = new AddressCombinerContinus(machine.AddressTranslator); + if (machine == null) + { + //machine = new ModbusMachine(ModbusType.Tcp, "192.168.3.12", new List() + //{ + //new AddressUnit() {Id = "1", Area = "MW", Address = 1, CommunicationTag = "Add1", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + //new AddressUnit() {Id = "2", Area = "MW", Address = 2, CommunicationTag = "Add2", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + //new AddressUnit() {Id = "3", Area = "MW", Address = 3, CommunicationTag = "Add3", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + //new AddressUnit() {Id = "4", Area = "MW", Address = 4, CommunicationTag = "Ans", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + //}); + //machine.AddressFormater = new AddressFormaterNA200H(); + //machine.AddressTranslator = new AddressTranslatorNA200H(); + //machine.AddressCombiner = new AddressCombinerContinus(machine.AddressTranslator); + //machine.AddressCombinerSet = new AddressCombinerContinus(machine.AddressTranslator); + machine = new SiemensMachine(SiemensType.Tcp, "192.168.3.11", SiemensMachineModel.S7_300, new List() + { + new AddressUnit() {Id = "1", Area = "V", Address = 0, CommunicationTag = "Add1", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + new AddressUnit() {Id = "2", Area = "V", Address = 2, CommunicationTag = "Add2", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + new AddressUnit() {Id = "3", Area = "V", Address = 4, CommunicationTag = "Add3", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0}, + new AddressUnit() {Id = "4", Area = "V", Address = 6, CommunicationTag = "Ans", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0} + }); + machine.AddressCombiner = new AddressCombinerContinus(machine.AddressTranslator); + machine.AddressCombinerSet = new AddressCombinerContinus(machine.AddressTranslator); + } var result = machine.GetDatas(MachineGetDataType.CommunicationTag); var resultFormat = BaseMachine.MapGetValuesToSetValues(result); - SetValue(new ushort[4] {(ushort)resultFormat["Add1"], (ushort)resultFormat["Add2"], (ushort)resultFormat["Add3"], (ushort)resultFormat["Ans"]}); + SetValue(new ushort[4] {(ushort)resultFormat["Add1"], (ushort)resultFormat["Add2"], (ushort)resultFormat["Add3"], (ushort)resultFormat["Ans"]}); } private void SetValue(ushort[] getNum)