STEP 7 PLC Data Invalid: Troubleshooting FC Monitoring

David Krause2 min read
S7-300SiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Symptom and Scope

In STEP 7 5.5, online monitoring of STL networks containing an FC call can show PLC data invalid in the status bar instead of live values. In the observed system, the process continued to function, the CPU diagnostic buffer showed no errors, and other networks in the calling FC remained monitorable. The affected FC had an elaborate interface of approximately 50 inputs and outputs.

Treat this first as an online-monitoring problem, not proof of an FC execution fault. Confirm execution and CPU diagnostics independently before changing working logic.

Evidence Pointing to the FC Interface

Test CPU Result
Same elaborate FC interface 318 Monitoring worked
Same FC, 61-byte mixed BOOL/INT/DINT interface, called from OB1 with dummy TEMP tags 319 PLC data invalid
Interface reduced by 9 INT and 9 DINT declarations 319 Monitoring became available

This comparison supports an interface-size or interface-complexity monitoring limit associated with the tested 319 configuration. It does not establish an exact cutoff, and the available evidence does not identify firmware or a documented Siemens limit.

Isolation Procedure

  1. Check the CPU diagnostic buffer and confirm whether the FC still executes correctly. A clean buffer and correct process behavior separate this symptom from a demonstrated runtime failure.
  2. Confirm that other networks and blocks can be monitored. If only STL networks containing calls to the large-interface FC fail, focus the investigation on that call interface.
  3. Compare the same FC on another available CPU configuration without changing its interface. The reported comparison worked on a 318 but failed on a 319.
  4. On an offline test copy, reduce interface declarations and retest monitoring. Removing 9 INT and 9 DINT declarations restored monitoring in the reported test, but this result does not define the exact boundary.
  5. Restore the production interface after testing unless the program has been fully redesigned and validated.

Workarounds and Design Decision

Use a VAT to observe the required operands when block-status monitoring reports PLC data invalid; this provided visibility without changing the executing FC. If redesign is practical, evaluate replacing the large FC interface with an FB and instance data block. The evidence identifies that architecture as a design alternative, not a guaranteed correction for every CPU or project.

Verify the chosen path by confirming live values in the VAT or block monitor, checking that the CPU diagnostic buffer remains clear, and testing the block's functional outputs. Do not infer the monitoring cutoff from the 61-byte test alone because the exact threshold remains unknown.

FAQ

Why does STEP 7 5.5 show PLC data invalid while the FC still runs?

The evidence indicates an online-monitoring limitation rather than a demonstrated execution error: the code continued to run and the CPU diagnostic buffer contained no errors.

Can a large FC interface cause PLC data invalid on a CPU 319?

In the reproduced test, a 61-byte BOOL/INT/DINT FC interface monitored correctly on a 318 but showed the message on a 319. Reducing the interface by 9 INT and 9 DINT declarations restored monitoring, although the exact cutoff is unknown.

How can I monitor values when FC block status is unavailable?

Build a VAT containing the required operands and monitor them there. Confirm correct execution separately through process behavior and the CPU diagnostic buffer.

Back to blog