Reading Load Cell Values on Desktop

Hi all,

I am working with a load cell (LSB200, Futek) and strain meter (DPS20-HV-RTU, Omega Engineering) that connects to my desktop via a Modbus RTU. This connection goes through a serial adapter (Modbus RTU -> RS232), and a connection has been established (confirmed through Modbus Poll and Modbus Tester softwares), so I know my address/baud rate/parity/data and stop bits/ are set up correctly. The load cell and strain meter are also calibrated - placing a mass gives me the correct read out on the strain meter.

However, when I try to read data on my desktop, I do not get any values in Modbus Poll. Modbus Poll returns "insufficient bytes received" and all my values are still 0 on screen.

I have attempted to adjust the poll rate and refresh rates, but I still get no values on my screen. I am using the "Read Holding Registers," which is also the only setting that tells me that I'm connected to the modbus. Is there something I'm forgetting to do? I do not have a strong background in electrical work, so it may be something small.

Thank you very much for your help.
 
I should mention that I plan to use LabVIEW after I get values in either Modbus Poll or Modbus Tester. These are just troubleshooting softwares, but I will require graphs from LabVIEW for my work.
 
Welcome to the world of Modbus where there is no "plug 'n play", and everything is a project.

What does the 2nd sentence on page 35 of the DPS20 panel meter say?

https://assets.omega.com/manuals/4992_M5760_2003_DPS20.pdf

"Enables protocol function ‘4’ (‘Read Input Registers’) to access the instrument registers (reading value, . . ."

The rest of the world uses the term "Function Code" instead of Protocol function, but the point is that Modpoll needs to use "Read Input Register, Function Code 04, not Read Holding Register, Function Code 03.

Note that the meter's display value resides in two, 16 bit Modbus registers, so it is a 32 bit long integer.

The display value start address is 0x0000 or (3)0001, where (3) denotes an Input register.

I can't remember where/how Modpoll changes function codes or denotes addressing, so you'll have to poke around Modpoll to get it matched up with the slave's functions.
 
Welcome to the world of Modbus where there is no "plug 'n play", and everything is a project.

What does the 2nd sentence on page 35 of the DPS20 panel meter say?

https://assets.omega.com/manuals/4992_M5760_2003_DPS20.pdf

"Enables protocol function ‘4’ (‘Read Input Registers’) to access the instrument registers (reading value, . . ."

The rest of the world uses the term "Function Code" instead of Protocol function, but the point is that Modpoll needs to use "Read Input Register, Function Code 04, not Read Holding Register, Function Code 03.

Note that the meter's display value resides in two, 16 bit Modbus registers, so it is a 32 bit long integer.

The display value start address is 0x0000 or (3)0001, where (3) denotes an Input register.

I can't remember where/how Modpoll changes function codes or denotes addressing, so you'll have to poke around Modpoll to get it matched up with the slave's functions.
Thank you, I overlooked this part of the manual. I switched to Read Input Registers and found the live readout in Address 0.
 
Top