LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

I/O Server (Modbus): How to read registers in the 2XXXX address range?

Hello,

 

I'm using a CompactRIO as a Modbus server. To read some process variables (floating point format), According to http://www.gommci.com/pdf/micro-motion-modbus-usage.pdf (Table 8-1), I need to read from register pairs in the 2XXXX range. However, I/O Server doesn't seem to let me read from this range (http://zone.ni.com/reference/en-XX/help/371618J-01/lvmve/dsc_modbus_using/)

 

How can I access this data?

 


Thanks!

Certified LabVIEW Developer
0 Kudos
Message 1 of 4
(3,832 Views)

Hello JKSH

 

Did you test it? because the modbus addresses has 6 digits no 5, the first digit is like a function code. So these addresses include the 2XXXX address range.

 

Function codes. So you use one of those codes depending on the result you expect.

 

Regards 

Frank R.

Message 2 of 4
(3,805 Views)

Hi Frank,

 

Unfortunately the hardware is on a different site; I'm tasked with writing the first "draft" of the software based on documentation alone.

 

Thanks for your link to function codes. I think I understand the addressing scheme better now.

 

Just to confirm: Suppose that the slave uses addresses starting from 1, not 0, just like I/O Server. If I want to read a floating point number from the pair of input registers 20247-20248, I should read the I/O Server data item "F320247", correct?

Certified LabVIEW Developer
0 Kudos
Message 3 of 4
(3,792 Views)

That's correct

0 Kudos
Message 4 of 4
(3,773 Views)