I have a scale that connects to my PC via either serial or USB. A weight on the scale of 8.27 lbs is read in. This topic describes how to use My.Computer.Ports to receive strings from the computer's serial.
We have a OHAUAS defender 5000 series model T51P Weighting scales with a COM port. if we connect this to a PC we should be able to get the weight on the computer by sending a command to it.
Is there a way to test this? i tried the command line echo 'LP' > com1 but this does nothing. A small C# application that listens to this port seems to be continuously receive Hexadecimal numbers (2 digits then an enter), however sending a command through this application doesn't give readable results.
When i do listen on the port though, the echo 'LP' > com1 command gives an unavaible error, so sending the command works in cmd.
Does anyone have any knowledge on a simple way to test a send and receive on a com port?
EDIT:
Model is OHAUAS defender 5000 series - T51P
Using Hyper terminal gives me the below result. the same happens with arduino, and sending the 'P' command gives no data back.
edit2:
I have found that the 'print button' on the scales has the same functionality as the 'P' command. If i push the button i get 'random data' if i use a text mode on an application, this data translates into question marks and parts of the weight. i pushed the button 6 times in succesion, getting results like ?????????? or 2??????? or ???.04???A? or ??????????KG these results combined show me that it tries sending 2.04KG, the weight. Now would there be a logical reason why only part of this data is sent(or received)?
You can download this for your platform and open the application and go to tools serial monitor. that will listen to the configured serial port. (You do not need an arduino for it to work.)
From their website:
Q: How do I use Hyperterminal to check communications?
A: Hyper Terminal is a Terminal program that is bundled with Windows.
To set up Hyper Terminal for use with an Ohaus balance, perform the following steps. The following assumptions are made for the purpose of explanation.1. The computer uses Com12. The Balance Baud Rate is set to 24003. The Balance Data Bits are set to 74. The Balance Stop Bits are set to 25. The Balance Parity Bit is set to None6. Handshaking in the balance is turned off
Open the program and enter a name for the connection. You will probably want to save the setup for future use.Press OKIn the next screen click on the twirl down for the 'Connect using' box and select the COM port your computer uses.
Click OK and the COMx properties box will be displayed. (Which COM port appears will depend on the setting in the previous step.)
Set the parameters to match the parameters in the balance. See the instruction manual for the balance. The usual defaults are 2400 baud, 7 data bits, no parity, 2 stop bits and no handshake. When finished press apply then press OK.
The terminal screen will be displayed.
Select CALL from the menu bar and select Disconnect. The 'Connected' at the bottom left of the screen will change to 'Disconnected'.
Select FILE from the menu bar and select Properties.
Select the Settings tab.
Check Windows Keys and Del.
At the bottom of the box click on ASCII Setup.
Check the first two boxes and put 11 in the next 2.
Click Ok twice.
From the Call menu select Call.
'Call' will be displayed at the lower left of the terminal screen.
You are now ready to communicate with the balance. The best way to test the connection is to press print on the balance. Other commands are listed in the instruction manual for the balance.
And some additional info from that site:
How can I get my Defender 5000 indicator (T51P or T51XW) to print without inserting an extra line feed? I am using a label printer with preprinted labels and every other label is wasted.A: You can do this by going into the menu under Print1 or Print2 and setting the format to Single.Q: Ok now I am printing a single label but there is too much information. I am still using a T51P.A: Again go into the Print1 or Print 2 menu. You can turn off all the heading and GLP information you need too. You can also turn off the Gross, Net and Tare printing and just leave the result. You also have the option to print the result as a number only by setting it to NUM. This will eliminate the unit of measure.Q: I am using a 7000 series Defender indicator (T17P) and I can not clear the accumulator. I have followed the instructions in the manual but it does not clear.A: Press and hold the 'info' button until the display shows 'StatS'. Then press the 'CLR' button to clear the accumulator.
taken from: http://us.ohaus.com/us/en/home/support/faq.aspx#S16
d4v3y0rkd4v3y0rkVerify that you have the right serial port settings configured.
I recently made an application to read the weight value from a OHAUS Defender 3000
, and these are the right parameters:
A practical way of testing com
ports is to use terminal emulator
. You may use any of many available ones (putty
and TeraTerm
are widely used). You will need to set it to use serial connection, then set connection params: com
number; speed (baudrate), parity, databits, stop bits - those must match your device setup (you need to get this information from manual). When connected, you will be able to enter commands and see device output.
You may also send commands from cmd
, but you will not see a response (in cmd window, of course device may/should react somehow to it), and you also need to make sure that baud/data/parity/stop (as minimum) are set properly - this is done via mode
command.
To reiterate: serial parameters (speed, databits, parity, stop, possibly handshake) must be the same on both ends (scale and PC) otherwise they will 'not understand' each other
wmzwmzThere is a manual available online. (In general, googling for 'xyzzy manual' where xyzzy is the model number is a good way to find a product manual.) It documents the command line and the data the scale provides. It also explains how to configure the devices COM port. You'll want to use settings that match the communications settings for your terminal program.