Hello Guest it is March 28, 2024, 08:19:36 PM

Author Topic: Read Input Registers Float (0x4) function does not work  (Read 1482 times)

0 Members and 1 Guest are viewing this topic.

Read Input Registers Float (0x4) function does not work
« on: January 13, 2022, 02:24:05 PM »
For some reason Mach support simply closed my ticket without actually responding, so I'm going to post here instead.

We are trying to use our Mach4 software to read a 32-bit float value from a Modbus slave (which exists on a National Instruments sbRIO-9636 device over TCP). I have the sbRIO configured to put out unsigned 16-bit values on 300001 and 300002, and a 32-bit float (single) value out on 300005. This is to get an LVDT probe signal into Modbus over 300005 (and test values on 300001 and 300002).

The "Read Input Registers Float (0x4)" function does not seem to work correctly, however. One problem is when the function is configured, the selected function type is not reflected on the subsequent screen (which might be a display issue only?). When viewed in the Modbus diagnostic panel, no data appears (although the connection appears ok). When I do this and use the "Read Input Registers 16bit (0x4)", I am successfully able to read 300001-300006 as unsigned ints, and they appear in the Modbus diagnostics.

It seems like the float functions just are not working correctly or the function itself won't save properly and another function is instead running. I have attached screenshots of all of the above in Mach4, as well as 2 screenshots of National Instruments Distributed Systems Manager which shows the Modbus signals and values over TCP.

















Re: Read Input Registers Float (0x4) function does not work
« Reply #1 on: September 26, 2022, 08:45:06 AM »
I just ran across this trying to add a float value from the pressure and vacuum sensors.

Turns out when you select these float and 32bit int variants the ModBus plugin over TCP/IP doesn't even poll the server.

So if you are reading this sometime in the future, only the basic functions work. None of the hybrids or compound values will poll.