Aanmelden

🤖Automatisatie

Digitale technieken (informatieverwerking, digitale en analoge informatie, getalstelsels) en programmeerbare sturing (PLC's: combinatorisch en sequentieel programmeren, hoofd- en deelprogramma's, analoge signalen, bussystemen). Met interactieve demo’s, oefeningen die meteen gecontroleerd worden, opzoekwerk en quizzen.

Je bekijkt deze pagina niet aangemeld — je kan de oefeningen, het opzoekwerk en de zelftest-quiz pas openen na het aanmelden.
Aanmelden

Overzicht

Werk de onderdelen hieronder in je eigen tempo af: lees de uitleg, doe het opzoekwerk en sluit af met een quizje. Klik een onderdeel open om te starten.

Hoe is een automatisch proces opgebouwd? Je leert wat actoren, signaalgevers en de besturing doen, en hoe je de informatieverwerking in een blokschema voorstelt.

Doelstellingen

Na dit hoofdstuk kan je:

  1. uitleggen wat het doel van actoren is;
  2. vier voorbeelden van actoren opsommen;
  3. uitleggen wat het doel van signaalgevers is;
  4. zes voorbeelden van signaalgevers opsommen;
  5. de functie van het besturingsgedeelte toelichten;
  6. in een blokschema de signaalverwerking van een proces voorstellen.
1.1.1 Opbouw van een automatisch proces

Een automatisch proces kun je in 2 delen opsplitsen: het besturingsgedeelte en het operatief gedeelte.

🧠
Het besturingsgedeelte
Een bedieningspaneel met schakelkast

Het “brein”: bijvoorbeeld een PLC en een bedieningspaneel. Het bevindt zich in een schakelkast.

🦾
Het operatief gedeelte
Een industriële robotarm

Het deel dat het werk uitvoert: bijvoorbeeld een industriële robot met motoren, ventielen en sensoren.

Besturingsgedeelteopdrachten →Operatief gedeelte
Besturingsgedeelte← informatieOperatief gedeelte

Via geleiders staat het besturingsgedeelte in verbinding met het operatief gedeelte. Het geeft opdrachten door en krijgt informatie terug.

1.1.2 Informatieverwerking met actoren en signaalgevers

Het besturingsgedeelte geeft opdrachten of commando’s aan het operatief deel waardoor actoren zoals motoren, persluchtventielen en dergelijke in- of uitgeschakeld worden. Actoren zetten de commando’s om in acties zoals de beweging van een deel, verwarming van een grondstof, verhoging van de druk enz.

Signaalgevers meten en controleren allerlei grootheden en toestanden zoals druk, temperatuur, stand van een deel. Die informatie wordt naar het besturingsgedeelte verzonden. Hier wordt de informatie verwerkt en worden de juiste beslissingen genomen zodat de juiste commando’s kunnen gegeven worden.

Goed om te weten

De opdrachten of commando’s die naar de actoren gaan, kun je ook beschouwen als informatie voor de actoren.

📡
Signaalgever

Meet en stuurt informatie naar de besturing.

Bv. drukknop, druksensor, camera.

🧠
Besturing

Verwerkt de informatie en beslist.

Bv. PLC, soft-PC, PC.

⚙️
Actor

Voert het commando uit.

Bv. motor, ventiel, lamp.

1.1.3 Blokschema informatieverwerking

In het volgende blokschema wordt de informatieverwerking van een proces voorgesteld.

Signaalgevers➜BESTURING: verwerking van de informatie➜Actoren
SignaalgeversBesturingActoren
drukknop
naderingsschakelaar
druksensor
temperatuursensor
scanner
camera
PLC
soft-PC
PC
motor
ventiel
lamp
verwarming

Probeer het schema hieronder zelf uit. Bedien de signaalgevers en bekijk wat de besturing beslist.

🎯 Nu ben jij aan de beurt: 1 Informatieverwerking

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Wat is het verschil tussen digitale en analoge informatie? Je leert werken met bits, bytes en woorden, met meerbitsinformatie, met seriële en parallelle transmissie, met AD-omzetters en met encoders en decoders.

2.1 Onderscheid digitale en analoge informatie

Doelstellingen: het onderscheid tussen digitale en analoge informatie verklaren, en een digitaal en een analoog signaal en een signaaltijdsdiagram voorstellen.

Speel eerst met de demo: schakel tussen een digitaal signaal (een schakelaar) en een analoog signaal (een potentiometer) en bekijk het signaaltijdsdiagram.

2.1.1 Digitale signaalverwerking

Bij digitale informatie kunnen maar twee toestanden voorkomen. Enkele voorbeelden:

  • Een signaal (spanning) is aanwezig of is niet aanwezig.
  • Een schakelaar is gesloten of open.
  • Een verbruiker is in werking of is uitgeschakeld.
  • Een temperatuur is bereikt of is niet bereikt.
  • Een druk is bereikt of is niet bereikt.
Toestand 1 of toestand 0

We spreken van toestand 1 (= IN) of toestand 0 (= UIT). In een signaaltijdsdiagram springt het signaal dus enkel tussen die twee niveaus.

2.1.2 Analoge signaalverwerking

Analoge signalen kunnen allerlei waarden aannemen tussen bepaalde grenzen. Enkele voorbeelden: 0 – 20 mA, 4 – 20 mA, 0 – 10 V, 4 – 10 V.

Analoge signalen komen meestal van signaalomvormers. Zo wordt bij een temperatuurmeting een temperatuur omgezet in een spanning. Een gemeten snelheid komt bijvoorbeeld overeen met een bepaalde spanning tussen 0 en 10 V.

De commandosignalen kunnen ook analoog zijn. Een actor kan dan een actie in een juiste proportie ondernemen: een motor zal met een bepaalde snelheid aangestuurd worden, een verwarmingsweerstand wordt op een lagere spanning ingeschakeld.

Analoge signaalverwerking gebeurt meestal via een regelsysteem.

2.2 Bit, byte en woord

Doelstellingen: de begrippen bit, byte en woord omschrijven en ze bij digitale informatie onderscheiden.

Het decimaal getal 19 bestaat uit twee cijfers (1 en 9). Het binaire getal 00110101 bestaat uit 8 bits (8 cijfers).

1
BIT

Een elementje 0 of 1.

8
BYTE

Een geheel van 8 bits.

16
WOORD

Een geheel van 16 bits, dus twee bytes.

2.3 Meerbitsinfo

Doelstellingen: het belang van meerbitsinfo toelichten en het verband tussen meerbitsinfo en het aantal combinaties aantonen.

2.3.1 Onderscheid 1 bit- en meerbitsinformatie

Informatie die uit één bit bestaat is erg beperkt. Er zijn maar twee verschillende informatiegegevens mogelijk: 0 of 1. Om de toestand van een eenvoudige schakelaar of sensor weer te geven is dit juist voldoende omdat een schakelaar maar twee mogelijke toestanden heeft, namelijk gesloten of open.

Om waarden van een meting zoals temperatuur, druk, hoekverplaatsing e.d. te verzenden heb je meer mogelijkheden, dus meer bits nodig. Als je via één of een beperkt aantal geleiders informatie wilt versturen van verschillende signaalgevers en naar verschillende actoren (zoals bij bussystemen), dan heb je ook veel meer bits nodig om voldoende onderscheid tussen de verschillende deelnemers te krijgen.

