Characters are represented in ASCII. A single character (for example „a“) with ASCII code 0x61 has the following
mapping:
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 0x61=´a‘ 0x00
CharacterstringsarerepresentedinASCIIandhaveaxedsize.Ifnotallbytesareneededthestringmustbelledwith
trailing spaces. A three character string (for example “abc”) of size 4 has the following mapping:
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 0x61=´a‘ 0x62=´b‘
0xXXXX + 1 0x63=´c‘ 0x20 = ´ ´
The bitmask is used to represent up to 16 logical states. Unused states are zero by convention. A logical state with bits a15
to a0 has the following mapping:
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
For example bitmask with a15:0 = (1100 1010 0011 0110) has the mapping
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0
An signed 16bit integer = ±0xXXYY (int16) has the following mapping:
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 0xXX 0xYY
For example -17289 = 0xBC77 has the mapping
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 0xBC 0x77
An unsigned 16bit integer = 0xXXYY (unit16) has the following mapping:
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 0xXX 0xYY
For example 45311 = 0xB0FF has the mapping
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX 0xB0 0xFF
Floats are represented in IEEE-754 format with 32bit standard precision and have the following mapping:
M o d b u s r e g i s t e r
Register address b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0xXXXX s e7 e6 e5 e4 e3 e2 e1 e0 f22 f21 f20 f19 f18 f17 f16
0xXXXX + 1 f15 f14 f13 f12 f11 f10 f9 f8 f7 f6 f5 f4 f3 f2 f1 f0
Timestamps are presented in TAI64n format, which is an unsigned integer counting the seconds from 1.1.1970 using the
big-endian format. 1.1.1970 = 0x4000 0000 0000 0000 + 0x0000 0000, e.g. 400000004d9b3395 = 2011-04-05 15:21:47
(for further details please refer to www.tai64.com).
con::cube D-330, 01-2020 Release Copyright © s::can Messtechnik GmbH
www.s-can.at24 / 42