Interface description (RS-232) for A&D FX-i and FZ-i precision balances

A&D’s FX-i and FZ-i precision balances are equipped with a serial interface (RS-232) and can be easily connected to a computer for data transfer (if necessary with a converter from RS-232 to USB or to Ethernet). You can, of course, also connect other devices such as a serial printer, a data logger or a secondary display.

I recently tested all communication modes and their various settings in order to update the product description in our German scales shop. Since this took me a lot of time, I also translated my findings into English for publication on this blog.

I found that all commonly used communication modes (a.k.a. transfer modes, transmission modes) are supported and that they can often be fine-tuned in a way rarely possible with other balances. Concerning the data format, the FX-i and FZ-i balances support not only A&D’s standard format, but also several other formats which might make these scales suitable as a drop-in replacement for older Mettler Toledo or Sartorius balances. However, the more recent SICS protocol was not implemented.

The balances support a number of commands for bidirectional communication. Unfortunately, not all applications and settings are accessible via remote commands (for example, the limits for checkweighing cannot be set by a connected computer).

You can use any terminal software to test communication via the RS-232 interface (e.g. HTerm or PuTTY). For productive use, I recommend A&D’s free WinCT software or our Simple Data Logger software. The best integration can often be achieved by customizing your own software to communicate directly with the balance.

RS-232 interface and cable

FX-i and FZ-i balances have a built-in DE9M connector and require a straight (1:1) cable (not a null modem cable):
RS-232 interface on A&D FX-300i balance

Interface parameters

Default settings are highlighted in bold:

Baud rate: 600, 1200, 2400, 4800, 9600, 19200
Data bits: 7 bits or 8 bits
Parity: even, odd (for 7 data bits), none (for 8 data bits)
Stop bits: 1 bit
Data flow control (handshaking): none (RTS and CTS lines are connected internally but not used for actual flow control).

Data format

By default, the balances use the proven A&D format and transmit 17 ASCII characters for each weight value:

First line: number; second line: ASCII characters sent by the balance; third line: hexadecimal value
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
S T , + 0 0 4 5 6 . 8 9 g CR LF
53 54 2C 2B 30 30 34 35 36 2E 38 39 20 20 67 0D 0A

As far as I know, the very first scale from A&D with a data interface already used the same format. This is very impressive, particularly when other manufacturers sometimes change the data format between firmware updates or even between transmission modes.

As alternatives to the A&D format, 5 further data formats can be used. The user manual (PDF) contains a detailed description in chapter 10-6.

Communication modes

The corresponding setting in the menu of the balance is indicated in [square brackets].

  1. Key mode: The weight is transmitted when the PRINT button on the balance is pressed.
    • Mode A: Only when the weight is stable [dout / Prt 0].
    • Mode B: Immediate transmission (stable and unstable weight) [dout / Prt 4].
    • Mode C: The balance waits until the weight has stabilized and then transmits it [dout / Prt 5].
  2. Auto-print: The weight is automatically transmitted after stabilization.
    • Mode A: Return to zero is required before next transmission [dout / Prt 1]. You can set which range around zero counts as “zero” (10, 100 or 1000 digits) [dout / AP-b]. You can also specify whether only positive, negative or all values should be transmitted [dout /AP-P].
    • Mode B: No return to zero is required before the next transmission [dout / Prt 2]. You can set the required difference from the last stable value (10, 100 or 1000 digits) [dout / AP-b]. You can also specify whether lower, higher or all values should be transmitted (compared to the last stable value) [dout /AP-P].
  3. Stream mode: Continuous transmission of 5, 10 or 20 values/s [dout / Prt 3]. The frequency is determined by the display refresh rate [bASFnc / SPd]. This mode is not suitable if you connected a printer or hardware data logger to the balance, but it is required if you want to use an external display. Our data logger software can also easily handle this number of values per second.
  4. Interval mode: Transmission of a value every 2, 5, 10, 30 or 60 seconds or every 2, 5, or 10 minutes [dout / Prt 6].
  5. Command mode: The balance responds to commands received over the interface (bi-directional communication). Available in all modes, see commands below.

In mode 1, 2 and 4, the display blinks to signal that the weight has been transmitted.

Supported commands

“Q” is used to get the weight immediately, while “S” is used to get the next stable weight. All commands must be terminated with carriage return and line feed:

No.:  1  2  3
ASCII: Q CR LF
Hex: 51 OD 0A

Complete list of commands (in alphabetical order):

?ID Requests the balance ID (can be set through the menu).
?PT Requests the pre-tare value (which has been set using the PT command).
?SN Requests the balance’s serial number.
?TN Request the balance’s model name.
C Cancels the S or SIR command.
CAL Same as pressing the CAL button.
<ESC>P Same as the “S” command. <ESC> is the escape control character (1Bh). Compatible to Sartorius SBI and older Sartorius balances.
<ESC>T Same as pressing the RE-ZERO button.
EXC Calibration using an external weight (only for FZ-i).
Q Requests the weight data immediately.
OFF Turns the balance off.
ON Turns the balance on.
P Same as the ON:OFF button (“P” = power?).
PRT Same as pressing the PRINT key.
PT Sets a tare value, PT:xxx.x g. The unit must be transmitted using A&D’s format (3 characters, right-justified, padded with spaces).
R Same as pressing the RE-ZERO key.
S Request the stabilized weight.
SI Same as “Q” (compatible to older Mettler-Toledo balances).
SIR Switch to stream mode (continuous transmission).
SMP Same as pressing the SAMPLE key
T Tares the balance.
U Same as pressing the MODE key.
Z Same as pressing the RE-ZERO key.

Other settings affecting RS-232 data transmission

You can set the balance to acknowledge valid commands with the ACK control character (06h) and to reply to invalid with “EC” and an error number [SiF / ErCd]. The manual contains detailed information and examples in chapter 16-2.

The terminator can be changed from carriage return and line feed (0Dh 0Ah) to carriage return (0Dh) [SiF / CrLf]. This affects both the output and the input (commands).

It’s also possible to change the decimal point to a comma [bASFnc / Pnt].

The balance can re-zero (tare) itself after sending the weight, which is useful during formulation [dout / Ar-d].

FZ-i balances are equipped with an internal clock and calendar and can output the time, date or time and date [bASFnc / dout / S-td]. According to the manual, this only works when outputting GLP data and not with individual weight values (I will test this later this week). This information can be added to the weight data [dout / S-td].

You can use the animal weighing application to calculate an average weight and automatically output it (as shown in this short video). Statistical calculation mode can output numbered individual weight values and summarized statistical data.

You’ll find further settings in a function table in the user manual (chapter 10).

Further information