2.3.2 Verband aantal bits en aantal gegevenscombinaties

Met de schuif hieronder ga je na hoeveel verschillende informaties je kunt geven met een aantal bits (dit is Tabel 1 uit de cursus).

De formule

Het aantal mogelijkheden bereken je met de formule 2n, met n het aantal bits.

1 bit: 2¹ = 2 mogelijkheden
2 bits: 2² = 4 mogelijkheden
3 bits: 2³ = 8 mogelijkheden

2.4 Seriële transmissie en parallelle transmissie

Doelstellingen: met een figuur verduidelijken hoe seriële en parallelle dataoverdracht gebeurt, en de voor- en nadelen ervan toelichten.

Om meerbitsinfo te verzenden kun je gebruik maken van seriële overdracht of parallelle overdracht.

2.4.1 Seriële transmissie

Bij seriële transmissie worden al de bits achter elkaar door dezelfde geleider gestuurd. Omdat een 0 of een 1 met een bepaald spanningsniveau overeenkomt, heb je twee geleiders nodig: een datageleider en een GND-geleider (GND = ground).

zender00111010 →ontvanger
Een seriële kabel: alle bits achter elkaar over dezelfde geleider
Een seriële kabel: alle bits achter elkaar over dezelfde geleider
2.4.2 Parallelle transmissie

Hierboven werd één byte (00111010) serieel verzonden. Bij een parallelle transmissie is er per bit één datalijn. Om een byte te versturen zijn dus minstens 9 geleiders nodig: 8 datalijnen en één GND.

Bij een parallelle verbinding wordt de informatie sneller verzonden. Het nadeel is dat je meer geleiders nodig hebt. Probeer beide manieren uit en vergelijk het aantal geleiders en het aantal tijdstappen:

2.5 Digitaliseren van een analoog signaal

Doelstellingen: met een figuur het verschil tussen analoge en gedigitaliseerde informatie verduidelijken, en met een voorbeeld het verband verklaren tussen de nauwkeurigheid en het aantal bits dat gebruikt wordt bij het digitaliseren.

Bij een analoog signaal zijn al de waarden mogelijk. Om zo’n signaal in een besturingssysteem te verwerken, moet het omgezet worden in een digitaal signaal. De elektronische schakeling die deze omvorming doet noemt men een AD-omvormer of AD-converter.

Van analoog naar digitaal

In de figuur is het analoog signaal van een spanning voorgesteld door de vloeiende lijn. Na omzetting naar een digitaal signaal zijn alleen de spanningswaarden van de punten beschikbaar: het signaal wordt in stapjes weergegeven. Verander het aantal bits en zie wat er gebeurt:

De omzetting heeft tot gevolg dat een digitale waarde niet overeenstemt met de werkelijke analoge waarde. Bijvoorbeeld: op een ogenblik is de spanning 5,5 V, maar de digitale uitlezing geeft 5 V. Wil je een nauwkeuriger resultaat, dan moet je het analoog signaal in kleinere stapjes opsplitsen. Er zullen dus meer vakjes moeten zijn.

Maar omdat elk stapje door een digitaal getal moet voorgesteld worden, zal bij een hogere nauwkeurigheid de informatie uit meer bits moeten bestaan.

Voorbeeld: AD-omzetter met 2 bits

Met 2 bits (b1 en b0) heb je 4 mogelijke informaties. Je kunt het analoog signaal dus in maximum 4 spanningen weergeven: 0 V, 3,33 V, 6,66 V en 10 V (stapjes van 10 V / 3). Een spanning van 5,4 V wordt omgezet in de 2-bitsinformatie 01. Op het display van het meettoestel verschijnt dan 3,33 V.

Met 3 bits kun je 8 verschillende spanningen bekomen.

2.6 Encoder en decoder

Doelstellingen: verklaren wat het verschil is tussen een encoder en een decoder, drie voorbeelden van encoders en twee voorbeelden van decoders geven.

⌨️
Encoder
Een rotary encoder

Een schakeling die een decimale waarde omzet in een binaire code.

Voorbeelden: toetsenbord van een rekenmachine of pc, draaischakelaar, duimwielschakelaar, operation panel.

🔢
Decoder
Een 7-segmentendisplay

Zet de code terug om in een decimaal getal.

Voorbeelden: 7-segmentendisplay, printer (de code wordt gedecodeerd tot letters en cijfers).

Een draaischakelaar of een duimwielschakelaar stel je in op een bepaalde decimale waarde: de encoder zet dat getal om in een aantal nullen en enen. De informatie die je via het toetsenbord van een rekenmachine, een pc of een operation panel ingeeft, wordt door een encoder omgezet in een binaire code.

Een digitale code die wordt omgezet in een 7-segmentendisplay gebeurt met een decoder. Probeer het uit:

🎯 Nu ben jij aan de beurt: 2 Digitale en analoge informatie

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Decimaal, binair, hexadecimaal en BCD: vier manieren om getallen voor te stellen. Je leert ze ontleden in grondtallen en coëfficiënten en er met de hand tussen omrekenen.

3.1 Decimaal

Doelstelling: het begrip decimaal als tiendelig talstelsel omschrijven.

Getallen kunnen volgens verschillende methoden voorgesteld worden. De methode waarmee we het meest vertrouwd zijn, is het decimaal of tiendelig stelsel. Het bestaat uit 10 symbolen of cijfers van 0 tot en met 9. Om een getal te vormen plaats je verschillende cijfers na elkaar, bijvoorbeeld het getal 637.

Een decimaal getal kun je als volgt ontleden:

6.10² + 3.10¹ + 7.10⁰ = 600 + 30 + 7 = 637

Hierbij noemt men 10 het grondgetal. 6, 3 en 7 zijn de coëfficiënten. Probeer maar met eigen getallen:

3.2 Binair

Doelstelling: het begrip binair als tweedelig talstelsel omschrijven.

Het binaire of tweedelige stelsel heeft maar 2 symbolen of cijfers: 0 en 1. Ook hier plaats je een aantal symbolen na elkaar om een getal te bekomen, bijvoorbeeld 11010. Een tweedelig stelsel heeft als grondgetal 2.

Elke led is aan (1) of uit (0) — net als elk bit in een binair getal
Elke led is aan (1) of uit (0) — net als elk bit in een binair getal
1.2⁴ + 1.2³ + 0.2² + 1.2¹ + 0.2⁰ = 16 + 8 + 0 + 2 + 0 = 26   (in decimale waarde)
3.3 Hexadecimaal

Doelstelling: het begrip hexadecimaal als zestiendelig talstelsel omschrijven.

Het hexadecimale of zestiendelige stelsel heeft 16 symbolen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Een zestiendelig stelsel heeft als grondgetal 16.

Coëfficiënten van de letters

De coëfficiëntwaarden van de symbolen A, B, C, D, E en F zijn in volgorde: 10, 11, 12, 13, 14 en 15.

Enkele voorbeelden van hexadecimale getallen:

