OPC Special characters

Hello,

I’m using the OPC UA Server integrated in my ABB AC500 v3 controller. I have a problem with the special characters in the strings tags.

In example, a string containing “Moteur prêt” will be displayed “Moteur pr?t”. It seems to be an encoding problem, but I don’t see a place where I can configure this.

Is there a way to configure the encoding in Ignition (Unicode, UTF-8, etc) to be able to show special characters ?

Encoding over OPC UA is always UTF-8.

Where are you trying to display it in Ignition? Does the OPC tag display incorrect characters in the tag browser?

I’ve seen at least one PLC with a built in server that failed to convert from its internal String encoding to UTF-8 before serving the String over OPC UA, but I can’t remember who the vendor was.

I want to display these strings in my Vision Project to show all the interlocks for a specific motor using labels.

Here are some the views from Automation Builder, the Ignition Quick Client and in the Designer:

It looks like this server has already screwed up the encoding by the time it’s served over OPC UA… you may need to report this as a bug to ABB.

If you can get a Wireshark capture with the connection configured without security we can see exactly what bytes they are sending and verify. It might also be interesting to see what value other UA clients like UaExpert see.

I made a little capture with Wireshark and I see that my HEX code a transmitted like it is supposed. It seems to be the OPC UA client in Ignition that doesn’t recognize this code.

That is not encoded correctly: “è” U+00E8 Latin Small Letter E with Grave Unicode Character

its an à not è which is e0 so correct

Ooops, I linked to the wrong character, but it’s the same conclusion: “à” U+00E0 Latin Small Letter A with Grave Unicode Character

His server appears to allow him to drop raw byte sequences into the middle of a String and he’s not putting UTF-8 bytes into it.

2 Likes

OK, finally I see that in the ABB AC500 v3, the STRING type is using ASCII encoding and if we want to use UTF-8, we have to use WSTRING … I only have 800 places to change to be OK …

I had to chuckle at this, not because I'm laughing at you, but because I can sympathize.

2 Likes

I will survive !!!

With STRING type, I have to use apostrophe ‘bonjour’ for litteral tags, but with WSTRING, they use quotation marks “bonjour”. They’re not interchangeable and cannot be converted.