JVL Industri Elektronik A/S - User Manual - Ethernet for MAC and MIS motors 165
7.2 Commissioning
(0x10) Write Multiple registers
Max. 32 x 16bit write registers at a time (=16 x 32bit registers). Only even no. of 16bit
registers are supported
Request:
Response:
Example, write of motor register 3 (= P_SOLL = 0x12345678):
Request – (Note the byte order!)
|0x00|0x02|0x00|0x00|0x00|0x0B|0x01|0x10|0x00|0x06|0x00|0x02|0x04|0
x56|0x78|0x12|0x34|
Response -
|0x00|0x02|0x00|0x00|0x00|0x06|0x01|0x10|0x00|0x06|0x00|0x02|
Possibly exception responses: 0x02, 0x03.
For further documentation see “Modbus_Application_Protocol_V1_1b.pdf” and “Modbus_Mes-
saging_Implementation_Guide_V1_0b.pdf” found on www.modbus.org.
Pleasd notice: Even though all registers is to be transmitted as 32 bit some of
them originally derive from 16 bit in the MAC050-141. In those situations it is
necessary to interpret them as 16 bit to get the sign correct.
(0x17) Read/Write multiple registers
Simultaneous read and write of registers. Max. 124 x 16bit read registers at a time (=62
x 32bit registers). And max. 32 x 16bit write registers at a time (=16 x 32bit registers).
Only even no. of 16bit registers is supported.
The response time is increased slightly for every register added. See Minimum poll time,
page 166 for minimum poll time.
Request:
** To be repeated 1-16 times.
7 bytes 1 byte 2 bytes 2 bytes 2 bytes 2 bytes
MBAP
header
Modbus Cmd.
(0x10)
Motor register no. x 2 or mod-
ule register no. x 2 + 0x8000
Register count Register value
low 16bit
Register value
high 16bit
7 bytes 1 byte 2 bytes 2 bytes
MBAP
header
Modbus Cmd.
(0x10)
Motor register no. x 2 or mod-
ule register no. x 2 + 0x8000
Register count
7 bytes 1 byte 2 bytes 2 bytes 2 bytes 2 bytes 1 byte 2 bytes** 2 bytes**
MBAP
header
Modbus
Cmd.
(0x17)
Read Motor
register no. x 2
or Read Module
register no. x 2
+ 0x8000
Regis-
ter
count
Read.
(Max.
124)
Write Motor
register no. x
2 or Write
Module regis
-
ter no. x 2 +
0x8000
Register
count
Write.
(Max. 32)
Write
byte
count
Register
value
write low
16bit
Register
value write
high 16bit
!