Hello,
I’m having trouble reading OPC signals when they have a BadQuality status, which is required for my application.
I’m using X20CP0484-1 PLC, Automation Studio 4.12.6.106, and the AsOpcUac library.
In a third-party application that feeds data to the OPC server, there are two possible states for a signal:
-
BadSensorFailure (0x808c 0000) - when the pressure transmitter is broken
-
BadOutOfService (0x808d 0500) - when the transmitter is OK, but its value is “ignored” (this state can be set manually by a system engineer)
For the second case, the value is not involved in any logic (e.g., alarm limits are disabled), but the operator can still read measurements, which is important.
I need to implement the same functionality in my PLC program, but the value is not refreshed if there is any error status for the specific signal.
The OPC server supplier states that they tested “ignored” signals which have BadQuality, and the value was read without any problem. They used Softing OPC Client and ProSys OPC Client, and the value was read together with the signal quality without issues, which I have confirmed.
I know that according to the OPC Foundation, if the status is Bad, the results cannot be used. Is there any workaround to improve this? Any settings for FBs (e.g., UaClt_ReadBulk) or use different library etc.? I prefer to still use ReadBulk FB’s because PLC is reading a lot of OPC signals (~ 700 signals).







