Thanks for the reply, but I don’t think this is the issue as it persists across system restarts (this is a system in development at the moment)
Also, I haven’t defined the tag in Kepware at all per se, I am just using the modbus address (eg Kepware.Modbus.PLC.402049) in Ignition so Kepware doesn’t need to have tags defined in this case. I have created a few tags in Kepware for testing with Quick Client, but they are not being read by Ignition.
However, this does cause me to think that maybe Kepware defaults to unsigned in this case. I’ll have a look at the driver help and get back.
I think I can solve this by adding the datatype (eg @short) to the end of my address. The default is “word” which is unsigned, but “short” is signed. See extract from Kepware help below.
I’ll look at it on Monday, but I think this should do it.
The OPC server is connected to a temperature-control instrument. The display on the instrument reads negative, but the number in the Quick Client or some other client reads backwards from 65535. For instance, -2 reads 65534.
Change the tag from an unsigned integer (Byte, Word, Dword) to a signed integer of the same size (Char, Short, or Long, respectively).
If you are using a dynamic tag in your client application, you can specify a data type different than our driver’s default for that memory type by appending an @ sign, then our server’s name for the datatype, to the item ID in your client. (Example for a standard Modbus device in our Modbus driver: Channel1.Device1.400001@Short) Information about dynamic tags, including about setting the data type, is in our server help file (Help | Contents), in the topic Basic Server Components | What is a Tag? | Tag Properties | Dynamic Tags.[/code]