
GSK72 (Customer) asked a question.
Hi, I have been trying to read from data from this sensor. I am running into an issue where I can read some of the registers and not all of them. The register I am most interested in is the concentration (Address 101). I am using the ModBus I/O scanner. I can see the range (address 103). When I add in address 101, the ModBus I/O scanner monitor says that is an illegal address. Here is a screenshot of the data sheet the part relating to the concentration:
Here is how I have it set up in the Modbus I/O scanner:
There is something I have not set up correctly. Any help would be great!
It may be the old off-by-one issue with Modbus addressing.
The Offset in the product table may be the PACKET offset, which is 1 less than the Application Layer offset.
So Application Layer for Input Register 30101 on the wire becomes FC 04, offset 100 on the wire. This is not a valid address for your device.
So just try adding 1 to every Application Layer offset in Do-more.
Change 103 to 104 (30104 becomes 103 on-the-wire, that matches the manual)
Change 120 to 121 (30121 becomes 120 on-the-wire, that matches the manual)
Change 101 to 102 (30102 becomes 101 on-the-wire, that matches the manual)
I am guessing it's the 3rd one that was causing the error, but the other two were wrong too, because they would be reading a "valid" offset, but the WRONG ONE 😁
Designer ALWAYS references Modbus Addresses as the Application Layer Address or the Application Layer Offset (e.g. 30101 and 101), never the "on-the-wire" packet address.
Some manuals break out the addresses in both Application Layer form and in on-the-wire Hex Offset form. However, it appears your product does JUST the on-the-wire offset in Decimal form.
Even if the error goes away, PLEASE verify that the VALUES appear correct for the SPECIFIC registers you are looking at. You may try doing the "plus 1" on a version value or something you definitely (e.g. 107 SW Version, so Designer 108, or 113 HW Version, so Designer 114, to be sure my "plus 1" prognosis is correct).