SFC

Sequential Function Chart (SFC) is een grafische programmeertaal voor PLC’s en industriële besturingssystemen volgens de IEC 61131-3 standaard. De taal is ontworpen voor sequentiële procesbesturing waarbij processen worden opgesplitst in stappen, transities en acties.

SFC wordt veel toegepast binnen Proces Automatisering, machinebouw, batchsystemen en complexe industriële installaties waar processen een duidelijke volgorde van toestanden doorlopen.

Typische toepassingen:

  • Batchprocessen
  • Machinecycli
  • Start-up procedures
  • Shutdown-sequenties
  • Receptbeheer
  • Robotsequenties
  • Procesautomatisering

SFC combineert visuele processtructuren met andere IEC 61131-3 talen zoals:

Daardoor vormt SFC vaak de hogere orkestratielaag boven onderliggende logica en regeltechniek.


⚙️ Wat is SFC

SFC beschrijft processen als een reeks opeenvolgende stappen.

De basiscomponenten zijn:

Component Functie
Step Processtatus
Transition Voorwaarde tussen stappen
Action Uit te voeren logica
Branch Parallelle paden
Jump Sprong naar andere stap

Basisvoorbeeld:

Start  ↓Motor Starten  ↓Transportband Actief  ↓Product Detecteren  ↓Stop

Elke stap vertegenwoordigt een processtatus.


🧱 Structuur van een SFC-programma

Een SFC bestaat uit:

  • Initiële stappen
  • Actieve stappen
  • Transities
  • Acties
  • Sequenties

Voorbeeld:

[Step 1]    ↓ Condition TRUE[Step 2]    ↓ Condition TRUE[Step 3]

Een overgang vindt alleen plaats wanneer de transitievoorwaarde waar is.


🔄 Steps

Een step vertegenwoordigt een toestand binnen het proces.

Voorbeelden:

Step Functie
Idle Wachten
Fill Tank Vullen
Heat Process Verwarmen
Mixing Mengen
Drain Leegmaken

Een step kan:

  • Acties uitvoeren
  • Outputs activeren
  • Timers starten
  • Interlocks evalueren

⚡ Transitions

Transitions bepalen wanneer het proces doorgaat naar een volgende step.

Voorbeeld:

TankLevel >= 90%

Of:

TimerExpired = TRUE

Transitions zijn cruciaal voor gecontroleerde procesflows.


🎛️ Actions

Actions bevatten de daadwerkelijke besturingslogica.

Voorbeelden:

  • Motor starten
  • Klep openen
  • Alarm activeren
  • PID-setpoint wijzigen

Actions worden vaak geschreven in:

SFC functioneert dus vaak als bovenliggende sequentielaag.


🏭 SFC binnen industriële automatisering

SFC wordt veel gebruikt binnen processen met vaste volgordes.

Batchprocessen

Binnen batchinstallaties:

Vullen ↓Mengen ↓Verwarmen ↓Koelen ↓Leegmaken

Veel toegepast binnen:

  • Chemie
  • Food & beverage
  • Farmacie
  • Waterzuivering

Machinebesturing

Voor:

  • Productiecycli
  • Robotsequenties
  • Verpakkingsmachines
  • Assemblagelijnen

Procesinstallaties

Voor:

  • Start-up procedures
  • Shutdown-sequenties
  • CIP-processen
  • Veiligheidsprocedures

🧠 Parallelle sequenties

SFC ondersteunt parallelle processtromen.

Voorbeeld:

        ┌→ Conveyor 1Start ──┤        └→ Conveyor 2

Hierdoor kunnen meerdere processen gelijktijdig verlopen.

Toepassingen:

  • Parallelle productielijnen
  • Multi-tank installaties
  • Robotcoördinatie

🔁 Alternatieve branches

SFC ondersteunt conditionele procespaden.

Voorbeeld:

IF ProductType = A    → Route AELSE    → Route B

Hierdoor ontstaan flexibele productieprocessen.


⏱️ Timing en realtime gedrag

SFC draait binnen de cyclische PLC-scan.

Belangrijke parameters:

Parameter Typische waarde
Scan time 1-100 ms
Transition latency Laag
Determinisme Hoog
Jitter Beperkt

Realtime gedrag blijft belangrijk voor:

  • Machineveiligheid
  • Synchronisatie
  • Processtabiliteit

⚙️ State machines en SFC

SFC lijkt sterk op state machine-modellen.

Elke step vertegenwoordigt:

  • Een toestand
  • Een processtatus
  • Een operationele fase

