DS 400 Side 13 of 36
7.2 Function code 16 (Write multiple registers)
In general only status register (register 2001 – 2064) are writable.
General exceptions:
• Writing less than 1 or more than 63 registers => Exception 3 (Illegal data value)
• If ByteCount is not exactly 2 times NoOfRegisters => Exception 3 (Illegal data value)
• Exceeding max. message size (27 registers) => Exception 2 (Illegal data address)
• Writing data out of defined register range chapter 8 =>Exception 2 (Illegal data address)
Application exceptions:
• Application errors => Exception 4 (Slave device error)
• Application errors include writing to ReadOnIy holding registers
Holes / register alignment:
• If start-address is not the start of a mapped holding register => Exception 2 (Illegal data address)
• Writing to holes is allowed (ie ignored - and no exception occurs) — except for
the condition described above