Using Ohaus Defender 5000 scales with BarTender

BarTender from Seagull Scientific is “the world’s leading design and print software for labels, barcodes, cards and RFID tags.” In this article, I’ll show you how to capture the net weight and tare weight from an Ohaus Defender 5000 scale with BarTender.

Notes:

  • This guide applies to the new generation of Ohaus Defender 5000 scales (2018 or later).
  • It was created using BarTender 2019 R8 and version 1.05 of the Ohaus Defender 5000 firmware. It may not apply to future versions.
  • I’m not a BarTender expert, if you think that you have a better solution, please let me know in the comments.

BarTender communicates with a scale by requesting the weight and – if supported – the tare weight in short intervals (every 250 ms by default). The received data is then parsed using regular expressions.

Unfortunately, the “Ohaus” protocols defined in BarTender do not work with the default settings of the current Defender 5000 scales. They also don’t support requesting the tare weight. Therefore, we’ll use the MT-SICS protocol instead. As you’ll see below, this is a very straightforward solution. However, for a limited number of multi-interval Defender 5000 scales, we’ll need to modify the regular expressions used by BarTender.

Note for legal-for-trade applications (verified scales): If you’re planning to use the alibi memory (SD card) installed in the Defender 5000 indicator, please note that the solution proposed here does not create alibi records. To do so, you would have to use the Ohaus “P” (print) command instead of the MT-SICS command to request the weight. However, this would create an alibi entry every 250 ms, which is probably not what you want either. In my opinion, the communication method used by BarTender is not well suited for use with verified scales and alibi records.

Configuring your Ohaus Defender 5000 scale

Note: This guide assumes that you’ve already connected your scale to your PC. I used the standard RS-232 port found on all current Defender 5000 models. Using the optionally available USB or Bluetooth interface (SPP) would be almost identical.

Apparently, you do not need to change the configuration of the scale, as it already supports MT-SICS commands in its default “Demand” mode. However, if you want to explicitly set it to the MT-SICS protocol, press and hold the Menu button, then press 7 to enter the Communication menu, select the interface you’re using, press 2 for Setup and then change the Assignment from “Demand” to “SICS”:
Ohaus Defender 5000 scale SICS

The other settings on this screen should not matter, as they’re irrelevant for the selected protocol.

Configuring BarTender

Add Scale Wizard Step 1

Start Bartender Designer, select Administer>Weighing Scale Setup and Add Scale. This will launch the Add Scale Wizard. Click on Next.

BarTender Add Scale Wizard 1

As mentioned, simply selecting “Ohaus 5000 Series” (or any other Ohaus model) will not work with the current Defender 5000 scales. Instead, select Define a model not listed above and click on Next.

Add Scale Wizard Step 2

BarTender Add Scale Wizard 2Select “Ohaus” as the manufacturer and enter a model name (e.g. “Defender 5000 SICS”).

If your scale is a single interval scale (which means that the readability does not change over the entire weighing range), select the “Mettler Toledo (MT-SICS Level 1)” protocol and click on Next. Then skip to step 3 of this guide far below.

If your scale is a multi-interval scale, things may get a bit more complicated. It all depends on the readability (aka “graduation”, “d” or “e”) of your scale. If it has the same number of decimal places over all intervals when using the default unit (kg), you can also go to step 3. If the number of decimal places is not the same, continue reading here.

Example:

Ohaus Defender 5000 scale dual interval
0.005 kg = 3 decimals, 0.01 kg = 2 decimals

Creating a new protocol

For multi-interval scales that don’t have a constant number of decimal places, we have to make a tiny change to the regular expressions defined in BarTender’s MT-SICS Level 1 protocol. Since we can’t modify existing protocols, click on New to create a new one.

BarTender Add Scale Wizard 3

Give the new protocol a name (e.g. “SICS”) and click on Copy existing Protocol.

BarTender Add Scale Wizard 4Select “Mettler Toledo (MT-SICS Level 1)” and confirm with OK. All fields for the commands and response patterns should now be filled in.

BarTender Add Scale Wizard 5

In every single response pattern except for the last one, locate the following string:

