Wat is FBD?
FBD (Function Block Diagram) is een grafische programmeertaal uit de norm IEC 61131-3 waarin besturingslogica wordt getekend als een netwerk van functieblokken, waarbij signalen via verbindingslijnen van de uitgang van het ene blok naar de ingang van het volgende stromen. Het programma leest daardoor als een signaalschema: links komen meetwaarden binnen, rechts verlaten stuursignalen het diagram. FBD wordt veel gebruikt op PLC’s en DCS-systemen binnen procesautomatisering en industriële automatisering, vooral voor continue regelingen, analoge signaalverwerking en interlocks.
🧠 Hoe werkt een Function Block Diagram?
Een FBD-programma bestaat uit een of meer netwerken. In elk netwerk staan blokken met ingangen aan de linkerkant en uitgangen aan de rechterkant. De bouwstenen zijn:
- Blokken - standaardfuncties (optellen, vergelijken, begrenzen), standaardfunctieblokken (timers, tellers) of zelfgemaakte blokken
- Verbindingslijnen - gerichte lijnen van links naar rechts die een waarde doorgeven; beide uiteinden moeten hetzelfde datatype hebben
- Vertakkingen - één uitgang mag meerdere ingangen voeden, bijvoorbeeld een gemeten temperatuur die zowel naar een regelaar als naar een alarmvergelijking gaat
- Variabelen - ingangen en uitgangen worden gekoppeld aan sensoren, actuatoren, interne variabelen of setpoints
De PLC voert het programma cyclisch uit: ingangen lezen, alle netwerken doorrekenen, uitgangen schrijven, opnieuw beginnen. Binnen een netwerk bepaalt de bedrading de volgorde: een blok rekent pas als de blokken die zijn ingangen voeden al gerekend hebben. Voor blokken die niet met elkaar verbonden zijn, ligt geen volgorde vast; die kiest de engineeringtool zelf.
Een terugkoppeling (een uitgang die verderop weer als ingang dient) vormt een lus zonder logisch beginpunt. De engineeringtool vraagt dan om één verbinding als terugkoppeling te markeren; in Rockwell Studio 5000 heet dit Assume Data Available. Dat blok gebruikt dan de waarde uit de vorige scan. Wie dit vergeet of verkeerd markeert, krijgt een regeling die één cyclus achterloopt.
🔧 Wat is het verschil tussen een functie en een functieblok?
IEC 61131-3 maakt een scherp onderscheid dat in FBD direct zichtbaar is:
| Kenmerk | Functie | Functieblok |
|---|---|---|
| Geheugen | Geen: zelfde ingangen geven altijd dezelfde uitgang | Wel: houdt interne toestand vast tussen scans |
| Instantie | Niet nodig | Elke aanroep heeft een eigen gedeclareerde instantie |
| Standaardvoorbeelden | ADD, MUL, SQRT, GT, EQ, MIN, MAX, LIMIT, SEL, AND, OR, NOT | TON, TOF, TP (timers), CTU, CTD, CTUD (tellers), R_TRIG, F_TRIG (flankdetectie), SR, RS (geheugen) |
| Typisch gebruik | Berekening, vergelijking, begrenzing | Vertraging, telling, regelaar, motor- of klepbesturing |
Een PID-regelaar is dus altijd een functieblok, omdat hij de integrale som en de vorige fout moet onthouden. De norm zelf bevat geen PID-blok: leveranciers leveren dat in hun bibliotheken, zoals PID_Compact in Siemens TIA Portal of PIDE in Rockwell Studio 5000. Hetzelfde geldt voor blokken als schaling, filtering of middeling, die per leverancier anders heten en zich soms anders gedragen.
Eigen functieblokken maken FBD krachtig. Een standaardblok voor een motor, klep of analoge meting met alarmgrenzen wordt één keer ontworpen en getest, en daarna honderden keren geïnstantieerd. Dat geeft consistente logica, snellere engineering en eenvoudiger onderhoud.
🕰️ Welke plaats heeft FBD in IEC 61131-3?
IEC 61131-3 verscheen in december 1993 en standaardiseerde de programmeertalen voor PLC’s. De derde editie (2013) verklaarde Instruction List verouderd; de vierde editie, gepubliceerd in mei 2025, heeft IL definitief geschrapt. De actuele talen zijn:
| Taal | Vorm | Sterk in |
|---|---|---|
| Ladder Logic (LD) | Grafisch, relaisschema | Discrete logica, machinebesturing |
| FBD | Grafisch, signaalstroom | Regelingen, analoge verwerking, interlocks |
| Structured Text (ST) | Tekstueel, Pascal-achtig | Berekeningen, algoritmen, datastructuren |
| SFC | Grafisch, stappen en transities | Sequenties en batchprocessen |
In de praktijk worden de talen gecombineerd: een SFC-stap roept FBD-regelingen aan, en een eigen functieblok wordt intern in ST geschreven maar in FBD gebruikt. Leveranciers noemen de taal soms anders: Siemens gebruikt FUP (Funktionsplan) in de Duitse versie van TIA Portal, en ook CODESYS en Rockwell ondersteunen FBD.
Let op het verschil met IEC 61499: die norm gebruikt ook functieblokken, maar dan event-gestuurd en verdeeld over meerdere apparaten. Een IEC 61131-3 FBD-netwerk draait cyclisch op één controller.
🏭 Waar wordt FBD gebruikt?
FBD is de favoriete taal waar signalen continu worden verwerkt:
- Regelkringen - temperatuur, druk, debiet en niveau via PID-blokken en de regelkring eromheen
- Analoge signaalverwerking - schaling van 4–20 mA naar engineering units, filtering, begrenzing (LIMIT) en signaalkeuze (SEL, MAX, MIN)
- Interlocks - vrijgaven en blokkeringen van pompen en kleppen met AND/OR-logica, zie Interlock
- Veiligheidslogica - op een Safety PLC of SIS; fail-safe programma’s van Siemens worden geschreven in F-FBD of F-LAD
- Aandrijvingen - snelheidsreferenties naar een frequentieregelaar (VFD)
Typische sectoren zijn waterzuivering, chemie, energie, HVAC en olie en gas. Een voorbeeld uit een rioolgemaal: het niveau in de kelder gaat via een schaalblok naar een PID-blok, dat het toerental van de pomp via de frequentieregelaar bijstuurt; een vergelijkingsblok (GT) geeft bij hoog-hoogniveau een alarm aan SCADA en een interlock schakelt de pomp uit bij droogloop.
De signalen komen binnen via Remote IO en veldbussen of netwerken zoals ProfiNET, Ethernet IP, Modbus TCP en Foundation Fieldbus. Procesdata gaan via OPC UA naar HMI, Historian en MES.
⏱️ Hoe richt u een FBD-regeling goed in?
Een betrouwbare FBD-applicatie volgt een vaste aanpak:
- Standaardiseer bouwstenen - maak bibliotheekblokken voor motor, klep, analoge meting en regelaar, en test ze één keer grondig.
- Kies de juiste taakcyclus - regelkringen horen in een periodieke taak met vaste cyclustijd, omdat PID-berekeningen uitgaan van een constant tijdsinterval. Snelle druk- of debietregelingen draaien vaak in tientallen milliseconden, trage temperatuur- of niveauregelingen in honderden milliseconden tot seconden.
- Houd netwerken klein - één functie per netwerk, met duidelijke namen en commentaar; grote netwerken met kruisende lijnen worden snel onleesbaar.
- Markeer terugkoppelingen bewust - controleer bij lussen welke waarde uit de vorige scan komt.
- Begrens en bewaak - zet LIMIT-blokken op setpoints en uitgangen en voeg anti-windup toe aan regelaars.
Veelvoorkomende fouten bij inbedrijfname:
| Symptoom | Waarschijnlijke oorzaak |
|---|---|
| Oscillerende regeling | PID-parameters te agressief of taakcyclus te traag |
| Onrustige uitgang | Ruis op de meting, ontbrekend filter |
| Verkeerde procesweergave | Fout in schaling of meetbereik |
| Regelaar blijft verzadigd | Ontbrekende anti-windup of verkeerde grenzen |
| Logica loopt één cyclus achter | Verkeerd gemarkeerde terugkoppeling |
Voor tijdkritische lussen spelen ook latency en jitter van het netwerk een rol.
🔐 Hoe beveiligt u FBD-logica?
FBD-programma’s sturen het fysieke proces direct aan, dus wie de logica of een setpoint wijzigt, verandert het proces. Stuxnet (2010) wijzigde via de Siemens-engineeringsoftware de PLC-logica die frequentieregelaars aanstuurde, en TRITON (2017) richtte zich op een veiligheidssysteem. Mogelijke gevolgen zijn gemanipuleerde regelkringen, uitgeschakelde interlocks en procesinstabiliteit, veroorzaakt door ongeautoriseerde engineering, malware, firmwaremanipulatie of insiders.
| Maatregel | Doel |
|---|---|
| Netwerksegmentatie | Engineering en PLC’s isoleren van het kantoornetwerk |
| Engineering Station beperken | Alleen geautoriseerde werkplekken mogen downloaden |
| MFA | Sterke authenticatie voor engineering en remote toegang |
| Version Control | Elke wijziging in FBD-logica herleidbaar en terug te draaien |
| Change Management | Wijzigingen beoordelen, testen en vastleggen |
| Logging | Downloads en modewissels van de PLC registreren |
| Application Whitelisting | Alleen toegestane software op engineeringstations |
| Patchmanagement | Kwetsbaarheden in firmware en tools verhelpen |
| Backup | Bekende goede versie van het programma veiligstellen |
IEC 62443 vormt het kader voor deze maatregelen. Voor organisaties onder de Cyberbeveiligingswet, die sinds 15 augustus 2026 van kracht is, is aantoonbare controle op wijzigingen in besturingslogica onderdeel van de zorgplicht.
Voor veiligheidsfuncties gelden daarnaast IEC 61508 en IEC 61511 in de procesindustrie en ISO 13849 en IEC 62061 voor machines. Fail-safe FBD-blokken bevatten extra diagnostiek en mogen alleen in de daarvoor bedoelde veiligheidsomgeving worden aangepast.
🌐 Blijft FBD relevant binnen Industrie 4.0?
Ja. Binnen Industrie 4.0 verschuift besturing deels naar soft-PLC’s en gevirtualiseerde controllers, en wordt logica getest tegen een digital twin. FBD blijft daarbij bruikbaar, omdat de taal onafhankelijk is van de hardware waarop het programma draait. Wel neemt het aandeel van ST toe voor complexe berekeningen, dataverwerking en versiebeheer met tekstgebaseerde tools.
❓ Veelgestelde vragen
Wat betekent FBD in PLC-programmering?
FBD staat voor Function Block Diagram, een grafische programmeertaal uit IEC 61131-3. Logica wordt getekend als blokken die via lijnen met elkaar verbonden zijn, zodat signalen zichtbaar van ingang naar uitgang stromen.
Is FBD beter dan Ladder Logic?
FBD is niet beter of slechter, maar geschikt voor ander werk. FBD is sterker in regelingen en analoge signaalverwerking, terwijl Ladder Logic beter leesbaar is voor elektrotechnici bij discrete aan/uit-logica. Veel projecten gebruiken beide talen naast elkaar.
Wat is het verschil tussen FBD en IEC 61499?
FBD uit IEC 61131-3 is een programmeertaal die cyclisch op één controller draait. IEC 61499 is een aparte norm met event-gestuurde functieblokken die over meerdere apparaten verdeeld kunnen worden. Beide gebruiken blokken, maar het uitvoeringsmodel verschilt fundamenteel.
Bevat IEC 61131-3 een standaard PID-blok in FBD?
Nee, IEC 61131-3 definieert wel timers, tellers, flankdetectie en geheugenblokken, maar geen PID-regelaar. PID-blokken in FBD komen uit leveranciersbibliotheken, zoals PID_Compact van Siemens of PIDE van Rockwell, en verschillen in parameters en gedrag.
Kan FBD gebruikt worden voor safety-toepassingen?
Ja, FBD is een gangbare taal voor veiligheidslogica op een safety PLC. Siemens gebruikt voor fail-safe programma’s bijvoorbeeld F-FBD, met gecertificeerde blokken voor noodstop en deurbewaking. Het ontwerp moet wel voldoen aan de eisen van IEC 61508, IEC 61511, ISO 13849 of IEC 62061.
Welke software ondersteunt FBD?
FBD wordt ondersteund door vrijwel alle grote engineeringomgevingen, waaronder Siemens TIA Portal, Rockwell Studio 5000, CODESYS en de daarop gebaseerde tools van onder meer Beckhoff en Schneider Electric. Het uiterlijk verschilt per tool, maar de taalregels volgen IEC 61131-3.
📌 Samengevat
FBD is de grafische IEC 61131-3-taal waarin besturingslogica als een netwerk van functies en functieblokken wordt getekend, ideaal voor regelingen, analoge signalen en interlocks. Bouw met geteste standaardblokken, let op uitvoeringsvolgorde en terugkoppelingen, en beveilig wijzigingen in de logica met versiebeheer, change management en segmentatie volgens IEC 62443. Combineer FBD waar nodig met Ladder Logic, Structured Text en SFC.
