final public MEIReadDeviceIdentification readDeviceIdentification(int serverAddress, int objectId, ReadDeviceIdentificationCode readDeviceId) throws
            ModbusProtocolException, ModbusNumberException, ModbusIOException {
        EncapsulatedInterfaceTransportResponse response = (EncapsulatedInterfaceTransportResponse) processRequest(ModbusRequestBuilder.getInstance().buildReadDeviceIdentification(serverAddress, objectId, readDeviceId));
        return (MEIReadDeviceIdentification) response.getMei();
    }
final public MEIReadDeviceIdentification readDeviceIdentification ( int serverAddress , int objectId , ReadDeviceIdentificationCode readDeviceId ) throws ModbusProtocolException , ModbusNumberException , ModbusIOException { EncapsulatedInterfaceTransportResponse response = ( EncapsulatedInterfaceTransportResponse ) processRequest ( ModbusRequestBuilder . getInstance ( ) . buildReadDeviceIdentification ( serverAddress , objectId , readDeviceId ) ) ; return ( MEIReadDeviceIdentification ) response . getMei ( ) ; }
This function code allows reading the identification and additional information relative to the
physical and functional description of a remote device, only.
The Read Device Identification interface is modeled as an address space composed of a set
of addressable data elements. The data elements are called objects and an object Id
identifies them.
The interface consists of 3 categories of objects :
 Basic Device Identification. All objects of this category are mandatory : VendorName,
Product code, and revision number.
 Regular Device Identification. In addition to Basic data objects, the device provides
additional and optional identification and description data objects. All of the objects of
this category are defined in the standard but their implementation is optional .
 Extended Device Identification. In addition to regular data objects, the device provides
additional and optional identification and description private data about the physical
device itself. All of these data are device dependent.
ObjectId    ObjectName/Description              Type            M/O         category
0x00        VendorName                          ASCII String    Mandatory   Basic
0x01        ProductCode                         ASCII String    Mandatory   Basic
0x02        MajorMinorRevision                  ASCII String    Mandatory   Basic
0x03        VendorUrl                           ASCII String    Optional    Regular
0x04        ProductName                         ASCII String    Optional    Regular
0x05        ModelName                           ASCII String    Optional    Regular
0x06        UserApplicationName                 ASCII String    Optional    Regular
0x07        Reserved Optional                                   Optional    Regular
…
0x7F
0x80        Private objects may be optionally   device          Optional    Extended
…           defined. The range [0x80 – 0xFF]   dependant
0xFF        is Product dependant.