Understanding Automatic Run Sequence Changes in CFC V8.2 - Chart-Oriented Insertion and Dynamic Optimization

Understanding Automatic Run Sequence Changes in CFC V8.2 - Chart-Oriented Insertion and Dynamic Optimization

Starting in SIMATIC PCS 7 V8.1/V8.2 (CFC V8.2 SP1), automatic shifts in block execution order upon creating or moving interconnections represent an intentional system feature known as Chart-Oriented Insertion ('Planorientierter Einbau'). Previously, block execution sequence within runtime groups remained static unless manually reorganized, frequently causing one-cycle signal dead time. With Chart-Oriented Insertion enabled, the CFC compiler automatically analyzes data flow the moment block pins are interconnected (e.g., connecting AND2.OUT to AND1.IN1) and dynamically repositions AND2 before AND1 in the execution sequence, displaying an execution order indicator arrow. This behavior can be inspected or migrated in the Chart Folder Properties under the 'Advanced' tab, or disabled by manually locking block sequence positions.

Table of Contents

Evolution of CFC Run Sequence Scheduling: Static Groups vs Chart-Oriented Insertion

In classic SIMATIC PCS 7 versions (V7.x and V8.0), function blocks placed on a Continuous Function Chart (CFC) were assigned fixed positions in runtime groups based strictly on the sequence in which the engineer dragged them into the chart. If an engineer added Block A (Position 1) and later added Block B (Position 2), and subsequently connected the output of Block B to the input of Block A, the execution sequence remained unchanged: Block A executed first using obsolete data from the previous CPU scan cycle, and Block B executed second.

This static architecture caused widespread one-cycle calculation delays (dead time) across control loops unless the engineer manually ran Options > Optimize Run Sequence....

To eliminate dead time and automate runtime optimization, Siemens introduced Chart-Oriented Insertion ('Planorientierter Einbau') in CFC V8.1 and expanded it in CFC V8.2. Under this paradigm, runtime groups are tightly coupled to the technological chart boundary, and block execution sequences within the group are continuously and dynamically managed by the engineering software based on active data flow.

Dynamic Data Flow Analysis: How Pin Interconnections Shift Block Order

Engineers upgrading to PCS 7 V8.2 often notice unexpected shifts in block positions when drawing connection lines:

  • Scenario: In a CFC chart, two logic blocks are placed: AND1 at sequence position 1, and AND2 at sequence position 2.

  • The Action: The engineer interconnects AND2.OUT to AND1.IN1.

  • The System Response: Because AND1 requires the computed result of AND2, the CFC editor immediately evaluates the dependency graph. Under Chart-Oriented Insertion, the system automatically re-orders the blocks so that AND2 moves to execution position 1, and AND1 shifts to execution position 2.

  • If the engineer moves or redraws connections, the screen refreshes to display the updated execution sequence numbers in the block headers. This ensures the interconnected signal is processed within the same CPU execution cycle without 100 ms dead time.

Visual Execution Indicators and Directional Arrow Symbols in CFC V8.2

To provide visual feedback regarding block execution sequence directly on the CFC sheet without requiring engineers to open the Run Sequence Editor (Ctrl+F5), CFC V8.2 introduced directional status symbols:

  • Execution Order Symbol: A small directional arrow or symbol appears on the interconnection line between blocks.

  • Green Right-Facing Arrow: Indicates optimal data flow where the supplying block executes earlier in the OB sequence than the receiving block.

  • Yellow Left-Facing / Inverted Symbol: Indicates a feedback loop or reverse execution where the receiving block executes earlier in the scan than the supplying block, introducing a one-cycle delay.

These symbols allow engineers to identify signal delays at a glance during chart authoring.

Configuring and Migrating 'Planorientierter Einbau' in Chart Folder Properties

Chart-Oriented Insertion is configurable at the project hierarchy level:

  • Checking Activation: In SIMATIC Manager Component View, navigate to the S7 Program, right-click the Charts (Pläne) folder, and select Object Properties. Click the Advanced (Erweitert) tab. Locate the checkbox 'Chart-oriented insertion' ('Planorientierter Einbau').

  • Default in New Projects: In fresh PCS 7 V8.2 / V9.0 projects, this option is enabled by default for all newly created charts.

  • Migrating Legacy Projects: For projects upgraded from PCS 7 V7.1 or V8.0, charts retain legacy static behavior unless migrated. To migrate existing charts, right-click any chart or the chart folder, navigate to Charts > Chart-oriented runtime group management..., select Migration to chart-oriented insertion, and click OK.

Comparative Behavioral Matrix: Classic CFC Execution vs Chart-Oriented Insertion

