Appendix B
NC Serial Communications Protocol
NOTE:
All byte values are shown in hex, hex represents the binary values that must be sent to the bath.
Do not
use ASCII.
The framing of the communications packet in both directions is:
Checksum region
Lead char
Addr-MSB
Addr-LSB
Command
n d-bytes
d-byte 1
...
d-byte n
Checksum
CA or CC
00
Lead char
RS-232 = CA (hex) RS-485 = CC (hex).
Device address is 1 - 64 hex (1 - 100 decimal)
Addr-msb
Most significant byte of device address is 00 hex.
Addr-lsb
Least significant byte of device address is 01 - 64 hex (1 - 100 decimal) for
RS-485, 01 for RS-232.
Command
Command byte (see Table 1).
n d-bytes
Number of data bytes to follow (00 to 08 hex).
d-byte 1
1
st
data byte (the qualifier byte is considered a data byte).
...
...
d-byte n
n
th
data byte.
Checksum
Bitwise inversion of the 1 byte sum of bytes beginning with the most signifi-
cant address byte and ending with the byte preceding the checksum. (To
perform a bitwise inversion, "exclusive OR" the one byte sum with FF hex.)
The master requests information by sending one of the Read Functions as shown in Table 1 on page B-4. Since
no data is sent to the bath during a read request, the master uses 00 for the number of data bytes following the
command byte.
The bath will respond to a Read Function by echoing the lead character, address, and command byte, followed
by the requested data and checksum. When the bath sends data, a qualifier byte is sent first, followed by a two
byte signed integer (16 bit, MSB sent first). The qualifier byte indicates the precision and units of measure for
the requested data as detailed in Table 2.
As an RS-232 example, the master requests to read internal temperature by sending:
If the temperature is 62.5°C, the bath would reply:
CA 00 01 20 00 DE
command byte
0 bytes of data
The checksum is the bitwise inversion of 21
(00+01+20+00) = 21
byte values are in hex
CA 00 01 20 03 11 02 71 57
command byte
3 bytes to follow
The checksum is the bitwise inversion of A8
(00+01+20+03+11+02+71) = A8
A8 ^ FF = 57
^ = Bitwise XOR function
The qualifier byte of 11 indicates a precision of 1
decimal point and units of °C. The temperature of
62.5°C is 625 decimal = 271 hex.
B - 2