We use the Ignition 7.3.1 and the Modbus driver v2 to communicate with Modbus-RTU PLC via MB TCP/RTU gateway.
The device status is Connected and the addresses was filled in Addressing.
Now we have following: the tags changes its status from bad to good. Also welook at console and see than some massages returned with status 0x0B, but previous request was succesful. Also we connect the terminal program on RS485 side end looked for requests. We didnt see any exeption answear. Is the promlem in MB gateway or maybe in Modbus driver? Can you help?
In attached screenshot you can find that request 26 74 00 00 00 06 11 03 00 64 00 28 recive the exeption code but when it was sent again it have correct answear.
The first error where you are receiving error code 0x0B is indeed being returned by the Modbus gateway you are talking to, not the target Modbus device itself. There’s probably some sort of timeout you can configure on the gateway. You might also try subscribing to your tags at a slower rate.
I’m looking into the 2nd error you posted. It would be helpful if you could email your actual log files instead of screenshots to email@example.com.
Hi Kevin. I find that the problem was in MB Gateway, it return the error code when the time out was reached on RS485 side.
But sometimes the RTUs doesnt responde on the first request. Can you add the option to Modbus driver like the “Number or requests before Timeout”. It means that the OPC resend the request command X times before generate the timeout error. It will be helpful while the RTU doesnt respond on first request but respond on second one. Thanks!
I’ve implemented something that sort of meets you half way because it was much quicker to do.
For read requests only, the Modbus driver will retry one time (this is not a setting) if the exception code returned is one of the following: GatewayPathUnavailable, GatewayTargetDeviceFailToRespond, SlaveDeviceBusy, or SlaveDeviceFailure.
When I have a little more time to work on Modbus features I’ll expose the number of retry attempts as a setting. Once we upload the next 7.3.x beta to the website the Modbus driver included should behave in this manner.