12  = 1.16¹ + 2.16⁰ = 16 + 2 = 18
D12 = 13.16² + 1.16¹ + 2.16⁰ = 3328 + 16 + 2 = 3346   (in decimale waarde)
3.4 Omvormen van getallen

Doelstellingen: een decimaal getal naar een binair getal omrekenen en een binair getal naar een decimaal getal omrekenen.

3.4.1 Omrekenen van decimaal naar binair

We willen het decimale getal 100 omvormen naar een binair getal. Daarvoor zijn er twee methodes.

1
Methode 1

We delen het getal steeds door 2 en noteren de rest. Het binaire getal lees je van onder naar boven.

100:2 = 50 rest 0
50:2 = 25 rest 0
25:2 = 12 rest 1
12:2 = 6 rest 0
6:2 = 3 rest 0
3:2 = 1 rest 1
1:2 = 0 rest 1
→ 1100100

2
Methode 2

Je zoekt welke machten van 2 er in het decimale getal kunnen. Je begint met een zo groot mogelijke macht.

100 − 2⁶ = 100 − 64 = 36 → 1
36 − 2⁵ = 36 − 32 = 4 → 1
4 − 2⁴ = 4 − 16 gaat niet → 0
4 − 2³ = 4 − 8 gaat niet → 0
4 − 2² = 4 − 4 = 0 → 1
0 − 2¹ gaat niet → 0
0 − 2⁰ gaat niet → 0
→ 1100100

Doorloop beide methodes hieronder stap voor stap met een getal naar keuze:

3.4.2 Omrekenen van binair naar decimaal

We vormen het binaire getal 1100100 terug om naar decimaal. Het resultaat zou 100 moeten zijn. Elke bit geven we een waarde. Die waarde is een macht van 2 (2⁰, 2¹, 2², 2³ enz.). We tellen die waarden op.

De rechtse bit noemen we de minst beduidende bit, of de bit met de laagste waarde. Die krijgt de waarde 2⁰. De volgende bits krijgen een hogere waarde, dus een hogere macht van 2.

  1     1     0     0     1     0     0
1.2⁶ + 1.2⁵ + 0.2⁴ + 0.2³ + 1.2² + 0.2¹ + 0.2⁰
 64  +  32  +  0   +  0   +  4   +  0   +  0   = 100
3.5 BCD-code

Doelstelling: een decimaal getal naar een BCD-code omrekenen.

De BCD-code is een manier om getallen weer te geven. We bouwen de BCD-code op van het decimaal getal 359. Elk decimaal cijfer stel je voor door een binair getal van 4 bits. Die 4 bits krijgen elk een waarde 8, 4, 2 of 1. De rechtse bit krijgt de kleinste waarde. Als je de waarde van de 4 bits optelt, krijg je het decimale cijfer als resultaat.

359→001101011001
3 → 0011   (2 + 1 = 3)
5 → 0101   (4 + 1 = 5)
9 → 1001   (8 + 1 = 9)
3.6 Omvormingstabel

Doelstellingen: een decimaal getal naar een binair getal of een BCD-code omvormen met een tabel, en omgekeerd.

In de volgende tabel kun je de getallen onder decimale, binaire, BCD- en hexadecimale vorm vergelijken van 0 tot 20.

decimaalbinairBCDhex
0000000
1100011
21000102
31100113
410001004
510101015
611001106
711101117
8100010008
9100110019
1010100001 0000A
1110110001 0001B
1211000001 0010C
1311010001 0011D
1411100001 0100E
1511110001 0101F
16100000001 011010
17100010001 011111
18100100001 100012
19100110001 100113
20101000010 000014

Met deze tabel is het gemakkelijk om even welk decimaal getal om te vormen naar een BCD-code. Bijvoorbeeld het decimaal getal 128: in kolom 1 en 2 lees je af wat de BCD-code is van de cijfers 1, 2 en 8. Dit geeft 0001 0010 1000.

Het omrekenen van BCD naar decimaal is ook eenvoudig. Bijvoorbeeld de BCD-code 0101 1000 0010: 0101 geeft 5, 1000 geeft 8 en 0010 geeft 2. Het decimaal getal is 582.

Met de omzetter hieronder kun je zelf getallen omvormen en je eigen oefeningen nakijken:

🎯 Nu ben jij aan de beurt: 3 Getalstelsels

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Wat is een PLC precies, hoe is hij intern opgebouwd, en hoe sluit je er schakelelementen en verbruikers op aan? De basis voordat je een PLC kan programmeren.

4.1 Wat is een PLC?

Doelstelling: de benaming PLC verklaren en voordelen van een PLC t.o.v. een bedrade schakeling opsommen.

PLC staat voor Programmable Logic Controller:

Programmable

Programmeerbaar: je kan het gedrag wijzigen door software aan te passen, niet door bedrading om te bouwen.

Logic

Logisch: de ingangssignalen worden volgens logica verwerkt. Een schakelelement geeft een signaal = 1, geen signaal = 0.

Controller

Een toestel dat een proces stuurt volgens een bepaald programma.

Een PLC is een toestel dat je kan programmeren: volgens het ingebrachte programma stuurt hij een machine of een proces aan.

Een compacte PLC
Een compacte PLC
Voordelen t.o.v. een bedrade (relais)schakeling
  • Neemt veel minder plaats in.
  • Sneller aan te sluiten: geen verbindingen tussen signaalgevers en actoren nodig, de link gebeurt softwarematig.
  • Een relaisschakeling kan enkel de machine sturen waarvoor ze gebouwd is; een PLC-programma pas je gewoon aan.
  • Tijden, schakelvoorwaarden e.d. wijzig je zonder herbedrading.
  • Het proces is eenvoudig te volgen via de monitor van de PLC.
  • Langere levensduur en bedrijfszekerder: geen bewegende contacten.
  • Relatief goedkoop: kleinere installatie, minder arbeidsintensief.
4.2 Algemene opbouw van een PLC

Doelstelling: de belangrijkste delen van een PLC benoemen.

signaalgevers→ingangen (PII)→CPU→uitgangen (PIQ)→actoren
CPU

De centrale verwerkingseenheid (Central Proces(sing) Unit): hier gebeurt de verwerking van het programma.

Programma- en datageheugen

Het programmageheugen bewaart het PLC-programma. In het datageheugen staan o.a. de toestanden van timers en tellers.

PII en PIQ

De ingangsbuffer PII (Proces Image Inputs) slaat de toestanden van de ingangen op; de uitgangsbuffer PIQ die van de uitgangen — zie 5.1 voor het waarom.

Programmeertoestel

Meestal een PC: hiermee toets je het programma in, breng je wijzigingen aan en volg je het proces.

Voeding (PS)

Power Supply: voorziet alle elektronische blokken van een gestabiliseerde gelijkspanning.

Op de ingangen sluit je signaalgevers of schakelelementen aan: drukknoppen, eindstandschakelaars, sensoren, thermostaten, niveaumeters. Op de uitgangen sluit je actoren of verbruikers met een beperkt vermogen aan: controlelampen, relais, contactoren, ventielen.

Bouwvormen