Voordelen:

  • Overzichtelijke processtructuur
  • Duidelijke statusmodellen
  • Eenvoudige troubleshooting
  • Visuele procesflows

🔌 Integratie met PLC-architecturen

SFC wordt vaak gecombineerd met andere programmeertalen.

Typische architectuur:

Laag Technologie
Sequenties SFC
Logica Ladder Logic
Regeltechniek FBD
Complexe algoritmen ST

Dit hybride model is standaard binnen moderne PLC-platformen.


📡 Integratie met SCADA en HMI

SFC-processen leveren statusinformatie aan:

Typische visualisaties:

Data Gebruik
Actieve step HMI
Batchstatus MES
Alarmstatus SCADA
Proceshistorie Historian

Operators kunnen realtime zien in welke procesfase een installatie zich bevindt.


🛡️ Veiligheidsfuncties

SFC wordt regelmatig toegepast binnen veiligheidsprocedures.

Voorbeelden:

  • Controlled shutdown
  • Emergency sequences
  • Veiligheidsinterlocks
  • Opstartvalidaties

In safety-systemen gelden aanvullende eisen conform:

Norm Beschrijving
IEC 61508 Functionele veiligheid
IEC 61511 Procesveiligheid
ISO 13849 Machineveiligheid
IEC 62061 Safety systems

Veiligheidskritische sequenties draaien vaak op een Safety PLC.


⚡ SFC binnen batch control

SFC sluit goed aan op ISA-88 batcharchitecturen.

Voorbeelden:

  • Receptstappen
  • Batchstatussen
  • Proceduremanagement
  • Unit phases

Veel batchsystemen combineren:


🧪 Diagnostiek en troubleshooting

SFC biedt sterke visuele diagnostiek.

Operators kunnen direct zien:

  • Actieve stappen
  • Vastgelopen transities
  • Processtatus
  • Sequentiefouten

Veelvoorkomende problemen:

Probleem Mogelijke oorzaak
Vastgelopen step Transition nooit TRUE
Oscillerende sequentie Slechte state logica
Onverwachte sprongen Foutieve branches
Race conditions Parallelle logica
Deadlock Onjuiste transities

⚠️ Veelvoorkomende ontwerpfouten

Te complexe sequenties

Grote monolithische flows worden onoverzichtelijk.


Slechte transitionlogica

Onvoldoende validatie veroorzaakt instabiliteit.


Geen foutafhandeling

Fault states ontbreken vaak.


Te veel parallelle branches

Parallelle processen verhogen complexiteit sterk.

Best practices:

  • Modulaire sequenties
  • Duidelijke state names
  • Fault handling
  • Timeout-beveiliging
  • Heldere transitievoorwaarden

🔐 Cybersecurity-risico’s

SFC-programma’s vormen een belangrijk doelwit binnen OT-aanvallen.

Aanvallers kunnen:

  • Procesflows manipuleren
  • Shutdowns blokkeren
  • Veiligheidsstappen overslaan
  • Productie verstoren

Risico’s:

  • Ongeautoriseerde engineering
  • Malware
  • Manipulatie van PLC-code
  • Insider threats

Geavanceerde malware zoals Stuxnet demonstreerde hoe processequenties onzichtbaar aangepast kunnen worden.


🧱 Securitymaatregelen

Belangrijke beveiligingsmaatregelen:

Maatregel Doel
Netwerksegmentatie Isolatie
Application Whitelisting Softwarecontrole
MFA Authenticatie
Logging Auditing
Version Control Wijzigingsbeheer
Patchmanagement Kwetsbaarheidsreductie
Backup Recovery

PLC-engineeringstations vallen vaak onder streng Change Management.


🌐 SFC binnen Industrie 4.0

Binnen Industrie 4.0 blijft SFC belangrijk voor procesorkestratie.

Nieuwe toepassingen:

  • Virtuele PLC’s
  • Digitale twins
  • AI-gestuurde workflows
  • Edge orchestration
  • Flexibele productie

SFC ondersteunt de overgang naar softwaregedefinieerde OT-architecturen.


📈 Voordelen van SFC

Belangrijke voordelen:

  • Zeer overzichtelijke processtructuren
  • Sterk voor sequentiële processen
  • Goede troubleshooting
  • Heldere statusmodellen
  • Modulair ontwerp
  • Goede batchondersteuning

⚡ Beperkingen

Belangrijkste beperkingen:

  • Minder geschikt voor complexe berekeningen
  • Grote flows kunnen complex worden
  • Parallelle logica wordt snel onoverzichtelijk
  • Minder geschikt voor puur continue Regeling

Daarom wordt SFC meestal gecombineerd met: