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
- Conditional Execution Dynamics and the EN Input
- Drive ES APL DES_DIAG Architecture in Redundant Systems
- CFC Block Header Status Icon Reference Matrix
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
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
ENis set to1(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): WhenENis 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 be1or0during execution. Because execution depends entirely on dynamic runtime states, CFC marks the block with a blue question mark (?). - Permanently Disabled (
!Exclamation Mark): WhenENis statically set to0(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:
EN = 1, No interconnection?)EN is interconnected to a dynamic signalEN = 1!)EN = 0, No interconnectionEN = 1 if execution requiredUnderstanding 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 (
ENinterconnected), remember that internal block states, timers, and integral accumulators freeze during cycles whereEN = 0. - In safety-related programs (SIMATIC S7 F-Systems), conditional execution of safety blocks via
ENis 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
ENto0in the I/O properties dialog. - In redundant S7-400H / CPU 410-5H systems, ensure both redundant subnets are operational so driver signals feeding
ENdo 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
- SIMATIC Process Control System PCS 7 CFC for S7 Manual
- Drive ES PCS 7 APL Function Block Library Manual
- Siemens Industry Online Support FAQ: Meanings of Symbols in CFC Charts
Related Articles
- How to Resolve Missing Block Errors During Module Driver Generation in PCS 7 Version Migrations
- How to Resolve 'Could Not Insert into Connection' Driver Wizard Errors in PCS 7 Upgrades
- Understanding CFC Immediate Database Writing, Chart Write Protection, and Accidental Edit Prevention in PCS 7
Related Tags
- CFC_Editor
- Drive_ES
- Block_Header
- Execution_Status
- Enable_Input