11 
 
 
(3)  Message format for Write Multiple Registers (Function code: 0x10) 
● Writes contents in the Holding Register to reflect it in the IJ Printer. 
● The maximum number of bytes that can be written in the Holding Register per time is 246 
bytes; if this number is exceeded, you must divide the data into smaller segments while 
updating the starting address each time. 
● When the writing operation onto Holding Registers is made more than once, 0x0001 (Start) 
shall be written first on the control flag which is placed in the first address 0x0000 of Holding 
Registers. Then conduct writing more than once and finally write 0x0002 (Stop) onto the 
control flag. When 0x0002 (Stop) is written on the control flag, the data being written on 
Holding Registers will be reflected to IJ printer.   
 
Request message configuration 
No. Name  Size Range  Description 
1  Device address  1 byte  0x01 to 0x03  Sets device address. 
2  Function code  1 byte  0x10 
Sets function code (Write Multiple 
Registers). 
3  Start address  2 bytes 
0x0000 to 
0xFFFF 
Sets writing start address. Address is 
set in word units. 
4 
No. of words to be 
written 
2 bytes  1 to 123  Sets number of words to be written. 
5 
No. of bytes to be 
written 
1 byte  1 to 246  Sets number of bytes to be written. 
6  Data to be written 
2 to 246 
bytes 
0x0000 to 
0xFFFF 
Sets data to be written (variable 
length of 2 to 246 bytes). 0x00 is 
added to the end when data of 
uneven byte length is set. 
 
Response message data configuration (normal) 
No. Name  Size Range  Description 
1  Device address  1 byte  0x01 to 0x03  Sets device address received as it is. 
2  Function code  1 byte  0x10  Sets function code received as it is. 
3  Start address  2 bytes 
0x0000 to 
0xFFFF 
Sets start address received as it is. 
4 
No. of words to be 
written 
2 bytes  1 to 123 
Sets No. of words to be written 
received as it is. 
 
Response message data configuration (abnormal) 
No. Name  Size Range  Description 
1  Device address  1 byte  0x01 to 0x03  Sets device address received as it is. 
2  Function code  1 byte  0x90  Adds 0x80 to function code received. 
3  Error code  1 byte  0x01 to 0x03 
Sets error code. Error code differs 
according to cause.