09-15-2010 09:07 AM
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
09-15-2010 09:25 AM
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.
09-15-2010 10:06 AM
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.