A&D Precision Balances Communication Manual (GX-A, GF-A and GX-AE)

A&D scales and balances have always been an excellent choice when it comes to data transfer to a computer, printer or other devices. With a data format that has remained virtually unchanged throughout the company’s history, we have seen customers replace decades-old balances with new ones without having to adapt their existing data acquisition software.

This does not mean that the communication capabilities of A&D balances are not evolving. The new GX-A, GF-A and GX-AE models are particularly interesting because they are equipped with multiple interfaces and can be controlled by a connected computer (or PLC) via a large number of commands.

Communication Manual

Best of all, A&D has documented everything in a 56 page communication manual, which you can download here (PDF).

If you thought that my interface description of A&D’s FX-i and FZ-i balances was already quite comprehensive, you’ll certainly be impressed by this communication manual for the GX-A/AE and GF-A series, which covers more topics in much greater detail.

Table of contents

To give you an idea, you’ll find the table of contents from the communications manual below:

  1. Introduction
    1. Applicable models
    2. Features of the communication function
      1. Using standard RS-232C / extension RS-232C interface
      2. Using standard USB interface
      3. Connecting multiple peripheral devices
  2. Interface specifications
    1. RS-232C
    2. USB
  3. Connecting Peripheral Devices
    1. Cables needed to connect to peripheral devices
    2. About data output method
    3. Specific examples when connecting multiple peripheral devices at the same time
  4. Printing Weighing Values To the Printer
    1. In case of AD-8127
    2. In case of AD-8126
  5. Connecting to a PC or a PLC
    1. Quick USB mode
    2. Virtual COM mode
    3. RS-232C
    4. WinCT data transmission software (USB Virtual COM mode or RS-232C)
    5. Notes when using quick USB
  6. Data output
    1. Data output mode
    2. Weighing data format
    3. Output examples of weighing data format
    4. Other data formats
  7. Commands
    1. Control commands
    2. The <AK> code and error codes
    3. Command usage examples
  8. Error codes
    1. Error codes list
  9. The UFC function
    1. UFC program commands
    2. Examples of creating UFC program commands
  10. Internal settings
    1. How to set
    2. List of items (communication entries only)
  11. Key lock function
    1. Locking all key switches
    2. Locking specified key switches
  12. Checking the software version of the balance

Examples

One of my favorite things about this manual are the examples, which clearly presented and easy to follow:

GX-A balance: example of measuring using a container
Example of measuring using a container

Is something still missing?

In my opinion, this is the best communication manual I’ve seen from any weighing instrument manufacturer so far.

My only suggestion for improvement as far as the manual itself is concerned is to add a warning symbol next to the footnote on page 6, which mentions the 12 V voltage on pin 9. When connecting the balance to a device which also uses pin 9 in this way (such as Zebra printers), both devices could malfunction and possibly be damaged. To prevent this from happening, a custom cable must be used instead of a standard cable that connects all pins.

Tare weight and gross weight

When the tare weight is set by the operator by pressing the RE-ZERO button on the balance, it is not returned when using the “?PT” or “?T” commands. This is mentioned in the manual, but no explanation is given. It is also not possible to request the gross weight. Therefore, applications which require this data have to be designed so that the tare operation is triggered by the connected device (see example above).

Note: The UFC template language available on the GX-A/AE and GF-A balances allows the tare weight and gross weight (and of course net weight) to be sent to a connected device.

Ethernet, WiFi, Bluetooth

An Ethernet interface is optionally available, but it costs several times more than an external converter (such as Moxa’s NPort 5110A). If it was more affordable, it would attract more customers planning to connect multiple balances to a single PC for data acquisition purposes.

No wireless LAN option exists (so far). The Bluetooth adapter for the RS-232 interface is unfortunately not available in Europe. This makes it somewhat difficult to use the balances under a fume hood and transferring the weight to a computer outside.

MT-SICS

A&D could make the balances more compatible with existing systems by adding support for the MT-SICS protocol. While MT-SICS is not the holy grail of all protocols, it is widely used and supported in the weighing industry and by software developers. With companies such as Sartorius, Radwag, Kern (KCP) and Ohaus (on some models) offering support for what is effectively MT-SICS, I see no compelling reason why A&D could not do the same.

The balances already understand the “S”, “SI” and “SIR” commands also used by MT-SICS. When set to the “MT” data format, they come very close to sending the same replies as MT-SICS-compatible weighing instruments:

First line: character/byte number
Second line: A&D’s MT format (stable weight)
Third line: MT-SICS format (stable weight)
 1 2 3 4 5 6 7 8 9101112131415161718
S123.45gCRLF
SS123.45gCRLF

