diff --git a/Modbus.Net/Modbus.Net/BaseMachine.cs b/Modbus.Net/Modbus.Net/BaseMachine.cs
index e5203ce..b730e72 100644
--- a/Modbus.Net/Modbus.Net/BaseMachine.cs
+++ b/Modbus.Net/Modbus.Net/BaseMachine.cs
@@ -18,7 +18,12 @@ namespace Modbus.Net
///
/// 通讯标识
///
- CommunicationTag
+ CommunicationTag,
+
+ ///
+ /// 名称
+ ///
+ Name
}
///
@@ -34,7 +39,12 @@ namespace Modbus.Net
///
/// 通讯标识
///
- CommunicationTag
+ CommunicationTag,
+
+ ///
+ /// 名称
+ ///
+ Name
}
public abstract class BaseMachine : IMachineProperty
@@ -233,6 +243,11 @@ namespace Modbus.Net
key = AddressFormater.FormatAddress(address.Area, address.Address, address.SubAddress);
break;
}
+ case MachineGetDataType.Name:
+ {
+ key = address.Name;
+ break;
+ }
default:
{
key = address.CommunicationTag;
@@ -340,6 +355,11 @@ namespace Modbus.Net
GetAddresses.SingleOrDefault(p => p.CommunicationTag == value.Key);
break;
}
+ case MachineSetDataType.Name:
+ {
+ address = GetAddresses.SingleOrDefault(p => p.Name == value.Key);
+ break;
+ }
}
//地址为空报错
if (address == null)
diff --git a/Modbus.Net/Modbus.Net/TaskManager.cs b/Modbus.Net/Modbus.Net/TaskManager.cs
index b032873..38128a8 100644
--- a/Modbus.Net/Modbus.Net/TaskManager.cs
+++ b/Modbus.Net/Modbus.Net/TaskManager.cs
@@ -17,7 +17,8 @@ namespace Modbus.Net
public enum MachineDataType
{
Address,
- CommunicationTag
+ CommunicationTag,
+ Name
}
///
@@ -348,6 +349,12 @@ namespace Modbus.Net
SetDataType = MachineSetDataType.CommunicationTag;
break;
}
+ case MachineDataType.Name:
+ {
+ GetDataType = MachineGetDataType.Name;
+ SetDataType = MachineSetDataType.Name;
+ break;
+ }
}
}
}