For the complete documentation index, see llms.txt. This page is also available as Markdown.

Requesting data from Aranet PRO Modbus TCP/IP server

Important notes for the client side:

Parameter
Value

Register size

16 bits

Unit ID (slave ID)

1 (not changeable)

Supported functions

Read discrete inputs (code: 2), read input registers (code: 4)

Supported data types

Discrete inputs, input registers (any address in the supported range of 0—65535)

Endianness

Big-endian with high word first (high byte first or high word first for 2 registers/32-bit values)

Used Modbus TCP exceptions

  • Unsupported function requested → ILLEGAL_FUNCTION.

  • Unavailable registry address requested → ILLEGAL_DATA_ADDRESS. This exception is also sent if a particular address is colliding with any other registry address.

  • Uninitialized registry address requested → ILLEGAL_DATA_VALUE. The address exists, but valid data of measurement has not been assigned yet.

Custom address-to-measurements mapping: Input registers

Below is an example of an uploaded custom address-to-measurements mapping configuration JSON file used for input registers (example with three 2×16-bit wide registries):

{ 
  "inputRegisters": {
    "1056849": {
      "battCharge": { // Registry address: 30044
        "dataType": "int32",
        "multiplier": 100,
        "offset": 4
      },
      "offset": 40,
      "rssi": { // Registry address: 30046
        "dataType": "int32",
        "multiplier": 1,
        "offset": 6
      },
      "time": { // Registry address: 30048
        "dataType": "uint32",
        "multiplier": 1,
        "offset": 8
      }
    },
    "offset": 30000
  }
}

Representation in a Modbus client application is shown in Fig. 3.

Figure 3: Modbus client application view with an example configuration

Custom address-to-measurements mapping: Discrete inputs

Example of uploaded custom mapping configuration for Discrete inputs:

Figure 4: Modbus client application view with an example configuration

Last updated