Een monoblok-PLC heeft alles (CPU, in-/uitgangen) in één huis. Een modulaire PLC bestaat uit een basismodule die je met losse in-/uitgangsmodules kan uitbreiden.

4.3 Soorten in- en uitgangen

Doelstelling: een adres voor een in- of uitgang opbouwen en aflezen.

Voor de adressering gebruikt men de binaire taal: 8 ingangen vormen een ingangsbyte, 8 uitgangen een uitgangsbyte. Ingangen herken je aan de letter I (Input), uitgangen aan de letter Q (Quit — de letter O wordt niet gebruikt, die staat al voor iets anders).

I 0.0    → ingang 0 van byte 0
I 124.2  → ingang 2 van byte 124
Q 125.7  → uitgang 7 van byte 125
Q 1.1    → uitgang 1 van byte 1

Het eerste getal is het bytenummer, het tweede (0 tot 7) het bitnummer binnen die byte — elke byte heeft dus 8 in- of uitgangen.

Voorbeeld: Siemens S7-300

Bij deze PLC krijgt de basismodule vaste bytes 124 en 125 (I 124.0 t.e.m. I 125.7, Q 124.0 t.e.m. Q 125.7). Uitbreidingsmodules krijgen bytenummers vanaf 0 — je mag geen twee keer hetzelfde bytenummer gebruiken voor in- én uitgangen.

Naast digitale in-/uitgangen (enkel 0 of 1) bestaan er ook analoge in-/uitgangen (bv. 0-10V, 4-20mA) — daarover gaat hoofdstuk 8 (Verwerking van analoge signalen).

4.4 Aansluiten van de digitale ingangen

Doelstelling: weten hoe je schakelaars en sensoren op de PLC-ingangen aansluit.

Bij een Siemens-PLC schakelen de schakelelementen het positieve potentiaal (24V) door naar de ingang: is er 24V aanwezig, dan heeft de ingang status 1; is er geen spanning, dan is de status 0.

Tweedraadse schakelelementen

Een gewone schakelaar of tweedraadse sensor: één draad naar 24V+, één draad naar de ingang. Sluit je het element, dan krijgt de ingang 24V (status 1).

Driedraadse sensoren
Een inductieve naderingsschakelaar

Een sensor die een eigen voedingsspanning nodig heeft: 24V+, massa (M) én een signaaldraad naar de ingang. Nodig voor elektronische sensoren (inductief, capacitief, optisch, ultrasoon).

Bedrading van schakelelementen naar de ingangen van een PLC
Bedrading van schakelelementen naar de ingangen van een PLC
Status is niet altijd hetzelfde als "bediend"

Een NO-contact (normally open) geeft status 1 als het bediend is. Een NG-contact (normally gesloten) geeft net status 1 als het niet bediend is! Dit is vooral belangrijk bij veiligheidscontacten (noodstop, thermische beveiliging), die om veiligheidsredenen bijna altijd NG uitgevoerd worden.

4.5 Aansluiten van de digitale uitgangen

Doelstelling: het verschil tussen relais- en transistoruitgangen omschrijven, en weten hoe je transistoruitgangen beveiligt.

Relaisuitgangen
Een relais op DIN-rail

De PLC schakelt inwendig een contact. Je hebt een externe spanningsbron nodig; de verbruikers mogen daardoor een andere spanning hebben dan de PLC zelf.

Transistoruitgangen

Een transistor komt in geleiding en schakelt de inwendige 24V-voeding door naar de uitgang. Je kan dus enkel verbruikers gebruiken die op 24V DC werken.

Inductieve verbruikers beschadigen transistoruitgangen

Een spoel (relais, ventiel) wekt bij het uitschakelen een hoge inductiespanning op. Bij een transistoruitgang kan die spanning de transistor stukmaken. Oplossing: plaats parallel over de verbruiker een netwerkje met een diode en een weerstand — de diode leidt de inductiespanning veilig af via de weerstand.

🎯 Nu ben jij aan de beurt: 4 Fundamentele opbouw van een PLC

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Van logische basisfuncties (EN, OF, NIET, ...) over geheugens, flankdetectie, timers en tellers tot het omvormen van een relaisschema naar een echt PLC-programma.

5.1 Opbouw en verwerking van een programma

Doelstelling: een instructie analyseren, de PLC-talen en de programmaverwerking (cyclustijd, PII/PIQ, RLO) omschrijven.

Een PLC-programma bestaat uit instructies. Elke instructie bestaat uit een operatie (wat moet er gebeuren) en een operand (waarmee).

PLC-programma's worden geschreven en getest in software op een laptop of PC
PLC-programma's worden geschreven en getest in software op een laptop of PC
instructie:  A I 0.0
operatie:    A            (En-functie)
operand:     I 0.0         (soort I, adres 0.0)
IECSiemensBetekenis
AUEn-functie (And/Und)
OOOf-functie (Or/Oder)
NNNiet-functie (Not/Nicht)
==Toewijzen
SSSet
RRReset

Een PLC-programma kan je in drie talen weergeven: LD/LAD/KOP (ladderdiagram, grafisch zoals een relaisschema), IL/STL/AWL (instructielijst, een tekstuele lijst van instructies) en FBD/FUP (functieblokschema, met logische poorten).

Cyclustijd, PII en PIQ

De PLC doorloopt het programma cyclisch. Bij elk cyclusbegin worden alle ingangen tegelijk gelezen en in het geheugen PII (Proces Image Inputs) gezet — wijzigt een ingang tijdens de cyclus, dan telt dat pas mee bij de volgende cyclus. De uitgangsresultaten worden tijdens de cyclus in PIQ verzameld en pas op het einde van de cyclus effectief naar de uitgangen geschreven, zodat alle uitgangen gelijktijdig schakelen. De tijd voor één volledige cyclus is de cyclustijd (enkele ms).

RLO — Result of Logic Operation

De PLC onthoudt bij elke instructie het resultaat van alle voorgaande logische instructies: de RLO. Bij een A-instructie wordt de RLO het EN van de vorige RLO en de status van de nieuwe operand; bij een O-instructie het OF. Zo bouw je stap voor stap het logische resultaat op tot aan de toewijzing (=).

5.2 Logische basisfuncties

Doelstelling: de basisinstructies JA, NIET, EN, OF, EXOF, NEN en NOF herkennen en programmeren.

JA

Q = I0.0. Rechtstreekse doorgave.

NIET

Q = ¬I0.0 (of -I0.0). De uitgang is het tegenovergestelde van de ingang.

EN

Q = I0.0 • I0.1. Beide ingangen moeten "1" zijn.

OF

Q = I0.0 + I0.1. Minstens één ingang moet "1" zijn.

EXOF (XOR)

Q = (I0.0 • ¬I0.1) + (¬I0.0 • I0.1). Precies één van beide ingangen is "1", niet beide.

NEN / NOF

Het omgekeerde resultaat van EN, resp. OF: Q = ¬(I0.0 • I0.1), resp. Q = ¬(I0.0 + I0.1).

A I 0.0        A( I 0.0                O I 0.0
A I 0.1        O I 0.1     N I 0.1         O I 0.1
= Q 1.0        )           = Q 1.0         NOT
               = Q 1.0                     = Q 1.0
