diff --git a/Modbus.Net/Modbus.Net.HJ212/HJ212Machine.cs b/Modbus.Net/Modbus.Net.HJ212/HJ212Machine.cs
index f2583eb..ebb5023 100644
--- a/Modbus.Net/Modbus.Net.HJ212/HJ212Machine.cs
+++ b/Modbus.Net/Modbus.Net.HJ212/HJ212Machine.cs
@@ -27,8 +27,8 @@ namespace Modbus.Net.HJ212
///
/// 设备的ID号
/// 连接地址
- public HJ212Machine(TKey id, string connectionString, string st, string cn, string pw, string mn)
- : base(id, null, true)
+ public HJ212Machine(TKey id, string alias, string connectionString, string st, string cn, string pw, string mn)
+ : base(id, alias, null, true)
{
BaseUtility = new HJ212Utility(connectionString);
ST = st;
diff --git a/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs b/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs
index 0e20f5f..5c62092 100644
--- a/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs
+++ b/Modbus.Net/Modbus.Net.Modbus/ModbusMachine.cs
@@ -20,10 +20,10 @@ namespace Modbus.Net.Modbus
/// 从站号
/// 主站号
/// 端格式
- public ModbusMachine(TKey id, ModbusType connectionType, string connectionString,
+ public ModbusMachine(TKey id, string alias, ModbusType connectionType, string connectionString,
IEnumerable> getAddresses, bool keepConnect, byte slaveAddress, byte masterAddress,
Endian endian)
- : base(id, getAddresses, keepConnect, slaveAddress, masterAddress)
+ : base(id, alias, getAddresses, keepConnect, slaveAddress, masterAddress)
{
BaseUtility = new ModbusUtility(connectionType, connectionString, slaveAddress, masterAddress, endian);
AddressFormater = new AddressFormaterModbus();
@@ -41,10 +41,10 @@ namespace Modbus.Net.Modbus
/// 从站号
/// 主站号
/// 端格式
- public ModbusMachine(TKey id, ModbusType connectionType, string connectionString,
+ public ModbusMachine(TKey id, string alias, ModbusType connectionType, string connectionString,
IEnumerable> getAddresses, byte slaveAddress, byte masterAddress,
Endian endian)
- : this(id, connectionType, connectionString, getAddresses, true, slaveAddress, masterAddress, endian)
+ : this(id, alias, connectionType, connectionString, getAddresses, true, slaveAddress, masterAddress, endian)
{
}
}
diff --git a/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs b/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs
index 4bfd5ed..08562d0 100644
--- a/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs
+++ b/Modbus.Net/Modbus.Net.Siemens/SiemensMachine.cs
@@ -22,9 +22,9 @@ namespace Modbus.Net.Siemens
/// 主站号
/// 本机模块位,0到7,仅200使用,其它型号不要填写
/// PLC模块位,0到7,仅200使用,其它型号不要填写
- public SiemensMachine(TKey id, SiemensType connectionType, string connectionString, SiemensMachineModel model,
+ public SiemensMachine(TKey id, string alias, SiemensType connectionType, string connectionString, SiemensMachineModel model,
IEnumerable> getAddresses, bool keepConnect, byte slaveAddress, byte masterAddress, byte src = 1, byte dst = 0)
- : base(id, getAddresses, keepConnect, slaveAddress, masterAddress)
+ : base(id, alias, getAddresses, keepConnect, slaveAddress, masterAddress)
{
BaseUtility = new SiemensUtility(connectionType, connectionString, model, slaveAddress, masterAddress, src, dst);
AddressFormater = new AddressFormaterSiemens();
@@ -44,9 +44,9 @@ namespace Modbus.Net.Siemens
/// 主站号
/// 本机模块位,0到7,仅200使用,其它型号不要填写
/// PLC模块位,0到7,仅200使用,其它型号不要填写
- public SiemensMachine(TKey id, SiemensType connectionType, string connectionString, SiemensMachineModel model,
+ public SiemensMachine(TKey id, string alias, SiemensType connectionType, string connectionString, SiemensMachineModel model,
IEnumerable> getAddresses, byte slaveAddress, byte masterAddress, byte src = 1, byte dst = 0)
- : this(id, connectionType, connectionString, model, getAddresses, true, slaveAddress, masterAddress, src, dst)
+ : this(id, alias, connectionType, connectionString, model, getAddresses, true, slaveAddress, masterAddress, src, dst)
{
}
}
diff --git a/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs b/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs
index 039885a..7fabd1e 100644
--- a/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs
+++ b/Modbus.Net/Modbus.Net/Machine/BaseMachine.cs
@@ -25,8 +25,8 @@ namespace Modbus.Net
/// 是否保持连接
/// 从站地址
/// 主站地址
- protected BaseMachine(TKey id, IEnumerable> getAddresses, bool keepConnect, byte slaveAddress,
- byte masterAddress) : base(id, getAddresses, keepConnect)
+ protected BaseMachine(TKey id, string alias, IEnumerable> getAddresses, bool keepConnect, byte slaveAddress,
+ byte masterAddress) : base(id, alias, getAddresses, keepConnect)
{
SlaveAddress = slaveAddress;
MasterAddress = masterAddress;
@@ -510,8 +510,8 @@ namespace Modbus.Net
///
/// 设备的ID号
/// 需要与设备通讯的地址
- protected BaseMachine(TKey id, IEnumerable> getAddresses)
- : this(id, getAddresses, false)
+ protected BaseMachine(TKey id, string alias, IEnumerable> getAddresses)
+ : this(id, alias, getAddresses, false)
{
}
@@ -521,11 +521,22 @@ namespace Modbus.Net
/// 设备的ID号
/// 需要与设备通讯的地址
/// 是否保持连接
- protected BaseMachine(TKey id, IEnumerable> getAddresses, bool keepConnect)
+ protected BaseMachine(TKey id, string alias, IEnumerable> getAddresses, bool keepConnect)
{
Id = id;
GetAddresses = getAddresses;
KeepConnect = keepConnect;
+ if (alias.Contains(':'))
+ {
+ var aliasArray = alias.Split(':');
+ ProjectName = aliasArray[0];
+ MachineName = aliasArray[1];
+ }
+ else
+ {
+ ProjectName = "";
+ MachineName = alias;
+ }
}
private readonly int _maxErrorCount = 3;
diff --git a/Samples/AnyType/Controllers/HomeController.cs b/Samples/AnyType/Controllers/HomeController.cs
index ccc15eb..cf7ada0 100644
--- a/Samples/AnyType/Controllers/HomeController.cs
+++ b/Samples/AnyType/Controllers/HomeController.cs
@@ -56,7 +56,7 @@ namespace AnyType.Controllers
Value = 0,
Type = unitValue.DataType.Name
};
- var machine = new ModbusMachine("1", ModbusType.Tcp, "10.10.18.251:502", addressUnits, true, 2, 0, Endian.BigEndianLsb);
+ var machine = new ModbusMachine("1", "", ModbusType.Tcp, "10.10.18.251:502", addressUnits, true, 2, 0, Endian.BigEndianLsb);
//启动任务
await MachineJobSchedulerCreator.CreateScheduler("Trigger1", -1, 1).Result.From(machine.Id, machine, MachineDataType.CommunicationTag).Result.Query("Query1",
returnValues =>
diff --git a/Samples/TripleAdd/Controllers/HomeController.cs b/Samples/TripleAdd/Controllers/HomeController.cs
index a247f6a..d71d015 100644
--- a/Samples/TripleAdd/Controllers/HomeController.cs
+++ b/Samples/TripleAdd/Controllers/HomeController.cs
@@ -55,7 +55,7 @@ namespace TripleAdd.Controllers
{
if (machine == null)
{
- machine = new ModbusMachine("1", ModbusType.Tcp, "10.10.18.251", new List()
+ machine = new ModbusMachine("1", "", ModbusType.Tcp, "10.10.18.251", new List()
{
new AddressUnit() {Id = "1", Area = "4X", Address = 1, CommunicationTag = "Add1", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0},
new AddressUnit() {Id = "2", Area = "4X", Address = 2, CommunicationTag = "Add2", DataType = typeof(ushort), Zoom = 1, DecimalPos = 0},
diff --git a/Tests/Modbus.Net.Tests/BaseTest.cs b/Tests/Modbus.Net.Tests/BaseTest.cs
index 951babc..4164299 100644
--- a/Tests/Modbus.Net.Tests/BaseTest.cs
+++ b/Tests/Modbus.Net.Tests/BaseTest.cs
@@ -125,7 +125,7 @@ namespace Modbus.Net.Tests
},
};
- _baseMachine = new SiemensMachine(2, SiemensType.Tcp, _machineIp, SiemensMachineModel.S7_1200, _addressUnits, true, 2, 0, 1, 0)
+ _baseMachine = new SiemensMachine(2, "", SiemensType.Tcp, _machineIp, SiemensMachineModel.S7_1200, _addressUnits, true, 2, 0, 1, 0)
{
ProjectName = "Project 1",
MachineName = "Test 2"
diff --git a/Tests/Modbus.Net.Tests/EndianTest.cs b/Tests/Modbus.Net.Tests/EndianTest.cs
index 907f71a..46f3cc8 100644
--- a/Tests/Modbus.Net.Tests/EndianTest.cs
+++ b/Tests/Modbus.Net.Tests/EndianTest.cs
@@ -16,9 +16,9 @@ namespace Modbus.Net.Tests
[TestInitialize]
public void Init()
{
- _modbusTcpMachine = new ModbusMachine("1", ModbusType.Tcp, _machineIp, null, true, 1, 0, Endian.BigEndianLsb);
+ _modbusTcpMachine = new ModbusMachine("1", "",ModbusType.Tcp, _machineIp, null, true, 1, 0, Endian.BigEndianLsb);
- _modbusTcpMachine2 = new ModbusMachine("2", ModbusType.Tcp, _machineIp, null, true, 1, 0, Endian.LittleEndianLsb);
+ _modbusTcpMachine2 = new ModbusMachine("2", "", ModbusType.Tcp, _machineIp, null, true, 1, 0, Endian.LittleEndianLsb);
}
[TestMethod]
diff --git a/Tests/Modbus.Net.Tests/MachineMethodTest.cs b/Tests/Modbus.Net.Tests/MachineMethodTest.cs
index ff72f0f..1b04f5c 100644
--- a/Tests/Modbus.Net.Tests/MachineMethodTest.cs
+++ b/Tests/Modbus.Net.Tests/MachineMethodTest.cs
@@ -13,7 +13,7 @@ namespace Modbus.Net.Tests
[TestMethod]
public void GetUtility()
{
- BaseMachine baseMachine = new ModbusMachine(1, ModbusType.Tcp, _machineIp, null, true, 2, 0, Endian.BigEndianLsb);
+ BaseMachine baseMachine = new ModbusMachine(1, "", ModbusType.Tcp, _machineIp, null, true, 2, 0, Endian.BigEndianLsb);
var utility = baseMachine.GetUtilityMethods();
var methods = utility.GetType().GetRuntimeMethods();
Assert.AreEqual(methods.FirstOrDefault(method => method.Name == "GetDatasAsync") != null, true);
@@ -24,7 +24,7 @@ namespace Modbus.Net.Tests
[TestMethod]
public async Task InvokeUtility()
{
- BaseMachine baseMachine = new ModbusMachine(1, ModbusType.Tcp, _machineIp, null, true, 2, 0, Endian.BigEndianLsb);
+ BaseMachine baseMachine = new ModbusMachine(1, "", ModbusType.Tcp, _machineIp, null, true, 2, 0, Endian.BigEndianLsb);
await baseMachine.BaseUtility.ConnectAsync();
var success = await baseMachine.BaseUtility.GetUtilityMethods().SetDatasAsync("4X 1", new object[] { (byte)11 }, 1);
Assert.AreEqual(success.IsSuccess, true);
@@ -36,7 +36,7 @@ namespace Modbus.Net.Tests
[TestMethod]
public async Task InvokeMachine()
{
- BaseMachine baseMachine = new ModbusMachine(1, ModbusType.Tcp, _machineIp, new List
+ BaseMachine baseMachine = new ModbusMachine(1, "",ModbusType.Tcp, _machineIp, new List
{
new AddressUnit
{
diff --git a/Tests/Modbus.Net.Tests/ModbusMultiStationTest.cs b/Tests/Modbus.Net.Tests/ModbusMultiStationTest.cs
index 0300503..4f4edb0 100644
--- a/Tests/Modbus.Net.Tests/ModbusMultiStationTest.cs
+++ b/Tests/Modbus.Net.Tests/ModbusMultiStationTest.cs
@@ -16,8 +16,8 @@ namespace Modbus.Net.Tests
[TestInitialize]
public void Init()
{
- _modbusRtuMachine1 = new ModbusMachine("1", ModbusType.Rtu, _machineCom, null, true, 1, 0, Endian.BigEndianLsb);
- _modbusRtuMachine2 = new ModbusMachine("2", ModbusType.Rtu, _machineCom, null, true, 2, 0, Endian.BigEndianLsb);
+ _modbusRtuMachine1 = new ModbusMachine("1", "", ModbusType.Rtu, _machineCom, null, true, 1, 0, Endian.BigEndianLsb);
+ _modbusRtuMachine2 = new ModbusMachine("2", "", ModbusType.Rtu, _machineCom, null, true, 2, 0, Endian.BigEndianLsb);
}
[TestMethod]
diff --git a/Tests/Modbus.Net.Tests/ModbusTest.cs b/Tests/Modbus.Net.Tests/ModbusTest.cs
index 0a288e2..8cd03eb 100644
--- a/Tests/Modbus.Net.Tests/ModbusTest.cs
+++ b/Tests/Modbus.Net.Tests/ModbusTest.cs
@@ -22,11 +22,11 @@ namespace Modbus.Net.Tests
[TestInitialize]
public void Init()
{
- _modbusTcpMachine = new ModbusMachine("1", ModbusType.Tcp, _machineIp, null, true, 2, 0, Endian.BigEndianLsb);
+ _modbusTcpMachine = new ModbusMachine("1", "", ModbusType.Tcp, _machineIp, null, true, 2, 0, Endian.BigEndianLsb);
- _modbusRtuMachine = new ModbusMachine("2", ModbusType.Rtu, _machineCom, null, true, 2, 0, Endian.BigEndianLsb);
+ _modbusRtuMachine = new ModbusMachine("2", "", ModbusType.Rtu, _machineCom, null, true, 2, 0, Endian.BigEndianLsb);
- _modbusAsciiMachine = new ModbusMachine("3", ModbusType.Ascii, _machineCom2, null, true, 2, 0, Endian.BigEndianLsb);
+ _modbusAsciiMachine = new ModbusMachine("3", "", ModbusType.Ascii, _machineCom2, null, true, 2, 0, Endian.BigEndianLsb);
}
[TestMethod]
diff --git a/Tests/Modbus.Net.Tests/SiemensTest.cs b/Tests/Modbus.Net.Tests/SiemensTest.cs
index 83c9722..8c861ea 100644
--- a/Tests/Modbus.Net.Tests/SiemensTest.cs
+++ b/Tests/Modbus.Net.Tests/SiemensTest.cs
@@ -18,9 +18,9 @@ namespace Modbus.Net.Tests
[TestInitialize]
public void Init()
{
- _siemensTcpMachine = new SiemensMachine("1", SiemensType.Tcp, _machineIp, SiemensMachineModel.S7_1200, null, true, 2, 0);
+ _siemensTcpMachine = new SiemensMachine("1", "", SiemensType.Tcp, _machineIp, SiemensMachineModel.S7_1200, null, true, 2, 0);
- _siemensPpiMachine = new SiemensMachine("2", SiemensType.Ppi, _machineCom, SiemensMachineModel.S7_200, null, true, 2, 0, 1, 0);
+ _siemensPpiMachine = new SiemensMachine("2", "", SiemensType.Ppi, _machineCom, SiemensMachineModel.S7_200, null, true, 2, 0, 1, 0);
}
[TestMethod]