From 9ded433d34aad8d6cf8f9376c536b066e79b5e14 Mon Sep 17 00:00:00 2001 From: parallelbgls Date: Thu, 2 Mar 2017 10:35:01 +0800 Subject: [PATCH] Fix --- Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs | 18 +++++++++++------- Modbus.Net/Modbus.Net.OPC/OpcDaMachine.cs | 13 ++++++++----- .../Modbus.Net.Siemens/SiemensMachine.cs | 14 +++++++++----- Modbus.Net/Modbus.Net/BaseMachine.cs | 6 +++--- Modbus.Net/Modbus.Net/TaskManager.cs | 7 ------- 5 files changed, 31 insertions(+), 27 deletions(-) diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs index c209bb9..07ed8b9 100644 --- a/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs +++ b/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs @@ -31,19 +31,23 @@ namespace Modbus.Net.Modbus /// /// Modbus设备 /// - public class ModbusMachine : ModbusMachine + public class ModbusMachine : BaseMachine { public ModbusMachine(ModbusType connectionType, string connectionString, - IEnumerable> getAddresses, - bool keepConnect, byte slaveAddress, byte masterAddress, Endian endian = Endian.BigEndianLsb) - : base(connectionType, connectionString, getAddresses, keepConnect, slaveAddress, masterAddress, endian) + IEnumerable getAddresses, bool keepConnect, byte slaveAddress, byte masterAddress, + Endian endian = Endian.BigEndianLsb) + : base(getAddresses, keepConnect, slaveAddress, masterAddress) { + BaseUtility = new ModbusUtility(connectionType, connectionString, slaveAddress, masterAddress, endian); + AddressFormater = new AddressFormaterModbus(); + AddressCombiner = new AddressCombinerContinus(AddressTranslator); + AddressCombinerSet = new AddressCombinerContinus(AddressTranslator); } public ModbusMachine(ModbusType connectionType, string connectionString, - IEnumerable> getAddresses, - byte slaveAddress, byte masterAddress, Endian endian = Endian.BigEndianLsb) - : base(connectionType, connectionString, getAddresses, slaveAddress, masterAddress, endian) + IEnumerable getAddresses, byte slaveAddress, byte masterAddress, + Endian endian = Endian.BigEndianLsb) + : this(connectionType, connectionString, getAddresses, false, slaveAddress, masterAddress, endian) { } } diff --git a/Modbus.Net/Modbus.Net.OPC/OpcDaMachine.cs b/Modbus.Net/Modbus.Net.OPC/OpcDaMachine.cs index e30c17f..0fc3694 100644 --- a/Modbus.Net/Modbus.Net.OPC/OpcDaMachine.cs +++ b/Modbus.Net/Modbus.Net.OPC/OpcDaMachine.cs @@ -26,15 +26,18 @@ namespace Modbus.Net.OPC /// /// OpcDa设备 /// - public class OpcDaMachine : OpcDaMachine + public class OpcDaMachine : BaseMachine { - public OpcDaMachine(string connectionString, IEnumerable> getAddresses, bool keepConnect) - : base(connectionString, getAddresses, keepConnect) + public OpcDaMachine(string connectionString, IEnumerable getAddresses, bool keepConnect) + : base(getAddresses, keepConnect) { + BaseUtility = new OpcDaUtility(connectionString); + AddressCombiner = new AddressCombinerSingle(); + AddressCombinerSet = new AddressCombinerSingle(); } - public OpcDaMachine(string connectionString, IEnumerable> getAddresses) - : base(connectionString, getAddresses) + public OpcDaMachine(string connectionString, IEnumerable getAddresses) + : this(connectionString, getAddresses, false) { } } diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs index eca454a..5c0e607 100644 --- a/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs +++ b/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs @@ -29,17 +29,21 @@ namespace Modbus.Net.Siemens /// /// 西门子设备 /// - public class SiemensMachine : SiemensMachine + public class SiemensMachine : BaseMachine { public SiemensMachine(SiemensType connectionType, string connectionString, SiemensMachineModel model, - IEnumerable> getAddresses, bool keepConnect, byte slaveAddress, byte masterAddress) - : base(connectionType, connectionString, model, getAddresses, keepConnect, slaveAddress, masterAddress) + IEnumerable getAddresses, bool keepConnect, byte slaveAddress, byte masterAddress) + : base(getAddresses, keepConnect, slaveAddress, masterAddress) { + BaseUtility = new SiemensUtility(connectionType, connectionString, model, slaveAddress, masterAddress); + AddressFormater = new AddressFormaterSiemens(); + AddressCombiner = new AddressCombinerContinus(AddressTranslator); + AddressCombinerSet = new AddressCombinerContinus(AddressTranslator); } public SiemensMachine(SiemensType connectionType, string connectionString, SiemensMachineModel model, - IEnumerable> getAddresses, byte slaveAddress, byte masterAddress) - : base(connectionType, connectionString, model, getAddresses, slaveAddress, masterAddress) + IEnumerable getAddresses, byte slaveAddress, byte masterAddress) + : this(connectionType, connectionString, model, getAddresses, false, slaveAddress, masterAddress) { } } diff --git a/Modbus.Net/Modbus.Net/BaseMachine.cs b/Modbus.Net/Modbus.Net/BaseMachine.cs index deb640e..2709fc4 100644 --- a/Modbus.Net/Modbus.Net/BaseMachine.cs +++ b/Modbus.Net/Modbus.Net/BaseMachine.cs @@ -59,16 +59,16 @@ namespace Modbus.Net public abstract class BaseMachine : BaseMachine { - protected BaseMachine(IEnumerable> getAddresses) : base(getAddresses) + protected BaseMachine(IEnumerable getAddresses) : base(getAddresses) { } - protected BaseMachine(IEnumerable> getAddresses, bool keepConnect) + protected BaseMachine(IEnumerable getAddresses, bool keepConnect) : base(getAddresses, keepConnect) { } - protected BaseMachine(IEnumerable> getAddresses, bool keepConnect, byte slaveAddress, + protected BaseMachine(IEnumerable getAddresses, bool keepConnect, byte slaveAddress, byte masterAddress) : base(getAddresses, keepConnect, slaveAddress, masterAddress) { } diff --git a/Modbus.Net/Modbus.Net/TaskManager.cs b/Modbus.Net/Modbus.Net/TaskManager.cs index b9dacc6..5b39cb6 100644 --- a/Modbus.Net/Modbus.Net/TaskManager.cs +++ b/Modbus.Net/Modbus.Net/TaskManager.cs @@ -22,13 +22,6 @@ namespace Modbus.Net Id } - /// - /// 返回结果的定义类 - /// - public class TaskReturnDef : TaskReturnDef - { - } - /// /// 返回结果的定义类 ///