(EN)           (EXOF met haakjes)          (NOF)
5.3 Samenstellen van basisfuncties

Doelstelling: een parallel-/serieschakeling van ingangen omzetten naar IL, en weten wanneer haakjes nodig zijn.

Een serieschakeling van contacten (allemaal na elkaar) is een reeks A-instructies; een parallelschakeling (naast elkaar) is een reeks O-instructies.

I0.0 en I0.1 in serie:        I0.0 of I0.1 parallel:
A I 0.0                       O I 0.0
A I 0.1                       O I 0.1
= Q 2.0                       = Q 2.0
Wanneer moet je haakjes gebruiken?

Haakjes zijn enkel nodig bij een parallelvertakking die niet onmiddellijk aan de linkerkantlijn van het ladderdiagram staat — bijvoorbeeld wanneer je een OF-groepje in serie zet met nog een ander contact. Een parallelvertakking die wél rechtstreeks aan de linkerkantlijn hangt, heeft geen haakjes nodig (dat zijn gewoon opeenvolgende O-instructies).

Om de cyclustijd zo kort mogelijk te houden, gebruik je best zo weinig mogelijk haakjes — bovendien kan een programma met te complexe vertakkingen soms niet meer teruggevormd worden naar een ladderdiagram.

A I 0.2      (I0.2 in serie met...)
A(
O I 0.3    ...(I0.3 OF I0.4) — hier WEL haakjes nodig
O I 0.4
)
= Q 3.2
5.4 Hulpgeheugens M

Doelstelling: het gebruik van een hulpgeheugen (memory/marker) omschrijven.

Een PLC heeft vaak veel minder uitgangen dan er tussenresultaten nodig zijn in een groot programma. Een hulpgeheugen of memory (M) — vergelijkbaar met een hulprelais in een relaisschakeling — laat toe om een tussenresultaat te bewaren zonder er een echte, fysieke uitgang voor te gebruiken.

A I 0.0
A I 0.1
= M 10.0      (tussenresultaat, geen echte uitgang)

A M 10.0
A I 0.2
= Q 2.0       (pas hier een echte uitgang aansturen)
Onthoud

Gebruik enkel echte uitgangen (Q) als er ook effectief een verbruiker op aangesloten wordt. Voor tussenstappen gebruik je een M.

5.5 Set-Reset-geheugen (SR)

Doelstelling: de werking van een SR-geheugen en het begrip prioriteit omschrijven.

Een SR-geheugen gedraagt zich als een bistabiel relais: een korte puls op de SET-ingang zet de uitgang op 1 en die blijft 1, ook als het setsignaal wegvalt. Pas een puls op de RESET-ingang zet de uitgang terug op 0.

A I 0.0
S Q 3.1
A I 0.1
R Q 3.1
Prioriteit

Worden SET en RESET gelijktijdig "1"? Dan wint de instructie die als laatste in het programma staat (de PLC verwerkt het programma cyclisch, en het laatste resultaat telt). Staat R als laatste, dan heb je resetprioriteit; staat S als laatste, dan heb je setprioriteit.

5.6 Flankdetectie

Doelstelling: het verschil tussen een positieve en een negatieve flank omschrijven en toepassen.

Een positieve flank is een signaalverandering van 0 naar 1 (bv. het net indrukken van een drukknop); een negatieve flank is een verandering van 1 naar 0 (het loslaten). De PLC vergelijkt daarvoor de huidige toestand van een ingang met de toestand bij de vorige cyclus (opgeslagen in een extra hulpgeheugen).

Waarom flankdetectie?

Stel: de contacten van een startdrukknop blijven aan elkaar plakken, of een kabel is beschadigd zodat de aders voortdurend contact maken. Start je dan op status 1 i.p.v. op een positieve flank, dan zou het proces vanzelf (opnieuw) starten — een gevaarlijke situatie. Door te starten op een flank in plaats van op een status, voorkom je dit.

A I 0.5
BLD 100
FP  M 0.0      (positieve flankdetectie, M0.0 = vorige toestand)
= Q 3.0        (Q3.0 wordt kortstondig 1 bij 0→1 op I0.5)

Het uitgangssignaal van een flankdetectie duurt maar één cyclus — te kort om bv. een LED te zien branden. Wil je dat signaal "vangen" en zichtbaar houden, dan gebruik je er een SR-geheugen voor (de puls zet het SR-geheugen, iets anders reset het).

5.7 Tijdfuncties (timers)

Doelstelling: de vijf soorten timers herkennen, hun signaaltijdsdiagram lezen en de juiste timer kiezen.

