Server » Verwarming » Technische onderwerpen » Wat is een PLC
Wat is een PLC
Programmable Logic Controller
TechTalk

Een PLC van Allen-Bradley bestaat uit verschillende modules: een processor-module, een communicatiemodule, verschillende digitale en analoge modules en een voeding. Alle PLC's zijn op dezelfde manier gebouwd.
-

-


Met Logo kan men eenvoudige besturingen doen.
Helaas is de sturing van de centrale verwarming
te complex voor deze eenvoudige blokken.


Een niet-uitbreidbare PLC
met enkel digitale in- en uitgangen (PLR)

Keuze: PLC of computer

Een PLC is een Programeerbare Logische Controller. Het is een soort computer die speciaal gemaakt is om processen te besturen.

Een assemblagefabriek gebruikt PLC's om de band te doen lopen, een installatie om koekjes te vormen en te bakken eveneens. Verschillende PLC's sturen de werking van een hoogoven of van een chemische reactor.

Een PLC werkt standaard op bit-niveau, terwijl een normale computer met woorden van 64 bits werkt. Met een normale computer is het mogelijk de individuele bits van een woord aan te spreken, maar het maakt alléén het programma trager en complexer.

De grootste leverancier van PLCs is Siemens en hun gamma is zeer uitgebreid: van de logo-blokjes tot de S7-400 die in de industrie gebruikt wordt. De logo-blokjes worden vooral door (gevorderde) electriciens gebruikt om speciale funkties te programmeren, maar een belangrijke markt is ook de hobby-markt. Met Logo kan men opeenvolgende handelingen eenvoudigweg programmeren (delays, AND/OR poorten, flankdetectie, delers,...). Men kan er zelf eenvoudige processen mee sturen. Soms gebruikt men de benaming PLR (Programmable Logic Relay).

Sturen en regelen

Het sturen van processen is een relatief eenvoudige taak: de software controleert de stand van schakelaars en van sensoren en schakelt motoren en actuatoren aan of uit. Eigenlijk is hier zelfs geen PLC nodig, maar volstaat een PLR of een Logo! systeem (de moderne versie van de schakelkast vol timers en relais).

Van zodra er geregeld moet worden (temperatuur, druk, concentratie, viscositeit, enz) moet men overschakelen op een PLC die analoge ingangen heeft.


Een PLC van Siemens: dezelfde algemene vorm

Hoe werkt een PLC?

Zoals een klassieke computer voert een PLC een programma uit. De cyclustijd bestaat uit drie delen:
  • Het inlezen van alle inputs, zowel analoog als digitaal. De waarden worden weggeschreven op vastgelegde geheugenplaatsen. Adressering is mogelijk op bit-niveau. Als een input verandert blijft de waarde in het geheugen echter constant gedurende de volledige lus. Omdat de inputs geheugenplaatsen zijn, kunnen deze veranderd worden door het programma. Dit wordt bijvoorbeeld gedaan in noodbedrijf als een sensor of schakelaar defekt is.

  • Het uitvoeren van het programma. Het programma bestaat uit verschillende soorten instructies: vergelijkingen, berekeningen, logische funkties, het opslaan van waarden op geheugenplaatsen, en dergelijke. Het programma kan ook sprong-instrukties bevatten en zelfs lussen. Het programma bekijkt de input-waarden, voert de nodige funkties uit en schrijft output-waarden op speciale geheugenplaatsen. Opgeslagen waarden kunnen opgevraagd worden bij een volgende lusdoorgang.

  • Het zetten van de outputs aan de hand van wat er in de specifieke geheugenposities staat. De outputs worden enkel aangepast tijdens deze fase, niet op het ogenblik dat het programma de geheugenposities wijzigt. Door alle lees- en schijf opdrachten in één keer uit te voeren kan de PLC sneller werken en de waarde kan niet veranderen halverwege het programma (dit kan heel moeilijk te achterhalen fouten veroorzaken).
Zolang de PLC in werking is wordt het programma uitgevoerd. Het is echter niet zo dat de machine automatisch gestart wordt als de PLC gestart wordt: vaak moet men een START-knop drukken (voor de veiligheid).

