THT-500-A/R (C5)COMMUNICATION INSTRUCTION MANUAL

No. THT5CE2 2018.04
This manual contains instructions for communication functions of the THT-500-A/R.

1. System Configuration
1.1 When Using USB Communication Cable CMC-001-1 (sold separately)
Host computer
USB communication cable
CMC-001-1 (sold separately)

THT-500-A/R

No. 0

No. 1

No. 30(Fig. 1.1-1)

1.2 When Using Communication Converter IF-400 (sold separately)
Host computer Communication converter
IF-400 (sold separately)
RS-232C
RS-485

THT-500-A/R

No. 0

No. 1

(Fig. 1.2-1)-1-

No. 302. Wiring
2.1 When Using USB Communication Cable CMC-001-1 (sold separately)
USB communication cable
CMC-001-1 (sold separately)

THT-500-A/R⑩ YA(-)⑪ YB(+)
⑫ SG

YA(-)
YB(+)
COM

Host computer
USB port
Shield wireFG

⑩ YA(-)⑪ YB(+)⑫ SG

Shield wireFG

⑩ YA(-)⑪ YB(+)⑫ SG(Fig. 2.1-1)
2.2 When Using Communication Converter IF-400 (sold separately)

TXD

3

RXD

2

GND

5

DCD

1

DTR

4

DSR

6

RTS

7

CTS

8

RI

9

Communication converter IF-400 (sold separately)
RS-232C
RS-4854
3
1
6

Shieldwire

THT-500-A/R⑩ YA(-)⑪ YB(+)⑫ SG

FG

Shield wireFG

Host computer
D-sub 9-pin connector⑩ YA(-)⑪ YB(+)⑫ SG

Shield wire

CDM

(Fig. 2.2-1)

-2-

FG

⑩ YA(-)⑪ YB(+)⑫ SG

Shield wire
Connect only one end of the shield to the FG terminal to avoid a ground loop. If both ends of the shieldwire are connected to the FG terminal, the circuit will be closed, resulting in a ground loop. This may
cause noise. Be sure to ground the FG terminal.
Recommended cable: OTSC-VB 2PX0.5SQ (made by Onamba Co., Ltd.) or equivalent (Use a twisted paircable.)
Terminator (Terminal resistor)
Communication converter IF-400 (sold separately) has a built-in terminator.
The terminator is mounted at the end of the wire when connecting multiple peripheral devices to a personal
computer. The terminator prevents signal reflection and disturbance.
Do not connect a terminator to the communication line because each THT-500-A/R has built-in pull-up
and pull-down resistors.

-3-3. Setting Communication Parameters
Set communication parameters via communication.
If communication parameters are changed, the changed parameters will be effective
when the power to the THT-500-A/R unit is turned OFF, then ON.
Refer to factory default values below.
Data Item
0001H
Communication protocol
0002H
Instrument number
0003H
Communication speed
0004H
Data bit/Parity
0005H
Stop bit
0006H
Response delay time

Factory Default
Shinko protocol
09600 bps
7 bits/Even
1 bit
10 ms

Data Item of Communication Parameters
Data Item
0001H

0002H

0003H

0004H

0005H

0006H

Explanation of Data Item, Setting Range (Selection Item)
Communication protocol• Selects communication protocol.
• Selection item:
0000H Shinko protocol (Factory default)
0001H Modbus ASCII
0002H Modbus RTU
Instrument number• Sets the instrument number.
The instrument numbers should be set one by one when multiple instruments areconnected in Serial communication, otherwise communication is impossible.
• Setting range: 0 to 95 (Factory default: 0)
Communication speed• Selects a communication speed equal to that of the host computer.
• Selection item:
0000H 9600 bps (Factory default)
0001H 19200 bps
0002H 38400 bps
Data bit/Parity• Selects data bit and parity.
• Selection item:
0000H 8 bits/No parity
0001H 7 bits/No parity
0002H 8 bits/Even
0003H 7 bits/Even (Factory default)
0004H 8 bits/Odd
0005H 7 bits/Odd
Stop bit• Selects the stop bit.
• Selection item:
0000H
1 bit (Factory default)
0001H
2 bitsResponse delay time
• Response from the controller can be delayed after receiving command from the hostcomputer.
• Setting range: 0 to 1000 ms (Factory default: 10 ms)-4-4. Communication Procedure
Communication starts with command transmission from the host computer (hereafter Master) andends with the response of the THT-500-A/R (hereafter Slave).
MasterCommand
Data

Slave

Command
Acknowledgement
Command
Negative
acknowledgement
Command
No response(Fig. 4-1)

• Response with data
When the master sends the Read command, the slave
responds with the corresponding set value or current status.
• Acknowledgement
When the master sends the Write command, the slave
responds by sending the acknowledgement after theprocessing is terminated.
• Negative acknowledgement
When the master sends a non-existent command or value
out of the setting range, the slave returns a negative
acknowledgement.
• No response
The slave will not respond to the master in the following cases:• Global address (Shinko protocol) is set.
• Broadcast address (Modbus protocol) is set.
• Communication error (framing error, parity error)• Checksum error (Shinko protocol), LRC discrepancy (Modbus
ASCII mode), CRC-16 discrepancy (Modbus RTU mode)

