I have a device (a BMS) which responds to any request for a block of data which contains an unused register with a Modbus Exception (exception 11).
This means that if I configure tags for 40001, 40002, 40004 (where 40003 is not valid) then Citect will, by default, request all registers in a block 40001-40004, get an exception, and take the device offline.
I can get around that by setting [Modnet]MaxBits=16.
HOWEVER: Sometimes the valid addresses will change. If 40005 is mapped at the BMS to a device that gets removed, 40005 will subsequently generate an exception, and I'll no longer get the other data because the device gets taken offline.
I have spent ages today experimenting with the Modnet OnlineTestExceptionMask, TransactionExceptionMask and NonCriticalExceptionMask parameters with no success at changing Citect's behaviour at all.
Can anyone help me out?
(It's a fairly old Citect 2015 system if relevant. I'm using ModNet driver v2.09.07.00001)