De PLC wordt verder gecontroleerd door een monitor-programma, die onder ander de cyclustijd in de gaten houdt. De beschikbare cyclustijd is geprogrammeerd, en als die overschreden wordt, wordt er een speciale routine uitgevoerd (bijvoorbeeld om de machine veilig te stoppen). Een cyclustijd duurt een paar milliseconden, naargelang de snelheid van de PLC en de complexiteit van het programma. Deze tijd kan verschillen van lus tot lus, naargelang de instructies die wel of niet uitgevoerd worden.

Programmeren van de PLC

Het programmeren van de PLC gebeurt meestal via een computer waarop speciale software draait die de interface maakt tussen de PLC en de programmeur. Er wordt gecommuniceerd via RS-232 (serieel) of via een eigen protocol. Vaak is er een interface-kaart nodig in de computer. De communicatie is in twee richtingen, dat wil zeggen dat de status van de poorten zichtbaar is op de computer.

Er zijn meerdere programmeertalen (naargelang de PLC zijn er één of meerdere talen mogelijk):

  • Het ladderdiagram lijkt op het schakelplan van de electricien met relais-contacten, tijdschakelaars en dergelijke. Niet alle mogelijkheden van de PLC kunnen voorgesteld worden met een ladderdiagram.

  • De funktieblokken lijken op het schema van de electronicus met poorten, flip-flops, enz. Wat er met een ladderdiagram geprogrammerd wordt, kan ook weergegeven worden met functieblokken, maar het omgekeerde is niet waar.


    Drie voorstellingen van dezelfde instructies in ladderdiagram, funktieblok diagram en instruction list

  • De instruction list komt overeen met assembler-taal: de taal om de machine-instructies te genereren. Deze taal moet dus niet meer omgezet worden en alle mogelijkheden van de PLC zijn hier aanwezig. De assembler-taal is echter bijzonder onduidelijk (het mist struktuur en je ziet niet wat een blok doet).

  • Een hogere programeertaal, vaak afgeleid van Pascal of C++. De kode moet omgezet worden in machinetaal (compilatie) vooraller het naar de PLC gestuurd kan worden.

Human Machine Interface

Nieuwere displays werken onder een windows versie (embedded) en ondersteunen nagenoeg alle grafische opdrachten (tekenen van vensters, van kaders, van drukknoppen, enz).

De software reageert op "touch" events en er is een communicatie in twee richtingen tussen PLC en display. Een variabele heeft dezelfde naam in de PLC en het display en met het display kan je de waarde wijzigen door middel van touch-opdrachten (Totally Integrated Automation).

De programemertaal van het display lijkt op C++/java met scripts die uitgevoerd worden bij events.

Een touch panel is een dure aangelegenheid voor een modale gebruiker die enkel zijn verwarming wilt sturen. Een display is niet echt nodig, maar dan mis je een aanduiding van de temperaturen en andere verwarmingsparameters. Zelfs intelligente ruimtethermostaten hebben een display (huidige en gewenste temperatuur en klokfunktie).

Vaak zijn er zoveel parameters die ingesteld kunnen worden (dag/weekprogramma met override,...) dat een uitgebreide interface nodig is. Dit maakt een PLC-gestuurde verwarming een heel dure aangelegenheid.

Vroeger werd er op school een basiscursus boleaanse algebra gegeven. Dit was zeer saaie materie (het was een onderdeel van de lessen wiskunde).

Tegenwoordig wordt boleaanse algebra getoetst met een ladder diagram (grafische voorstelling van de schakeling), wat toch leuker is (en achteraf kan de logica getest worden als de school over een PLC beschikt).

Aan de opgave merk je dat Siemens een standaard geworden is wat betreft PLCs: OB1 en FC1 zijn namen die je altijd zal terugvinden in de PLCs van Siemens.

Op de pagina over de centrale verwarming staan de voor- en nadelen van een PLC ten opzichte van een computer.

Een dubbele PLC van Siemens (Siemens Simatic) met analoge ingangsmodules SM331 en digitale uitgangsmodules SM321. We zien ook optocouplers die als schakeltransistoren werken en geïsoleerde analoge modules. Het signaal op de ingang wordt omgezet in een digitaal signaal, overgezet via een optocoupler en dan opnieuw omgezet in een analoog signaal.

De automaat ontvangt verschillende geïsoleerde analoge signalen (temperaturen, drukken, snelheden,...) omgezet in electrische signalen door omzetters. De automaat verwerkt de signalen volgens een programma en stuurt de kleppen, pompen en andere machines via de digitale uitgangen.

Publicités - Reklame

-