Ignition OPC client reading empty string tags as NULL

Hello,
I have configured Ignition as OPC client and FactoryTalk Gateway as OPC server, communication works and able to read and write values back and forth.
Noticed that PLC empty string tags are being read as NULL only in ignition, this NULL value affects wherever i use the tag value since perspective does not recognize it as valid value.
Tag quality is good but it is just how Ignition is reading empty string tags.
I know i can add scripting to fix it but wondering if there is another way that by default any string data type is not being read as NULL.

FT live data client

Ignition tag browser

Typically when we see this behavior, the OPC UA server is sending a null when we made a request for the value of the node. Is there anyway you could provide a wireshark capture of the request so that we can see what is being provided from the server? You will need to capture it with the Security Policy set to none for the capture to be useful.

Garth

Hello Garth,
i did look at packages sent by OPC UA server (FactoryTalk Linx Gateway), and found that 4-byte length field of the string is 0xFFFFFFFF
Per OPC UA binary length encoding
-1 = Null string
0 = Empty string ““
greater than 0 = Regular string

This string field has a 32-bit length field of 0xFFFFFFFF, which is -1 in signed Int32 → null string.
And 0c value corresponds to string data type.

That is why ignition reads it as null value.

on this other example, it reads 0c for string data type, 0x07000000 as string field length and “testing“ string value as ASCII in each byte.

i have seen a few posts very similar to this issue, will reach out to rockwell to see if they are aware of this.

1 Like

Tip: don't sign your posts. See the "Keep it Tidy" section of the FAQ - Inductive Automation Forum. Your username is automatically shown on each of your posts.