Vervolg Eerste blad niet afdrukken. Document eindigen op een even pagina. Versie: vrijdag 2 november 2007 VRIJ TECHNISCH INSTITUUT 2 Programmable Logic Controller Een Programmable Logic Controller is een elektronisch apparaat met een microprocessor dat op basis van de informatie op zijn diverse ingangen, zijn uitgangen aanstuurt. In de industrie worden machines over het algemeen aangestuurd met PLC's en die zijn daarmee een belangrijk onderdeel in de automatisering. De PLC verwerkt de informatie aan de ingangen en stuurt hiermee de uitgangen. In een eenvoudig blokschema kan men de PLC als volgt voorstellen. Ingangsdeel Verwerkingsdeel VERWERKING INGANGEN van het programma door de CPU Uitgangsdeel. UITGANGEN Deze indeling komt verder in de cursus terug als we de bestanddelen van de PLC bespreken. 2.1 Werking van de PLC Om de informatie van de ingangen te verwerken naar de uitgangen toe, doorloopt de PLC intern voortdurend een voorgeprogrammeerde cyclus. De PLC leest de status van de ingangen in, verwerkt deze ingangen volgens een bepaalde programmering (programma). Na de uitvoering van het programma wordt de status van de uitgangen aangepast aan de resultaten van het programma. De cyclus is beëindigd en begint automatisch van vooraf aan met het inlezen van de ingangen. Een cyclus van een PLC duurt enkele milliseconden, daardoor kan een PLC schijnbaar vele dingen tegelijk doen. Ingangen PII Programma verwerking: Regel na regel PIQ PLC CYCLUS Uitgangen PII : Proces Input Image = de status van de ingangen wordt bewaard in het geheugen. Er wordt als het ware een foto gemaakt van de status van de ingangen. PIQ : Proces Output Image = de status van de uitgangen wordt bewaard in het geheugen. Het programma wijzigt de status van de uitgang in dit geheugen. Na het doorlopen van het programma worden de uitgangen aangepast aan de hand van dit geheugen. Toegepaste Informatica 29 VRIJ TECHNISCH INSTITUUT 2.2 Bestanddelen van een PLC INGANGEN = INPUT Voeding CPU SF BA F SIEMEN S DC5V FRCE DC24V RUN STOP Voltage selector UITGANGEN = OUTPUT IO RUN-P RUN 0 0 1 1 2 2 3 4 3 4 5 5 6 7 6 7 0 0 1 1 2 2 3 4 3 4 5 5 6 6 7 7 ON OFF STOP MRES Programmeertoestel VELDBUS = Seriële verbinding met andere periferie Informatie over de installatie d.m.v.: - schakelaar - drukknop ultrasoonsensor - druksensor - optische sensor - inductieve sensor Sturen van de installatie d.m.v.: - (signaal)lamp - relais - elektroventiel - contactor - toeter - inductieve sensor 2.2.1 Voeding: De meeste PLC's hebben een spanning nodig van 24V DC. Deze spanning wordt veelvuldig gebruikt in industriële installaties omdat het een veilige spanning is. De meeste sensoren en actoren zijn dan ook ontworpen voor deze spanning. De PLC dus ook. Sommige PLC's kan men uitrusten met een modulaire voeding, de voeding past dan op dezelfde montagerail als de PLC en kan via speciale hulpstukken rechtstreeks aangesloten worden. Dit is echter niet noodzakelijk, men kan evengoed een externe voeding gebruiken en deze 24V aan de PLC aansluiten. 30 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT 2.2.2 CPU-module: De CPU is de eigenlijke PLC. Zoals de naam het zegt bestaat deze module uit een processor die voor de verwerking van het programma zorgt. Naast de processor bestaat de CPU nog uit: ● Het programma geheugen, meestal een niet vluchtig of batterij gebufferd geheugen dat zorgt voor de opslag van het programma. ● De verschillende accumulator geheugens die zorgen voor de tijdelijke opslag van de tussenresultaten. ● Het Process Input Image (PII)en het Process Output Image bevat respectievelijk de data van de ingangen en de data van de uitgangen. De CPU verwerkt deze data. ● Een systeem programma dat zorgt voor het opstarten, controleren van de PLC. Dit programma is opgeslagen in ROM-geheugen. ● Een interface aanpassing die zorgt voor data uitwisseling tussen de verschillende I/O-modules en het input/output-image geheugen. Interne communicatie van de PLC: de data uitwisseling tussen de CPU-module van PLC en de verschillende I/O-:kaarten. PLC-RACK PIQ ROM register CPU-module Ingangsgeheugen Ingangsgeheugen Buskoppelkaart 011010011101100010110010100111010 Blokschema van een modulaire PLC. CVE CPU Uitgangsgeheugen PII register IOIIOOIOIOOIIIOOIIOIIOOI Uitgangsgeheugen CVE CPU Accumul ator Ingangsgeheugen geheugen Controle logica Uitgangsgeheugen Program ma IO module Individuele in- en uitgangen 2.2.3 IO Modules: IO staat voor input/output. De eigenlijke in- en uitgangskaarten van de PLC. o Op de ingangskaarten worden de ingangssignalen aangesloten. Deze komen van de sensoren. Meestal werken deze op 24V gelijkspanning. Elke ingang is 1bit. o Er bestaan ook analoge ingangskaarten deze vertalen dan een waarde van een spanning of stroom naar een getal deze informatie wordt dan vertaalt naar 8 tot 16 bit informatie. Één ingang is dan bijvoorbeeld 16bit = een woord. o Hetzelfde kan men vertellen over de uitgangssignalen. De uitgangen schakelen dan afhankelijk van de informatie 24V of 0V. De aangesloten verbruiker treedt dan in werking of juist niet. Dit kunnen lampjes zijn, ventielen ,relais, … o Evenals bij de analoge ingangen bestaan er ook analoge uitgangen. Met 8 of 16 bit data kan je dan een spanning laten variëren tussen 0 en 10V bijvoorbeeld. Toegepaste Informatica 31 VRIJ TECHNISCH INSTITUUT 2.2.4 Het programmeertoestel. De PLC moet geprogrammeerd worden met een programmeer toestel. Meestal is dit een laptop met speciale software. Met deze software wordt het programma van de PLC naar de laptop verzonden of omgekeerd. De programmering van de PLC kan dan worden zichtbaar gemaakt in een bepaalde programmeertaal en kan aangepast worden door de programmeur. 2.2.5 De HMI. Complexere installaties met PLC, maken gebruik van een grafische visualisatie die de toestand van het automatische proces weergeeft. Deze visualisatie gebeurt op een speciaal (kleuren)scherm. De bediener kan eveneens via deze weg het proces aanpassen, besturen. Zulk een interface tussen mens en machine wordt HMI genoemd of Human Machine Interface. Deze HMI’s zijn dikwijls uitgerust met een PC. Voorbeeld van een HMI De PC is duidelijk zichtbaar bij deze HMI. 2.2.6 Externe modules. Door middel van een seriële verbindingen kunnen externe modules aan de PLC gekoppeld worden. Dit kunnen IO-modules zijn net zoals de IO-modules van de PLC zelf. Dit kunnen ook speciale modules zijn of zelfs andere sturingen. Frequentie regelaars, robotsturingen, lassturingen, andere PLC's of andere processturingen. 32 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT 2.3 PLC types In het voorbeeld bij de werking van de PLC is er een traditionele, modulaire PLC gebruikt. Men heeft verschillende soorten e PLC's in verschillende categoriën stoppen. 2.3.1 Traditionele PLC's Traditionele PLC's hebben een eigen processor met eigen geheugen en hebben enkel een voedingsspanning nodig om te kunnen functioneren. Deze hardware is speciaal ontworpen door de PLC-fabrikant. Door het beperkt markt segment t.o.v. van andere toestellen vb PC's, zijn deze PLC's in verhouding vrij duur. Meestal zijn deze PLC's modulair opgebouw zodat uitbreiding via bijkomende modules mogelijk is. De CPU module zelf heeft geen IO, er moeten dus IO modules gekoppeld worden. Bij de modulaire PLC's heeft men compact modulaire PLC's en grote Rack PLC's. Een 'grote' Rack PLC. Op de afbeelding zie je alleen het Rack met de voeding. In dit rack wordt één of meerdere CPU's gestopt en de verschillende IO modules. Dit type PLC wordt gebruikt voor grote installaties. Verbinding van de CPU met de IOmodules gebeurt parallel. De compacte PLC, is ook modulair. Op de afbeelding zie je van links naar rechts een voedingsmodule, een CPU module en 3 IO modules. De verbinding tussen de modules gebeurt serieel. Er bestaan ook PLC's die al een beperkt aantal in en uitgangen aan boord hebben. Binnen één behuizing heeft men zowel de CPU module, als een aantal in en uitgangen. Soms zijn deze PLC's zelfs rechtstreeks aansluitbaar aan de netspanning. Ondanks dat deze PLC's alles in één behuizing hebben, zijn de meeste van dit type PLC's toch nog beperkt uitbreidbaar. Toegepaste Informatica 33 VRIJ TECHNISCH INSTITUUT 2.3.2 De SLOT PLC Een slot PLC is een PLC met eigen processor en geheugen. De PLC is echter gebouwd als insteekkaart voor een PCI-slot van een PC. Vandaar ook de naam SLOT PLC. Natuurlijk kunnen de IO modules niet op deze kaart voorzien zijn. Voor de verbinding met de periferie wordt gebruik gemaakt van externe IO modules die via een veldbussysteem verbonden zijn met de PLC. Via de verbinding met de computer, de PLC steekt namelijk in bijvoorbeeld een PCI slot van een computer, kan er allerhande data uitgewisseld worden. Zo kan de PLC bijvoorbeeld dan geprogrammeerd en gemonitord worden via de PC waar hij insteekt. 2.3.3 De SOFT PLC Nog een stapje verder in de ontwikkeling is de SOFT PLC. De soft PLC heeft geen eigen hardware meer. En maakt voor de verwerking van het PLC-programma gebruik van de processor van de PC zelf. Het gedrag van de PLC wordt dan bepaald door Software vandaar SOFT-PLC. Om te kunnen communiceren met de periferie wordt net als bij de SLOT-PLC gebruik gemaakt van externe modules die via een veldbus systeem verbonden worden met de PC. De PC moet dus wel een kaart hebben om te kunnen communiceren via het veldbussysteem. Er zijn zelfs al veldbussen gebaseerd op het ethernet. Bij die systemen is een gewone netwerkkaart zelfs voldoende. Door gebruik te maken van een SLOT- of een SOFT-PLC kan men verschillende toestellen gaan combineren. Zo kan bijvoorbeeld de HMI, die in feite een PC is ook gebruikt worden als PLC zelf. 34 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT 2.4 Programma verwerking van de PLC Om een PLC te kunnen programmeren is het belangrijk te weten hoe de CPU van de PLC het programma verwerkt. 2.4.1 De PLC-cyclus Onderstaande figuur geeft de meest voorkomende PLC-cyclus grafisch weer. In deze cyclus zie je wat er juist gebeurt en in welke volgorde. Nieuwe start PIQ-register wordt op ‘0’ gezet Uitgangen worden op ‘0’ gezet Starten cyclustijdbewaking Ingangen PII-register wordt ingelezen. Programma (MAIN) Instructie 1 Instructie 2 Instructie 3 Instructie 4 Instructie 5 Laatste instructie PIQ-register wordt overgedragen naar de uitgangen. Uitgangen We onthouden: De toestand van de ingangen wordt in het Proces Image Input geheugen geplaatst Het programma wordt instructie per instructie in volgorde verwerkt, te beginnen met het hoofdprogramma. Het Proces Image Output geheugen bepaald de toestand van de uitgangen. Toegepaste Informatica 35 VRIJ TECHNISCH INSTITUUT 2.4.2 Adressering in een PLC. In het PLC programma worden de ingangsinformatie – meestal ingangen – verwerkt naar uitgangsinformatie – meestal uitgangen. De ingangsinformatie en de uitgangsinformatie word via een bepaalde adressering aangesproken. Het principe van deze adressering wordt bij alle types PLC gebruikt. In de adressering wordt er eerst en vooral een onderscheid gemaakt tussen ingangsinformatie, uitgangsinformatie en geheugeninformatie. Het ingangsbereik van de PLC wordt aangesproken met I van Input. Het uitgangsbereik van de PLC wordt aangesproken met Q van Output. Mijn schrijft niet O omdat dit verwarring kan geven met het cijfer 0. Het cijfer 0 wordt ook gebruikt in de adressering vandaar. Het geheugenbereik van de PLC wordt aangesproken met M van marker. Dit merkergeheugen dient voor de opslag van tussentijdse resultaten in het programma. Elke van deze bereiken zijn opnieuw ingedeeld en kan men per bit of per byte aanspreken. Het byte adres begint vanaf 0 en gaat zo verder, in elke byte kan elke bit apart aangesproken worden. In een byte zijn er 8 bits. Bij de adressering wordt dit eerste bit via adres 0 en de 8ste bit met adres 7 aangesproken. Naar analogie met de binaire logica. Welk adres je juist moet aanspreken om bijvoorbeeld de status van een bepaalde ingang in te lezen is afhankelijk van de PLC configuratie. Om een bepaalde ingangsbit aan te spreken gebruikt men bijvoorbeeld volgend adres. I 124.3 Bit adres Byte adres Is afhankelijk van het soort module, Is afhankelijk van PLC configuratie. Het bereik : - I : Ingangsbereik - Q : Uitgangsbereik - M : Merkerbereik Als je een bit aanspreekt kan deze dus maar twee waarden aannemen nl 0 of 1 Meestal komt status '0' van een ingang of uitgang voor westerse PLC's overeen met 0V aan de ingang of aan de uitgang. Status '1' komt overeen met 24V aan de ingang of uitgang. Afhankelijk van programmeertaal en PLC die men gebruikt spreekt men voor status '1' ook van True, Waar, H. Bij status '0' van False, onwaar, L. Het is ook mogelijk per byte, woord of zelfs dubbel woord te adresseren. Het adres zelf blijft meestal een byte aanwijzing. 36 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT Enkele voorbeelden ter verduidelijking IB124 => met deze adressering spreekt men I124.0 tot en met I124.7 aan. De waarde van dit BYTE-adres is dan geen BOOL meer (0)2 of (1)2, maar een integer getal dat kan variëren tussen (0)10 en (255)10 Een instructie zou kunnen zijn IB124=0 Hiermee worden dan I124.0 tot en met I124.7 laag gemaakt. IW124 => met deze adressering spreekt men I124.0 t.e.m. I124.7 en 125.0 t.e.m. 125.7 aan. IDW124 => met deze adressering spreekt men I124.0 t.e.m. I124.7, I125.0 t.e.m. I125.7, I126.0 t.e.m. I126.7,en 127.0 t.e.m. 127.7 aan. 2.4.2.1 Symbolische adressering Om dat de adressering via byte en bit adres niet veel zegt over de aangesloten sensor of actuator wordt bij de programmering van een PLC bijna altijd gebruikt gemaakt van een symbolische adressering. In plaats van het adres, wordt dan een symbolische naamgeving gebruikt. De bedoeling van deze naamgeving is het signaal dat in het programma verwerkt wordt een herkenbare naam te geven zodat de functie van het signaal duidelijk is. Op die manier wordt het programma beter leesbaar zonder dat men allerhande toekenningslijsten moet gebruiken. In een toekenningslijst staat bijvoorbeeld welke sensor is aan gesloten aan welke ingang. Bij de hedendaagse PLC's kan men deze lijst op een of andere manier ingeven. Zodat in het programma niet het adres maar de symbolische naam staat. Bij de symbolische naamgeving moet men wel letten dat het nog steeds duidelijk is wat het signaal behelst. Stel men stuurt een pneumatische cilinder via de PLC. Via twee sensoren wordt de positie van de cilinder teruggemeld naar de PLC. De functie van de pneumatische cilinder is het klemmen van het werkstuk. Op het pneumatische schema noemt deze cilinder B Het mono-stabiel ventiel is aangesloten aan Q124.2 en de sensoren aan I124.2 en 124.3 Een goede naam voor de Q124.2 is U_KLEM_WERKSTUK. Voor de ingangen I124.2 gebruik je de naam I124.3 . Toegepaste Informatica I_WERKSTUK_VAST I_WERKSTUK_LOS 37 VRIJ TECHNISCH INSTITUUT 2.4.2.2 Variabelen lijst Bij het type PLC dat wij gebruiken is het niet mogelijk om de ingangen, uitgangen of merkers rechtstreeks te adresseren. Er moeten symbolische namen gedeclareerd worden die aan een bepaald fysisch adres gelinkt worden. Bij het kiezen van een naam voor een variabele moet men er rekening mee houden dat slechts de eerste 32 tekens van belang zijn d.w.z. dat er in de eerste 32 tekens een verschil moet zijn tussen de variabelen. Spaties en andere speciale tekens zijn niet toegelaten in de variabele naam. De underscore is wel toegelaten. Zowel kleine als hoofdletters zijn toegelaten er wordt echter geen onderscheid gemaakt. D.w.z. Test is dezelfde variabele als TEST. Bepaalde sleutelwoorden zoals BOOL , INT, AND, enz. zijn niet toegelaten. Toegelaten karakters zijn dus: a-zA-Z en 0-9 en _ Variabele toekennen als fysisch adres. In dit voorbeeld wordt getoond hoe een fysisch adres wordt samengesteld. Na de variabele naam begint het fysische adres. Het fysische adres begint met “AT” en eindigt met “:”, daartussen bepaalt men 3 dingen: U_LAMP AT %QX0.3:BOOL; de conversie. het byte/bit adres van de informatie: ➔ Bit adres = 20.3 ➔ Byte adres t.e.m.18.7) ➔ Woord adres = 10 (byte 10 en 11) = 18 (bit 18.0 de grootte van de informatie: ➔ Bit= X ➔ Byte (8bit) =B ➔ Woord (16bit) =W ➔ Dwoord(32bit) =D het type van informatie: ➔ Ingang = %I ➔ Uitgang = %Q ➔ Merker = %M de symbolische naam of variabele naam 38 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT In het onderstaand schema zie je de syntax regels voor de variabele definitie van een fysisch adres. Variabele toekennen als intern adres. Bij het toekennen van een intern adres wordt alleen de variabele naam aangemaakt en dan tussen de “:” en “;” wordt de grootte van de variabele bepaald. Toegepaste Informatica BOOL = 1 bit BYTE = 8 bits INT = 16 bits WORD = 16 bits DWORD = 32 bits REAL = 32bits TIME = Timer variabele STRING = reeks karakters 39 VRIJ TECHNISCH INSTITUUT Toegang tot variabele kiezen. Je kunt de variabele bekend maken onder 5 verschillende groepen. In de oefeningen die wij maken is het belangrijk dat wij de variabelen altijd globaal declareren. 1. VAR_GLOBAL = De variabele is bekend in het hele PLC-project. 2. VAR = De variabele is alleen lokaal bekend. 3. VAR_INPUT = Als ingangsvoorwaarde voor Functiebouwsteen. 4. VAR_OUTPUT = Als uitgangsvoorwaarde voor Functiebouwsteen. 5. VAR_IN_OUT = VAR die zowel geschreven als gelezen worden, alleen bij een Functiebouwsteen (FB) LOKALE VAR. GLOBALE VAR. 40 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT 2.4.3 Programmeertalen. Voor de programmering kan men kiezen uit verschillende programmeertalen. De keuze van programmeertaal is afhankelijk van de toepassing. Ook de voorkennis en opleiding van de programmeur bepaalt dikwijls de keuze van programmeertaal. Elke programmeertaal heeft zijn voordelen en nadelen: 2.4.3.1 FBD = Function block diagram Het functionblockdiagram is een programmeertaal gebaseerd op de logische bouwstenen van de elektronica. Voordelen: – gestructureerde en logische opbouw – met een basis kennis van de logische bouwstenen kan men al programmeren – Nadelen: – door de grafische weergaven neemt dit nogal veel ruimte in beslag op het scherm of op papier. – voor complexe bewerkingen moet men terug vallen op andere programmeertalen 2.4.3.2 LD = ladder Het ladderdiagram is gebaseerd op de elektrische schema's. Bij de omschakeling van de relaistechniek naar PLC, kan men bijna rechtstreeks de elektrische schema's als PLC programma gebruiken. Voordelen: – laagdrempelige programmatie eenvoudig leesbaar. – elektrische schema's kunnen bijna direct als plc-programma gebruikt worden. – De programmering is onmiddellijk herkenbaar bij ander type PLC's. Nadelen: – door de grafische weergaven neemt dit nogal veel ruimte in beslag op het scherm of op papier. – voor complexere bewerkingen moet men terug vallen op andere programmeertalen Toegepaste Informatica 41 VRIJ TECHNISCH INSTITUUT 2.4.3.3 IL = Instruction list De programmering via de instructies van de instructie lijst doet denken aan de het programmeren van CPU in assembler. Dit is de basis programmeertaal van de PLC. Elke programma van gelijk welke programmeertaal kan vertaal worden naar deze programmeer taal. Voordelen: – Alles wat geprogrammeerd kan worden met een PLC, kan via deze taal geprogrammeerd worden. – Elke programmalijn is zeer kort, waardoor deze taal geschikt is om een PLC te programmeren via een handprogrammeer-toestel met een klein display. Sommig PLC's zijn uitgerust met een klein display van enkele karakters breed. Dit is al voldoende om een PLC programma in IL weer te geven. Nadelen: – ondanks de vrij eenvoudige instructieset is dit toch een moeilijke programmeertaal omdat sommige functies uit een heleboel instructies bestaan. – De structuur van het programma, het overzicht gaat zeer snel verloren. 2.4.3.4 ST = Structured text Iedereen die een hogere programmeertaal zoals Basic, C enz. gebruikt heeft; kan deze programmeertaal vlot gebruiken. Het grote verschil tussen een PLC programma in structured text en een programma in hogere programmeertaal is dat bij de PLC het programma elke cyclus opnieuw gestart wordt en bij een andere toepassing het programma pas het einde bereikt als het programma gedaan is. Via deze programmeertaal is het dan ook mogelijk om lussen te programmeren daar waar dit bij de andere programmeertalen moeilijker is. Als het programma in een ondeindige lus komt, zal de PLC door de cyclustijd bewaking in storing vallen. Voordelen: – Alles kan geprogrammeerd worden in deze programmeertaal – Het programma is beter leesbaar dan IL – Complexe bewerkingen kunnen compact geschreven worden. Nadelen: – Door foute programmering is het mogelijk te PLC in storing te laten vallen. – Een kennis van hogere programmeertaal is noodzakelijk. 42 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT 2.4.3.5 SFC =Sequential Function chart De SFC programmeertaal is speciaal ontworpen voor sequentiële programmering. Daar waar er een bepaalde volgorde is in het aansturen van actuatoren, is de SFCprogrammeertaal geschikt. Voordelen: – de oplossingsmethode 'grafcet' kan rechtstreeks geprogrammeerd worden. Er is geen omvorming nodig naar LD, FBD of IL. – Dit is een zeer grafische methode en overzichtelijke methode om een sequentie te programmeren – De programmering is vrij eenvoudig. Nadelen: – niet alle PLC's kunnen deze programmeertaal rechtstreeks verwerken. 2.4.4 Gestructureerd programmeren Vanuit het systeemprogramma in ROM zal de PLC een programma starten nadat de ingangen in het PII zijn ingelezen. Dit is steeds hetzelfde programma. Bij de S7-300 PLC van siemens noemt dit programma OB1 (organisatie bouwsteen 1). In de BeckHoff PLC noemt dit programma MAIN. Nadat het programma volledig uitgevoerd is, zal het PIQ register naar de uitgangen geschreven worden. En de cyclus begint opnieuw. De meest eenvoudige manier van programmering is gewoon de programma regels in het programma OB1 of MAIN te programmeren. Als het programma complexer begint te worden volstaat dit niet. Voor de leesbaarheid van het programma en voor de uitvoeringstijd moet het programma opgedeeld worden in deel programma's. Het heeft geen zin dat bepaalde programmaregels die niet moeten uitgevoerd worden, de handbediening in bedrijfsmode automatisch bijvoorbeeld, toch elke cyclus allemaal verwerkt worden. Ook als je verschillende programmeertalen wenst te gebruiken ben je verplicht om met verschillende programma's te werken. Je kan immers maar één programmeertaal gebruiken binnen één programma. Deze deel programma's worden dan opgeroepen vanuit het hoofdprogramma. (OB1of MAIN) In principe worden alle instructies na elkaar uitgevoerd in de volgorde zoals de programma regels gelezen worden. De PLC begint in MAIN op regel 1, en voert instructie per instructie uit. Wordt er met de instructie een ander programma opgeroepen dan worden de instructies van dat programma uitgevoerd. Na de laatste instructie van het opgeroepen programma gaat de PLC verder waar hij het programma in de eerste plaats verlaten had. Dit gaat zo verder tot de laatste regel van het hoofdprogramma is bereikt. Dan worden de uitgangen geschreven aan de hand van het PIQ register en de cyclus begint van vooraf aan opnieuw. Toegepaste Informatica 43 VRIJ TECHNISCH INSTITUUT Het figuur toont schematisch, een voorbeeld van gestructureerd programmeren. MAIN() start Programma begin Netwerk 1 CALL Subr.8 Netwerk 2 CALL Subr.5 ‘ ‘ ‘ Netwerk n Instructie n Subroutine 8 Programma begin Subroutine 10 Programma begin Netwerk 1 Call subr.10 Netwerk 2 Instructie 2 ‘ ‘ Netwerk 13 ‘ Call subr 10 Netwerk n Instructie n Netwerk 1 Instructie 1 Netwerk 2 Instructie 2 ‘ ‘ ‘ Netwerk n Instructie n Programma einde Programma einde Subroutine 10 Programma begin Programma einde Subroutine 5 Programma begin Netwerk 1 Instructie 1 Netwerk 2 Call subr 10 ‘ ‘ ‘ Netwerk n Instructie n Programma einde Netwerk 1 Instructie 1 Netwerk 2 Instructie 2 ‘ ‘ ‘ Netwerk n Instructie n Programma einde Subroutine 10 Programma begin Netwerk 1 Instructie 1 Netwerk 2 Instructie 2 ‘ ‘ ‘ Netwerk n Instructie n Programma einde 44 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT Om zo een programmastructuur op te stellen beschikt men over verschillende types van programma’s. Bij de beckhoff PLC zijn deze als volgt ingedeeld. Programma (POU): Oproepen van andere functieblokken en programma’s. Onthoudt de status van de lokale variabelen tot de volgende PLC-cyclus. Oproepen van het programma gebeurt door de PLC-taak. Functieblok: • Oproepen van andere functies en functieblokken. • Onthoudt de status van de lokale variabelen tot de volgende PLC-cyclus. • Gebruikt programmacode voor het oproepen van FB’s. Function : • Heeft geen intern geheugen. • Heeft exact 1 uitgang. • Niet meer, niet minder. 2.4.5 Programma's documenteren Via de symbolische benamingen en door gestructureerd te programmeren kan men een programma verduidelijken en leesbaar maken. Men kan programma's bijkomend verduidelijken door de naam van het programma zelf zo te kiezen dat deze iets zegt over de functie van het programma. Programma 'HAND' en 'AUTO' voor respectievelijk de handbediening en automatische bedrijfsmode van een machine. Verder is meestal mogelijk om programma's en programmaregels te commentariëren. Dit is heel belangrijk niet alleen voor collega's die het programma ook moet kunnen lezen en aanpassen, maar ook voor jezelf. Als je lange tijd niet meer aan een bepaald programma bezig bent geweest en je moet iets aanpassen dan is het interessant als je aan de hand van de commentaar in het programma snel terug vind hoe het programma in elkaar zit. Toegepaste Informatica 45 VRIJ TECHNISCH INSTITUUT 46 Toegepaste Informatica VRIJ TECHNISCH INSTITUUT 2.5 Doelstellingen. 1. Het verband tussen ingangsinformatie en uitgangsinformatie in de PLC kunnen geven. 2. Kort de algemene werking van de PLC kunnen geven. 3. De verschillende componenten van een traditionele PLC kunnen geven. En beknopt de functie kunnen omschrijven. 4. Een blokschema van de PLC kunnen toelichten. 5. De functie van een HMI kunnen beschrijven. 6. De functie van het programmeertoestel kunnen omschrijven. 7. De verschillende type's van PLC's kunnen opnoemen en beknopt kunnen omschrijven. 8. De belangrijkste bouwstenen de CPU en hun functie kunnen opnoemen. 9. Een PLC-cyclus kunnen omschrijven. 10. Algemeen de adressering van een PLC kunnen toelichten. 11. Het verschil tussen bits gewijze, bytes gewijze adressering kunnen uitleggen. 12. Het doel van symbolische adressering kunnen uitleggen. 13. Goede symbolische adressering gebruiken. 14. Weten wat een toekenningslijst is en het doel hiervan verklaren. 15. Een variabele lijst kunnen samenstellen voor gegeven in en uitgangen. Hierbij een juiste benaming kiezen voor de signalen en de juiste syntax volgen. 16. Het verschil tussen globale en locale variabele declaratie kennen en toelichten 17. De belangrijkste programmeertalen kunnen opnoemen. 18. De FBD programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen toelichten. 19. De LD programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen toelichten. 20. De IL programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen toelichten. 21. De ST programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen toelichten. 22. De SFC programmeertaal kunnen toelichten en de voor en nadelen ervan kunnen toelichten. 23. Kunnen uitleggen wat met gestructureerd programmeren bedoelt wordt. 24. Kunnen verklaren waarom gestructureerd programmeren nodig is. 25. 5 middelen kunnen geven om een programma leesbaar te maken. 26. De afkortingen PLC, PII, PIQ, HMI, CPU, CVE, ROM, IL, LD, SFC, FBD, ST kunnen verklaren. Toegepaste Informatica 47 VRIJ TECHNISCH INSTITUUT 48 Toegepaste Informatica