OPC Server Connected but Not Updating Tags: Allen-Bradley and GE Proficy Troubleshooting Guide
Share
When a Green Status Lies
Every instrumentation engineer has seen this fault. The OPC server reports a healthy connection. However, several tags freeze at their last value in the SCADA historian. First, resist the urge to restart the server. Restarting hides the root cause and it will return. Second, understand the architecture you are debugging. In a typical plant, Kepware KEPServerEX polls an Allen-Bradley ControlLogix over EtherNet/IP. GE Proficy iFIX then subscribes to Kepware through OPC UA. A frozen tag can originate at any layer. Therefore, diagnose in a fixed order, from the PLC outward. I have used this sequence on dozens of systems over ten years. It finds the fault in under an hour.
Step 1: Verify the PLC Address Mapping
The most common cause is also the simplest. Someone modified the ControlLogix program and moved a tag. The OPC server keeps reading the old address. Moreover, the value may still exist but never changes. The tag then appears frozen with good quality. This is the trap.
- Step 1: Open Studio 5000 and export the controller tag database. Compare it against the Kepware tag list.
- Step 2: In Kepware, check the topic and tag address syntax. Confirm the correct controller slot, program scope, and data type.
- Step 3: Force a known change in the PLC. Use a free-running timer accumulator as a heartbeat tag. If the heartbeat updates in Kepware, the channel works.
- Step 4: Check the PLC logic itself. Many variables only update when a rung condition or sequence step is active. Batch and interlock logic often freezes tags by design.
Step 2: Audit Scan Rates and Deadband
Second, examine how the server polls data. Kepware organizes tags into scan groups. Aggressive scan rates overload the ControlLogix communications processor. Moreover, the OPC UA subscription on the iFIX side has its own update interval. A mismatch produces inconsistent refresh behavior.
- Step 1: Set the Kepware scan class between 500 ms and 1000 ms for process variables. Reserve 100 ms scanning for critical interlocks only.
- Step 2: Check the ControlLogix RPI on the EtherNet/IP module. A 10 ms RPI on a 5000-tag poll is asking for dropped packets. Use 20 ms or slower.
- Step 3: Review deadband settings. Kepware applies a percent-of-span deadband per tag. A 1.0% deadband on a 0–100°C transmitter hides changes below 1°C. Analog tags then look stale even when the value moves. Use 0.1% to 0.2% for process instrumentation.
- Step 4: Confirm the OPC UA subscription parameters in Proficy. Set the publishing interval to match the Kepware scan rate, not fight it.
Step 3: Reduce Controller Communication Load
However, mapping and timing checks sometimes pass. The tag still freezes intermittently. Then suspect PLC communication saturation. A ControlLogix CPU serves the logic scan first. MSG instructions, HMI polling, and historian reads share the remaining budget.
- Step 1: Count your CIP connections in Studio 5000. Each Kepware channel, HMI, and engineering workstation consumes connection slots. A standard EtherNet/IP module supports a limited number of connections, often 128 or fewer. Review your module specification before adding clients.
- Step 2: Consolidate HMIs and historians through the OPC server only. Never let three clients poll the same controller directly.
- Step 3: Move non-critical polling to a slower scan class. Trend data at 5 seconds is usually enough for historians.
- Step 4: Watch the controller task watchdog and communications overhead in the controller properties. Rising overhead with flat logic load indicates polling pressure.
Step 4: Clear Cache and Network Faults
Finally, two subtleties remain. First, the OPC server cache. Kepware reads the PLC into an internal cache, and clients read that cache. If the driver stalls, the cache serves old values while the connection stays green. Therefore, check driver diagnostics in the Kepware event log. Look for slow response times and read failures. Second, packet fragmentation. Large multi-tag reads can fragment across network frames. Congested networks deliver fragments late or out of order. Some tags then miss their update cycle. Fix this by enabling jumbo frames end to end, or by splitting large tag blocks into smaller groups.
Conclusion & Action Advice
A green OPC status proves only that the channel is alive, not that data flows. First, verify PLC address mapping with a heartbeat tag. Second, tune scan rates, RPI, and deadband to realistic values. Moreover, limit direct controller clients and route everything through the OPC layer. However, if tags still freeze, inspect driver cache behavior and network fragmentation. Therefore, document your scan classes and connection budget in every commissioning file. Finally, add an OPC staleness alarm in SCADA so a frozen tag announces itself within minutes. Plants that follow this discipline keep their historians trustworthy and their operators confident.
Author: Chen Zhiqiang is an industrial automation engineer with over 10 years of experience in PLC, DCS, and control systems.