Very close, however, is sometimes not close enough (see this blog post where communication failed because of one additional “space” character).

Reading and changing settings through commands

Finally, while these balances support many commands covering a lot of functionality,  it’s not possible to read and change most of the settings by using commands. If this were an option, a connected computer with a configuration software could change the balances’ settings in a quick and user-friendly way.  With new technologies such as WebUSB, it may eventually be possible to change the configuration of the balance directly from a web browser.

Just before publishing this article, I took another look at A&D’s global website and noticed that they have released a program called “WinCT-ParamSet” that does exactly what I suggested above. I will take a closer look at it in a separate article. I hope that the communication manual will be updated to include the commands used by WinCT-ParamSet.

Further information on GX-A, GF-A and GX-AE precision balances

A&D global website: A&D Apollo GX-AE/A & GF-A Series
A&D Europe: A&D Apollo Series GF-A/GX-A
A&D US: A&D Apollo GX-A/GF-A Series Precision Balances
Our shop (in German): Präzisionswaage A&D GX-A

How to record the weight from an A&D scale or balance using A&D’s free RsWeight software

0. Don’t let the terminology confuse you

For the purpose of this article, “serial”, “RS-232” (with and without hyphen), “RS232C” and “COM” can be treated as synonyms. Therefore, a “serial port”, “RS-232C interface” and “COM port” are the same thing.

“Scale”, “balance” and “weighing instrument” are used interchangeably.

1. Connect your A&D scale or balance to your PC

In most cases, your A&D scale will be equipped with an RS-232 interface:

RS-232 interface on A&D FX-300i balance

You will need an RS-232 cable (serial cable) which is compatible with your scale and – if your PC does not have an RS-232 port – a converter from USB to RS-232 such as FTDI’s Chipi-X or US232R.

This converter will create a virtual COM port on your PC. A&D also offers a set consisting of a converter and a cable.

There are other kinds of converters such as RS-232 to Ethernet, though they are not covered in detail here. As long as they can create virtual COM ports, they can be used with RsWeight.

The configuration used is in this tutorial is shown below:

A&D FX-300i balance with RS-232 cable, USB to RS-232 converter and PC running RsWeight software

Not all scales require a converter to USB: The recently released Apollo GX-AE/A & GF-A balances have a USB port which can be configured to work in virtual COM port mode, so all you’ll need is a USB cable. A&D may have released further balances with this functionality by the time you read this article.

Many weighing instruments from A&D can be equipped with a “Quick USB” port. This type of port is recognized as a keyboard and not as a virtual COM port and is therefore not suitable for use with RsWeight (see A&D’s Communication Methods FAQ for further information).

If you know what you’re doing, you can also find USB to RS-232 converters that can be plugged directly into the RS-232 port of your scale (no separate serial cable required). We offer such a solution for A&D scales with a round DIN8 connector such as the HC-i counting scales or FG-KAL/KBM scales (currently only available in our German scales shop):

USB to RS-232 (DIN8) cable

2. Install the driver for the USB to RS-232 converter (or for your balance)

On Windows 10, driver installation will usually happen automatically when you plug in the converter (on your PC). If this is not the case, you can download the driver from the manufacturer’s website, e.g.:

For other converters, please check with your supplier.

3. Download and install RsWeight

RsWeight is available for free from A&D as part of the WinCT suite. Installation is straight forward and should not pose any challenges: Download the Zip file, unzip it, start setup.exe and follow the prompts on the screen.

4. Configure RsWeight

You’ll find RsWeight under the “A&D WinCT” group in the start menu. On Windows 10, you can also open the start menu and start typing “RsWeight”.

In the “RS-232C” menu, select the COM port to which your scale is connected on your system. By clicking on the combo box, you can see the full names (requires RsWeight 5.40 or later):

COM port selection in RsWeight

If you’re using a USB to RS-232 converter with FTDI’s chipset, it will show up as a “USB serial port” (as shown above). Converters made by other manufacturers may have slightly different names, but usually they contain the words “serial” and “port”.

The new Apollo GX-AE/A and GF-A balances will be shown as an “AND USB Port for Balance”.

If you’re in doubt, open the Windows Device Manager (under Windows 10, press Ctrl + X, then select Device Manager) and navigate to Ports (COM & LPT):
Ports in Windows Device Manager

You can then simply unplug the converter (or balance) from your PC and watch which device disappears (and hopefully reappears when you plug it in again). If you cannot find a suitable device, you must resolve this issue before continuing (most likely you don’t have the correct driver installed, see section 2 above).

All other interface parameters are already set to the default values required by (nearly) all A&D scales and balances:

  • Baud Rate: 2400
  • Parity: Even
  • Length: 7
  • Stop Bit: 1
  • Terminator: CR/LF

