I've been wrestling with this creature for some time now communicating with a Eurotherm 2604 controller using the Ignition Modbus/TCP driver. After much experimentation I have it working for all type of Modbus data except for bit writes. Any attempt to write a bit to the device results in a timeout. I did see mention of the driver using the masked write function. I cannot find anything on the controller that indicates if it does or doesn't support the mask write function. Has anyone else encountered this issue and if so were you able to resolve it?
If a function code isn't supported, the standard requires a particular error response, which would show up in Ignition's logs. But I can believe a noncompliant implementation might drop the packet on the floor. You should contact Eurotherm.
I was able to capture the write operation with Wireshark today. The error actually turns out to be a Time Out because the controller never responded to the request. So I guess the answer to one question is that the 2604 Eurotherm doesn't care for the Mask Write function 22. So I guess I need to find another way to skin this cat.