Implemented Device Identification (0x2B / 43) for TCP

This commit is contained in:
2024-03-09 21:31:33 +01:00
parent 7a3c7625a7
commit 24f7cc74a7
9 changed files with 596 additions and 37 deletions

View File

@@ -0,0 +1,34 @@
using System.ComponentModel;
namespace AMWD.Protocols.Modbus.Common
{
/// <summary>
/// List of known categories for Modbus device identification.
/// </summary>
public enum ModbusDeviceIdentificationCategory : byte
{
/// <summary>
/// The basic information. These are mandatory.
/// </summary>
[Description("Basic Device Identification")]
Basic = 0x01,
/// <summary>
/// The regular information. These are optional.
/// </summary>
[Description("Regular Device Identification")]
Regular = 0x02,
/// <summary>
/// The extended information. These are optional too.
/// </summary>
[Description("Extended Device Identification")]
Extended = 0x03,
/// <summary>
/// Request to a specific identification object.
/// </summary>
[Description("Request to a specific identification object")]
Individual = 0x04
}
}

View File

@@ -0,0 +1,43 @@
namespace AMWD.Protocols.Modbus.Common
{
/// <summary>
/// List of known object ids for Modbus device identification.
/// </summary>
public enum ModbusDeviceIdentificationObject : byte
{
/// <summary>
/// The vendor name (mandatory).
/// </summary>
VendorName = 0x00,
/// <summary>
/// The product code (mandatory).
/// </summary>
ProductCode = 0x01,
/// <summary>
/// The version in major, minor and revision number (mandatory).
/// </summary>
MajorMinorRevision = 0x02,
/// <summary>
/// The vendor URL (optional).
/// </summary>
VendorUrl = 0x03,
/// <summary>
/// The product name (optional).
/// </summary>
ProductName = 0x04,
/// <summary>
/// The model name (optional).
/// </summary>
ModelName = 0x05,
/// <summary>
/// The application name (optional).
/// </summary>
UserApplicationName = 0x06
}
}