RsWeight baud rate is set to 2400

If you’ve changed these settings in the menu of your scale, you need to make exactly the same changes in RsWeight. If you didn’t modify the default settings of your scale, all you have to do in RsWeight at this stage is set the COM port.

5. Start data logging

Press Start in RsWeight, put an object on your balance, wait for the stability indicator to show up in the display and press the PRINT button. The weight will appear in RsWeight:

Weigh received in RsWeight

Note: If you do not want to manually press the PRINT button on your balance, you can either change its data transmission mode or instruct RsWeight to request the weight by checking the Repeat checkbox and setting an interval in seconds. Further information can be found in the manual of your balance and in the RsWeight Operation manual (PDF).

We do not recommend using “stream mode” with RsWeight as the software will eventually become too slow to record all values. You can see this in this screenshot where the balance was sending 20 values/s, but RsWeight slowed down to 4 values/s after a few minutes. If you want to continuously record rates of 10 weight values/s (or more) over several minutes, hours or even days, consider using our inexpensive Simple Data Logger software.

6. Export to CSV

In the Option menu, make sure that the Decimal Point is set correctly for your region (e.g. USA->Dot, Germany->Comma). Then, go to File / Save / Data Save and enter a file name and location:

Save recorded weight as CSV

You will be able to open this file in Excel (and other applications) and the data will be neatly arranged in columns (if not, then you probably picked the wrong decimal separator):

CSV file from RsWeigh opened in Excel

What if no weight is received from the scale?

This problem can be difficult to solve because there are many components involved in recording the weight from your scale:

  • The scale or balance,
  • the RS-232 cable,
  • the USB to RS-232 converter (if required),
  • and the RsWeight software.

If there’s something wrong with just one of these items, data transmission will fail. From our experience, the most common issues are:

    • Wrong COM port. The COM port number will be assigned by your PC, so you can’t just copy it from this article. Note that there may be other COM ports present on your system even if you’ve never connected a converter to your PC before. It is absolutely necessary that you choose the right port. RsWeight cannot do this for you, though it does make it easy by showing the full COM port name (since version 5.40).
    • No driver, wrong driver or outdated driver installed for your USB to RS-232 converter or balance. This a particularly common problem on Windows 7. Confirm that the manufacturer’s name and not “Microsoft” is shown under Driver Provider when you open the Device Manager, right-click on the converter, select Properties and switch to the Driver tab:
      USB Serial port driver propertiesIf you suspect that you don’t have the correct driver installed, download it from the manufacturer (see section 2).
    • The scale has not yet stabilized. If you press the PRINT button and the weight is not stable, no data will be transmitted. Depending on the model of your scale, you may be able to change this setting (please consult the manual). Otherwise, just wait until the stability symbol appears.
    • Balance settings have been modified. If the settings of your balance no longer correspond to their default values, data transfer may fail. This applies in particular to settings of the serial interface, such as the baud rate and the data format. Please consult the manual of your balance to ensure that each setting corresponds to the factory setting.
    • Wrong serial cable. A&D scales generally require a straight 1:1 cable, not a crossed (null modem) cable. If you happen to find a cable that “looks like it may work”, check that it is wired correctly (using a continuity tester, you cannot tell how a cable is wired by looking at it from the outside unless you have superpowers).

It’s extremely rare for the RS-232 port on an A&D scale to be defective. We’ve only seen this happen once so far. Before you assume that your scale is defective, please make sure that you’ve excluded all other possible causes.

Additional information is also available from A&D:

If you are unable to record any data from your scale with RsWeight even after carefully following the instructions in this article and in the linked documents, please contact your weighing instruments dealer or A&D.

Please understand that we cannot offer free support if you have not bought your A&D scale or balance from us.

Working with milliseconds in Excel

Milliseconds are not first-class citizens in Excel. There’s no MILLISECOND equivalent to the SECOND function and you will not find a predefined time format that includes hours, minutes, seconds and milliseconds.

This does not mean that Excel cannot process time values with milliseconds. The only requirement is that they are in a format that Excel recognizes. You should also assign a custom format to the cells so that you can easily read the values. I will explain these two aspects in this article and present solutions to common millisecond related tasks and problems. If you’re only interested in a brief summary, jump to the TL;DR at the end.

Note: I’m using US region settings for this article. Other regions may require different formats, e.g. “hh:mm:ss,000” for Germany (with a comma instead of a dot).

Time formats with milliseconds recognized by Excel

Internally, Excel stores time values as fractions of a day (24 hours). This means that 12h are represented as 12÷24 = ½ = 0.5 (half a day) and 3h as 3÷24 = 0.125. In this representation, 1ms is only a tiny value: 1ms ÷ (24h × 60min/h × 60s/min × 1000ms/s) = 1÷86400000 ≈ 0.000000011574074 (compare this to the numeric precision of Excel).

