PLC: wat een programmeerbare logische controller doet en hoe je hem uitleest
Een PLC (programmable logic controller, programmeerbare logische controller) is een industriële computer die een machine of installatie bestuurt. Hij leest sensoren en schakelaars in, voert een programma uit en schakelt motoren, kleppen en cilinders. Dat gebeurt dag en nacht, in een vaste cyclus van enkele milliseconden. Een PLC is gebouwd voor stof, trillingen en temperatuurwisselingen.
Voor productie- en procesdata is de PLC de eerste bron: hij weet als eerste dat een machine stilstaat, hoeveel cycli de machine heeft gemaakt en welk alarm actief is. Wie OEE of stilstanden wil meten, begint daarom vaak bij de besturing.
Hoe een PLC werkt: de scancyclus
Een PLC doorloopt zijn programma steeds opnieuw. Elke cyclus bestaat uit drie stappen:
| Stap | Wat gebeurt er | Gevolg voor de praktijk |
|---|---|---|
| Ingangen lezen | De PLC slaat de toestand van alle ingangen op (sensor aan of uit, analoge waarde). | Een signaal dat korter duurt dan één cyclus, kan gemist worden. |
| Programma uitvoeren | De logica wordt met de opgeslagen ingangswaarden doorgerekend. | Hoe langer en complexer het programma, hoe langer de cyclus. |
| Uitgangen schrijven | De berekende toestanden gaan naar motoren, kleppen en lampen. | Pas nu reageert de machine. |
De cyclustijd ligt meestal tussen één en enkele tientallen milliseconden. Bij snelle processen zoals stansen of verpakken kunnen enkele milliseconden het verschil maken tussen een goed en een beschadigd product. Voor het uitlezen van data betekent het: de PLC kent elke toestand op het moment zelf. Een systeem dat van buitenaf meekijkt, ziet die toestand pas bij de volgende uitlezing.
Programmeertalen volgens IEC 61131-3
De norm IEC 61131-3 beschrijft de programmeertalen voor PLC’s. Daardoor kan een technicus die het ene merk kent, ook een programma op een besturing van een ander merk lezen, al blijven de ontwikkelomgevingen verschillend.
| Taal | Vorm | Typisch gebruik |
|---|---|---|
| Ladder Diagram (LD) | grafisch, lijkt op een relaisschema met contacten en spoelen | schakellogica, vergrendelingen; populair bij elektrotechnici |
| Function Block Diagram (FBD) | grafisch, blokken met in- en uitgangen | regelingen, analoge waarden, herbruikbare functies |
| Structured Text (ST) | tekst, vergelijkbaar met Pascal | berekeningen, recepturen, complexe logica |
| Sequential Function Chart (SFC) | grafisch, stappen en overgangen | volgordes zoals een machinecyclus of een batchproces |
| Instruction List (IL) | tekst, dicht bij assembler | oude programma’s; sinds de uitgave van 2013 als verouderd aangemerkt |
PLC, SCADA, MES en ERP: wie doet wat
In een fabriek werken meerdere systemen in lagen boven elkaar. Ze verschillen vooral in hun taak en in de tijdschaal waarop ze werken:
| Niveau | Taak | Tijdschaal |
|---|---|---|
| PLC | stuurt één machine of installatie | milliseconden |
| SCADA / HMI | bedient en visualiseert installaties, toont alarmen | seconden |
| MES | registreert en stuurt de productie: orders, stilstanden, kwaliteit, OEE | minuten tot ploegen |
| ERP | plant materiaal, capaciteit, inkoop en financiën | dagen tot weken |
Een veelgemaakte fout is om rapportages in de PLC of in SCADA te bouwen. De besturing is gemaakt om te sturen. Stilstandredenen per ploeg over drie maanden vergelijken is de taak van het MES. Meer over het verschil met SCADA staat in SCADA: wat het is en verschil met PLC, DCS en MES.
Rekenvoorbeeld: prestatiegraad uit telpulsen
Een PLC levert per cyclus een telpuls. Daaruit volgt de prestatiegraad, een van de drie factoren van de OEE.
Voorbeeld (fictieve waarden): een spuitgietmachine heeft in een ploeg 400 minuten gelopen (24.000 seconden). De ideale cyclustijd is 30 seconden. De PLC telt 720 cycli.
Prestatiegraad = (ideale cyclustijd × aantal cycli) / looptijd = (30 s × 720) / 24.000 s = 21.600 / 24.000 = 90%.
De 10% verlies zit in tragere cycli en korte onderbrekingen die niemand noteert. Juist die korte stops ziet alleen wie de telpulsen automatisch vastlegt; op een handmatig ingevuld ploegrapport ontbreken ze bijna altijd.
PLC-data uitlezen met SYMESTIC
Om PLC-data in een MES te krijgen, zijn er drie gangbare manieren. Bij elke manier is de vraag: moet het PLC-programma worden aangepast?
| Weg | Wanneer geschikt | PLC-programma aanpassen? |
|---|---|---|
| OPC UA | nieuwere besturingen met OPC UA-server | nee, als de benodigde variabelen al beschikbaar zijn |
| Digitale signalen | oudere machines zonder netwerkinterface | nee, signalen worden parallel afgetakt |
| Modbus | installaties en apparaten die Modbus ondersteunen | afhankelijk van de installatie |
Bij SYMESTIC leest de Cloud Gateway (gratis software op een server of pc bij de klant) de besturing via OPC UA uit, inclusief alarmen die maar enkele milliseconden actief zijn. Voor digitale signalen is er de IoT Box: hardware die eenmalig wordt gekocht en zonder ingreep in de PLC wordt aangesloten. Aantallen, uitval en stilstanden worden daarna automatisch vastgelegd. Zo is de prestatiegraad uit het rekenvoorbeeld na elke ploeg automatisch beschikbaar.
Bronnen
- IEC 61131-3: Programmable controllers, Part 3: Programming languages
- OPC Foundation: OPC Unified Architecture
Gerelateerd: OPC UA · SCADA · OEE · TEEP · Bestaande machines aansluiten
- Live demo
- 30 minuten
- Gratis
Zie SYMESTIC aan de hand van uw eigen use case
In de gratis live demo laat een productexpert u op het draaiende platform zien hoe OEE, stilstanden en de koppeling van uw machines en ERP er concreet uitzien.
- OEE live
- Stilstand en oorzaken
- Machines en ERP koppelen
