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.

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.