\x20(?<Units>

Change it to:

\x20+(?<Units>

By adding a plus sign, the regular expression now matches strings which contain one or more spaces (\x20) in between the weight (or tare) value and the unit. This is necessary because some multi-interval Defender 5000 scales use two spaces after switching to the second interval:

RegexBuddy weight values with defaul MT-SICS regex

Note how the second line contains two spaces after “22.25”. With the default regular expression defined in BarTender, this weight value (and all others in the same interval) would not be captured.

I don’t know if BarTender was too strict or if Ohaus was too lax in implementing the MT-SICS protocol. I believe it’s better if I don’t comment on this any further. According to the MT-SICS protocol documents I’ve reviewed, the weight should be right-aligned and separated from the unit with one space character. However, the descriptions of MT “DeltaRange” multi-interval balances mention that the last digit is replaced by a space when the number of decimal places changes:

mt-sics
Source (PDF)

Therefore, it seems that Ohaus did nothing wrong and the regular expression in BarTender did not account for this scenario.

Note: If you’re regularly dealing with regular expression, I highly recommend the wonderful RegexBuddy software.

Your user-defined protocol should now look like this:
BarTender: Add scale wizard 6Click on OK.

BarTender Add Scale Wizard 7

Select the protocol we’ve just defined and click on Next.

BarTender Add Scale Wizard 8Everything in this dialog should be correctly configured for the use of a serial port (RS-232, USB or Bluetooth SPP). Click on Next.

Add Scale Wizard Step 3

BarTender Add Scale Wizard 9

Welcome back, my lucky readers who did not have to deal with protocols and regular expressions. Change the name of the scale if you feel like it and then click on Next.

BarTender Add Scale Wizard 10

In this dialog, you must specify the COM port on your computer that is used to connect to your Ohaus Defender 5000 scale.

BarTender Add Scale Wizard 11

This is it! We’re done! Click on Finish, but don’t bring out the champagne just yet.

Testing your Ohaus Defender 5000 scale

Bartender weigh scale setup

Back in the Weighing Scale Setup, select the scale you’ve just added and click on Properties.

BarTender weighing scale setup properties

Click on Test Connection. If everything is correct, BarTender should show the Net Weight and Tare Weight received from your scale:

BarTender Weighing Scale Connection TestIn that case, congratulations, you succeeded. You can now use the values from your scale in BarTender.

Should you not see any weight values, you’ll find some troubleshooting information below.

Troubleshooting a scale connection

Unfortunately, communication problems with scales can have many causes and are often difficult to solve. I can’t give you extensive troubleshooting instructions here, but I’ll tell you the same thing I also tell our software users: Download HTerm, a simple terminal program. Then try to communicate with your scale using HTerm instead of BarTender:

HTERM used for scale troubleshooting (MT-SICS protocol)

Change the following settings in HTerm:

  • COM port,
  • Baud to 9600,
  • Newline at to “CR+LF” (optional, looks nicer),
  • Send on enter to “CR-LF” (required).

Click on the Connect button at the top (shown as Disconnect in the screenshot as I had already clicked on it). Then type the “SI” (send immediately) command manually into the input field (lower red arrow) and press enter.

You should see the command you just sent under Transmitted data and the reply from the scale under Received Data (marked green on the screenshot).

If communication is successful with HTerm but not with BarTender, the problem is with BarTender. If you’ve changed the regular expression as described above, double-check that you’ve not made any mistakes. Contact Seagull Scientific for further support. Please don’t ask me for help in the comments.

If you can’t communicate with your Defender 5000 scale using HTerm, something is wrong with your setup. In my experience, the most likely culprits are:

  • Wrong COM port.
  • Wrong interface parameters (baud rate, etc.).
  • Wrong type of serial cable.

Please understand that I cannot diagnose these problems for you remotely. You may want to contact your Ohaus dealer or pay a specialist to help you.


Did this article save you a lot of time? Please consider supporting my work by buying a PDF version for US$2/copy (contains no additional information).


Last updated on August 14, 2020: Added information concerning the MT-SICS response format.

Despite Coronavirus: Rapid delivery of a verified scale to a hospital pharmacy

Thanks to the good cooperation between our company, the scale manufacturer Ohaus, UPS and DB Schenker, our customer received a verified class III scale with a 50 × 50 cm platform and  a capacity of 60 kg only 4 working days after placing the order.

Scales of this type are individually adjusted to the gravity at the place of use during initial verification. The customer can immediately use the scale for the purposes listed in directive 2014/31/EU (article 1).