LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

modbus read holding registers

I have 2 questions:

 

-The vendor of my equipment has specified registers where I can read data from. It is a large list -temperatures, density, all kinds of coefficients-.

I can read find the lower registers, offset 0 to 4010. But there are some registeres specified that have a very high value, and Im getting no response from them.

I am suspecting something goes wrong due to the high numbers, is this possible?

 


For Example, I can read this one fine:

 

Modbus slave address     Unsigned char        RW secured  0x0FAA  0x0FAB  4011   

 

These are some I cant:

   
fMmeasure  Float  R  0xA100..0xA101     0xA101..0xA102      41217..41218      
fSetpoint  Float  RW  0xA118..0xA119     0xA119..0xA11A      41241..41242      
Temperature  Float  R  0xA138..0xA139     0xA139..0xA13A      41273..41274   

 

 

-The second question, can I read several holding registers in 1 command that are NOT adjacent, e.g. registers 32, 55,56,57,99,120 in one read

 

0 Kudos
Message 1 of 3
(3,344 Views)

Usually with holding registers (and they generally begin with a 4) you don't include the 4 as a part of the register address.  And they usually begin at 0 and not 1.

 

Sor for registers 41217 and 41218, try reading it at address 1216 and 1217

 

No, you can't read non-consecutive registers in a single read.

0 Kudos
Message 2 of 3
(3,337 Views)

Well thats exactly what I meant with my post. I know you dont add the 40000, so register 32 is 40032.

 

I have tried substracting 40000, doesnt help.

 

The specified registers -all holding registers- by the vendor range from 10 to 65000.

This would result in 80000 or higher registers if I'd add 40000. Is this possible, or is it a vendor error. The examples I put in my post above come directly from their manual.

 

0 Kudos
Message 3 of 3
(3,331 Views)