Een timer heeft een setingang S (start op een positieve flank), een tijdwaarde TV (formaat S5T#xhymzsxxms, bv. S5T#20s voor 20 seconden) en een resetingang R (zolang die "1" is, kan de timer niet starten).

SoortCodeWerking
InschakelvertragingS_ODTUitgang wordt 1 na de ingestelde tijd; valt weg zodra het startsignaal wegvalt.
Inschakelvertraging met geheugenS_ODTSIdem, maar de uitgang blijft 1 (ook al valt het startsignaal weg) tot een reset.
UitschakelvertragingS_OFFDTUitgang wordt onmiddellijk 1 bij het startsignaal; blijft 1 tot de ingestelde tijd ná het wegvallen van het startsignaal.
ImpulsS_PULSEUitgang wordt onmiddellijk 1; valt weg zodra de tijd verstreken is óf het startsignaal wegvalt (wat eerst komt).
Verlengde impulsS_PEXTUitgang wordt onmiddellijk 1 en blijft altijd precies de volledige ingestelde tijd 1, ongeacht het startsignaal.
A I 0.1
L  S5T#20s
SD T 1       (SD/SS/SF/SP/SE = code van het timertype)
A  T 1
= Q 3.1
5.8 Telfuncties (tellers)

Doelstelling: de werking van een op-/aftel-, optel- en afteller omschrijven en de tellerstand berekenen.

Een teller heeft een optelingang CU (elke positieve flank telt de inhoud +1), een aftelingang CD (elke positieve flank telt -1), een setingang S met presetwaarde PV (bv. C#5) en een resetingang R (zet de teller op 0).

Op- en afteller (S_CUD)

Heeft zowel CU als CD: je kan zowel op- als aftellen.

Opteller (S_CU)

Enkel CU, geen aftelingang: je kan enkel optellen.

Afteller (S_CD)

Enkel CD, geen optelingang: je kan enkel aftellen.

Status van de teller

De status (en de bijhorende uitgang Q) van een teller is 0 als de tellerinhoud 0 is, en 1 zodra de tellerinhoud groter dan 0 is.

5.9 Vergelijkerfuncties (comparatoren)

Doelstelling: een vergelijker (CMP) programmeren en het juiste getalformaat kiezen.

Een vergelijker vergelijkt twee getallen (IN1 en IN2) volgens een functie: gelijkheid (==), ongelijkheid (<>), groter dan (>), kleiner dan (<), groter-of-gelijk (>=) of kleiner-of-gelijk (<=).

FormaatBereikGrootte
INT (geheel getal)-32768 tot +3276716 bits
DINT (dubbel geheel getal)-2 147 483 648 tot +2 147 483 64732 bits
REAL (kommagetal)±3,402823·10³⁸32 bits, mantisse·10exponent
A I 124.3
A(
L  MW 5
L  IW 3
==I
)
= Q 124.5      (Q124.5 = 1 als MW5 == IW3 EN I124.3 = 1)
5.10 Van relaisschakeling naar PLC-programma

Doelstelling: een relaisschakeling (bv. een motorschakeling) omvormen naar een PLC-programma.

Werkwijze: (1) vertrek van het relaisschema, (2) stel een adresseringstabel op (welk toestel op welke I/Q, met commentaar NO/NG), (3) beredeneer voor élk contact of je moet "afvragen op status 1" of "op status 0" — een NO-contact in het relaisschema betekent niet automatisch "afvragen op status 1", dat hangt af van wat het contact in de schakeling moet doen.

Klassieker: start-stop met voorrang stop

Stopschakelaar S1 (NG) in serie met startschakelaar S2 (NO), met een overname-contact van de uitgang zelf parallel op de startschakelaar (zodat de motor blijft draaien na het loslaten van S2):

A I 0.0    (thermische beveiliging, NG, afvragen status 1)
A I 0.1    (stop, NG, afvragen status 1)
A(
O I 0.3    (start, NO, afvragen status 1)
O Q 3.0    (overname: de uitgang zelf houdt zichzelf aan)
)
= Q 3.0

Andere klassiekers: ster-driehoekschakeling (met een timer die na enkele seconden van ster naar driehoek omschakelt), links-rechtsschakeling (twee motorrichtingen die elkaar wederzijds vergrendelen) en volgordeschakeling (K2 moet aanstaan vóór K1 mag inschakelen).

🎯 Nu ben jij aan de beurt: 5 Programmeren van combinatorische problemen

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Een functiediagram (GRAFCET) beschrijft een proces als een reeks stappen, acties en overgangen — overzichtelijk om een sequentieel proces te ontwerpen, en gemakkelijk om te vormen naar een PLC-programma.

6.1 Principe van het functiediagram

Doelstelling: een functiediagram herkennen en het toepassingsgebied ervan omschrijven.

Bij combinatorische processen (hoofdstuk 5) hangt de toestand van de uitgang enkel af van de huidige toestand van de ingangen. Bij sequentiële processen speelt ook de voorgaande toestand van het proces mee — er zit dus altijd een vorm van geheugen in. Denk aan een ster-driehoekschakeling, een verkeerslicht, of de sturing van een lasrobot.

Een functiediagram is een blokschema dat de verschillende stappen van een sequentieel proces en het verband ertussen overzichtelijk voorstelt. We volgen de norm IEC 848, afgeleid van de Franse methode GRAFCET (GRAphe de Commande Etape-Transition — "besturingsschema met fasen en overgangen").

Voordelen van een functiediagram
  • Geeft snel inzicht in een ingewikkelde besturing.
  • De symboliek is universeel: elke technicus begrijpt hetzelfde schema, ongeacht elektrisch, pneumatisch of hydraulisch.
  • Bij een storing lokaliseer je snel de fout: welke stap is (niet) actief?
  • Gemakkelijk om te vormen naar een echt besturingsprogramma.
Een transportband: een klassiek sequentieel proces met opeenvolgende stappen
Een transportband: een klassiek sequentieel proces met opeenvolgende stappen
6.2 Stappen of fasen

Doelstelling: een stap en de initiële stap herkennen en voorstellen.

Elke stap (of fase) van het proces stel je voor als een vierkant met een stapnummer, te beginnen bij 0. De stap waarin het proces zich bevindt bij het opstarten — vóór er iets gebeurt — is de initiële stap: die teken je met een dubbele lijn.

┌──┐
│ 0│  ← initiële stap (dubbele lijn)
└──┘
  │
┌──┐
│ 1│  ← gewone stap
└──┘

Stappen worden verbonden met rechte lijnen: zo weet je in welke volgorde ze doorlopen kunnen worden.

6.3 Acties, overgangen en overgangsvoorwaarden

Doelstelling: een actie, een overgang en een overgangsvoorwaarde herkennen en voorstellen.

Bij elke stap horen meestal één of meerdere acties, in een rechthoek naast de stap geschreven (bv. "motor rechts"). Meerdere acties bij één stap plaats je naast of onder elkaar.

Om van de ene stap naar de volgende te gaan, moet er een overgang (het verticale streepje op de verbindingslijn) doorlopen worden: dat kan pas als de overgangsvoorwaarde — rechts naast het streepje geschreven — vervuld is (bv. "sensor b geeft signaal 1", of een tijdconditie).

Meerdere overgangsvoorwaarden

Zijn er meerdere voorwaarden tegelijk nodig, dan schrijf je een Booleaanse formule: a.b.c betekent a EN b EN c; a+b+c betekent a OF b OF c. Ook een tijdsafhankelijke overgangsvoorwaarde is mogelijk: bv. een timer die in de vorige stap gestart is.

Het overgaan van de ene stap naar de volgende noemt men de evolutie.

6.4 Het beschrijvend functiediagram

Doelstelling: een eenvoudig proces analyseren en er het beschrijvend functiediagram van opstellen.

In een beschrijvend functiediagram schrijf je de acties en overgangsvoorwaarden in gewone taal, zonder technische aanduidingen (geen I/Q-adressen).

┌──┐
│ 0│ rusttoestand
└──┘
  │ start
┌──┐
│ 1│ motor rechts
└──┘
  │ positie b bereikt
┌──┐
│ 2│ motor links
└──┘
  │ positie a bereikt  (→ terug naar stap 0)

Het proces mag nooit tegelijk in rust én in werking zijn: bij het activeren van een nieuwe stap wordt de vorige automatisch gedesactiveerd (evolutieregel, zie 6.6). Zo bouw je automatisch veiligheid in: een sensor die toevallig al bediend is, kan geen kwaad als de voorgaande stap niet actief is.

6.5 Het technologisch functiediagram

Doelstelling: een beschrijvend functiediagram omvormen tot een technologisch functiediagram.

In het technologisch functiediagram vervang je de beschrijvingen door de werkelijke technologische informatie: de I/Q-adressen. Daarvoor stel je eerst een toewijzingslijst op (schakelelementen/toestellen ↔ PLC-aansluiting ↔ commentaar), net zoals bij een gewone relaisschakeling.

┌──┐
│ 0│
└──┘
  │ I 124.1
┌──┐
│ 1│ Q 124.2
└──┘
  │ I 124.2
┌──┐
│ 2│ Q 124.1
└──┘
  │ I 124.3
6.6 Omzetten naar een PLC-programma

Doelstelling: de evolutieregels toepassen en een technologisch functiediagram vertalen naar een PLC-programma.

Een PLC-programma dat uit een functiediagram komt, splits je in twee delen: de evolutie (welke stap wordt actief) en de acties (wat er per stap moet gebeuren). Elke stap wordt in de PLC een hulpgeheugen M.

De twee evolutieregels

1. Om te evolueren van de ene stap naar de volgende, moet de voorgaande stap actief zijn EN moet de overgangsvoorwaarde vervuld zijn.
2. Bij het activeren van een stap wordt de voorgaande stap automatisch gedesactiveerd.

Stap 1 (M64.0) evolueert naar stap 2 (M64.1) bij I124.1:
A M 64.0
A I 124.1
S M 64.1     (nieuwe stap actief maken)
R M 64.0     (vorige stap desactiveren)
Initialisatie

Bij het opstarten (RUN-mode) van de PLC is geen enkel geheugen gezet — ook niet de ruststap 0! Daarom moet je de ruststap expliciet initialiseren: manueel met een extra schakelaar, of automatisch met een klein initialisatieprogramma dat een hulpmerker precies één scantijd hoog maakt bij het opstarten, en die merker gebruikt om de ruststap te setten.

6.7 Memoriseren van een actie (stored action)

Doelstelling: uitleggen wanneer en hoe je een actie memoriseert.

Moet een actie gedurende meerdere opeenvolgende stappen actief blijven (bv. van stap 1 tot en met stap 5), dan kan je de actie herhalen bij elke stap (O M64.1 / O M64.2 / ... / = Q124.3) — maar dat maakt het programma nodeloos lang. Beter: gebruik een bistabiel element (SR-geheugen), dat je inschakelt bij de eerste stap en uitschakelt bij de stap waarin de actie moet stoppen.

Stap 1: S Q124.3   (actie inschakelen)
...
Stap 6: R Q124.3   (actie uitschakelen)

Werk je met bistabiele verbruikers (bistabiele contactoren, bistabiele pneumatische ventielen), dan heb je zelfs geen apart RS-geheugen nodig: je stuurt gewoon een korte puls naar een "inschakelen"- en een "uitschakelen"-uitgang.

6.8 Voorwaardelijke actie

Doelstelling: een voorwaardelijke actie (conditional action) herkennen en programmeren.

Bij een voorwaardelijke actie moet er, naast het actief zijn van de stap, nog een extra voorwaarde vervuld zijn opdat de actie effectief uitgevoerd wordt (bv. "motor 1 ALS S1 bediend wordt"). Dit programmeer je in het deel acties, niet in de evolutie: X12 (de merker van stap 12) duidt aan dat die stap actief moet zijn.

A M 1.2    (X12: stap 12 actief)
A I 124.1  (S1 bediend)
= Q 124.3  (motor 1)
6.9 Niet-lineaire sequenties

Doelstelling: een lineaire structuur onderscheiden van een meervoudige sequentie, en de evolutie ervan uitleggen.

Een lineaire structuur (enkelvoudige sequentie) heeft geen vertakkingen: er is maar één pad om te volgen. Veel processen vragen echter een keuze — moet het proces manueel of automatisch verlopen? Wordt product A of B gemaakt?

Sequentie met keuze

Vanuit één stap zijn er meerdere mogelijke vervolgpaden; welk pad gevolgd wordt, hangt af van welke overgangsvoorwaarde als eerste vervuld is. De paden komen achteraf weer samen.

Sequentie met sprong

Onder een bepaalde voorwaarde sla je één of meerdere stappen over.

Sequentie met herhaling

Onder een bepaalde voorwaarde keer je terug naar een vroegere stap (een lus).

Sequentie met gelijktijdige werking

Vanuit één stap worden twee (of meer) takken tegelijk geactiveerd, die onafhankelijk van elkaar verder evolueren en pas later weer samenkomen.

Vergrendeling

Bij een keuze mag maar één van de mogelijke paden tegelijk actief worden. Zorg dat de overgangsvoorwaarden van de verschillende paden elkaar wederzijds uitsluiten (bv. de keuzeschakelaar staat op stand A óf op stand B, nooit beide).

🎯 Nu ben jij aan de beurt: 6 Programmeren van sequentiële problemen

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Grote programma's worden overzichtelijker (en sneller) als je ze opsplitst in kleinere, herbruikbare stukken.

7.1 Doel

Doelstelling: het doel van het opsplitsen in deelprogramma's omschrijven.

Grote PLC-programma's worden opgesplitst in kleinere deelprogramma's:

Overzichtelijker
Een netjes gestructureerde schakelkast

Een gestructureerd programma is makkelijker te lezen, aan te passen en fouten in op te sporen.

Sneller

Kortere deelprogramma's verwerken sneller — de cyclustijd verbetert.

7.2 Soorten deelprogramma's

Doelstelling: de drie manieren om een proces met deelprogramma's op te bouwen, omschrijven.

1
Hoofdprogramma met terugkerend deelprogramma

Een reeks stappen die op meerdere plaatsen in het proces terugkomt, staat maar één keer in een deelprogramma. Telkens het hoofdprogramma die stappen moet uitvoeren, springt het naar dat deelprogramma.

2
Hoofdprogramma dat bestaat uit verschillende deelprogramma's

Je splitst het proces logisch op, bv. "aanvoer grondstoffen", "verwerking" en "afvoer eindproduct" — elk in een eigen deelprogramma. Het hoofdprogramma bevat enkel de volgorde waarin die deelprogramma's doorlopen worden, en springt op het juiste moment naar het juiste deelprogramma.

3
Stopcyclus als afzonderlijk deelprogramma

Bij ingewikkelde processen moet de machine soms volgens een vaste, veilige procedure stilgelegd worden (bv. om de machine of het product niet te beschadigen). Die stopprocedure programmeer je in een eigen deelprogramma, dat je vanuit elke stap van het hoofdprogramma kan aanroepen.

Voorbeeld

Een hoofdprogramma met stappen 0-3 die telkens naar een ander deelprogramma springen (stappen 10-18, 20-25, 30-37), telkens gemarkeerd met een merker (X1, X2, X3, ...) die aangeeft dat dat deelprogramma klaar is, zodat het hoofdprogramma verder kan.

🎯 Nu ben jij aan de beurt: 7 Processen met hoofd- en deelprogramma's

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

Een analoog signaal (temperatuur, druk, ...) moet eerst gedigitaliseerd worden voor een PLC ermee kan rekenen. Resolutie, sample-rate en 2's complement bepalen hoe nauwkeurig dat gebeurt.

8.1 Analoge versus digitale verwerking

Doelstelling: voor- en nadelen van analoge en digitale signaalverwerking vergelijken.

Bij een analoog signaal is elke waarde van belang: een temperatuur kan je met een oneindig aantal cijfers na de komma uitdrukken. Een digitaal signaal heeft altijd grenzen (een eindig aantal mogelijke waarden) — maar is met de huidige snelle, goedkope processoren zo nauwkeurig te maken dat het verschil met een analoog signaal in de praktijk niet meer waar te nemen is.

Analoge verwerking
Een oscilloscoop toont een analoog signaal als een continue golfvorm

Voordeel: zeer nauwkeurig (bv. een kwikthermometer). Nadeel: dure, weinig flexibele apparaten; moeilijk te "programmeren" of op te slaan; gevoelig voor ruis.

Digitale verwerking

Voordeel: flexibel, goedkoop, makkelijk op te slaan en te verwerken. Nadeel: begrensd bereik en beperkte resolutie (op te lossen met meer bits).

8.2 Digitaliseren van een analoog signaal

Doelstelling: het verband tussen resolutie, aantal bits en nauwkeurigheid uitleggen, en de sample-rate omschrijven.

Een analoge ingangskaart (AD-omvormer) zet het elektrisch signaal van een analoge sensor (bv. 4-20mA, 0-10V) om in een digitaal getal. De resolutie van die omzetting wordt uitgedrukt in het aantal bits (de bitbreedte): met n bits kan je 2ⁿ verschillende waarden onderscheiden.

resolutie 4 bit  → 2⁴ = 16 mogelijke waarden (0 t.e.m. 15)
resolutie 8 bit  → 2⁸ = 256 mogelijke waarden
resolutie 12 bit → 2¹² = 4096 mogelijke waarden

Hoe meer bits, hoe kleiner elke "stap" van het gedigitaliseerde signaal, en hoe nauwkeuriger het analoge signaal benaderd wordt. In de praktijk gebruikt men vaak 12 of 16 bit.

Sample-rate

Het digitaliseren zelf kost tijd: pas als de huidige waarde omgezet is, kan de volgende ("sample") gedigitaliseerd worden. Het aantal digitaliseringen per seconde is de sample-rate — bij een PLC komt dat overeen met de cyclustijd. Vuistregel: de sample-rate moet minstens 10× groter zijn dan de hoogste frequentie in het te digitaliseren signaal, anders gaat er te veel informatie verloren (en krijg je een vals beeld van het signaal).

Een analoge ingang van een PLC, hier aangesloten op een potentiometer
Een analoge ingang van een PLC, hier aangesloten op een potentiometer
8.3 Decimale waarde van een analoog signaal

Doelstelling: het 2nd complement (two's complement) van een negatief getal berekenen.

Een analoge in- of uitgang met resolutie 12 of 16 bit wordt in de PLC als een woord (16 bit) verwerkt. Om ook negatieve waarden te kunnen voorstellen, wordt de hoogste bit een tekenbit, en gebruikt men het 2nd complement (two's complement).

Het 2nd complement berekenen

Stel je wil -12 als 8-bit binair getal voorstellen. (1) Schrijf het tegengestelde getal binair: 00001100 (=12). (2) Inverteer elke bit (1's complement): 11110011. (3) Tel er binair 1 bij op: 11110100 — dat is het 2nd complement, en dus de voorstelling van -12.

Controle: het 2nd complement van het 2nd complement geeft steeds het oorspronkelijke getal terug.

Vaak wordt niet het volledige digitale bereik gebruikt: de PLC-documentatie geeft dan telkens aan welke decimale waarde met welk percentage van het nominale ingangsbereik overeenkomt (bv. 27648 = 100% bij een ingang van -10 tot 10V), en welke waarden een alarm of een fout betekenen.

🎯 Nu ben jij aan de beurt: 8 Verwerking van analoge signalen

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.

In plaats van voor elke sensor en actor een eigen kabel te trekken, verbindt een bussysteem alle in- en uitgangen sequentieel via één gemeenschappelijke leiding.

9.1 Verschil tussen klassieke bekabeling en bussysteem

Doelstelling: het verschil tussen een klassieke installatie en een bussysteem omschrijven.

Bij een traditionele PLC-installatie is er voor élke sensor en actor een eigen ader, verzameld in multikabels naar klemmenkastjes. Dat is arbeidsintensief, vraagt reserveaders voor uitbreiding, en geeft bij grote installaties dikke kabelbundels.

Bij een bussysteem vertrekt principieel één draad en een GND voor alle in- en uitgangen. De informatie-uitwisseling gebeurt serieel (na elkaar). In- en uitgangsmodules worden geplaatst waar ze nodig zijn (decentrale periferie of remote I/O), rechtstreeks aangesloten op sensoren/actoren en via de buskabel verbonden met de PLC.

Voordelen
  • Sterk vereenvoudigde bekabeling — minder kabels, aansluitingen en tekenwerk.
  • Eenvoudiger uit te breiden.
  • Veel flexibeler in gebruik.
  • Foutdiagnose en bewaking van het gegevenstransport ingebouwd.

Nadelen: complexere configuratie (specialistenwerk), en een defecte busdeelnemer kan soms de hele bus laten uitvallen.

9.2 Principe van het bussysteem

Doelstelling: het verschil tussen adresbesturing en ringbesturing omschrijven, met voorbeelden.

De master-module (buskoppelkaart) van de PLC controleert de bus; de slave-modules (busdeelnemers) wisselen daarmee data uit. Er zijn twee grote families:

Adresbesturing
Een ethernet-switch met meerdere aangesloten kabels

Elke busdeelnemer krijgt een adres; het datatelegram wordt vergezeld van een adres, en enkel de deelnemer met dat adres verwerkt de data. Voorbeelden: Profibus-DP (RS-485, paarse kabel), AS-i (Actuator and Sensor Interface, gele zelfdichtende kabel), Ethernet (stertopologie via een router).

Ringbesturing

Alle deelnemers worden na elkaar (in serie) aangesloten; de laatste wordt terug met de master verbonden. Het bericht van de master komt, na alle deelnemers doorlopen te hebben, bij de master zelf terug. Adressering is hierdoor niet nodig. Voorbeeld: Interbus-S (meestal groene kabel).

Tokenring

Bij adresbesturing kunnen soms meerdere masters op dezelfde busleiding zitten (bv. bij Profibus). Om te bepalen wie op elk moment de controle heeft, gebruikt men een tokenring: de master met het "woord" (de token) zendt en ontvangt zijn data, en geeft de token daarna door aan de volgende master.

9.3 Adressering van een slave

Doelstelling: weten hoe een slave-adres wordt ingesteld.

Bij adresbesturing krijgt elke deelnemer een adres, in te stellen met DIP-switches, een meerstandendraaischakelaar, of via een softwaretool/bedieningspaneel op de module zelf. De master moet die adressen kennen (configuratie) om de juiste deelnemer te kunnen aanspreken.

AS-i: adres + identificatie

Bij AS-i wordt bij het adres ook een identificatiecode meegegeven, zodat de master automatisch weet om welk type module het gaat.

9.4 Bussysteem integreren in een PLC-programma

Doelstelling: weten hoe een bussysteem in de PLC-configuratie en het programma verwerkt wordt.

Voor je kan programmeren, moet de PLC geconfigureerd worden: welke in-/uitgangskaarten, welke buskoppelkaart, en waar in het rack. Bij een bussysteem geef je bovendien het volledige netwerk van die bus in, zodat de PLC weet welke I/O op welke plaats (welk slave-adres) zit — dit wordt vastgelegd in een I/O-map.

Geen verschil voor de programmeur

Eenmaal geconfigureerd, worden de in- en uitgangen van het bussysteem net als gewone in-/uitgangskaarten met een byteadres aangesproken (bv. I 135.1). Programmeren zelf verloopt dus niet anders dan bij een traditionele PLC — enkel voor extra functies (bv. foutmeldingen van een busdeelnemer weergeven) schrijf je bijkomende instructies.

🎯 Nu ben jij aan de beurt: 9 Bussysteem

Verwerk wat je hierboven las met de onderdelen hieronder. Ze horen bij deze theorie.