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.
- 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”:
The other settings on this screen should not matter, as they’re irrelevant for the selected protocol.
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.
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
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.
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.
Give the new protocol a name (e.g. “SICS”) and click on Copy existing Protocol.
In every single response pattern except for the last one, locate the following string:
Change it to:
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:
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:
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.
Select the protocol we’ve just defined and click on Next.
Add Scale Wizard Step 3
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.
In this dialog, you must specify the COM port on your computer that is used to connect to your Ohaus Defender 5000 scale.
This is it! We’re done! Click on Finish, but don’t bring out the champagne just yet.
Testing your Ohaus Defender 5000 scale
Back in the Weighing Scale Setup, select the scale you’ve just added and click on Properties.
Click on Test Connection. If everything is correct, BarTender should show the Net Weight and Tare Weight received from your scale:
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:
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.