FieldTalk Modbus Master Library for .NET
FieldTalk Modbus Master Library for .NET
Namespaces
FieldTalk.Modbus.Master
MbusMasterFunctions Class
MbusMasterFunctions Methods
closeProtocol Method
configureBigEndianInts Method
configureCountFromOne Method
configureCountFromZero Method
configureEnron32BitMode Method
configureIeeeFloats Method
configureLittleEndianInts Method
configureStandard32BitMode Method
configureSwappedFloats Method
customFunction Method
Dispose Method
forceMultipleCoils Method
getPackageVersion Method
getPollDelay Method
getRetryCnt Method
getSuccessCounter Method
getTimeout Method
getTotalCounter Method
isOpen Method
maskWriteRegister Method
readCoils Method
readDeviceIdentification Method
readExceptionStatus Method
readFileRecord Method
readInputDiscretes Method
readInputMod10000 Method
readInputRegisters Method
readMultipleMod10000 Method
readMultipleRegisters Method
readWriteRegisters Method
resetSuccessCounter Method
resetTotalCounter Method
restartCommunicationsOption Method
returnQueryData Method
setPollDelay Method
setRetryCnt Method
setTimeout Method
writeCoil Method
writeFileRecord Method
writeMultipleMod10000 Method
writeMultipleRegisters Method
writeSingleRegister Method

# MbusMasterFunctions readDeviceIdentification 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
C#
VB
C++
Copy

    public 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: System
  Int32
  Modbus address of slave device or unit identifier (Range: 1 - 255 for serial, 0 - 255 for TCP)
accessType
  Type: System
  Int32
  Category type (1=only mandatory basic objects, 2=all regular objects, 3=include vendor specfic objects, 4=single object)
objId
  Type: System
  Int32
  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.Master
  MbusMasterFunctions
  DeviceIdObject
  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):
C#
Copy

    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

#### Reference

MbusMasterFunctions Class
FieldTalk.Modbus.Master Namespace
FieldTalk Modbus Master Library for .NET
Library version 2.15.2