Communication timing of the RS-485
Master Side (Take note while programming)
When the master starts transmission through the RS-485 communication line, the master is arranged so as toprovide an idle status (mark status) transmission period of 1 or more characters before sending the command
to ensure synchronization on the receiving side.
Set the program so that the master can disconnect the transmitter from the communication line within a 1
character transmission period after sending the command in preparation for reception of the response fromthe slave.
To avoid collision of transmissions between the master and the slave, send the next command after carefully
checking that the master has received the response.
If a response to the command is not returned due to communication errors, set the Retry Processing to send
the command again. (It is recommended to execute Retry twice or more.)
Slave Side
When the slave starts transmission through the RS-485 communication line, the slave is arranged so as toprovide an idle status (mark status) transmission period of 1 ms or more (*) before sending the response toensure synchronization on the receiving side.
The slave is arranged so as to disconnect the transmitter from the communication line within a 1 charactertransmission period after sending the response.
(*) Can be set in [Response delay time] within a range of 0 to 1000 ms. (See p.4.)-5-5. Shinko Protocol
5.1 Transmission Mode
Shinko protocol is composed of ASCII.
Hexadecimal (0 to 9, A to F), which is divided into high order (4-bit) and low order (4-bit) out of 8-bit
binary data in command is transmitted as ASCII characters.
Data format
Start bit: 1 bit
Data bit: 7 bits
Parity: Even
Stop bit: 1 bit
Error detection: Checksum
5.2 Command Configuration
All commands are composed of ASCII.
The data (set value, decimal number) is represented by a hexadecimal number.
The negative numbers are represented in 2's complement.
Numerals written below the command represent number of characters.
(1) Write command• Write a single piece of data
Sub
HeaderAddress
address
(02H)
(20H)
1
1
1
(2) Read command• Read a single piece of data
Sub
HeaderAddress
address
(02H)
(20H)
1
1
1

Commandtype (50H)

Data
item

Data

Checksum

Delimiter
(03H)

1

4

4

2

1

Commandtype (20H)

Data
item

Checksum

Delimiter
(03H)

1

4

2

1

Data
item

Data

Checksum

Delimiter
(03H)

4

4

2

1

(3) Response with data
• Response to ‘Read a single piece of data’
Sub
HeaderCommandAddress
address(06H)
type (20H)
(20H)
1
1
1
1

(4) Acknowledgement
HeaderAddress(06H)
1
1

Checksum2(5) Negative acknowledgement
HeaderError
Address
(15H)
code
1
1
1

Delimiter(03H)
1

Checksum
2

Delimiter
(03H)
1

-6-

Header:

Control code to represent the beginning of the command or the response.
ASCII is used.
Write command, Read command:
STX (02H) fixed
Response with data, Acknowledgement: ACK (06H) fixed
Negative acknowledgement:
NAK (15H) fixed
Instrument number (Address): Numbers by which the master discerns each slave.
Instrument number 0 to 94 and Global address 95.
ASCII (20H to 7FH) is used by adding 20H to instrument numbers 0 to 95 (00H to 5FH).
95 (7FH) is called Global address, which is used when the same command is sent to
all the slaves connected. However, the response is not returned.
Sub address:
20H fixed
Command type: Code to discern Write command and Read command.
Command Type
20H
50H
Data item:

Data:

Checksum:
Delimiter:
Error code:

Contents
Read a single piece of data
Write a single piece of data

Description
Reads a single piece of data.
Writes a single piece of data.

Classification of the command object.
Composed of 4-digit hexadecimal numbers, using ASCII.
Refer to ‘7. Communication Command Table’. (p. 19)
The contents of data (values) differ depending on the Write command.
Composed of 4-digit hexadecimal numbers, using ASCII.
Refer to ‘7. Communication Command Table’. (p. 19)
2-character data to detect communication errors.
Refer to 5.3 Checksum Calculation on p. 8.
Control code to represent the end of command.
ASCII code ETX (03H) fixed
Represents an error type using ASCII.
Error CodeContents
1 (31H)
Non-existent command
2 (32H)
Not used
3 (33H)
Value outside the setting range
4 (34H)
Not used
5 (35H)

Not used-7-

5.3 Checksum Calculation
Checksum is used to detect receiving errors in the command or data.
Set the program for the master side as well to calculate the checksum of the response data from the slaves
so that communication errors can be checked.
The ASCII code (hexadecimal) corresponding to the characters which range from the address to that before
the checksum is converted to binary notation, and the total value is calculated.
The lower one byte of the total value is converted to 2’s complement, and then to hexadecimal numbers,that is, ASCII code for the checksum.
• 1’s complement: Reverse each binary bit. 0 will become 1 and vice versa.
• 2’s complement: Add 1 to 1’s complement.
[Example of checksum calculation]
When writing Modbus RTU (0002H) to Communication protocol (0001H):
Address (instrument number): 0 (20H)
Checksum calculation range[e.g.]
P