The following table compares classic runtime group management against modern Chart-Oriented Insertion in SIMATIC PCS 7:

Feature / CharacteristicClassic CFC (V7.x / V8.0 Static)Modern CFC (V8.2+ Chart-Oriented Insertion)Initial Block PlacementFixed at insertion sequenceDynamic based on chart contextEffect of Creating InterconnectionSequence remains unchangedSequence automatically re-ordered to prevent dead timeDead Time MinimizationRequires manual 'Optimize Run Sequence'Completely automatic on pin interconnectionVisual Interconnection ArrowsNoneReal-time execution direction symbolsManual Override CapabilityFully manualBlocks manually moved in Run Sequence are locked from auto-shiftRuntime Group ContainerFree-form OB groupsDedicated 1:1 runtime group per CFC chart

Step-by-Step Procedure to Inspect, Lock, or Migrate Run Sequence Behavior

Follow this procedure to manage Chart-Oriented Insertion and lock specific block sequences:

  1. Inspect Project Chart Settings:
    - In SIMATIC Manager, expand S7 Program > Charts.
    - Right-click Charts -> Object Properties -> Advanced tab.
    - Confirm whether 'Chart-oriented insertion' is checked.

  2. Observing Dynamic Re-Ordering in CFC:
    - Open a test CFC chart. Insert two function blocks.
    - Note the execution numbers displayed in the block headers (e.g., 35/1 and 35/2).
    - Draw an interconnection from the second block's output to the first block's input.
    - Observe that the execution indices automatically swap to maintain data flow integrity.

  3. Locking a Block from Automatic Optimization:
    - If a specific block must execute in a fixed order (e.g., deliberate one-cycle latch), open the Run Sequence Editor (Ctrl+F5).
    - Manually drag the block to your desired position within the runtime group.
    - Once manually relocated, CFC flags the block as manually positioned, protecting it from subsequent automatic re-ordering.

  4. Migrating Legacy Charts:
    - Right-click the chart folder -> Charts > Chart-oriented runtime group management...
    - Execute migration to unify execution management across all project charts.

Verification

Verify execution order behavior through these checks:

  1. In a migrated CFC chart, interconnect upstream and downstream arithmetic blocks.
  2. Open the Run Sequence Editor (Ctrl+F5) and verify that the supplying block is positioned immediately before the receiving block.
  3. Switch to CFC Test Mode (Ctrl+T) with the CPU in RUN.
  4. Toggle the upstream block's input value. Confirm that the downstream block computes and updates its output within the exact same execution cycle without an observable 100 ms scan delay.

Limitations and Operational Precautions

  • Feedback Loop Resolution: In closed feedback loops (e.g., Block A feeds Block B, and Block B feeds Block A), circular data dependencies cannot be resolved without a single-scan delay. The compiler places a yellow reverse-execution symbol on one link.
  • Manual Sequence Overrides: Manually dragging blocks in the Run Sequence editor overrides Chart-Oriented Insertion. If you later rewire the chart, manually locked blocks will not auto-adjust, potentially re-introducing dead time.
  • Safety Matrix & F-Blocks: Fail-safe blocks in S7 F-Systems have dedicated F-runtime groups that are strictly metered by the F-compiler; standard chart-oriented auto-optimization does not alter safety task sequences.

Engineer FAQ

Why did my block position change when I dragged an interconnection line?

This is Chart-Oriented Insertion in action. CFC automatically moves the supplying block ahead of the receiving block to eliminate cycle dead time and ensure immediate data availability.

Can I disable Chart-Oriented Insertion for the entire project?

Yes. In SIMATIC Manager, open the Object Properties of the Charts folder, go to the Advanced tab, and uncheck 'Chart-oriented insertion'. However, doing so reverts the project to legacy static scheduling requiring frequent manual optimization.

What does the yellow arrow on an interconnection line mean?

A yellow or inverted arrow indicates that the signal flows from a block that executes after the target block in the current scan cycle, meaning the target block will process this data with a one-cycle delay.

Does Chart-Oriented Insertion move blocks to different OBs?

No. Chart-Oriented Insertion optimizes the execution order of blocks within their assigned cyclic interrupt OB (e.g., within OB35). It does not move blocks between different OBs (e.g., from OB35 to OB32).

Where is the official Siemens documentation for this feature?

Siemens details this behavior in SIOS FAQ 109740401 and within the CFC V8.2 / V9.0 Readme file under 'New features in runtime group management'.

Technical References

Related Articles

Related Tags

  • CFC V8.2
  • Run Sequence
  • Chart-Oriented Insertion
  • Dead Time
  • OB35
  • Optimization
  • AS Engineering
6 respuestas