Modbus Register Map
About these Registers:
DEVICE_ID / REMOTE_TERMINAL_UNIT (RTU) / SLAVE_ID:
Each sensor on a single multi-drop bus line must have a unique DEVICE_ID / RTU / SLAVE_ID:
By Default the DEVICE_ID / RTU / SLAVE_ID is the LAST 2 DIGITS OF THE SENSORS SERIAL NUMBER
The serial number (and therefore, the RTU number) can be found on the side of the TwinProx on the white label.
INDEXING:
Note that the listed registers below are considered 0-Indexed (the first value starts at 0)
Some Modbus masters will need to shift all the values up by one value if their master recognized the first Modbus value at 1 (known as 1-indexed).
SERIAL COMMUNICATION SETTINGS:
Baudrate: 115200
Parity: None
Handshakes: None
Data Bits: 8
Stop Bits: 1
FUNCTION CODES:
The function codes supported by TwinProx Sensor are:
03 - (0x03) READ MULTIPLE HOLDING REGISTERS
16 - (0x10) WRITE MULTIPLE HOLDING REGISTERS
--- If you want to read or write to just a single register, you can do this by setting the length/offset/number of registers to 1 ---
Endianness:
The TwinProx sensor uses the Big Endian memory allocation paradigm.
In computing, endianness is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most significant byte of a word at the smallest memory address and the least significant byte at the largest. A little-endian system, in contrast, stores the least-significant byte at the smallest address.
Modbus Register Map
Register Address | Number of Registers | Register Contents Description | Range | Default Value | Scale | Unit | Data Type | Read / Write | Notes |
40176 | 1 | Channel A Gap / Distance | 0 to 105 | n/a | value/100 | mils | 16-bit Unsigned Integer | R | |
40177 | 1 | Channel B Gap / Distance | 0 to 105 | n/a | value/100 | mils | 16-bit Unsigned Integer | R | |
40178 | 1 | Channel A Displacement | 0 to 105 | n/a | value/100 | mils Pk-Pk | 16-bit Unsigned Integer | R | |
40179 | 1 | Channel B Displacement | 0 to 105 | n/a | value/100 | mils Pk-Pk | 16-bit Unsigned Integer | R | |
40049 | 1 | DDC_START_SAMPLE | n/a | n/a | sample index | 16-bit Unsigned Integer |
R/W |
This register will start by reporting a 0 when read (indicating the 0th sample is in register 50, ready to be read). After successfully reading the data clip sample in register 171, this register should read 122 (indicating the 122nd sample is in register 50, ready to be read). |
|
40050-40171 | 122 | DDC_Samples | n/a | n/a | 16-bit Unsigned Integer |
R |
Block reads of registers 49 - 171 repeatedly until SAMPLES collected equal 1800. |
||
40171 | 1 | Auto_Reload_DDC_Chunk | n/a | n/a | 16-bit Unsigned Integer |
R |
Each time register 171 is successfully read by a Modbus Master. Register 49 is updated to reflect the index of the sample in register 50 and the next set of DDC Samples is loaded into registers 50 - 171. |
No Comments