STX

0

0

0

1

0

0

0

2

E

D

ETX

30H

30H

32H

45H

44H

03H

[Characters above are represented in ASCII.]
02H

20H

20H

50H

30H

30H

30H

31H

30H

Checksum[Hexadecimal][Binary]
20H0010 0000
20H
0010 0000
50H
0101 0000
30H
0011 0000
30H
0011 0000
30H
0011 0000
31H
0011 0001
30H
0011 0000
30H
0011 0000
30H
0011 0000
0011 0010+ 32H
10 0001 0011

[1's complement]

1110 1100
1+[2's complement] 1110 1101
[Hexadecimal][ASCII]

E

D

45H

44H

Checksum(Fig. 5.3-1)-8-

5.4 Command Example
Numerals written below the command represent number of characters.
(1) Read [Address 1, Wet bulb input value (0080H)]• Read command from the master
Header Address
Sub Command
Data item
Checksum Delimiter
address
type[0080H]
(02H)
(21H)
(20H)
(20H) (30H 30H 38H 30H) (44H 37H) (03H)
1
1
1
1
4
2
1
• A response from the slave in normal status [When wet bulb input value is 25 (0019H)]
Header Address
Sub Command
Data item
Data
Checksum Delimiter
address
type[0080H][0019H]
(06H)
(21H)
(20H)
(20H) (30H 30H 38H 30H) (30H 30H 31H 39H) (30H 44H) (03H)
1
1
1
1
4
4
2
1
(2) Write [Address 1, Communication protocol (0001H)]• Write command from the master [When writing Modbus RTU (0002H) to Communication protocol]
Header Address
Sub Command
Data item
Data
Checksum Delimiter
address
type[0001H][0002H]
(02H)
(21H)
(20H)
(50H) (30H 30H 30H 31H) (30H 30H 30H 32H) (45H 43H) (03H)
1
1
1
1
4
4
2
1
• A response from the slave in normal status
Header Address Checksum Delimiter
(06H)
1

(21H)
1

(44H 46H)
2

(03H)
1

(3) Read [Address 1, Communication protocol (0001H)]• Read command from the master
Header Address
Sub Command
Data item
Checksum Delimiter
address
type[0001H]
(02H)
(21H)
(20H)
(20H) (30H 30H 30H 31H) (44H 45H) (03H)
1
1
1
1
4
2
1
• A response from the slave in normal status [When Modbus RTU (0002H) is selected for theCommunication protocol]
Header Address
Sub Command
Data item
Data
Checksum Delimiter
address
type[0001H][0002H]
(06H)
(21H)
(20H)
(20H) (30H 30H 30H 31H) (30H 30H 30H 32H) (31H 43H) (03H)
1
1
1
1
4
4
2
1

-9-

6. Modbus Protocol
6.1 Transmission Mode
There are 2 transmission modes (ASCII and RTU) in Modbus protocol.
6.1.1 ASCII Mode
Hexadecimal (0 to 9, A to F), which is divided into high order (4-bit) and low order (4-bit)
out of 8-bit binary data in command is transmitted as ASCII characters.
Data format
Start bit: 1 bit
Data bit: 7 bits (8 bits) (Selectable)
Parity: Even (No parity, Odd) (Selectable)
Stop bit: 1 bit (2 bits) (Selectable)
Error detection : LRC (Longitudinal Redundancy Check)
6.1.2 RTU Mode
8-bit binary data in command is transmitted as it is.
Data format Start bit: 1 bit
Data bit: 8 bits
Parity: No parity (Even, Odd) (Selectable)
Stop bit: 1 bit (2 bits) (Selectable)
Error detection: CRC-16 (Cyclic Redundancy Check)6.2 Data Communication Interval
6.2.1 ASCII ModeNo communication interval limit between characters
6.2.2 RTU Mode
1.5 character transmission times or less(Communication speed 9600 bps, 19200 bps: 1.5 character transmission times,
Communication speed 38400 bps: 750 s)
To transmit continuously, an interval between characters which consist of one message, must bewithin 1.5 character transmission times.
If an interval lasts longer than 1.5 character transmission times, the THT-500-A/R assumes thattransmission from the master is finished, which results in a communication error, and will not returna response.
6.3 Message Configuration
6.3.1 ASCII Mode
ASCII mode message is configured to start by Header [: (colon) (3AH)] and end by Delimiter[CR (carriage return) (0DH) + LF (Line feed) (0AH)].
Data section: Max. 2 x 252 characters
HeaderSlave
FunctionError check
Delimiter Delimiter
Data(:)
address
code
LRC
(CR)
(LF)
6.3.2 RTU Mode
RTU mode is configured to start after idle time is processed for more than 3.5 charactertransmissions, and end after idle time is processed for more than 3.5 character transmissions.
(Communication speed 9600 bps, 19200 bps: 3.5 character transmission times,
Communication speed 38400 bps: 1.75 ms)
Data section: Max. 252 bytes
3.5 idle
Slave
FunctionError check3.5 idleDatacharacters addresscode
CRC-16characters- 10 -

(1) Slave Address
Slave address is an individual instrument number on the slave side, and is set within the range
0 to 95 (00H to 5FH). The master identifies slaves by the slave address of the requested message.
The slave informs the master which slave is responding to the master by placing its own addressin the response message.
Slave address 0 (00H, Broadcast address) can identify all the slaves connected. However, slaves
do not respond.
(2) Function CodeThe function code is the command code for the slave to undertake one of the following actions.
Function
Sub-Function
Type
Contents
Code
Code
03 (03H)
Reads a single piece of data from slave(s).
Data access
06 (06H)
Writes a single piece of data to slave(s).
08 (08H)
00
Echoes back the request message.
Diagnostics
43 (2BH)
14
Reads device identification information.
The function code is used to discern whether the response is normal (acknowledgement) or if any
error (negative acknowledgement) has occurred when the slave returns the response message tothe master.
When acknowledgement is returned, the slave simply returns the original function code.
When negative acknowledgement is returned, the MSB of the original function code is set as 1 forthe response.
For example, if the master sends request message setting 13H to the function code by mistake,slave returns 93H by setting the MSB to 1, because the former is an illegal function.
For negative acknowledgement, the exception codes below are set to the data of the response
message, and returned to the master in order to inform it of what kind of error has occurred.
Exception CodeContents
1 (01H)
Illegal function (Non-existent function)
2 (02H)
Illegal data address (Non-existent data address)
3 (03H)
Illegal data value (Value out of the setting range)
Not used17 (11H)
18 (12H)
Not used(3) Data
Data differs depending on the function code.
A request message from the master is composed of a data item, amount of data and setting data.
A response message from the slave is composed of the number of bytes, data and exception codesin negative acknowledgements, corresponding to the request message.
The effective range of data is -32768 to 32767 (8000H to 7FFFH).
Refer to Section “7. Communication Command Table” (p. 19).
(4) Error CheckASCII Mode
After calculating LRC (Longitudinal Redundancy Check) from the slave address to the end of data, thecalculated 8-bit data is converted to two ASCII characters, and are appended to the end of message.
How to Calculate LRC
1 Create a message in RTU mode.
2 Add all the values from the slave address to the end of data. This is assumed as X.
3 Make a complement for X (bit reverse). This is assumed as X.
4 Add a value of 1 to X. This is assumed as X.
5 Set X as an LRC to the end of the message.
6 Convert the whole message to ASCII characters.

- 11 -

RTU Mode
After calculating CRC-16 (Cyclic Redundancy Check) from the slave address to the end of the data,
the calculated 16-bit data is appended to the end of message in sequence from low order to high order.
How to calculate CRC-16
In the CRC-16 system, the information is divided by the polynomial series. The remainder is added
to the end of the information and transmitted. The generation of a polynomial series is as follows.
(Generation of polynomial series: X16 + X 15 + X 2 + 1)
1 Initialize the CRC-16 data (assumed as X) (FFFFH).
2 Calculate exclusive OR (XOR) with the 1st data and X. This is assumed as X.
3 Shift X one bit to the right. This is assumed as X.
4 When a carry is generated as a result of the shift, XOR is calculated by X of 3 and thefixed value (A001H). This is assumed as X. If a carry is not generated, go to step 5 .
5 Repeat steps 3 and 4 until shifting 8 times.
6 XOR is calculated with the next data and X. This is assumed as X.
7 Repeat steps 3 to 5 .
8 Repeat steps 3 to 5 up to the final data.
9 Set X as CRC-16 to the end of message in sequence from low order to high order.

- 12 -

6.4 Message Example
6.4.1 ASCII Mode
Numerals written below the command represent the number of characters.
(1) Read [Slave address 1, Wet bulb input value (0080H)]• A request message from the master
Header(3AH)
1

Data item
Slave
Function
Amount of data
address
code[0001H][0080H](30H 31H) (30H 33H) (30H 30H 38H 30H) (30H 30H 30H 31H)2
2
4
4

Error check
LRC(37H 42H)
2

Delimiter
CR+LF(0DH 0AH)
2• Response message from the slave in normal status [When wet bulb input value is 25 (0019H)]
Number of
Data
Header Slave
FunctionError check
Delimiter
response bytes
address
code
LRC
CR+LF
[0019H][02H](3AH) (30H 31H) (30H 33H)
(45H
31H)
(0DH
0AH)
(30H 30H 31H 39H)
(30H 32H)
1
2
2
2
4
2
2
(2) Write [Slave address 1, Communication protocol (0001H)]• A request message from the master [When writing Modbus RTU (0002H) to Communication protocol]
Header Slave
Function
Data item
Data
Error check
Delimiter
address
code[0001H][0002H]
LRC
CR+LF(3AH) (30H 31H) (30H 36H) (30H 30H 30H 31H) (30H 30H 30H 32H)
(46H 36H)(0DH 0AH)
1
2
2
4
4
2
2
• Response message from the slave in normal status
Header Slave
Function
Data item
Data
Error check
Delimiter
address
code[0001H][0002H]
LRC
CR+LF(3AH) (30H 31H) (30H 36H) (30H 30H 30H 31H) (30H 30H 30H 32H)
(46H 36H)(0DH 0AH)
1
2
2
4
4
2
2
• Response message from the slave in exception (error) status (When a value out of the setting range is set)
The function code MSB is set to 1 for the response message in exception (error) status [86H (38H 36H)].
The exception code 03H (30H 33H: Value out of the setting range) is returned (error).
Header Slave
Function Exception code Error check
Delimiter
address
code
[03H]
LRC
CR+LF
(3AH) (30H 31H) (38H 36H) (30H 33H)
(37H 36H)(0DH 0AH)
1
2
2
2
2
2
(3) Read [Slave address 1, Communication protocol (0001H)]• A request message from the master
Header Slave
Function
Data item
Amount of data
address
code[0001H][0001H](3AH) (30H 31H) (30H 33H) (30H 30H 30H 31H) (30H 30H 30H 31H)
1
2
2
4
4

Error check
LRC(46H 41H)
2

Delimiter
CR+LF(0DH 0AH)
2• Response message from the slave in normal status [When Modbus RTU (0002H) is selected for theCommunication protocol]
Number of
Header Slave
Function
Data
Error check
Delimiter
response bytes
addresscode[0002H]
LRC
CR+LF
[02H]
(3AH) (30H 31H) (30H 33H)
(30H 30H 30H 32H)
(46H 38H)(0DH 0AH)(30H 32H)
1
2
2
2
4
2
2
• Response message from the slave in exception (error) status (When data item is incorrect)
The function code MSB is set to 1 for the response message in exception (error) status [83H (38H 33H)].
The exception code 02H (30H 32H: Non-existent data address) is returned (error).
Header Slave
Function Exception code Error check
Delimiter
address
code
[02H]
LRC
CR+LF
(3AH) (30H 31H) (38H 33H) (30H 32H)
(37H 41H)(0DH 0AH)
1
2
2
2
2
2
- 13 -

6.4.2 RTU Mode
Numerals written below the command represent number of characters.
(1) Read [Slave address 1, Wet bulb input value (0080H)]• A request message from the master
Slave
Function
Data item
Amount of data
3.5 idle
addresscodecharacters
(01H)
(03H)
(0080H)(0001H)1
1
2
2

Error check
CRC-16(85E2H)2

3.5 idle
characters• Response message from the slave in normal status [When wet bulb input value is 25 (0019H)]
Slave
Function
Number of
Data
Error check3.5 idle
3.5 idle
address
code
response bytes
CRC-16characterscharacters
(01H)
(03H)
(02H)
(0019H)(798EH)11
122(2) Write [Slave address 1, Communication protocol (0001H)]• A request message from the master [When writing Modbus RTU (0002H) to Communication protocol]
Slave
Function
Data item
Data
Error check3.5 idle
3.5 idle
addresscode
CRC-16characterscharacters
(01H)
(06H)
(0001H)(0002H)(59CBH)1
1
2
2
2• Response message from the slave in normal status
Slave
Function
Data item
3.5 idle
addresscodecharacters
(01H)
(06H)
(0001H)
1
1
2

Data(0002H)
2

Error check
CRC-16(59CBH)2

3.5 idle
characters• Response message from the slave in exception (error) status (When a value out of the setting range is set)
The function code MSB is set to 1 for the response message in exception (error) status, and 86H isreturned.
The Exception code 03H (Value out of the setting range) is returned (error).
Slave
Function Exception code
Error check3.5 idle
3.5 idle
addresscode
CRC-16characterscharacters
(01H)
(86H)
(03H)
(0261H)1112(3) Read [Slave address 1, Communication protocol (0001H)]• A request message from the master
Slave
Function
Data item
Data
3.5 idle
addresscodecharacters
(01H)
(03H)
(0001H)(0001H)1
1
2
2

Error check
CRC-16(D5CAH)2

3.5 idle
characters• Response message from the slave in normal status [When writing Modbus RTU (0002H) to
Communication protocol]
Slave
Function
Number of
Data
Error check3.5 idle
3.5 idle
address
code
response bytes
CRC-16characterscharacters
(01H)
(03H)
(02H)
(0002H)(3985H)1
1
1
2
2• Response message from the slave in exception (error) status (When data item is incorrect)
The function code MSB is set to 1 for the response message in exception (error) status, and 83H
is returned. The Exception code 02H (Non-existent data address) is returned (error).
Slave
Function Exception code
Error check3.5 idle
3.5 idle
addresscode
CRC-16characterscharacters
(01H)
(83H)
(02H)
(C0F1H)1
1
1
2- 14 -

6.5 Diagnostics Function
Modbus protocol has the following diagnostics functions.
• Echoes back the request message.
• Reads device identification information.
6.5.1 Message Configuration
ASCII mode
Slave
HeaderFunctionaddress(:)
code
RTU mode
3.5 idle
characters

Slave
address

Function
code

Data

Error check
LRC

Delimiter
(CR)

Data

Error check
CRC-16

3.5 idle
characters

Delimiter(LF)(1) Slave address:
Slave address is an individual instrument number on the slave side, and is set within the range 1 to 95(01H to 5FH).
The master identifies slaves by the slave address of the requested message.
The slave informs the master which slave is responding to the master by placing its own address in the
response message.
Diagnostics function is disabled for the Slave address 0 (00H, broadcast address).
(2) Function code:
The function code is the command code for the slave to undertake the following action types.
Type
Function Code Sub-function CodeContents
08 (08H)
00 (0000H)
Echoes back the request message.
Diagnostics
43 (2BH)
14 (0EH)
Reads device identification information.
Function code is used to discern whether the response is normal (acknowledgement) or if any error(negative acknowledgement) has occurred when the slave returns the response message to the master.
When acknowledgement is returned, the slave simply returns the original function code.
When negative acknowledgement is returned, the MSB of the original function code is set as 1 for the
response.
For example, when the master sends request message setting 0FH to the sub-function code by mistake,slave returns ABH by setting the MSB to 1, because the former is a non-existent sub-function code.
For negative acknowledgement, the exception codes below are set to the data of the response message,
and returned to the master in order to inform it of what kind of error has occurred.
Exception Code1 (01H)
2 (02H)
3 (03H)

Contents
Illegal function (Non-existent function)
Sub-function code is not correct.
Illegal data address (Non-existent data address)
For function code 43: Object ID is any value other than 00, 01, 02.
Illegal data value (Value out of the setting range)
For function code 08: Data is less than 1, or has exceeded 100.
For function code 43: Read Device ID code is any value other than 01, 04.

(3) Data
Data differs depending on the function code.
For the Function code 08 (08H), a request message from the master side is composed of ‘Sub-function
code 2 Bytes (0000H)’ and ‘Data n x 2 Bytes’.
[n: Amount of data (Max. 100)]
In normal status, a response message from the slave side is the same as the request message.
Function code
1 Byte08H
Sub-function code 1 Byte
0000H fixedDatan x 2 Bytes Random value (Max. 100)

- 15 -

For Function code 43 (2BH), the request message from the master side is composed of
Sub-function code 14 (0EH), Read Device ID code and Object ID.
Function code
1 Byte2BH
Sub-function code (MEI type)
1 Byte0EH
Read Device ID code
1 Byte01H/04H(Corresponds to Basic category)Object ID
1 Byte00 Vendor nameSHINKO TECHNOS CO., LTD.
01 Product code (model)(e.g.) THT-500-A/R
02 Version number (D, T, MP)(e.g.) Dxx-xxxx-xx, MPxxxx-xx
Response message from the slave is composed of Sub-function code 14 (0EH) (for request),
Read Device ID code and Object ID.
Function code
1 Byte2BH
Sub-function code (MEI type)
1 Byte0EH
Data
Read Device ID code 1 Byte
01H/04H
Conformity level
1 Byte01H/81H
More Follows
1 Byte00H/FFH
Next Object ID
1 ByteObject ID number
Number of Objects
1 ByteList of Object ID
1 ByteList of Object length
1 ByteList of Object value
Object length
For the response message (negative acknowledgement), an exception code is set and returned.
Function code
1 ByteABH
Exception code
1 Byte01H/02H/03H(4) Error check:16-bit data to detect communication errors.
Refer to Sections ‘6.3 Message Configuration (4) Error Check (pp.11, 12).
6.5.2 Message Example
Message example in RTU mode are shown below.
Numerals written below the command represent the number of characters.
(1) Echo back Slave address 1, Request message• A request message from the master [Test data 200 (00C8H), 60 (003CH), 10 (000AH)]
Slave
Function
Sub-function
Data
Error check3.5 idle
addresscode
code
CRC-16characters (01H)(08H)(0000H)(00C8003C000AH)(E7D9H)1
1
2
nx2
2• Response message from the slave in normal status (Echoes back the same message.)
Slave
Function
Sub-function
Data
Error check3.5 idle
addresscode
code
CRC-16characters (01H)(08H)(0000H)(00C8003C000AH)(E7D9H)
1
1
2
nx2
2

- 16 -

3.5 idle
characters

3.5 idle
characters(2) Read Slave address 1, Device identification information (Vendor name)• A request message from the master
Slave
Function
Sub-functionData
3.5 idle
addresscode
codecharacters (01H)
(2BH)
(0EH)
(0400H)11
1
2

Error check
CRC-16(7327H)2

3.5 idle
characters• Response message from the slave in normal status (SHINKO TECHNOS CO., LTD.)
Slave
Function
Sub-function
3.5 idle
addresscode
codecharacters (01H)
(2BH)
(0EH)
1
1
1

Data
(048100000100185348494E4B4F20544543484E4F5320434F2E2C204C54442EH)
31
Error check
CRC-16(1C54H)
2
Data in the response message becomes as follows.
Data
Read Device ID code 1 Byte
04H
Conformity level
81H
1 ByteMore Follows

1 Byte00H

Next Object ID

1 Byte00H

Number of Objects

1 Byte01H

List of Object ID

1 Byte00H

List of Object length

1 Byte24(18H)

List of Object value

Object length

S(53H)
H(48H)
I(49H)
N(4EH)
K(4BH)
O(4FH)(20H)
T(54H)
E(45H)C(43H)
H(48H)
N(4EH)
O(4FH)
S(53H)(20H)
C(43H)
O(4FH).(2EH),(2CH)(20H)
L(4CH)
T(54H)
D(44H).(2EH)- 17 -

3.5 idle
characters(3) Read Slave address 1, Device identification information (Product code)• A request message from the master
Slave
Function
Sub-functionData
3.5 idle
addresscode
codecharacters (01H)
(2BH)
(0EH)
(0401H)11
1
2

Error check
CRC-16(B2E7H)2

3.5 idle
characters• Response message from the slave in normal status (THT-500-A/R)
Slave
Function
Sub-function
3.5 idle
addresscode
codecharacters (01H)
(2BH)
(0EH)
1
1
1
Data
(0481000001010B5448542D3530302D412F52H)
18
Data in the response message becomes as follows.
Data
Read Device ID code 1 Byte
Conformity level
More Follows
Next Object ID
Number of Objects
List of Object ID
List of Object length
List of Object value

1 Byte1 Byte1 Byte1 Byte1 Byte1 ByteObject length

Error check
CRC-16(A55FH)2

3.5 idle
characters

04H
81H
00H
00H
01H
01H
11(0BH)
T(54H)
H(48H)
T(54H)-(2DH)
5(35H)
0(30H)
0(30H)-(2DH)
A(41H)/(2FH)
R(52H)• Response message from the slave in exception (error) status [when Sub-function code (MEI type) is
incorrect]
The function code MSB is set to 1 for the response message in exception (error) status, and ABH isreturned.
Exception code 01H (Non-existent function) is returned (error).
Function Exception code
Error checkSlave
3.5 idle
3.5 idle
code
CRC-16
address
characterscharacters(ABH)(9EF0H)
(01H)
(01H)
1
1
1
2

- 18 -

7. Communication Command Table
7.1 A Single Piece of Data Read/Write Command
ShinkoModbusCommandFunction
Data ItemType
Code
20H/50H
03H/06H
0001H Communication protocol (*)
20H/50H

03H/06H

0002H

Instrument number (*)

20H/50H

03H/06H

0003H

Communication speed(*)

20H/50H

03H/06H

0004H

Data bit/Parity (*)

20H/50H

03H/06H

0005H

Stop bit (*)

20H/50H

03H/06H

0006H

Response delay time (*)

Data
0000H: Shinko protocol
0001H: Modbus ASCII
0002H: Modbus RTU
Set value (0 to 95)
0000H: 9600 bps
0001H: 19200 bps
0002H: 38400 bps
0000H: 8 bits/No parity
0001H: 7 bits/No parity
0002H: 8 bits/Even
0003H: 7 bits/Even
0004H: 8 bits/Odd
0005H: 7 bits/Odd
0000H: 1 bit
0001H: 2 bits
Set value (0 to 1000)(*) If communication parameters are changed, the changed parameters will be effective when the power to the
THT-500-A/R unit is turned OFF, then ON.
7.2 Read Command
ShinkoCommand
Type
20H
20H
20H

ModbusFunction
Code
03H
03H
03H

20H

03H

0080H
0081H
0082H
0083H

20H
20H
20H
20H

03H
03H
03H
03H

0090H
0091H
00A0H
00A1H

Data Item

Data

Wet bulb input value
Read value
Humidity converted value
Read value
Humidity output value
Read value
Status flag
20 digit: Wet bulb input temperature sensor burnout
0: No 1: Yes
21 digit: Wet bulb input temperature sensor short circuit
0: No 1: Yes
2
2 digit: Wet bulb input high limit error(Exceeding 100 )0: No 1: Yes
23 digit: Wet bulb input low limit error (Less than -25 )0: No 1: Yes
4
2 digit: Dry bulb input temperature sensor burnout
0: No 1: Yes
25 digit: Dry bulb input temperature sensor short circuit
0: No 1: Yes
6
2 digit: Dry bulb input high limit error(Exceeding 225 )0: No 1: Yes
27 digit: Dry bulb input low limit error (Less than -25 )0: No 1: Yes
8
2 digit: Output selection
0: 4 to 20 mA
1: 0 to 20 mA
29 to 215 digit: Undefined
Dry bulb input value
Read value
Temperature output value
Read value
Software version
Upper byte: Version
0
Instrument
2 digit: Dry bulb input range 0 to 200
model
0: No 1: Yes
information
21 digit: Serial communication
0: No 1: Yes
22 to 215 digit: Undefined- 19 -

7.3 Data
7.3.1 Notes about Write/Read Command• The data (set value, decimal) is converted to a hexadecimal number.
Negative numbers are represented in 2's complement.
• When connecting multiple slaves, the address (instrument number) must not be duplicated.
• Do not use undefined Data items. If they are used, negative acknowledgement will be returned or a random
value will be written or read, resulting in malfunction.
• Modbus protocol uses Holding Register addresses. The Holding Register addresses are created as follows. A
Shinko command data item is converted to decimal number, and the offset of 40001 is added. The result is theHolding Register address.
Using Data item 0001H (Communication protocol) as an example: Data item in the sending message is 0001H,
however, Modbus protocol Holding Register address is 40002 (1 + 40001).
7.3.2 Write Command• Up to 1,000,000 (one million) entries can be stored in non-volatile IC memory.
If the number of settings exceeds the limit, the data will not be saved. So, do not change the set values
frequently via software communication. (If a value set via software communication is the same as the value
before the setting, the value will not be written in non-volatile IC memory.)• When Write is executed using the Global address [95 (7FH), Shinko protocol] command or Broadcast
address [0 (00H) Modbus protocol] command, the command is sent to all the connected slaves. However,a response is not returned.
7.4 Negative Acknowledgement
7.4.1 Error code 1 (31H, Shinko protocol) or Exception code 2 (02H, Modbus protocol)
The slave will return Error code 1 (31H, Shinko protocol) or Exception code 2 (02H, Modbus protocol) in thefollowing case.
• When non-existent data item is read or written.
• When Serial communication (C5 option) is not ordered, and Write is executed for communication parameters.
7.4.2 Error code 3 (33H, Shinko protocol) or Exception code 3 (03H, Modbus protocol)
The slave will return Error code 3 (33H, Shinko protocol) or Exception code 3 (03H, Modbus protocol) in thefollowing case.
• When a value out of the setting range is written.

- 20 -

8. Specifications
Cable length
Communication line
Communication method
Communication speed
Synchronization method
Code form
Data bit/Parity
Stop bit
Communication protocol
Data format

Number of connectable units
Error correction
Error detection

1.2 km (Max.), Cable resistance: Within 50(Terminators are not necessary,
but if used, use 120
or more on both sides.)EIA RS-485
Half-duplex communication
9600, 19200, 38400 bps (Selectable via communication)
Start-stop synchronization
ASCII, binary
7, 8 / Even, Odd, No parity (Selectable via communication)
1, 2 (Selectable via communication)
Shinko protocol, Modbus ASCII, Modbus RTU (Selectable via communication)
Communication
ProtocolStart bit
Data bit

1
7

ParityEven

Stop bit1

Shinko Protocol

Modbus ASCII1
7 (8)Selectable
Even (No parity,
Odd)
Selectable
1 (2)Selectable

Modbus RTU
1
8
No parity (Even,
Odd)
Selectable
1 (2)Selectable

Max 31 units to 1 host computer
Command request repeat system
Parity, checksum (Shinko protocol), LRC (Modbus ASCII), CRC-16 (Modbus
RTU)- 21 -

9. Troubleshooting
Check that power is being supplied to the master and slave that customers use. If communication failure still
occurs, check the following.
ProblemPossible Cause
Solution
Communication
Communication cable is not securely
Check the communication cable andfailureconnected, or is disconnected/defective.
connector.
Incorrect wiring of the communication
Check the communication cable andcable and/or connector
connector.
Refer to Section ‘2. Wiring’ (pp. 2, 3).
Imperfect contact between the
Check the communication cable andcommunication cable and the connector, connector.
or between the communication connector
and instrument port
Communication speed of the slave does
Set the same communication speed on the
not match that of the master.
master and the slave.
Refer to Section ‘3. Setting Communication
Parameters’ (p. 4).
The data bit, parity and stop bit of the
Set the same data bit, parity and stop bit on
master do not correspond to those of
the master and the slave.
the slave.
Refer to Section ‘3. Setting Communication
Parameters’ (p. 4).
The instrument number (address) of the
Check the instrument number (address)
slave does not correspond to that ofof the slave and the command.
the command.
Refer to Section ‘3. Setting Communication
Parameters’ (p. 4).
The instrument numbers (addresses) are Check that each slave has a different
duplicated in multiple slaves.
instrument number (address).
Refer to Section ‘3. Setting Communication
Parameters’ (p. 4).
Make sure that the program is
Check the program.
appropriate for the transmission timing.
Refer to Section ‘4. Communication
Procedure’ (p. 5).
Although
A non-existent command code has been
Check the command code.
communication
sent.
is occurring, the
The Write command data exceeds the
Check the setting range of the slave.
response issetting range of the slave.
negative
acknowledgement.
For all other malfunctions, please contact our main office or dealers.

- 22 -

- 23 -SHINKO TECHNOS CO., LTD.
OVERSEAS DIVISION
Head Office : 2-5-1, Senbahigashi, Minoo, Osaka, Japan
http://www.shinko-technos.co.jp/e/
URL:
Tel : +81-72-727-6100
E-mail:overseas@shinko-technos.co.jp
Fax: +81-72-727-7006