
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 -10.5°C, the bath would reply:
CA 00 01 20 03 11 FF 97 34
command byte
3 bytes to follow
The checksum is the bitwise inversion
of CB (00+01+20+03+11+FF+97)
The qualifier byte of 11 indicates a precision of 1
decimal point and units of °C. The temperature of
-10.5°C is -105 decimal = FF97 hex.
CA 00 01 20 00 DE
command byte
0 bytes of data
The checksum is the bitwise
inversion of 21 (00+01+20+00)
byte values are in hex
B -2