MbusMasterFunctionsreadDeviceIdentification Method |
Modbus function 43 (hex 2B) subfunction 14 (hex 0E), Read Device Identification
Namespace:
FieldTalk.Modbus.Master
Assembly:
FieldTalk.Modbus.Master (in FieldTalk.Modbus.Master.dll) Version: 2.15.2-eval+3d8362b4bb861c05760d48b11d303e954bb8597c
Syntaxpublic int readDeviceIdentification(
int slaveAddr,
int accessType,
ref int objId,
out MbusMasterFunctionsDeviceIdObject[] objArr
)
Public Function readDeviceIdentification (
slaveAddr As Integer,
accessType As Integer,
ByRef objId As Integer,
<OutAttribute> ByRef objArr As MbusMasterFunctionsDeviceIdObject()
) As Integer
public:
int readDeviceIdentification(
int slaveAddr,
int accessType,
int% objId,
[OutAttribute] array<MbusMasterFunctionsDeviceIdObject^>^% objArr
)
Parameters
- slaveAddr
- Type: SystemInt32
Modbus address of slave device or unit identifier (Range: 1 - 255 for serial, 0 - 255 for TCP) - accessType
- Type: SystemInt32
Category type (1=only mandatory basic objects, 2=all regular objects, 3=include vendor specfic objects, 4=single object) - objId
- Type: SystemInt32
An object ID from above table. Returns -1 if all objects were retrieved the object ID for the next group of objects to follow. - objArr
- Type: FieldTalk.Modbus.MasterMbusMasterFunctionsDeviceIdObject
An empty container which will receive the retrieved objects.
Return Value
Type:
Int32 BusProtocolErrors.FTALK_SUCCESS on success or error code.
See
BusProtocolErrors for possible error codes.
Remarks
This function allows a master to retrieve various objects with
meta information about a slave device.
The data type of the objects returned is a ASCII string.
| Object Id | Object Name / Description |
| 0x00 | VendorName |
| 0x01 | ProductCode |
| 0x02 | MajorMinorRevision |
| 0x03 | VendorUrl |
| 0x04 | ProductName |
| 0x05 | ModelName |
| 0x06 | UserApplicationName |
| 0x07 - 0x7F | Reserved |
| 0x80 - 0xFF | Vendor specific private objects |
Note |
|---|
| No broadcast supported |
Examples
Example retrieving all Device ID strings of basic device identification level (level 1):
MbusMasterFunctions.DeviceIdObject[] objs = null;
int objId = 0;
Console.WriteLine("Read Device Identification Object List:");
do
{
result = mbusProtocol.readDeviceIdentification(1, 1, ref objId, out objs);
if (result != FTALK_SUCCESS)
{
Console.WriteLine(BusProtocolErrors.getBusProtocolErrorText(result) + "!");
}
else
{
foreach (MbusMasterFunctions.DeviceIdObject item in objs)
{
Console.WriteLine(" [{0}]: {1}", item.id, item.data);
}
}
}
while (objId > 0);
See Also