The SFC Editor (Sequential Function Chart) provides a graphical view of the step-and-transition sequence within a process, following the IEC 61131-3 GRAFCET standard. It visualizes how steps connect through conditions, making complex process flows easy to understand and edit.
Access: Open a module → Module Ribbon → Condition panel → SFC button.
⚠️ Important: Everything you do in the SFC Editor window will automatically update the steps and conditions in the Algorithm Design, and vice versa. Changes are always synchronized.
🔎 Overview
The SFC Editor renders the entire process as a directed graph where:
-
Steps (phases) are shown as rectangular nodes with their step number and name
-
Transitions (conditions of type Transition) are shown as labeled edges connecting steps
-
Non-transition conditions (Continuous Action, Stored on Activation, etc.) are displayed directly alongside their parent step
-
The graph supports parallel fork, parallel merge, and jump patterns for complex branching logic
🖥️ Window Layout
The SFC Editor window has the following areas:
|
Area |
Description |
|---|---|
|
Phases Panel (left sidebar) |
Shows a list of all steps in the current process with their numbers and names. Provides hover-based navigation and reordering. |
|
Process Selector (top bar) |
Dropdown to select which process to view/edit |
|
Toolbar (top bar) |
Controls for Lock, Snap, Grid, Linking settings, and Export |
|
Canvas (center) |
The dotted grid where the SFC graph is displayed and edited |
|
Minimap (bottom right) |
A small preview showing the overall layout and current viewport position |
📦 Working with Steps
Hovering a Step
When you hover over a step node on the canvas, action buttons appear:
|
Button |
Icon |
Description |
|---|---|---|
|
Connect |
↓ Arrow down |
Creates a new transition (edge) from this step to another step — click and drag to the target step |
|
Duplicate |
📋 Two papers |
Duplicates the step. The new step is inserted below all existing steps, and the order of all other steps updates automatically |
|
Edit |
✏️ Pencil |
Opens the step editing view |
|
Delete |
🗑️ Trash bin |
Removes the step |
Step Color Coding During Hover
When you hover over a step in the Phases Panel (left sidebar), the editor highlights the connections:
|
Color |
Meaning |
|---|---|
|
🟠 Orange |
Steps that transition to the hovered step (parent/source steps) |
|
🟢 Green |
Steps that the hovered step transitions to (child/target steps) |
|
🔵 Blue |
The currently hovered step itself |
This visual feedback helps you quickly understand the flow: which steps lead into the selected step, and where it goes next.
🔀 Working with Edges (Transitions)
Edges are the lines/arrows that connect steps. Each edge represents a transition condition.
Edge Hover Behavior
When you hover over an edge:
-
The edge turns blue
-
The source step turns orange
-
The target step turns green
This clearly shows the direction of the transition — from the orange step to the green step via the blue line.
Edge Label Actions
When you hover over the small label on an edge, you see the condition text and a set of action buttons:
|
Button |
Description |
|---|---|
|
Create |
Create a new condition on this edge |
|
Duplicate |
Duplicate the existing condition |
|
Fork |
Add a new transition branch (adds a transition to the existing condition, creating a parallel fork) |
|
Delete |
Remove the condition/edge |
|
Edit |
Opens the Condition Editor window where you can adjust all condition fields |
|
Link |
Creates an off-page connector (teleport), interrupting the edge and connecting two steps without a continuous line |
Rerouting Edges
Click on an edge to select it, then drag its segments to reroute the path. The editor uses orthogonal (right-angle) routing for clean, readable layouts.
🔗 Linking (Off-Page Connectors / Teleports)
The Link feature works like an off-page connector in traditional P&ID drawings. It interrupts a long edge and replaces it with a pair of matching symbols — keeping the graph clean when source and target steps are far apart.
Creating a Link
-
Hover over an edge label and click the Link button
-
The edge is replaced by two matching teleport nodes with an identifier (e.g., "1-ngts")
-
The entry node appears near the source step, the exit node near the target step
-
Both nodes display a matching label so you can identify paired connections
Removing a Link
To convert a linked connection back to a continuous line, use the Direct (unlink) option that appears on linked edges.
Teleport Naming Settings
Click the Linking button (🔗) in the toolbar to open the Teleport identifier settings window:
|
Setting |
Description |
|---|---|
|
Naming mode |
Choose between "info" (descriptive labels) or "inc" (incremental numbering) |
|
Prefix |
Text added before the identifier |
|
Intermediary |
Separator character between parts (default: "-") |
|
Suffix |
Text added after the identifier |
🧩 Condition Display in the SFC
Transition Conditions
Conditions of type Transition are displayed on the edges (lines/arrows) that connect steps. The condition text appears as a label along the edge.
Non-Transition Conditions
All other condition types (Continuous Action, Cont. Action + Condition, Stored on Activation, Stored on Deactivation, Stored on Event, Custom) are displayed directly next to their parent step as attached boxes. Each non-transition condition appears as a small box alongside the step node, with an icon indicating its type:
|
Icon |
Condition Type |
|---|---|
|
✅ |
Continuous Action |
|
🔲 |
Continuous action with condition |
|
↑ |
Stored action on activation |
|
↓ |
Stored action on deactivation |
|
🏴 |
Action stored on event |
|
✏️ |
Custom |
You can right-click or hover these boxes to see options for editing, duplicating, or deleting the condition.
🧩 Graph Elements — Advanced
Parallel Fork (Simultaneous Branches)
A parallel fork occurs when a single condition has multiple target steps that activate simultaneously.
|
Element |
Visual |
Description |
|---|---|---|
|
Parallel Fork vertex |
◆ Diamond/junction |
Inserted automatically when one condition has several success targets |
|
Head edge |
Step → ◆ with condition label |
The "head" edge carries the condition label and supports full editing |
|
Child edges |
◆ → Step (no label) |
The branches of the fork — only delete is available |
Parallel Merge (Synchronization)
A parallel merge occurs when multiple transitions from different source steps converge on the same target step.
-
If all incoming conditions share the same text → Unified display (single shared label)
-
If conditions differ → Mixed display (individual labels per incoming edge)
Jump Nodes (Teleports)
Jumps are visual shortcuts created by the Link feature. Each jump consists of an entry node near the source and an exit node near the target, both sharing a matching display ID.
Dangling Conditions
Conditions without any transition target assigned are called dangling conditions and appear as a list on their parent step node. This helps identify incomplete configurations that still need transitions.
⚙️ Toolbar Options
The toolbar at the top of the SFC Editor provides these controls:
|
Button |
Icon |
Description |
|---|---|---|
|
Sidebar |
≡ |
Show or hide the Phases Panel (left sidebar) |
|
Lock |
🔒 |
Activated: Only the selected object moves; parent and child objects stay in place. Deactivated: Moving a step also moves its connected branches (child steps, conditions, teleports follow). |
|
Snap |
🧲 |
Activated: Objects snap to grid positions when moved. Deactivated: Free movement without snapping. |
|
Grid |
🔲 |
Shows or hides the dot grid in the background |
|
Linking |
🔗 |
Opens the Teleport identifier settings window |
|
Export |
📄 |
Exports the chart to PDF |
📋 Phases Panel (Left Sidebar)
The Phases Panel on the left shows all steps in the current process with their number and name.
Features
-
Hover a step to see visual connection highlights (orange = incoming, green = outgoing) drawn on the sidebar itself
-
Drag and drop steps in the sidebar to reorder them
-
Right-click or hover action buttons to Edit, Duplicate, or Delete steps and their conditions
-
The sidebar scrolls independently of the main canvas
Process Selector
Above the Phases Panel, a dropdown shows the current process. You can switch between processes to view different SFC charts.
📤 Exporting the SFC
PDF Export
Click the Export button (PDF icon) in the toolbar to generate a PDF of the current SFC chart.
💡 Tip: The dotted canvas area shows what will fit on a single PDF page. You can place objects beyond the canvas boundary, but they may not appear in the PDF export. Arrange your steps within the dotted area for the best export result.
Additional Export Options
-
Visio export — The SFC can also be exported to Microsoft Visio format. See Export Dialogs to Visio for details.
-
Condition export on P&IDs — Conditions can also be exported directly on the P&ID drawings via the Export feature in the Module Ribbon.
📖 Workflows
How to Build an SFC for a Process
-
Open the SFC Editor — Module Ribbon → Condition panel → SFC button
-
Review the steps — All steps in the current process appear as rectangular nodes. If steps don't exist yet, create them first in Process Design
-
Arrange the steps — Drag step nodes into a logical top-to-bottom flow
-
Create transitions — Hover a step and click the Connect (↓) button, then drag to the target step. Enter the transition condition in the editor that opens
-
Add non-transition conditions — Hover a step's attached condition area and use the context menu to add Continuous Actions, Stored on Activation/Deactivation actions, etc.
-
Use Links for distant connections — If two connected steps are far apart, use the Link feature on their edge to create an off-page connector pair
-
Review the flow — Use the Phases Panel to hover steps and verify the connection pattern (orange = sources, green = targets)
-
Export — Click the PDF button to generate a printable chart
How to Navigate and Edit Conditions from the SFC
-
Hover an edge label to see the condition details and available actions
-
Click Edit to open the full Condition Editor window
-
Make your changes — they are automatically reflected in the SFC
-
Close the Condition Editor — the SFC updates immediately
How to Trace a Process Flow
-
Open the SFC Editor for your process
-
In the Phases Panel, hover over a starting step
-
The sidebar draws colored lines: orange for upstream steps, green for downstream steps
-
Follow the green lines to trace the forward path
-
Follow the orange lines to trace the backward path
-
Use Expand Previous/Next in the Module Ribbon for text-based chain navigation with condition descriptions
🏭 Pharma Example: CIP Sequence as a GRAFCET
This example shows a complete Clean-In-Place (CIP) sequence modeled as a Sequential Function Chart.
📋 Steps (Process Phases)
|
Step |
Name |
Description |
|---|---|---|
|
0 |
Idle |
System at rest, all valves closed, pumps off |
|
1 |
Pre-Rinse |
Flush the circuit with purified water to remove product residues |
|
2 |
Caustic Wash |
Circulate NaOH solution at elevated temperature |
|
3 |
Intermediate Rinse |
Flush with purified water to remove caustic residues |
|
4 |
Acid Wash |
Circulate acid solution for mineral deposit removal |
|
5 |
Final Rinse |
Final purified water flush to meet conductivity specifications |
|
6 |
Drain |
Drain all remaining fluid from the circuit |
🔀 Transition Conditions
|
From |
To |
Condition |
Type |
|---|---|---|---|
|
Idle |
Pre-Rinse |
Operator starts CIP cycle |
Transition |
|
Pre-Rinse |
Caustic Wash |
Pre-rinse timer complete (5 min) |
Transition |
|
Caustic Wash |
Intermediate Rinse |
Temperature held for required duration |
Transition |
|
Intermediate Rinse |
Acid Wash |
Conductivity below threshold |
Transition |
|
Acid Wash |
Final Rinse |
Timer complete AND temperature maintained |
Transition |
|
Final Rinse |
Drain |
Conductivity below specification |
Transition |
|
Drain |
Idle |
Flow sensor reads zero for 30 seconds |
Transition |
Non-Transition Conditions
|
Step |
Type |
Action |
|---|---|---|
|
Pre-Rinse |
Continuous Action |
Keep CIP pump running, valves open |
|
Pre-Rinse |
Stored on Activation |
Record batch start time |
|
Caustic Wash |
Cont. Action + Condition |
Boost heater when temperature drops below setpoint |
|
Final Rinse |
Stored on Activation |
Reset rinse counter |
🖱️ Keyboard and Mouse Interactions
|
Action |
How |
|---|---|
|
Pan |
Click and drag on empty canvas area |
|
Zoom |
Mouse wheel |
|
Select step |
Click on a step vertex |
|
Move step |
Drag a step vertex (behavior depends on Lock setting) |
|
Create transition |
Hover step → click Connect (↓) → drag to target step |
|
Edit condition |
Hover edge label → click Edit |
|
Reroute edge |
Click on an edge segment and drag to reroute |
|
Delete transition |
Hover edge label → click Delete |
|
Fork a transition |
Hover edge label → click Fork to add a branch |
|
Create link |
Hover edge label → click Link |
|
Remove link |
Hover linked edge → click Direct/Unlink |
Note: Vertex positions are saved per-process and restored when you reopen the editor. You can freely move steps and edges around — the logical connections remain unchanged.
📚 Related Pages
-
Algorithm Design — Conditions and algorithm editing
-
Module Ribbon — Access the SFC Editor from the Conditions panel
-
Process Design — Process and step management
-
Build Condition Field — Condition expression builder
-
Build Action Field — Action expression builder
-
💬 Dialog — Reusable operator interaction templates
-
Export Dialogs to Visio — GRAFCET Visio export details
-
Valve Phase Matrix — Complementary matrix view of valve states across phases
-
Symbol Editor — Symbol definition editor