I am working with Ignition 7.5.11 and I have to setup a tag to hold a negative value that comes from a KEPServerEX - Device Shows a Negative Value But is Read as a Large Positive Value in the OPC Quick Client
The OPC server is connected to a temperature-control instrument. The instrument’s display reads negative, but the number in the OPC Quick Client reads backwards from 65535. For example, -2 reads as 65534.
I would be happy to know how to fix that?
I have found this solution on Kepware :
Change the tag from an unsigned integer (such as Byte, Word, or DWord) to a signed integer of the same size (such as Char, Short, or Long). If using a Dynamic Tag in the client application, specify a data type that is different from the driver’s default setting for that memory type. To do so, append an @ sign and the server’s name for the data type to the client’s Item ID. For example, a standard Modbus device in the Modbus Driver would be “[color=#FF00FF]Channel1.Device1.400001@Short[/color]”.
Can you please help me understanding what is needed to be done here? What are Dynamic Tags? Ignition uses Dynamic Tags? How can I implement the [color=#0040FF]Channel1.Device1.400001@Short[/color] in my project??
I need to have answers for that ASAP - I can’t read my PLC correctly.
Thanks In Advanced
On the Ignition side of things you probably want to be looking at the OPC Item Path of the SQLTag(s) for these items, and possibly appending the ‘@Short’ notation to the items that need coercion.
With KEPServer you have the option of creating a tag within the KEPServer itself or by creating the tag in your Client (Ignition) which they call a Dynamic Tag. I think most people do Dynamic Tags, but creating tags in the KEPServer can have some advantages in certain projects.
Your example shows a Dynamic Tag, where the Client (Ignition) is telling KEPServer, please give me the data that resides in memory address 400001 as a Short, from Device1, under Channel 1. But you also need to supply KEPServer two other pieces of information, the Namespace and Address type (not to be confused with the PLC memory address type). In my projects the namespace has always been 2, and the Address type is coming from Ignition is in string format, so your address in Ignition would be -
Page 19 takes about the namespace and address type - http://www.kepware.com/Support_Center/SupportDocuments/Help/opcuaclient.pdf
If you want to double check the syntax, create a tag in KEPServer and then use Ignition to browse for the tag and add the tag, then check the OPC Item Path for the correct syntax.
I am using a Template and I use an Indirect tag - How can I use that?
You have to create a SQLTag first, then you can use Indirect Binding to reference your SQLTag.
Thank you All so much for your help!!