Understanding Question Mark and Exclamation Mark Block Header Symbols in SIMATIC CFC

Understanding Question Mark and Exclamation Mark Block Header Symbols in SIMATIC CFC

In SIMATIC PCS 7 CFC, a blue question mark ('?') in a block header indicates that the block's execution status is conditional and dynamically controlled at runtime via an interconnected Enable (EN) input. This is standard system behavior, particularly on module diagnostic blocks (such as DES_DIAG in Drive ES APL) where the Driver Wizard automatically connects EN to upstream drive readiness signals. In contrast, a red exclamation mark ('!') signifies that the block is permanently deactivated because EN is statically set to 0 without an interconnection. Neither symbol indicates a software bug or compilation failure.

Table of Contents

CFC Block Header Execution Status Indicators

When developing automation logic or inspecting automatically generated charts in SIMATIC PCS 7 CFC (Continuous Function Chart), engineers frequently observe small symbolic icons embedded directly inside the top-left or top-right header of certain function blocks.

The two most common symbols that generate concern among automation engineers are:
1. The Blue Question Mark (?): Appears on blocks such as DES_DIAG (in Drive ES APL), channel drivers, or custom algorithmic function blocks.
2. The Red Exclamation Mark (!): Appears on blocks that appear inactive.

Engineers often assume these symbols indicate compile errors, invalid firmware pointers, or missing hardware links. However, within the SIMATIC CFC engineering environment, these header icons are purely visual status indicators representing task execution readiness based on the state and interconnection of the block's EN (Enable) parameter.

Conditional Execution Dynamics and the EN Input

Every standard function block (FB) and function (FC) placed in a CFC chart possesses two system-managed execution control pins:
* EN (Enable Input): A boolean input determining whether the internal algorithmic code of the block is executed during the CPU cycle.
* ENO (Enable Output): A boolean output indicating whether the block executed successfully without internal runtime errors (math overflow, division by zero, null pointers).

How CFC Renders Block Header Status

  • Normal / Unconditional (No Icon): When EN is set to 1 (true) and has no signal interconnection, the block executes unconditionally every time its assigned cyclic interrupt organization block (e.g., OB35, OB32) runs. The header displays no special indicator.
  • Conditional Execution (? Question Mark): When EN is interconnected to an external binary signal (such as an output from another block, an input bit, or a diagnostic signal), CFC cannot determine offline whether the signal will be 1 or 0 during execution. Because execution depends entirely on dynamic runtime states, CFC marks the block with a blue question mark (?).
  • Permanently Disabled (! Exclamation Mark): When EN is statically set to 0 (false) and has no interconnection, the CPU operating system will permanently bypass the block during runtime. CFC flags this with a red exclamation mark (!) to alert the engineer that the block is consuming memory without executing.

Drive ES APL DES_DIAG Architecture in Redundant Systems

In the specific case of the Drive ES APL library (e.g., configuring Sinamics G120 drives via a Y-Link to a redundant AS 410-5H system using process tag type APL_GS):
1. Module Driver Generation: When the engineer compiles CFC with 'Generate module drivers' enabled, the Driver Wizard automatically instantiates the DES_DIAG diagnostic block in a system @chart or technological chart.
2. Automatic Enable Interconnection: The wizard automatically interconnects the EN input of DES_DIAG to the QEN or communication status output of the channel driver block (e.g., B3_132_M01_1).
3. Execution Logic: DES_DIAG is only executed when the upstream communication processor and Y-Link report that the physical Sinamics drive is online and communicating. If the drive is disconnected, bypassing DES_DIAG conserves valuable CPU processing time in OB1 or OB35.
4. Conclusion: The question mark on DES_DIAG confirms that the Driver Wizard has correctly wired dynamic execution control.

CFC Block Header Status Icon Reference Matrix

The following table summarizes the visual indicators used in SIMATIC CFC block headers, their operational meanings, and required engineering actions:

Header SymbolVisual AppearanceUnderlying ConfigurationOperational Behavior in ASRequired ActionNone (Default)Standard block headerEN = 1, No interconnectionBlock executes unconditionally every cycleNone (Standard operation)Question Mark (?)Blue question mark iconEN is interconnected to a dynamic signalBlock executes conditionally when EN = 1None (Normal conditional execution)Exclamation Mark (!)Red exclamation mark iconEN = 0, No interconnectionBlock is permanently bypassed; never executesVerify logic; set EN = 1 if execution requiredYellow LockPadlock symbolChart or block write protection activeLogic cannot be edited in current modeUnlock chart via Chart PropertiesRed Bar / XRed border or crossBlock type interface mismatch / obsolete DBBlock cannot be executed; compilation will failUpdate block type via Options -> Block Types

Understanding these symbols prevents unnecessary troubleshooting of properly configured conditional blocks.

Verification

To verify that a block with a question mark is executing properly at runtime:
1. In CFC Editor, click the Test Mode (glasses) icon to switch to online monitoring.
2. Double-click the block or open its dynamic properties.
3. Locate the EN parameter: verify that when the upstream system is healthy, EN displays TRUE (or 1).
4. Observe the ENO parameter: confirm that ENO displays TRUE (or 1), confirming successful execution.
5. In SIMATIC Manager, check the CPU Diagnostic Buffer to verify zero execution timeout or acyclic faults related to the block.

Limitations and Operational Precautions

  • When using conditional execution (EN interconnected), remember that internal block states, timers, and integral accumulators freeze during cycles where EN = 0.
  • In safety-related programs (SIMATIC S7 F-Systems), conditional execution of safety blocks via EN is strictly prohibited by TÜV certification rules; F-blocks must execute unconditionally.
  • If a block displays a red exclamation mark unexpectedly, check whether an operator accidentally reset EN to 0 in the I/O properties dialog.
  • In redundant S7-400H / CPU 410-5H systems, ensure both redundant subnets are operational so driver signals feeding EN do not chatter.

Engineer FAQ

Will a question mark on a block cause a compilation error in CFC?

No. The question mark is purely an informational visual status in CFC indicating conditional execution. The compiler processes the chart with zero errors.

Can I remove the question mark if I want the block to run unconditionally?

Yes, by deleting the interconnection to the EN input and ensuring its static value is set to 1. However, for system-generated blocks like DES_DIAG, removing the connection will be overwritten by the next Driver Wizard run.

Why does Drive ES APL use OB1 for diagnostic blocks instead of OB35?

Acyclic diagnostic blocks like DES_DIAG process non-time-critical fault evaluation and DP/PN diagnostic records. Running them in background OB1 prevents consuming cyclic execution bandwidth in fast interrupt tasks (OB32-OB38).

Technical References

Related Articles

Related Tags

  • CFC_Editor
  • Drive_ES
  • Block_Header
  • Execution_Status
  • Enable_Input
6 respuestas