OPC tag string displays �C and not °C

The Logix tag is configured with a STRING10 of ‘$B0C’ which properly displays in Wonderware as °C but in Ignition v8.1.15 it displays as �C.

I can change the PLC value to$C2$B0C ( UTF-8 ) and then it will display properly but this is not a practical solution. As a workaround I changed the binding to an expression to replace �

replace(tag("TagPath"),"�", "°")

This is less than ideal as well.
I’m wondering if this is a bug in Ignition and is there a better approach to fix the problem?

Thanks,
JJ

No, not a bug, the driver expects UTF-8 encoded Strings.

A better approach would be to not assemble labels in your PLC, that’s a job for the HMI. The PLC tag should be e.g. a REAL that represents the temperature and you format for display in the HMI however you’d like.

3 Likes

Thanks for the instant reply Kevin. That explains it.

Sadly, the CIP spec calls for single-byte encodings to default to ISO-8859-1, going back about three decades. Logix conforms for backwards compatibility.

These aren’t CIP datatypes though, they’re vendor-specific “STRING82” and other custom-length structures.

Either way, we’re treating the bytes from this struct the same way Studio 5000 View does.

CTRL+F for “UTF-8” in this document.

2 Likes