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
- {
- }
-
///
/// 返回结果的定义类
///