Documentation

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
Syntax
public int readDeviceIdentification(
	int slaveAddr,
	int accessType,
	ref int objId,
	out 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 IdObject Name / Description
0x00VendorName
0x01ProductCode
0x02MajorMinorRevision
0x03VendorUrl
0x04ProductName
0x05ModelName
0x06UserApplicationName
0x07 - 0x7FReserved
0x80 - 0xFFVendor specific private objects
Note Note
No broadcast supported
Examples
Example retrieving all Device ID strings of basic device identification level (level 1):
C#
MbusMasterFunctions.DeviceIdObject[] objs = null;
int objId = 0; // Start with object 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