This makes the calculation of time differences very easy, but entering values in this way is not particularly user friendly. Fortunately, Excel also recognizes the following format and similar variants:

hh:mm:ss.000

Example: “01:23:45.678” stands for one hour, 23 minutes, 45 seconds and 678 milliseconds. You do not have to type leading zeros (or trailing zeros in the milliseconds part).

Numbers entered like this or read from a file in this format are converted to fractions of a day. However, they are not displayed correctly until you assign a corresponding custom format to the cells, as explained below.

Custom cell format with milliseconds

Practical example

Click here to download a CSV file created by our data acquisition software Simple Data Logger during a fill weighing operation using an A&D GX-A precision balance. The software was configured to record the date, time (with milliseconds) and weight:

Time with milliseconds in weight recording software
The time format pattern in this software is slightly different from the one used by Excel. To the right of the “add time” field, you can see that it produces the desired output.

After opening the CSV file in Excel, you will notice that the time is not displayed correctly:
CSV file opened in Excel, date, time (not formatted correctly) and weight

This can be fixed by assigning the following custom format to the cells (select the column containing the time, right-click and choose “format cells”):

[hh]:mm:ss.000

The square brackets indicate that this is an “elapsed time” format that can display hourly values equal to or greater than 24h. Once applied, the time values are shown in the desired format:

Date, time with milliseconds and weight shown correctly in Excel

Common tasks when using milliseconds in Excel

Calculating time differences

Thanks to the numeric format used internally by Excel, you can perform all kinds of calculations with time values. To calculate a time difference, simply subtract the later time from the earlier one:

Calculating with milliseconds in Excel

If the result consists of “############” instead of the expected time difference, there can be several reasons:

  • You may need to apply the same custom [hh]:mm:ss.000 format as above to the results.
  • The result is a negative value. Excel does not like negative time values, but there are some workarounds.

Be careful with date changes! The simple time difference formula used above will fail at midnight. Fortunately, dates are internally stored as whole numbers and you can therefore simply add the date and time values before performing the subtraction as I’ve explained here.

Show milliseconds only

Excel does not have a MILLISECOND function to return only the milliseconds of a time value. You can use the following formula instead:

=RIGHT(TEXT(D2, "hh:mm:ss.000"),3)*1

This takes the 3 rightmost characters (the milliseconds) from the D2 cell and multiplies them by one to ensure the result is treated as a number (not text).

Format the cells in the result column as a number without decimal places and you will see that only the milliseconds have been extracted:

Milliseconds extracted from time in Excel

You can then easily perform calculations such as MIN, MAX, STDEV.P, etc.

Conversion of time values into milliseconds

If you want to convert entire time values to milliseconds instead of just extracting the milliseconds part, there are two approaches that should lead to the same result.

You can use the built-in HOUR, MINUTE and SECOND functions together with our MILLISECOND function replacement (see above) to convert a time value (in cell D2):

=HOUR(D2)*3600000+MINUTE(D2)*60000+SECOND(D2)*1000+RIGHT(TEXT(D2, "hh:mm:ss.000"),3)

There is also an elegant alternative to this solution: You can simply multiply the time value by 86400000 to convert it into milliseconds. This works because of the internal numeric format used by Excel where 1 is equal to 24h = 24h × 60min/h × 60s/min × 1000ms/s = 86400000ms.

Use an easier format to manually enter times with milliseconds

The time values with milliseconds used for the examples above were already available in the “hh:mm:ss.000” format required by Excel. But what if you must enter many time values manually? Maybe you prefer a format that only uses dots so you can keep your hand on the numeric keypad, e.g. 1.25.54.010 instead of 1:25:54.010.

For Excel to recognize these values as times, they must be converted to the “hh:mm:ss.000” format. However, if you use the SUBSTITUTE function to replace all dots with colons, you wont preserve the last dot. The solution is to limit SUBSTITUTE to replace only the first occurrence of a dot and then apply it again to replace the second dot, leaving the last one intact. The required formula looks complicated but is actually simple (it assumes the value you want to transform is contained in cell A2):

=SUBSTITUTE(SUBSTITUTE(A2,".",":",1),".",":",1)

Please try it out before you manually enter hundreds of time values using the dot format. It worked fine for me:

Excel time with milliseconds entered with dot

TL;DR (too long, didn’t read)

  1. Make sure that your time values are available as hh:mm:ss.000, e.g. “01:23:45.678”.
  2. Assign the following custom format to your cells: [hh]:mm:ss.000.