Ken Roach
Lifetime Supporting Member + Moderator
The problem is that the Micro 800 tags are mapped to Modbus "Output Coil" addresses that begin with the prefix digit "0", rather than Modbus "Holding Registers" that begin with the prefix digit "4".
The test driver (and presumably any other HMI drivers) is configured to use Modbus Function Code 0x03, which is "Read Holding Registers".
The Micro 800 doesn't have any Holding Registers defined, so it replies with a "invalid address" error code.
First, try using Modbus Function Code 0x01 in the Simply Modbus test tool, which will read Coil type data.
Then either configure your HMI to to read "Coil" addresses, or configure the Micro 800 to use "Holding Register" addresses.
EDITS:
Yes, I meant Modbus/TCP on Port 502, not 503.
I wrote my post before seeing the error code when attempting to read Coils, and will take a look at that next.
The test driver (and presumably any other HMI drivers) is configured to use Modbus Function Code 0x03, which is "Read Holding Registers".
The Micro 800 doesn't have any Holding Registers defined, so it replies with a "invalid address" error code.
First, try using Modbus Function Code 0x01 in the Simply Modbus test tool, which will read Coil type data.
Then either configure your HMI to to read "Coil" addresses, or configure the Micro 800 to use "Holding Register" addresses.
EDITS:
Yes, I meant Modbus/TCP on Port 502, not 503.
I wrote my post before seeing the error code when attempting to read Coils, and will take a look at that next.
Last edited: