KENNISMAKING MET BECKHOFF PLC EN TWINCAT OPLEIDING TAS/PLC TECHNICUS AANDRIJFSYSTEMEN PROGRAMMEERBARE LOGISCHE CONTROLLERS CENTRUM VOOR VOLWASSENENONDERWIJS SINTE ANNALAAN 99 B BEBE-93009300-AALST M. BONNER INHOUD HOOFDSTUK 1 ALGEMEENHEDEN. .....................................................................................................3 1.1 Klassieke besturingen. ...................................................................................................................3 1.2 Programmeerbare besturingen. .....................................................................................................4 1.3 Blokschema....................................................................................................................................5 1.4 Soorten PLC’s. ...............................................................................................................................6 HOOFDSTUK 2 BECKHOFF HARDWARE. ............................................................................................7 2.1 Samenstellen van een PLC configuratie. .......................................................................................7 2.2 Beckhoff busklemmen of modules als universele bouwstenen......................................................8 2.3 Aansluiten van een Beckhoff PLC................................................................................................13 2.4 Aansluiten van de PLC op het bussysteem..................................................................................14 2.5 RESET naar fabrieksinstellingen..................................................................................................16 HOOFDSTUK 3 DIGITALISERING. .......................................................................................................17 3.1 Informatieverwerking. ...................................................................................................................17 3.2 Digitaliseren van een analoog signaal..........................................................................................18 3.3 Digitaliseren van een decimaal getal............................................................................................19 3.4 Talstelsels. ...................................................................................................................................19 3.5 Voorstelling van variabelen. .........................................................................................................21 3.6 Programmeren. ............................................................................................................................23 HOOFDSTUK 4 BECKHOFF SOFTWARE............................................................................................25 4.1 KS2000.........................................................................................................................................25 4.2 Beckhoff Information System. ......................................................................................................26 4.3 TwinCat. .......................................................................................................................................27 4.4 Human Machine Interface. ...........................................................................................................29 HOOFDSTUK 5 SYSTEM MANAGER MET EEN BESTAANDE PLC. ..................................................30 5.1 De PLC configuratie inlezen. ........................................................................................................30 5.2 De configuratie van de I/O modules activeren. ............................................................................32 5.3 Programmeren met een aangesloten PLC...................................................................................35 HOOFDSTUK 6 EENVOUDIG PROGRAMMEREN...............................................................................45 6.1 Basisschakelingen........................................................................................................................45 6.2 Omzetten van een stroomkringschema naar een PLC programma. ...........................................46 6.3 Links-Rechts schakeling. .............................................................................................................47 6.4 Ster-Driehoek schakeling. ............................................................................................................48 6.5 Programmeren en simuleren zonder PLC....................................................................................51 HOOFDSTUK 7 STANDAARD FUNCTIE BIBLIOTHEEK. ....................................................................57 7.1 Inleiding. .......................................................................................................................................57 7.2 Bistabiele functie Set-Reset. ........................................................................................................57 7.3 Functie blok Counter. ...................................................................................................................62 7.4 TOF (Timer Off Delay). ................................................................................................................65 7.5 TON (Timer ON Delay). ...............................................................................................................66 7.6 TP (Timer Puls Block). .................................................................................................................67 7.7 Oefeningen op timers. ..................................................................................................................68 7.8 Flankdetectie. ...............................................................................................................................69 HOOFDSTUK 8 GRAFCET....................................................................................................................70 8.1 Principe. .......................................................................................................................................70 8.2 Stappen. .......................................................................................................................................70 8.3 Vertakkingen. ...............................................................................................................................72 8.4 Sprongfunctie. ..............................................................................................................................72 8.5 Subroutines. .................................................................................................................................74 HOOFDSTUK 9 SEQUENTIËLE SCHAKELINGEN...............................................................................75 9.1 Kenmerken. ..................................................................................................................................75 9.2 SFC. .............................................................................................................................................76 9.3 Oefening: Knipperlicht. .................................................................................................................78 9.4 Oefening: Pneumatische cyclus. ..................................................................................................81 9.5 Oefening: Verkeerslichten. ...........................................................................................................82 HOOFDSTUK 10 Structured text............................................................................................................83 __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 2 / 83 HOOFDSTUK 1 ALGEMEENHEDEN. 1.1 Klassieke besturingen. 1.1.1 Het verleden. - Om bepaalde handelingen te verrichten worden machines gebouwd die meestal een mengeling zijn van mechaniek, elektriciteit, pneumatiek, hydraulica, elektronica, enz. - De hoofd- of vermogenkring bestaat meestal uit een of meerdere (zware) elektrische, pneumatische of hydraulische motoren, cilinders of andere verbruikers. Deze worden op de klassieke manier aangesloten en zijn voorzien van (zwaardere) leidingen om de benodigde energie tot aan deze verbruikers te brengen. - Het geheel werd gestuurd door een stuurkring met relais, hulprelais, tijdrelais, contactoren, elektropneumatische ventielen, enz. De besturing kan pas tot stand komen wanneer de opgave is gekend en opgelost. Pas daarna kunnen we bepalen welke schakelelementen nodig zijn. Vervolgens worden de drukknoppen, relais, contactoren, andere bedieningstoestellen, enz in een schakelkast gemonteerd en aan de hand van het bedradingsschema met elkaar verbonden. 1.1.2 Nadelen. - De logica van de schakeling ligt vast in de bedrading. Wanneer men de besturing wil controleren moet men de bedrading nakijken. Bij een verkeerde verbinding zit er niets anders op dan de bedrading aan te passen. - We hebben dezelfde besturing nog eens nodig? Dan moeten we van vooraf aan herbeginnen. Opnieuw alle schakelelementen monteren en opnieuw bekabelen. - We willen de besturing veranderen? Dan moeten we componenten veranderen of bijplaatsen en de bekabeling aanpassen. Als men deze aanpassing op twintig dezelfde machines moet uitvoeren, dan moet dus twintig keer hetzelfde werk uitvoeren. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 3 / 83 1.2 Programmeerbare besturingen. 1.2.1 De PLC. - PLC staat voor Programmable Logic Controller. Letterlijk vertaald betekent dit Logisch Programmeerbare Besturing. Het is eigenlijk een stuk elektronica gestuurd door een programmacode. In de PLC zit een processor die op dezelfde manier werkt als een PC. - De PLC wordt in een schakelkast gemonteerd, de bedienings- en schakelelementen worden aan de verschillende in- en uitgangen van de PLC aangesloten. Daarmee is de bedrading klaar. - Op een programmeerapparaat wordt het PLC programma geschreven en via een interface naar het geheugen van de PLC getransporteerd. In het programma wordt bepaald welke uitgang op welk ogenblik gestuurd wordt. 1.2.2 Voordelen. - De functie en de werking van de machine wordt bepaald door het PLC programma en niet door de bedrading. - Voordat de machine wordt gemonteerd kan het programma met simulatie software gecontroleerd worden op fouten. Deze worden eenvoudig in het programma verbeterd zonder dat er aan de bedrading iets wordt veranderd. - Een programma is software en kan dus ontelbare keren gekopieerd worden, dit scheelt aanzienlijk in kosten en tijd. - Als de werking van de machine op een later tijdstip moet worden aangepast moet enkel het programma worden veranderd. Aanpassingen en uitbreidingen kunnen dus snel worden uitgevoerd. - De PLC kan gekoppeld worden met andere apparatuur, vb sensoren, alarminstallatie, frequentieregelaar zodat er veel meer controle mogelijk is op gans de installatie. - Tegenwoordig zullen PLC’s worden gekoppeld aan het computernetwerk van het bedrijf. Zodoende zijn alle gegevens (looptijden, status van de machine, tellers, enz) overal binnen het bedrijf beschikbaar. De ingenieurs op het studiebureau kunnen de processen opvolgen zonder op de werkvloer aanwezig te zijn. - Heden ten dage kan men zelfs op grote afstand apparatuur controleren en monitoren via een koppeling met modem, GSM, internet, enz. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 4 / 83 1.3 Blokschema Belangrijkste delen van de PLC: - Op de ingangen (inputs) kun je allerlei signaalgevers of schakelelementen aansluiten zoals drukknoppen, schakelaars, fotocellen, sensoren, thermostaten, niveaumeters, positie-opnemers, enz. - Op de uitgangen (outputs) kun je actuatoren of verbruikers met een beperkt vermogen aansluiten zoals controlelampen, relais, contactoren, pneumatische ventielspoelen, interfacemodules, enz. - In de centrale verwerkingseenheid (Central Proces Unit) gebeurt de verwerking van het programma. - Het PLC-programma wordt geladen vanuit een niet vluchtig geheugen (EEPROM, USB, memory card, harde schijf) en opgeslagen in het programmageheugen (program memory). De werking is te vergelijken met een PC. Bij Beckhoff heet dit ‘BOOT PROJECT’. - In het datageheugen (data memory) worden onder andere de toestanden van timers en tellers en verwerkingsresultaten opgeslagen. Dit bestaat uit een vluchtig en een niet vluchtig gedeelte. - De ingangsbuffer PII slaat de toestanden van de ingangen op. - De uitgangsbuffer PIQ slaat de toestanden van de uitgangen op. - Met het programmeertoestel (in de meeste gevallen een PC) kun je het programma intoetsen. Je kunt er wijzigingen mee aanbrengen en je kunt het proces volgen. - De voeding (power supply) dient om al de elektronische blokken te voorzien van een gestabiliseerde gelijkspanning. Men zal proberen de verschillende onderdelen apart te beveiligen. Eventueel kan men gebruik maken van een UPS (Uninteruptable Power Supply). __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 5 / 83 1.4 Soorten PLC’s. 1.4.1 Klassieke PLC. - Apparaat dat volledig zelfstandig kan werken. - Heeft eigen voeding en geheugen. - Programma wordt op een aparte PC ontwikkeld en getest, daarna via een verbinding (kabel, geheugenkaartje, USB stick, netwerk, draadloos) overgebracht naar de PLC. Voordelen: - Robuust en bedrijfszeker apparaat. - Flexibele configuratie door modulaire opbouw (men kan zelf zijn PLC samenstellen). 1.4.2 Slot PLC. - Dit is een PCI kaart die wordt ingeplugd in een PC. - Deze PLC kaart heeft een eigen processor en werkt onafhankelijk van de PC. Voordelen: - De configuratie van de PC wordt volledig benut en kan aangepast worden (vb uitbreiding geheugen, grotere harde schijf, snellere processor, enz). - Ook software wordt gedeeld bv een reeks metingen die binnen de PLC kaart worden uitgevoerd wordt direct in een Excel bestand opgenomen in een berekening of grafiek. Nadelen: - De omgeving is dikwijls niet zo PC vriendelijk bv fabrieksomgeving, stof, vocht, enz. - Om de PLC kaart in werking te houden moet de PC aan staan, om dit probleem te verhelpen bestaan er Slot PLC’s met een eigen voeding die onafhankelijk werken. Zodoende mag men de PC op en af zetten, dit mag de werking van de PLC kaart niet onderbreken. - De slot PLC is nooit massaal doorgebroken. 1.4.3 Soft PLC. - Dit is een zuiver softwarematige oplossing. - In tegenstelling met de Slot PLC maakt de Soft PLC wel gebruik van alle componenten van de PC (processor, voeding, geheugen, enz.) - De PLC moet de processortijd dus delen met het besturingssysteem van de PC wat tijdskritische processen onmogelijk maakt. - De sturing van de machine zelf gebeurt langs een Input/Output eiland (meestal zelf samen te stellen). De communicatie tussen PC en dit I/O eiland gebeurt via een bussysteem (bv RS485, Profibus, Modbus, CANopen, USB, industrieel ethernet). 1.4.4 Industriële PC. - De laatste trend is het inbouwen van een industriële PC in de schakelkast van de machine zelf. - Deze PC heeft alle functionaliteiten van een gewone computer en beschikt ook over alle standaard aansluitingen (muis, toetsenbord, scherm, USB, netwerk, geheugenkaartje, enz). __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 6 / 83 HOOFDSTUK 2 BECKHOFF HARDWARE. 2.1 Samenstellen van een PLC configuratie. 2.1.1 Keuze van de controller. Beckhoff heeft control systemen in verschillende klassen: - Bus Koupler (series BK) Dit is een koppel module die enkel dient om een I/O eiland op het bussysteem te koppelen, er is geen controller aan boord, het programma wordt in een ander apparaat verwerkt. - Bus Controller (series BC) Dit is een PLC met mini controller aan boord, in ons labo werken we met de BC9000. - Bus Controller (series BX) Dit is eenzelfde PLC als de BC maar met meer geheugen, meer mogelijkheden, enz. - Embedded PC (series CX) Deze PLC heeft een ingebouwde PC, het is eigenlijk een computer, nog krachtiger dan de BX. - Industriële PC Dit is een PC in een grotere versie, meestal 19 inch om in een rack in te bouwen, dikwijls met touch screen, alle voorzieningen die op een gewone PC staan zijn aanwezig en dikwijls nog meer. 2.1.2 Keuze van de voeding. - Een aantal apparaten in de schakelkast van de machine moet worden voorzien van een (kortsluitvaste) voeding. - Voor de BC9000 voorzien we 24 V DC. In de tabel hieronder zien we dat bijna alle I/O modules voor 24 V verkrijgbaar zijn, we kiezen sensoren die ook met deze spanning werken. - Het is mogelijk andere spanningen te gebruiken indien nodig (bv een stappenmotor, een apparaat op 230V). De aansluiting hiervan bekijken we verder in de cursus. - Het is belangrijk de stroomsterkte te berekenen volgens het vermogen van de aangesloten apparaten. - Ook de beveiliging moet worden geanalyseerd, verschillende circuits met aparte beveiliging zullen de bedrijfszekerheid bevorderen (BC9000 max 2A, de aangesloten apparatuur max 10A). 2.1.3 Keuze van het bussysteem. - Alle Beckhoff koppelaars, controllers en PC’s zijn verkrijgbaar met aansluiting voor de meest gebruikte bussystemen. - Enkele voorbeelden: ethernet, ethercat, profibus, profinet, canopen, devicenet, enz. - Als algemeen bussysteem kiezen we ethernet, de netwerkstructuur is reeds aanwezig en dit is ruim voldoende om programma’s over te zetten of een diagnose te stellen van bv een machine. - Als er toch directe communicatie nodig is voor een toepassing, bv uitlezen van een encoder op afstand gebruiken we een afgesloten ethernet segment, het ethercat systeem of een aangepast protocol. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 7 / 83 2.2 Beckhoff busklemmen of modules als universele bouwstenen. 2.2.1 De hoofdelementen van een moduleconfiguratie. - Om de opbouw van een moduleconfiguratie of klemmeneiland te begrijpen gaan we eerst de onderstaande figuur ontleden. - We kunnen het klemmeneiland onderverdelen in drie hoofdelementen. 2.2.2 Schroefloze aansluittechniek. - Alle draadaansluitingen van de busklemmen zijn uitgerust met het schroefloze Cage Clamp® systeem. - Dit verend systeem zorgt voor een zekere verbinding die schokbestendig is en onafhankelijk van het aandraaimoment zoals bij schroefaansluitklemmen. - De aansluitklemmen zijn geschikt voor draden van 0,08mm² tot 2,5 mm². - Beckhoff levert kleine schroevendraaiertjes om de bedrading foutloos uit te voeren. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 8 / 83 2.2.3 Symmetrische ontgrendeling. - Door middel van het oranje lipje dat je naar voren kan trekken, kan men de klem uit het klemmeneiland verwijderen. - De symmetrische ontgrendeling vergemakkelijkt het lostrekken van de klem, hiervoor is geen werktuig nodig. - Dubbele modules zoals de module voor stappenmotor zijn uitgevoerd met een dubbele vergrendeling. - De controllers hebben bijkomende klemsystemen omdat deze ook groter zijn. 2.2.4 Spie- en veerverbinding. - De verbinding zorgt ervoor dat de klem stevig tussen de andere klemmen kan gestoken worden. - Zo verkrijg je een stabiele klemmenrij die op zijn beurt weer bijdraagt tot een bedrijfszekere dataverbinding tussen de klemmen. 2.2.5 Power-contacten. - De meeste busklemmen zijn langs beide zijden uitgerust met powercontacten. - Aan de linkerzijde van de busklem zitten metalen lipjes en aan de rechterzijde zitten er gleufjes met daarin een contact. - Op deze manier wordt de spanning doorgelust naar alle klemmen. - Voor de veiligheid is het PE-power contact voorijlend gemaakt, dit contact wordt eerst verwezenlijkt, pas daarna worden de spanningsvoerende contacten gesloten. 2.2.6 4-draadsaansluiting. - Bij een tweekanalige digitale ingangsklem is de 4-draadsaansluiting ideaal om sensoren en actuatoren rechtstreeks vanuit de field te bedraden. - Hierdoor is er minder materiaal nodig en minder arbeid, wat dus sneller is. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 9 / 83 2.2.7 Montage op standaard DIN-draagrail. - De behuizing van de busklemmen is ontworpen voor een standaard DIN-rail met een breedte van 35 mm en een hoogte van 7,5 mm. - Het type DIN-rail met een hoogte van 15 mm mag niet gebruikt worden, anders gaat de achterkant van de klemmenstrook de montageplaat niet meer raken. - De horizontale of verticale montagepositie van het eiland is van geen belang als de juiste DIN-rail gebruikt wordt. 2.2.8 Beschrifting en markering. - Aan de bovenkant van de klemmen bevindt zich een plastiek lipje in een bepaalde kleur (rood, geel, groen, blauw…). - Dit lipje kan je uittrekken en er een label in steken met bijvoorbeeld het plc-adres op van de desbetreffende kanalen (I/O). - Op de Beckhoff-cd vind je een standaard blad om deze labels uit te printen (Beckhoff cd : Dokument / bustermi / Accessers / BZ raster). - Ook voor de kleine vierkante plastiekjes die op de aansluitklemmen zitten kan je een aangepaste beschrifting bestellen die specifiek is voor het bedrijf. 2.2.9 Klemmenbusaansluiting. - Bij het invoegen van een busklem worden de K-bus-(databus)contacten net zoals de power- contacten automatisch doorverbonden. - De K-bus-contacten zijn verend en verguld waardoor er geen slecht contact of oxydatie kan ontstaan en zelfreinigend zijn. 2.2.10 Klemmenbusdiagnose. - Door middel van diagnose LED’s die zich op de koppelmodule of controller bevinden kan er een nauwkeurige diagnose gedaan worden op alle klemmen in het klemmeneiland. - De knipper-code van de diagnose LED’s bepalen het soort fout en de plaats van de klem in het eiland. - Deze knipper-code vind je terug in de handleiding van de buskoppelmodule of controller. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 10 / 83 2.2.11 Uitbreiding van de klemmenbus. - Afhankelijk van het type buskoppelmodule of controller kunnen 64 tot 255 busklemmen achter de buskoppelmodule geplaatst worden - Aan de BC9000 controller kunnen 64 I/O modules Maximum aantal worden gekoppeld. busklemmen. - De BKxx00 : 64 busklemmen. klemmenstrook kan BKxx10 : 64 busklemmen. ook opgedeeld BKxx20 : 255 worden in stations busklemmen. met een K-busLCxx00 : 64 busklemmen. verlengingsmodule BCxx00 : 64 busklemmen. De terminal module KL9010 wordt dan Busklemmen per station vervangen door de meegeteld!! KL9020 of KL9050. - Hierdoor kunnen tot maximum 31 stations gevormd worden. KL9050 vervangt - De afstand tussen buskoppelmodule. twee stations is max 31 stations. maximum 5 meter. - Hiervoor wordt datakabel gebruikt van het type UTP, FTP, STP of FSTP (F = folie, S = shielded, U = Unshielded, TP = twisted pair) en RJ45-connectoren. KL9020 vervangt de eindklem KL9010. FSTP-kabel met RJ45connectoren. Max. 5 meter. 2.2.12 Het verschil tussen buskoppel- en buscontrollermodules. - Een BCxxxx heeft een ingebouwde PLC processor, hierdoor kan deze na programmering onafhankelijk een machine besturen. - Een BKxxxx heeft geen ingebouwde PLC processor, hierdoor kan deze niet geprogrammeerd worden, maar werkt enkel als koppelmechanisme tussen de I/O modules en een controller die zich elders in het netwerk bevindt. - Een BKxxxx koppelmodule kan dienen als uitbreiding van een BC9000 controller. - Een BKxxxx koppelmodule kan ook worden aangestuurd door een PC waarop het programma draait. - Beckhoff heeft koppelmodules en controllers ontworpen voor zowat alle veldbus systemen. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 11 / 83 2.2.13 Samenstellen van het Input/Output eiland. Volgens de behoeften van het project zullen we een keuze maken uit: - Digitale ingangsmodules: deze lezen de toestand van een schakelaar, drukknop of sensor IN en geven die door via de interne bus aan de controller. De benaming begint met KL1, de kleur is geel. - Digitale uitgangsmodules: deze krijgen via de interne bus een signaal van de controller en sturen het aangesloten apparaat bv een relais. De benaming begint met KL2, de kleur is rood. - Analoge ingangsmodules: deze lezen een analoog signaal IN van bv een sensor en geven die door via de interne bus aan de controller. De benaming begint met KL3, de kleur is groen. - Analoge uitgangsmodules: deze krijgen via de interne bus een analoog signaal van de controller en sturen het aangesloten apparaat. De benaming begint met KL4, de kleur is blauw. - Speciale modules: deze hebben een specifieke functie bv sturing van een stappenmotor. - Terminal modules: deze worden op het eind van de configuratie geplaatst om de interne bus af te sluiten of het bussignaal door te geven aan een volgende serie I/O modules. De kleur is wit. Alle modules hebben dezelfde PVC behuizing met dezelfde afmetingen, soms zijn ze dubbel uitgevoerd. Aan elke koppelaar of controller kunnen maximaal 64 modules aangesloten worden (63 I/O en 1 terminal). - Volgorde: XX1 Digitale Ingangen XX2 Digitale Uitgangen XX3 Analoge Ingangen XX4 Analoge Uitgangen XX5 Sensor XX6 Communicatie XX7 Power Terminal XX9 Power Terminal GEEL ROOD GROEN BLAUW WIT WIT WIT WIT - Bovenaan zitten 6 vergulde contacten die de voedingsspanning voor de bus en het bussignaal doorgeven. - Onderaan zitten 3 power contacten die de voedingsspanning voor de aangesloten I/O doorgeven. - Afhankelijk van de module kan men de voeding voor de I/O aftakken aan de module zelf: 2DI PE loopt door en kan afgetakt worden 4DI PE loopt door maar kan niet afgetakt worden 8DI PE en spanning lopen door maar kunnen niet afgetakt worden. - De volgorde van de modules heeft niet zoveel belang behalve als we met verschillende spanningstoevoer willen werken. In dit geval moeten we een voedingsmodule plaatsen tussen de modules die moeten gescheiden worden (zie volgende pagina alsook de Beckhoff documentatie). 2.2.14 Oefeningen op het berekenen van de nodige stroomsterkte. Oefening 1 BC9000 max 2A – eigen verbruik 250mA – blijft over voor de Kbus 1750 mA KL1002 10 stuks x 3mA = 30mA KL2022 10 stuks x 5mA = 50mA KL3062 10 stuks x 60mA = 600mA Belasting van de bus: 2000 – 250 – 30 – 50 – 600 = 1070mA blijft over = OK Oefening 2 BC9000 max 2A – eigen verbruik 250mA – blijft over voor de Kbus 1750 mA KL3112 30 stuks x 60mA = 1800mA KL3062 15 stuks x 60mA = 900mA Belasting van de bus is te groot, oplossing is een extra voedingsklem tussen de modules te plaatsen om een scheiding te maken Op dezelfde manier kunnen we de belasting van de aangesloten apparatuur berekenen. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 12 / 83 2.3 Aansluiten van een Beckhoff PLC. 2.3.1 Aansluiten op de netspanning. - Een aantal PLC’s kan rechtstreeks op de netspanning aangesloten worden. - De Beckhoff BC9000 die we in het labo gebruiken werkt met een externe voeding van 24 Volt =. - Deze voeding kan ook gebruikt worden voor het aansluiten van vb een drukknop, schakelaar, sensor, naderingsschakelaar, reedcontact of magneetsensor, fotocel, enz. - Beveiliging: Eén circuit voor controller en bussysteem beveiligd met een zekering 2A. Eén circuit voor het aansluiten van sensoren, relais, enz beveiligd met een zekering 2A. 2.3.2 Aansluiten van ingangen. - De ingangen van een digitale ingangsmodule reageren op +24V, de positieve pool moet worden aangeboden aan een ingang (PNP). - Dit kan op verschillende manieren: - met een gewoon contact (maak- of verbreekcontact) - met een elektronisch contact (vb een sensor type PNP) - een magnetische sensor, enz. 2.3.3 Aansluiten van uitgangen. - De uitgangen van de PLC zijn elektronisch verbonden met de elektronica van de PLC. - Een uitgang stuurt +24V uit. - Deze spanning kan gebruikt worden om bv een lampje te laten oplichten of een relais te laten aantrekken. - Als de voeding van de PLC niet genoeg stroom kan leveren om contactoren en elektropneumatische ventielen te schakelen dan moeten we een omweg maken via een tussenrelais ook een interface relais genaamd. Op deze manier is het ook mogelijk om verbruikers op een andere spanning bv 230V te laten werken. 2.3.4 Aansluiten van modules op een andere spanning. - Men kan modules van elkaar scheiden door een voedingsmodule bv KL9100 ertussen te monteren. - De modules die voor de KL9100 staan worden gevoed via de eerste voedingsmodule. - De modules die na deze KL9100 staan kunnen werken op ofwel 24V op een andere beveiliging, ofwel op een andere spanning die niet van de PLC voeding afkomstig is. - Voorbeelden: KL9250 voor voeding 230V KL9510 voor voeding 10V - Merk op dat de communicatiebus altijd gevoed wordt vanuit de controller, communicatie, error detectie, enz. moet steeds in werking blijven ook al is er een zekering gesprongen of een automaat afgeslagen op de andere circuits. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 13 / 83 2.4 Aansluiten van de PLC op het bussysteem. 2.4.1 Veldbussen - Enkele veldbus systemen: Lightbus – Profibus – Interbus – CANopen – DeviceNet – ControlNet SERCOS interface – USB – Modbus - RS232 - RS485 - AS-Interface. - Beckhoff ondersteunt de meeste veldbussen en heeft controllers en koppelmodules voor bijna alle veldbussystemen. 2.4.2 Ethernet. - Ethernet, de dominerende standaard in de Office wereld, heeft ook zijn weg gevonden naar de automatiseringstechniek. - De voordelen van Ethernet, zoals hoge datatransmissiesnelheden, de makkelijke integratie in bestaande netwerken en de veelvoudige diensten en interfaces, zijn ook perfect terug te vinden in de Ethernet producten van Beckhoff. 2.4.3 Aansluiten op het netwerk. - We hebben gekozen voor een controller BC9000 met Ethernet aansluiting. - We kunnen de PLC aansluiten op een PC door de twee RJ45 connectoren te verbinden met een switch kabeltje (kostprijs 2 of 3 euro in een elektronicawinkel). Hiermee hebben we een link tussen PC en PLC en kan enkel tussen die twee gecommuniceerd worden. - We kunnen de PLC ook aansluiten op gewoon ethernet netwerk. Op die manier kan gecommuniceerd worden tussen de PLC en eender welke PC op het netwerk waarop de juiste software draait. Vanaf de PC ‘zien’ we ook alle PLC’s die op dat segment aangesloten zijn en kunnen we daarmee een verbinding leggen. 2.4.4 Instellen van het IP adres via een seriële kabel. - Het volgende probleem stelt zich: hoe kunnen we de configuratie van de BC9000 instellen als we nog geen verbinding hebben via het ethernet? De controller moet eerst opgenomen worden in het netwerk met het juiste IP adres. - Eerste oplossing: een verbinding maken via een speciale seriële kabel, vervolgens met het software pakket KS2000 de instellingen veranderen en het juiste IP adres instellen. - Probleem: een nieuwe PC of laptop heeft geen seriële poort ter beschikking. - Oplossing: sinds 2009 is een USB kabel op de markt die de seriële kabel vervangt. 2.4.5 Instellen van het IP adres via een BootP server. - Tweede oplossing: eerst op het netwerk een PC met BootP server installeren, vervolgens met het software pakket BootP een verbinding maken en het juiste IP adres instellen. Dit wordt niet behandeld in deze cursus. 2.4.6 Verbinding maken via een UTP kabel. - Als er een verbinding is gemaakt via een UTP kabel (switch kabel of gewoon direct) dan kunnen we ook via deze weg de instellingen aanpassen. - Standaard zit in de BC9000 controller bij aankoop het adres 172.16.17.0 (als alle DIP switches op 0 staan). Het subnet mask is 255.255.0.0. - Om een verbinding tot stand te kunnen brengen tussen PC en PLC moeten we eerst in onze PC de configuratie veranderen zoals in het voorbeeld. Pas dit aan in het configuratiescherm bij de netwerkverbindingen. - Als dit gelukt is kunnen we de verbinding testen met een ‘ping’ commando. - Open een DOS box en typ: ping 172.16.17.0 __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 14 / 83 2.4.7 Instellen van het IP adres via een UTP kabel. - Derde oplossing: als er een verbinding is gemaakt via een UTP kabel start het programma KS2000 op en ga naar het rolmenu Options – Communication channel – via ADS. - Vul het AMS adres in: 172.16.17.0.1.1 - Klik op de knop ‘TEST’ - Als alles goed is verschijnt de mededeling ‘Communication with coupler succesfull’. - Klik op OK - Ga naar het rolmenu Online – Login (of gebruik het icon ‘Login’). - De configuratie van de PLC verschijnt op het scherm. - Ga naar Settings: Fieldbus settings en pas de instellingen aan volgens voorbeeld. - Voor de afdeling elektriciteit/elektronica in het VTI werden volgende afspraken gemaakt: PLC’s labo elektriciteit op de benedenverdieping: 192.168.123.70 tot 192.168.123.98 Het laatste cijfer staat met een stift op de zijkant van de controller geschreven. - In dit voorbeeld hebben we gekozen voor nummer 93. - Klik op de knop ‘Apply’ - Bevestig als er wordt gevraagd naar een ‘reboot’ door op ‘OK’ te klikken. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 15 / 83 2.4.8 Instellen van de dip switches. - Dip switch instelling van 1 tot 9 = 0 en 10 = 1 dan wordt DHCP ingeschakeld (af te raden) - Dip switch instelling van 1 tot 8 = IP adres 9 en 10 = 0 stelt een vast IP adres in (standaard) - De KS2000 software toont een scherm met de DIP instellingen voor het gekozen adres. - Men kan ook de Windows rekenmachine gebruiken om een adres om te zetten naar digitale code om te zien hoe de dip switches moeten ingesteld worden. 2.4.9 Controle. - Controle van de verbinding aan de hand van de signalisatie leds, de groene LED moet oplichten, de oranje LED duidt op actieve communicatie. - Start een gewone PC die is opgenomen in het netwerk, open een DOS prompt window en typ in: ‘ping 192.168.123.93’ (93 moet het adres zijn van de te controleren PLC), het resultaat moet zijn ‘antwoord van’ of ‘reply’ van het betreffende adres. - Controle van het MAC en IP adres met een gewone netwerk tool vb LANguard. 2.5 RESET naar fabrieksinstellingen. RESET naar de fabrieksinstellingen. - Schakel de PLC af, verwijder alle modules en plaats de eindmodule (KL9010) direct op de controller. - Zet alle DIP switches op ON, en schakel de PLC terug aan. - Deze handeling zet de controller terug naar de fabrieksinstellingen. Als dit gebeurd is gaan de I/O Run LED en de I/O Error LED om beurten knipperen. - Dan de controller terug afzetten, de modules weer op hun plaats steken, alle DIP switches terug op 0 zetten en terug opstarten. Wissen van het BOOT project bij een BC9000 controller. - Schakel de PLC af, verwijder alle modules en plaats de eindmodule (KL9010) direct op de controller. - Zet de DIP switches van 1 tot 9 op ON, en DIP switch 10 op OFF en schakel de PLC terug aan. - Deze handeling zal het BOOT project wissen. Als dit gebeurd is gaan de I/O Run LED en de I/O Error LED om beurten knipperen. - Dan de controller terug afzetten, de modules weer op hun plaats steken en terug opstarten. - Het BOOT project kan ook gewist worden met de software KS2000 of TwinCat PLC control. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 16 / 83 HOOFDSTUK 3 DIGITALISERING. 3.1 Informatieverwerking. Zie powerpoint presentatie Digitale Technieken (Wolters Plantyn). 3.1.1 Digitale signaalverwerking. Bij digitale informatie kunnen maar twee toestanden voorkomen. - een spanning is aanwezig of is niet aanwezig - een schakelaar is gesloten of open - een relais is aangetrokken of niet - een verbruiker is in werking of is uitgeschakeld - een temperatuur is bereikt of is niet bereikt - een druk is bereikt of is niet bereikt We spreken van toestand 1 (= AAN) of toestand 0 (= UIT). Een ingang kan HOOG zijn of LAAG. 3.1.2 Analoge signaalverwerking. - Analoge signalen kunnen allerlei waarden aannemen tussen bepaalde grenzen. Voorbeelden: 0 – 20 mA 4 – 20 mA 0 – 10 V 4 – 10 V - Analoge signalen komen meestal van sensoren. Zo wordt bij een temperatuurmeting een temperatuur omgezet in een veranderende weerstand, spanning of stroom. - Een gemeten snelheid komt bijvoorbeeld overeen met een bepaalde spanning tussen 0 en 10 V. De analoge uitgang van een sensor wordt aan de ingang van de PLC gekoppeld via een ingangsmodule. - De uitgang van een PLC kan ook analoog zijn. - Bijvoorbeeld een motor zal dan met een bepaalde snelheid aangestuurd worden afhankelijk van de grootte van het analoge ingangssignaal of een verwarmingsweerstand wordt op een lagere spanning geschakeld in functie van een analoge waarde. 3.1.3 Meerbitsinfo. - Het decimaal of tiendelig getal 19 bestaat uit twee cijfers (1 en 9). - Het binaire getal 00110101 bestaat uit 8 bits (8 cijfers). - Een element noemen we een BIT en kan slechts twee waarden aannemen 0 en 1. - Een verzameling van 4 bits noemen we een NIBBLE. - Een verzameling van 8 bits noemen we een BYTE. - Een geheel van 16 bits of 2 bytes noemen we een WORD. - Informatie die uit één bit bestaat is erg beperkt. Er zijn maar twee verschillende informatiegegevens mogelijk: 0 of 1. - Om de toestand van een schakelaar of sensor weer te geven is dit juist voldoende omdat een schakelaar maar twee mogelijke toestanden heeft, nl. gesloten of open. - Om waarden van een meting zoals temperatuur, druk, hoekverplaatsing e.d. te verzenden heb je meer mogelijkheden, dus meer bits nodig. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 17 / 83 3.2 Digitaliseren van een analoog signaal. 3.2.1 Verband tussen het aantal bits en het aantal gegevenscombinaties. n - Het aantal mogelijkheden kun je bepalen met de formule: 2 1 1 bit: 2 = 2 mogelijkheden 2 2 bits: 2 = 4 mogelijkheden 3 3 bits: 2 = 8 mogelijkheden - Hoeveel geleiders heb je minstens nodig om informatie onder de vorm van woorden te sturen? Een word bestaat uit 16 bits, dus heb ik 16 + 1 massa = 17 geleiders nodig om een word te versturen. - Bij een analoog signaal zijn al de waarden mogelijk. Om dergelijk signaal in een digitaal besturingssysteem te verwerken, moet het omgezet worden in een digitale code. - De elektronische schakeling die deze omvorming doet noemt men een AD-omvormer of een ADconverter. 3.2.2 Omzetting 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 analoog signaal wordt in stapjes van 1 V weergegeven. Er zijn maar een beperkt aantal waarden mogelijk (bv. 0, 1, 2, 3,…10 V). - De omzetting heeft tot gevolg dat een digitale waarde niet overeenstemt met de werkelijke analoge waarde. - Op het ogenblik t1 is de spanning 5,5 V, de digitale uitlezing geeft een waarde van 5 V. - Als men een nauwkeuriger resultaat wil moet men het analoog signaal in kleinere stapjes opsplitsen. Er zullen dus meer vakjes moeten zijn. - Maar vermits elk stapje door een digitaal getal moet voorgesteld worden, zal bij een hogere nauwkeurigheid de informatie uit meer bits moeten bestaan. - Uit de figuur hieronder kun je afleiden dat je bij een informatie van 2 bits (b0 en b1) 4 mogelijke combinaties kunt vormen. Je kunt het analoog signaal dus in maximum 4 spanningen weergeven. - Als je 3 bits gebruikt, kun je al 8 verschillende spanningen bekomen. Om het analoog signaal in 10 blokjes te verdelen, zul je dus meer dan 3 bits ter beschikking moeten hebben. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 18 / 83 3.3 Digitaliseren van een decimaal getal. 3.3.1 Omzetting van een decimaal getal naar een digitaal signaal. - Een draaischakelaar of een duimwielschakelaar stel je in op een bepaalde decimale waarde, een 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. - In de TwinCat software kunnen waarden op verschillende manieren ingegeven worden, deze worden automatisch omgezet. 3.3.2 Omzetting van een digitaal signaal naar een decimaal getal. - Een digitale code wordt naar een decoder gestuurd die het omzet in een 7segmentendisplay. - Het digitaal signaal dat bv naar een printer gestuurd wordt, wordt gedecodeerd zodat er letters en cijfers geprint kunnen worden. - In de TwinCat software kunnen waarden op verschillende manieren uitgelezen worden, deze worden automatisch omgezet. - Voorbeeld van een omzetting in MultiSim: D:\Mijn documenten\VTI-Cursussen\05 Elektronica\MultiSim\X 7 segment digit 1.ms9 3.4 Talstelsels. 3.4.1 Het decimaal talstelsel. - Getallen kunnen volgens verschillende methoden worden voorgesteld. De methode waarmee we het meest vertrouwd zijn, is deze van het decimaal of tiendelig stelsel. - Hierbij noemt men 10 het grondgetal. - Het tiendelig stelsel 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. - De plaats van het cijfer bepaalt de rang: bv eenheden, tientallen, honderdtallen, duizendtallen, enz. - Een decimaal getal kun je als volgt ontleden: 2 1 0 6.10 + 3.10 + 7.10 = 600 + 30 + 7 = 637 dec 3.4.2 Het binaire talstelsel. - Het binaire of tweedelige stelsel heeft maar 2 symbolen of cijfers: 0 en 1 - Een tweedelig stelsel heeft als grondgetal 2. - Ook hier plaats je een aantal symbolen na elkaar om een getal te bekomen. - Voorbeeld: 11010 bin 4 3 2 1 0 1.2 + 1.2 + 0.2 + 1.2 + 0.2 = 16 + 8 + 0 + 2 + 0 = 26 dec 3.4.3 Het octale talstelsel. - Het octale of achtdelige stelsel heeft 8 symbolen of cijfers: 0, 1, 2, 3, 4, 5, 6 en 7 - Een octaal stelsel heeft als grondgetal 8. - Ook hier plaats je een aantal symbolen na elkaar om een getal te bekomen. - Voorbeeld: 257 oct 2 1 0 2.8 + 5.8 + 7.8 = 2.64 + 5.8 + 7 = 128 + 40 + 7 = 175 dec __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 19 / 83 3.4.4 Het hexadecimaal talstelsel. - 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. - De decimale waarden van de symbolen A, B, C, D, E en F zijn in volgorde: 10, 11, 12, 13, 14 en 15. - Er worden letters gebruikt omdat er maar 10 cijfers voorhanden zijn. - Enkele voorbeelden van hexadecimale getallen: 1 0 12 hex = 1.16 + 2.16 = 16 + 2 = 18 dec 2 1 0 D12 hex = 13.16 + 1.16 + 2.16 = 3328 + 16 + 2 = 3346 dec 3.4.5 Omvormen van talstelsels. - Om getallen van het ene naar het andere talstelsel om te zetten gebruik je een wetenschappelijke rekenmachine, een Excel sheet of een software rekenmachine bv van Windows. - Zie ook Talstelsels.xls 3.4.6 De BCD-code. - De BCD-code is een manier om decimale getallen binair weer te geven. - Elk cijfer van een willekeurig getal wordt door zijn binaire code weergegeven. - Om een cijfer weer te geven hebben we minstens 1 nibble of 4 bits nodig. - Voorbeeld: de BCD-code van het decimaal getal 359 We stellen het cijfer 3, het cijfer 5 en het cijfer 9 apart voor door zijn binaire code: 0011 0101 1001 Aan mekaar geschreven is dat: 0 0 1 1 0 1 0 1 1 0 0 1 BCD __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 20 / 83 3.5 Voorstelling van variabelen. 3.5.1 Voorstelling van gehele getallen. - Er wordt een onderscheid gemaakt tussen gewone cijfers en getallen waarmee rekenkundige bewerkingen kunnen worden uitgevoerd (optellen, aftrekken, vermenigvuldigen, delen, vergelijkingen). - Met een byte, word of dubbel word kan men karakters voorstellen. - Een bepaalde vorm van een integer wordt gebruikt om te rekenen. Deze getallen worden op een andere manier in het geheugen opgeslagen. - Een tijd, een datum of een stuk gewone tekst kan worden opgeslagen met variabele lengte. 3.5.2 Voorstelling van tekst. - Een aantal karakters kan worden opgeslagen als gewone tekst onder de benaming ‘string’. - Ook commentaar in het programma is een ‘string’ en wordt geplaatst tussen (*tekst*). 3.5.3 Voorstelling binnen TwinCat. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 21 / 83 3.5.4 Variabele toekennen als fysisch adres van een bestaande PLC. - Bij de hardware PLC werk je met een adressentafel die hoofdzakelijk is vastgelegd door de PLC zelf. - De Variabele Naam kan vrij toegekend worden (zwarte kleur), daarna volgt een spatie. - Het fysieke adres begint met ‘AT’ (blauwe kleur) en eindigt met een ‘punt komma’. - Daartussen worden 3 dingen bepaald (paarse kleur): - het type van het adres: ofwel Ingang = %I ofwel Uitgang = %Q ofwel Merker = %M - de grootte van het adres: ofwel Bit = X ofwel Byte = B ofwel Woord = W ofwel Dwoord = D - het adres afhankelijk van de plaats van de module in de PLC configuratie. - Daarna volgt in het blauw een meer specifieke omschrijving. - Na het ‘punt komma’ kan men nog eigen commentaar toevoegen bv om een betere omschrijving van de variabele te geven. Deze commentaar staat tussen (*……….*) en krijgt een groene kleur. 3.5.5 Variabele toekennen als adres van een onbestaande PLC bij simulatie. - Bij het simuleren van een programma hoeven we geen rekening te houden met de werkelijke configuratie van een PLC en kunnen we vrij namen kiezen. - Bij het toekennen van een intern adres wordt alleen de variabele naam aangemaakt en dan tussen de ‘dubbele punt’ en de ‘punt komma’ wordt de grootte van de variabele bepaald. - Na het ‘punt komma’ kan men nog eigen commentaar toevoegen bv om een betere omschrijving van de variabele te geven. Deze commentaar staat tussen (*……….*) en krijgt een groene kleur. 3.5.6 Opmerking. Speciale karakters die niet mogen gebruikt worden in de naam van een variabele! 3.5.7 Variabele toekennen bij een simulatie. - Bij een simulatie gebruiken we geen echte PLC maar wordt alles gesimuleerd in het geheugen van de PC, de naamgeving maakt dus niets uit, men kan zelf de namen bepalen. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 22 / 83 3.6 Programmeren. 3.6.1 Programmeertalen. - FBD Function Block Diagram (in het Duits FUB van FunctionsPlan). Deze voorstelling lijkt op het blokkenschema uit de pneumatiek en hydraulica en is meer aangewezen voor mechaniekers. - LD Ladder Diagram (in het Duits KOP van KontaktPlan). Deze voorstelling is best te vergelijken met een elektrisch stroomkringschema maar dan op zijn Amerikaans gekanteld, elektriciens werken in het begin liefst met deze voorstelling. - IL Instruction List (in het Duits AWL AnWeisingsListe). Dit is de instructielijst zonder grafische voorstelling, dus in letters en cijfers. Deze voorstelling is de meest aangewezen omdat hier het grootste aantal mogelijkheden beschikbaar zijn. - ST Structured Text. Dit is een programmeertaal die lijkt op bv Pascal of Visual Basic. Hiermee is het onder andere mogelijk vanuit diverse toepassingen gegevens op te halen uit een PLC programma. - SFC Sequential Function Chart. Dit is hetzelfde als een grafcet voorstelling van het programma. - CFC Continuous Function Chart editor. Deze voostelling is afkomstig van de elektronica (bv simulatieprogramma LabView) 3.6.2 TwinCat nieuwe versie 3. - Nieuw in Twincat 3 is de integratie met Microsoft Visual Studio. Dat maakt het mogelijk om naast traditionele IEC 61131-3 code ook C en C++ te gebruiken en de gegenereerde code vanuit Matlab en Simulink. - Als Visual Studio nog niet aanwezig is op de ontwikkelcomputer, wordt deze software direct geïnstalleerd. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 23 / 83 3.6.3 De instructieset. - Een programmeertaal lijkt op andere talen, het is een communicatiemiddel om een programmeur toe te laten woorden, cijfers en gegevens uit te wisselen met de PLC. - Ook een programmeertaal kent spelling en grammatica. Men spreekt hier van een instructieset, dit is de verzameling instructies die dat model van PLC begrijpt en waar deze zal op reageren. De volledige instructieset van een PLC vindt men in de bijgevoegde documentatie. - De instructies worden een na een uitgevoerd, beginnend bij de eerste instructie. Aan het eind van het programma na de laatste regel begint de PLC opnieuw bij de eerste instructie. - De processor van een PLC heeft ook een bepaalde snelheid uitgedrukt in MHz, het programma wordt afhankelijk van zijn lengte een paar duizend keren per seconde doorlopen. Een lang programma loopt dus trager dan een kort. 3.6.4 Doorloop van een programma 1. Nieuwe start: - ofwel als de PLC wordt op de spanning aangesloten - ofwel als de PLC een START commando krijgt na een STOP - ofwel na een RESET. 2. Alle UITgangen worden gereset (op 0 gezet) Indien zo geprogrammeerd kan daarna een programmaatje eenmalig worden doorlopen bv om een aantal instellingen te doen (bv teller op een bepaald aantal zetten). 3. Een cyclustijd bewaking zal controleren of het programma niet te lang duurt. Bv als een encoder binnen een bepaalde tijd een signaal moet sturen maar de doorloop van het programma duurt korter dan deze responstijd, dan moet er een foutmelding gegeven worden. 4. De toestand van alle ingangen wordt in het geheugen geladen, met deze gegevens wordt het programma doorlopen, ongeacht of er tijdens het programma iets verandert. 5. Het programma wordt doorlopen met de ingelezen toestanden van alle ingangen. 6. De bekomen toestand van de uitgangen (als resultaat van de werking van het programma) wordt overgedragen op de uitgangsmodules zelf. 3.6.5 Duurtijd van een programma. - Binnen het programma moet speciale aandacht besteed worden aan bv analoge signalen die veranderen tijdens de duur van het programma bv tijdsinstructies. Meer uitleg hierover bij het hoofdstuk over timers. - De lengte van het programma is bepalend voor de doorlooptijd. Daarom zal men proberen een kort hoofdprogramma te schrijven met daarnaast een aantal subroutines die enkel doorlopen worden als ze actief moeten zijn. Op die manier kan men de doorlooptijd verkorten. - Bij een echte PLC is de processortijd volledig voorbehouden voor de afwerking van het PLC programma. Bij een soft PLC of een industriële PC wordt de processortijd opgedeeld tussen de afwerking van één of meerdere PLC taken en de gewone werking van de PC, wat dus voor moeilijkheden zou kunnen zorgen. Hier kan men prioriteit instellen voor bepaalde taken. - Men kan ook de doorlooptijd van een programma meten vanuit TwinCat. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 24 / 83 HOOFDSTUK 4 BECKHOFF SOFTWARE. 4.1 KS2000. 4.1.1 Mogelijkheden. Beckhoff controllers zijn beschikbaar voor: - Lightbus - Profibus - Interbus - CANopen - DeviceNet - ControlNet - Modbus - SERCOS - RS 232 / RS 485 - USB - Ethernet 4.1.2 Doel van het pakket. Het software pakket KS2000 laat ons toe via een seriële kabel de instellingen van de controller te veranderen en het systeem aan te passen in de omgeving waar hij moet worden gebruikt. - Instellen van de communicatie met de bedoeling het apparaat op het bussysteem te koppelen - Instellen van parameters van de module bv stappenmotor. - Een zeer bruikbare tool is de hardware diagnose. 4.1.3 Installatie. Installeer het programma van de Beckhoff CD of DVD. De installatiecode voor versie 4 is P170-3460-9585. Op de Beckhoff website kan men enkel een upgrade downloaden: http://www.beckhoff.com/english.asp?download/ks2upda.htm 4.1.4 Oefening. - Sluit een BC9000 aan de seriële poort van een PC. - Open KS2000 en maak contact met de PLC. - Bekijk het IP adres. - Bekijk de instellingen van een bv stappenmotor module. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 25 / 83 4.2 Beckhoff Information System. 4.2.1 Locale installatie. - Het Beckhoff Information System is een bestand na installatie te raadplegen zoals de Windows hulpfiles. - Bevat een schat van informatie voor iedereen die met de Beckhoff PLC's wil werken, ook andere producten komen aan bod bv drives, servomotor, stappenmoter, enz. - Wij werken met de Engelse versie die ook op al onze PC’s staat geïnstalleerd. - Download via onderstaande link: http://www.beckhoff.com/english .asp?download/tcinfo.htm 4.2.2 Website. - Het Beckhoff Information System kan men ook online raadplegen, deze versie bevat nog meer informatie is natuurlijk meest recent. - Voorbeeld: de input module KL1104 die wij gebruiken vinden we niet terug in de locale versie maar wel in de online versie. http://infosys.beckhoff.com/inde x_en.htm 4.2.3 Andere informatie online. - Op de website van Beckhoff kan men ook alle details van de controllers of modules vinden. - Bv de DWG bestanden met de tekening en afmetingen direct met AutoCad te bewerken. - Download via onderstaande link: http://www.beckhoff.com/english .asp?download/fieldbus_tech.ht m __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 26 / 83 4.3 TwinCat. 4.3.1 Wat is TwinCat. - TwinCat is een software pakket voor het configureren en programmeren van Beckhoff PLC en drives. - TwinCAT staat voor: Total Windows Control and Automation Technology. - Dit softwarepakket staat op een CDROM van Beckhoff die verspreid wordt bv op een beurs. - Voor PC’s met Windows Vista of Windows 7 gebruikt men best de laatste versie. - Download van de Beckhoff website via onderstaande link: http://www.beckhoff.com/english.asp?download/default.htm 4.3.2 Installatie van TwinCat. - Open de Windows verkenner en ga naar de map ‘Mijn documenten’ - Dubbelklik op TwinCat …… exe - Klik op ‘Next’ - Vul het Serial Number in (C850-2854-3D19-DD40) en Klik op ‘Next’ - Klik op ‘Nee’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 27 / 83 - Klik op ‘Next’ - Klik op ‘Next’ - Klik op ‘Next’ (programma wordt geïnstalleerd) - Klik op ‘Finish’ (de PC wordt heropgestart) - Na het herstarten is de TwinCat CPU actief (zie het blauw/groene icon op de windows taakbalk rechts onder) - Dubbelklik op het TwinCat icon - Hier vind je een aantal gegevens __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 28 / 83 4.4 Human Machine Interface. 4.4.1 Omschrijving. - Visualisering is het zichtbaar maken van processen in de meest uiteenlopende zin. Omdat besturingsinstallaties meestal niet zelfstandig kunnen werken, zal er altijd een wisselwerking tussen mens en machine zijn. - De mens (operator) moet informatie hebben over de voortgang en werking van de machine/proces. De operator verwerkt deze informatie, neemt beslissingen en geeft vervolgens opdrachten aan de machine/proces. De informatie kwam vroeger naar de operator via signaleringslampjes en tellers. Tegenwoordig gaat dit met displays, operatorpanels en SCADA-systemen. - De taak van de programmeur is om het proces zo zichtbaar te maken, dat de operator snel en overzichtelijk de juiste acties kan ondernemen. Het programmeren van de visualisatie kan met diverse softwarepakketten van verschillende fabrikanten. 4.4.2 Waar te vinden binnen het bedrijf.? - Visualisering wordt in het algemeen bij de grotere automatiseringsprojecten toegepast. - Voor lokale besturing maakt men gebruik van operatorpanels. - Voorbeelden van toepassingsgebieden voor visualisering zijn: machineautomatisering bruggen en sluizen raffinaderijen afvalverwerkingsinstallaties gebouwenautomatisering 4.4.3 Hoe werkt het? - Visualisering is een grafische weergave van een proces. Het proces kan worden weergegeven met de huidige statussen van alle ingangen en uitgangen, maar kan ook gebruikt worden om objecten aan te sturen. - Dikwijls wordt gebruik gemaakt van blindschema's, cijferdisplays, en duimwielschakelaars om de toestand en de werking van het proces weer te geven. - Een blindschema is een wandbord met drukknoppen voor de bediening en lampjes voor de signalering. De componenten zijn onderling verbonden met lijnen en stroompijlen, waaruit de werking van het proces blijkt. - Op cijferdisplays kunnen we getallen aflezen, en met duimwielschakelaars kunnen we hoeveelheden instellen. Het nadeel van duimwielschakelaars is o.a. de storingsgevoeligheid. Elk cijfer uit een duimwielinstelling neemt 4 bits (is 4 ingangen) in beslag op de ingangskaart van de PLC. Dit is de reden dat er tegenwoordig veelal gebruik wordt gemaakt van visualiserings systemen. - Om informatie zichtbaar te maken kunnen we o.a. tekstdisplays gebruiken. Dit zijn displays waarop 1 of meerdere regels zichtbaar kunnen worden gemaakt. Deze apparatuur is bedoeld om een gebruiksvriendelijke lokale bediening van een machine mogelijk te maken. - Als we een totaal proces of een totale fabriek willen visualiseren, dan wordt er gewerkt met een scada systeem. Hiervoor wordt allerlei apparatuur gebruikt. De verzamelnaam hiervoor is MMI of HMI (MMI betekent mens-machine-interface) (HMI betekent human-machine-interface) - Er bestaat een breed scala van industriële beeldschermen die voor industriële toepassingen geschikt zijn vanwege de verzwaarde mechanische eigenschappen. - Veelal kan ook met een IPC worden gewerkt. Dit zijn industriële pc's, waarbij pc en beeldscherm zijn geïntegreerd in 1 behuizing. 4.4.4 Software. - Er bestaan verschillende software pakketten voor visualisering. - Hieronder worden er enkele genoemd die veel in het onderwijs worden gebruikt. Citect van de firma Koning & Hartman ProTool en Pro RT van Siemens. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 29 / 83 HOOFDSTUK 5 SYSTEM MANAGER MET EEN BESTAANDE PLC. 5.1 De PLC configuratie inlezen. - De bestaande PLC configuratie moet werken en op het netwerk (of aan de PC) gekoppeld zijn - Het is de bedoeling een virtuele kopie van de echte PLC configuratie te maken - Deze virtuele PLC gaan we laten werken op de PC, al dan niet tezamen met de echte PLC - Klik op het icon rechts onder – open System Manager - Controleer of System manager draait in CONFIG MODE (de balk rechts onderaan het scherm moet blauw kleuren met de letters CONFIG MODE) - Indien de balk groen kleurt met de letters RUNNING of RUNTIME ga dan naar het rolmenu ‘Actions en klik op ‘Set/reset TwinCAT to ‘Config Mode’. - Rechts klikken op I/O Configuration – I/O Devices daarna gewoon klikken op Append Device __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 30 / 83 - Ethernet – Virtual Ethernet Interface Target type – PC only - Rechts klikken op Device1 (Virtual Ethernet) Klik op OK. daarna gewoon klikken op Scan Boxes - Als men lokaal verbonden is met de PLC (bv met een cross kabeltje) krijgt men enkel het aangesloten apparaat te zien. - Als men online op het ethernet netwerk zit kan men een keuze maken uit de controllers die op het netwerk beschikbaar zijn. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 31 / 83 5.2 De configuratie van de I/O modules activeren. 5.2.1 I/O modules inlezen. - De BC9000 controller heeft nummer 1 - Alle klemmen of modules moeten aanwezig zijn genummerd vanaf Term 2. - Alle gekleurde iconen moeten de letters ‘PLC’ bevatten. - Als de ingelezen configuratie niet klopt met de werkelijkheid dan kan men dit aanpassen - Selecteer de module die niet klopt bv Term 5 KL2114 - Rechts klikken, dan verschijnt een lijst van compatibele modules - Klik de juiste aan bv KL2114 moet eigenlijk zijn KL2134. - Doe dit ook voor de terminals 6 en 7 - Als het probleem niet op deze manier kan opgelost worden moet men de verkeerde module wissen - Selecteer de verkeerde module bv Term 5 rechts klikken daarna ‘Delete Terminal’ OF - Selecteer de verkeerde module bv Term 5 en druk op de ‘DEL’ knop en bevestigen met OK - Daarna handmatig de juiste module tussen voegen - Selecteer de module onder de plaats waar de nieuwe module moet worden ingevoegd - Klik op ‘Insert Terminal Before’ - Maak de juiste keuze uit de lijst (zorg dat de letters ‘PLC’ in het icoon voorkomen). __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 32 / 83 5.2.2 Variabele informatie exporteren naar een bestand. Als de configuratie volledig in orde is: - rechts klikken op BC9000 - klik op ‘Export Variable Info’ - geef een naam in - opslaan als ‘bestand.exp’ Hiermee maken we een bestand met de PLC configuratie (inputs/outputs,enz). Dit bestand kunnen we gebruiken om meerdere programma’s te schrijven met de PLC Control. 5.2.3 De configuratie opslaan voor later gebruik. - We kunnen deze situatie ook opslaan om later op te roepen en te activeren. - Rolmenu File – Save as vul een naam in ‘bestand.tsm’ - Zolang geen andere configuratie geactiveerd wordt zal de System Manager steeds met de laatst actieve configuratie opstarten. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 33 / 83 5.2.4 De configuratie activeren. - Rolmenu Actions - Activate Configuration (of klik op hetzelfde icon in de knoppenbalk) - Bevestig met – JA – OK – OK – OK - Nu moet de TwinCat Server draaien: ‘Running’ of ‘RTime’ staat in het groen rechts onderaan het scherm __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 34 / 83 5.3 Programmeren met een aangesloten PLC. 5.3.1 Opstarten PLC Control. - Klik op het TwinCat icon rechtsonder het scherm - Start ‘PLC control’ - Het programma start steeds met het laatst gebruikte programma, wij gaan een nieuw bestand aanmaken. - Rolmenu ‘File’ - Klik op ‘New’ (of klik op hetzelfde icon in de knoppenbalk) - Kies ‘BC via AMS’ (Automation Message Specification) klik daarna op OK - Voor het eerste programma altijd MAIN laten staan (dit is het hoofdprogramma waar we de andere programma’s en functieblokken gaan onder plaatsen) - Kies de programmeertaal: IL Instruction List LD Ladder Diagram FBD Function Block Diagram SFC Grafcet ST Structured Text CFC Continuous Function Chart - Kies het type ST Structured Text klik daarna op OK __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 35 / 83 - We krijgen nu bovenstaand scherm te zien - Bovenaan een contextgevoelige knoppenbalk, links een venster met vier tabbladen - Rechts het programmeervenster en recht onder het berichtenvenster (Messages) met het eerste bericht namelijk dat de standaard bibliotheek in het geheugen geladen is - Onderaan staat het IP adres van het programmeerapparaat met daarnaast een groene balk die aangeeft dat er een virtuele PLC configuratie in RUN draait op de PC - De programma’s die actief moeten zijn worden in het MAIN programma ingetikt, deze worden door de controller uitgevoerd en doorlopen in de volgorde waarin ze staan - Programma’s die niet in MAIN worden vermeld (of die aangeduid zijn als commentaar) zijn niet actief. - Op die manier kunnen delen van het programma worden getest terwijl andere delen uitgeschakeld zijn. - Opgelet: onderstaande figuur is een voorbeeld van een programma met drie onderdelen, je zal dit nu niet op je scherm zien verschijnen: ‘Automatisch’ is een actief Ladder programma (staat in het zwart) ‘Handmatig’ is een actief Ladder programma (staat in het zwart) ‘Test’ is een niet actief deel (staat in het grijs) - Nu gaan we de variabelen en adressen van de bestaande PLC configuratie importeren - De bedoeling is dat we beide configuraties gaan koppelen en laten samenwerken - Ga naar rolmenu ‘Project’ - Klik op ‘Import’ - Kies het juiste ‘bestand.exp’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 36 / 83 - Ga naar tabblad Resources (links onderaan het scherm) - Ga naar Global Variables - Kies daarna ‘TwinCat Import’ - Na het open klikken van TwinCat Import zien we rechts alle beschikbare IN en UITgangen - De eerste 32 variabelen gaan we niet gebruiken (adressen 128 tot 143) - Daaronder vinden we de adressen van de I/O configuratie die we bewaard hebben in het bestand - Term 2, 3 en 4: dit zijn de 3x4 INgangen van de drie modules KL1104 - Term 5, 6 en 7 dit zijn 3x4 UITgangen van de drie modules KL2134 - We zien ook de adressen beginnend bij byte 0, dan byte 1, enz. - We gaan deze IN en UITgangen verplaatsen van de map ‘TwinCat_Import’ naar de map ‘Global_Variables’ zodat we deze kunnen gebruiken in gans ons project __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 37 / 83 - Selecteer de nodige I/O - Rechts klikken – ‘CUT’ - Open Global Variables - rechts klikken – ‘PASTE’ LET OP: de variabelen moeten staan tussen VAR_GLOBAL en END_VAR - Verander nu de namen van de Variabelen volgens de naamgeving van het project Dit kan zijn: - S01 - S02 - Q01 - Q02 maar ook - Start - Stop - Sensor - Motor - Rode lamp - Elke naam moet uniek zijn binnen het project. Er mogen geen namen twee maal voorkomen. - Commentaar bij de inputs en outputs moet als volgt worden toegevoegd: (* commentaar *) en verschijnt in groene kleur. - De map ‘TwinCAT_Import mag daarna gewist worden - Project opslaan: - Rolmenu ‘File’ - Klik op ‘Save as’ - Geef een naam ‘programma.pr6’ - Nu hebben we een basis bestand gemaakt voor deze PLC configuratie. Dit bestand gaan we gebruiken voor de verdere programmatie. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 38 / 83 5.3.2 Programmeren en simuleren online met een PLC. - Ga naar: ‘Online’ – klik op ‘Choose RunTime System’ - Kies de aangesloten PLC Run Time 1 (poort 800) volgens bovenstaande figuur - Nu verschijnt een rode balk rechts onderaan het scherm met de tekst (Target BC/BX …….) - De rode kleur betekent dat de virtuele PLC die draait op de PC via de ethernet verbinding in contact staat met de echte PLC (vandaar de twee verschillende IP adressen) - Klik op ‘Version Info’ dan verschijnt een venster met informatie over de IP adressen - Boven staat het IP adres van de PC waarop TwinCAT draait - Onderaan staat het IP adres van de aangesloten PLC waarop het PLC programma zal gaan draaien - Klik op ‘OK’ om dit venster te sluiten - Als men geen aangesloten PLC ziet in het venster ‘Choose Run Time System’ dan betekent dit dat de aangesloten configuratie niet ‘geactiveerd’ is - Dit moet eerst in orde gebracht worden met het programma ‘System Manager’ (zie het vorige hoofdstuk) - Het icon rechts onder ‘TwinCAT Running’ of ‘RTime’ moet groen zijn - De groene kleur betekent dat de virtuele PLC die draait op de PC in RUN staat __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 39 / 83 5.3.3 Voorbeeld ladderdiagram. - Rechts klikken op ‘MAIN’ - daarna gewoon klikken op ‘Add Object’ - Geef een naam (bv Ladder) en kies LD voor Ladderdiagram - daarna klikken op ‘OK’ - Maximaliseer het venster (indien nodig) - Klik even in het netwerk op de plaats waar ongeveer het eerste ‘contact’ moet komen - Klik op ‘Contact’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 40 / 83 - Selecteer de vraagtekens - Druk op functietoets F2 - Selecteer ‘Global Variables’ - Maak een keuze uit de lijst INputs bv S01 - Klik even in het netwerk op de plaats waar ongeveer de eerste ‘coil’ moet komen - Klik op ‘Coil’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 41 / 83 - Selecteer de vraagtekens boven de uitgang - Druk op F2 - Selecteer ‘Global Variables’ - Maak een keuze uit de lijst OUTputs - voorbeeld Q01 - Nu gaan we dit programma activeren - Dubbelklik op ‘MAIN’ - Type ‘Ladder;’ (eindigen met een puntkomma) - In het venster ‘MAIN’ staan alle programma’s die actief zijn, deze worden doorlopen in de volgorde waarin ze staan in de lijst __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 42 / 83 - Ga naar rolmenu ‘Online’ Klik op Login (F11) - Compiler setttings differs from run-time system. Recompile? - Klik op ‘Ja’ (het programma wordt gecontroleerd op fouten) - No program on the controller! Download the new program? - Klik op ‘Ja’ (het programma wordt in het geheugen van de PLC geladen) - PLC in RUN mode zetten (F5) - Nu moet men rechts onderaan het scherm drie zaken zien: het systeem waarmee men verbonden is in het rood - de letters ONLINE in het zwart en de letters RUN in het groen __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 43 / 83 - Nu kan men het programma testen op de PLC. - Bedien de schakelaar S01, als resultaat moet ook Q01 bediend zijn (blauwe kleur) - We kunnen ook in het venster ‘Global Variables’ de beweging van de variabelen volgen - Open het venster ‘Global Variables’ - Bbedien de schakelaars op de PLC - Probeer nu het programma aan te passen volgens onderstaande figuur en test uit. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 44 / 83 HOOFDSTUK 6 EENVOUDIG PROGRAMMEREN. 6.1 Basisschakelingen. 6.1.1 Opstarten van de PLC. Voer alle handelingen uit die beschreven staan in hoofdstuk: 4.4 Opstarten System manager met een bestaande PLC configuratie. 6.1.2 Serieschakeling. Programmeer een serieschakeling van twee contacten (AND functie) in Ladder. 6.1.3 Parallelschakeling. Programmeer een parallelschakeling van twee contacten (OR functie) in Ladder. 6.1.4 Afvragen van de signaaltoestand. In het PLC programma wordt de toestand van een ingang afgevraagd. Staat er een spanning van +24 V op de ingang of niet? Is deze ingang hoog of laag? De PLC kan onmogelijk weten welke schakelaar of sensor er aan de ingang is aangesloten. Dit kan een maakcontact zijn (NO contact), of een verbreker (NC contact), of de uitgang van een elektronische sturing of een sensor bv een fotocel (DARK ON of LIGHT ON). Elektriciens zijn nogal geneigd elk maakcontact te vertalen naar AND en OR, elk verbreekcontact naar AND NOT of OR NOT, deze redenering is verkeerd en leidt tot fouten in het programma. 6.1.5 Merkers of Flags. - Een merker of vlag is een variabele in het geheugen van de PLC die kan gestuurd worden, dus men kan met een aantal instructies de merker hoog of laag zetten. - Een merker kan men vergelijken met een geheugenrelais in een klassieke schakeling, deze zal ergens in de schakeling een geheugenfunctie vervullen of een toestand bijhouden. - In TwinCat kan men oneindig veel variabelen zelf aanmaken. In principe kan men eender welke naam aan een merker geven, wij gebruiken de code M. - In de figuur zijn drie merkers aangemaakt in het venster ‘Global_Variables’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 45 / 83 6.2 Omzetten van een stroomkringschema naar een PLC programma. Maak onderstaande oefeningen in Ladder en converteer naar Instruction List. 6.2.1 Oefening: 6.2.2 Oefening: 6.2.3 Oefening: __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 46 / 83 6.3 Links-Rechts schakeling. 6.3.1 Probleemstelling. - Bij een driefasige motor kan men de draaizin omkeren door twee aansluitdraden om te wisselen. - Onderstaand schema stelt een lopende band voor waar de draaizin van de motor omgekeerd wordt door de eindeloopschakelaars S01 en S02. - De motor wordt gestart met de ‘Start’ drukknop en gestopt met de ‘Stop’ drukknop. - De motor wordt beveiligd door de smeltveiligheden F01 en de thermiek F02. 6.3.2 Schema met klassieke schakeling. 6.3.3 Schema met PLC. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 47 / 83 6.4 Ster-Driehoek schakeling. 6.4.1 Probleemstelling. De aanloopstroom van een driefasige motor kan 6 tot 7 keer de nominale stroom bedragen. Nadelen: - bij grotere motoren kan dit een spanningsval in het net veroorzaken. - de aanloopstroom kan de beveiliging laten afslaan, voordat de motor zijn normaal toerental bereikt. Om deze reden worden sommige motoren bij de aanloop in ster geschakeld, zo wordt de aanloopstroom tot ongeveer twee maal de nominale stroom begrensd. In het schema hieronder wordt de motor gestart in ster met drukknop S02, als het nominaal toerental is bereikt, wordt hij omgeschakeld met drukknop S03 naar driehoek. 6.4.2 Schema met klassieke schakeling. 6.4.3 Schema met PLC. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 48 / 83 6.4.4 Programmeer in Ladder. - maak een nieuw ladder programma - programmeer de ster-driehoekschakeling - test de werking van het programma. 6.4.5 Visualisatie. Het doel van visualisatie is het zichtbaar maken van het proces, de toestand van een schakelaar of relais, de waarde van een timer of een teller, enz. Voor de ster-driehoek schakeling: - zijn de drie drukknoppen voorgesteld door drie roze rechthoeken - zijn de drie contactoren voorgesteld door drie groene rechthoeken - is de motor voorgesteld door een blauwe cirkel. Ga naar het tabblad ‘Visualisations’ Rechts klikken op ‘Visualisations’, daarna op ‘Add object’. Geef de visualisatie een naam. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 49 / 83 Maken van een drukknop: klik op ‘Rectangle’ en vorm een rechthoek op het werkblad. Daarna dubbelklikken op de getekende rechthoek. - geef een naam aan de drukknop (bv START) en stel het lettertype, de grootte en de kleur in. - bepaal een kleur voor de drukknop (Inside) - bepaal de kleur als de drukknop bediend wordt (Alarm color) Koppel de rechthoek of drukknop aan een variabele bv S02, maak een keuze uit de lijst met Functietoets F2 Maak nu voor de andere schakelaars en contactoren ook een knop. Programma in werking: __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 50 / 83 6.5 Programmeren en simuleren zonder PLC. 6.5.1 Virtuele PLC - Aangezien we gaan simuleren zonder echte PLC moeten we een virtuele PLC laten draaien op onze computer. - Start de TwinCat System Manager en Open een nieuw project - Activeer de configuratie zonder iets te wijzigen - Bevestig twee keer met OK - Het icon rechtsonder ‘Running’ of ‘RTime’ moet na enkele seconden groen worden - Daarna mag dit venster geminimaliseerd of gesloten worden. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 51 / 83 6.5.2 Simuleren zonder PLC - Open: ‘PLC Control’ - Open een bestaand PLC programma (bv uit Hoofdstuk 5 de oefening 5 2 3) - Ga naar: ‘Online’ – ‘Choose RunTime System’ - Als er geen PLC actief is op het netwerk zie je geen actieve PLC poort 800. Voor lokale werking op de PC zelf kies je poort 801 tot 804 op de locale PC (dat kan je zien aan het netwerk adres). - Er kunnen 4 ‘Run Time systems’ tegelijk actief zijn, in dit geval is er maar één geactiveerd. - Kies ‘Run Time 1 (Port 801)’ en klik op OK - Activeer de ‘Simulation Mode’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 52 / 83 - Log in (F11) en zet de PLC in RUN (F5). - Onderaan rechts van het scherm moet ‘ONLINE’ en ‘SIM’ zwart zijn. - ‘TwinCAT Running’ en ‘RUN’ moet in groene kleur staan. - Aan het IP adres zien we dat er nu een connectie is met de virtuele PLC op onze computer zelf. 6.5.3 Testen van het programma. - Nu kunnen we het programma testen. Dubbelklik op S01 er verschijnt een blauw vierkantje. - Met Ctrl F7 kan men de schakelaar naar de ingestelde waarde overschakelen. - Men kan dit ook doen vanuit het menu ‘Online’. - Met ‘Write values’ (Ctrl F7) activeert men de waarden van bv schakelaars of drukknoppen. - Met ‘Force Values’ (F7) zal men de stand van de schakelaar forceren. - Met ‘Release Force’ (Shift+F7) kan men deze geforceerde toestand terug opheffen. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 53 / 83 - Met ‘Write/Force-Dialog (Ctrl+Shift+F7) krijgt men een venster waarin men de geselecteerde waarden kan bekijken en bewerken, men kan ook zien welke waarden reeds gemanipuleerd zijn. - Normaal zal men in een programma enkel de inputs manipuleren, de outputs zijn een gevolg van deze bediening en van de werking van het programma. - De outputs kunnen wel geforceerd worden maar dit is niet aan te raden. Belangrijke opmerking: - Om verwarring te voorkomen en veel aanpassingswerk achteraf te vermijden programmeert men best met een echt bestaande PLC configuratie. - Een programma geschreven voor een bestaande PLC configuratie kan men ook uittesten zonder dat de PLC aangekoppeld is. 6.5.4 Bedienen van het programma vanuit een Visualisatie. - Om het bedienen van het programma gemakkelijker te maken en om de toestand van de uitgangen beter te overzien gaan we een visualisatie maken van alle INputs en OUTputs. - Eerst maken we een Visualisatie sheet met 12 vierkantjes (dit zijn de schakelaars of drukknoppen) en 12 cirkeltjes (dit zijn de outputs). - De INputs krijgen een gele kleur met rood als de toestand verandert. - De OUTputs krijgen een groene kleur met blauw als de toestand verandert. - Het grote verschil met een gewone visualisatie is dat we nu het programma gaan bedienen vanuit de Visualisatie. Daartoe gaan we de INputs koppelen aan de gevisualiseerde schakelaars, aan de uitgangen veranderen we niets, deze blijven gestuurd door het programma zelf. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 54 / 83 - Dubbelklikken op S01. - Selecteer ‘Text’ vul in het venster ‘Content’ S01 dan klikken op de knop ‘Font’ - Kies de instellingen voor het lettertype. - Selecteer ‘Colors’ en kies de kleur van de knop ‘Color Inside’ en de kleur bij bediening van de knop ‘Alarm color Inside’. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 55 / 83 - Selecteer ‘Variables’ plaats de cursor in het vak ‘Change color’ en druk op functietoets F2, koppel de knop aan S01. - Selecteer ‘Input’ plaats de cursor in het vak ‘Toggle variable’ en koppel de knop aan S01. - Toggle wil zeggen dat de schakelaar van stand verandert bij het aanklikken, hij schakelt dus over van ‘uit’ naar ‘aan’ en omgekeerd. - OF selecteer ‘Input’ plaats de cursor in het vak ‘Tap variable’ en koppel de knop aan S01. - Tap wil zeggen dat de schakelaar bediend blijft zolang er op gedrukt wordt, hij heeft dus de functie van een drukknop. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 56 / 83 HOOFDSTUK 7 STANDAARD FUNCTIE BIBLIOTHEEK. 7.1 Inleiding. - De Library Manager kan men zien op het tabblad ‘recources’ onder de global variables. - De Library Manager geeft een overzicht van alle bibliotheken die verbonden zijn met het actieve project. - De 'standard.lib' of ‘standaard.lb6’ is altijd beschikbaar. Deze bevat een aantal basis functies omschreven in de IEC61131-3 norm. - Het is op elk moment mogelijk extra bibliotheken bij te installeren die nodig zijn voor andere taken bv servosturing. 7.2 Bistabiele functie Set-Reset. 7.2.1 Omschrijving. - We hebben reeds verschillende keren een schakeling gezien met een behoudcontact. Een maakcontact van het relais zorgt ervoor dat het relais aangetrokken blijft zodat de startdrukknop kan losgelaten worden. - Deze behoudschakeling kunnen we vervangen door een Set-Reset functie. 7.2.2 Invoegen van een functieblok - Voeg een nieuw Ladder programma toe met ‘Add Object’ - Geef het een naam bv Set_Reset - Klik eenmalig in het segment waar de functieblok moet komen __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 57 / 83 - Open dan rolmenu ‘Insert’ - kies ‘Function Block’ - kies daarna SR (Set-Reset) - Geef de functie blok een naam bv SR1 - TwinCAT gaat deze nieuwe functie aanmaken als variabele - klik op OK - Plaats de twee drukknoppen voor het bedienen van de functie - Plaats ook de uitgang Q01 - Om dit programma te testen moet het geactiveerd worden in het hoofdprogramma MAIN __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 58 / 83 - Het programma ‘Ladder’ moet men ofwel verwijderen ofwel aanduiden als commentaar anders gaat de uitgang Q01 dubbel aangestuurd worden en dat kan men niet toelaten. - Dan inloggen met functietoets F11 en de PLC in RUN zetten met functietoets F5 7.2.3 Set en Reset apart gebruiken - In een ladder diagram kan men de SET en RESET functie apart gebruiken zonder de functieblok op te roepen - Selecteer een uitgang en klik op de S of de R op de knoppenbalk - De instructie die laatst in het programma voorkomt wordt ook laatst uitgevoerd en heeft prioriteit - Maak een nieuw ladder programma ‘TEST2’ volgens onderstaand voorbeeld - Bekijk ook het programma in een andere vorm bv converteer naar IL (Instruction List) __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 59 / 83 7.2.4 Teleruptorprincipe. - Wanneer drukknop S01 bediend wordt zal uitgang Q01 hoog worden. - Deze toestand blijft behouden ook nadat de drukknop S01 niet meer wordt bediend. - De uitgang Q01 blijft hoog tot de drukknop S01 nogmaals bediend wordt, dan valt hij af en blijft laag. - Ook deze toestand blijft behouden ook nadat de drukknop S01 niet meer wordt bediend. - Maak gebruik van een merker M01. - Bekijk goed de punten 1, 2, 3 en 4. - Voor elk punt waar een verandering optreedt wordt een netwerkje voorzien. - Bewaar het programma onder de naam OEF724. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 60 / 83 7.2.5 Trappenhuisschakeling. - Breid voorgaande schakeling uit door de bediening mogelijk te maken met meerdere drukknoppen, zo bekomt men een schakeling voor de verlichting van een trappenhuis. - De verlichting wordt indirect gestuurd - uitgang Q01 stuurt een interface relais – dit relais stuurt bv een contactor die de lampen aanstuurt (grotere stroom). - Teken eerst een tijdsdiagramma, bewaar het programma onder de naam OEF725. 7.2.6 Schakeling van twee pompen. - Een tank wordt gevuld met twee pompen. Om onderhoud te vermijden en de slijtage aan de pompen te spreiden zal men elke pomp om beurten apart laten werken. Een Merker houdt bij welke pomp het laatst heeft gewerkt. - De installatie zal pas werken als een hoofdschakelaar S01 AAN staat. - De pompbeweging wordt gestart ofwel: - manueel door een startdrukknop S02 - automatisch door een niveauschakelaar S04 (onderin de tank) - De pompbeweging wordt gestopt ofwel: - manueel door een stopdrukknop S03 - automatisch door een niveauschakelaar S05 (bovenaan de tank) - Gebruik Set en Reset alsook een Merker om het programma te schrijven. - Teken eerst een tijdsdiagramma, bewaar het programma onder de naam OEF726. 7.2.7 Schakeling van drie pompen. - Een tank wordt gevuld met drie pompen. - De installatie zal pas werken als een hoofdschakelaar S01 AAN staat. - Om het debiet te regelen kunnen achtereenvolgens één, twee of alle drie de pompen tegelijk worden ingeschakeld. Dit gebeurt met één enkele drukknop S02 - Een andere drukknop S03 zal op elk moment alle pompen uitschakelen. - Gebruik Set en Reset alsook één of meerdere Merkers om het programma te schrijven. - Teken eerst een tijdsdiagramma, bewaar het programma onder de naam OEF727. 7.2.8 Motor starten met één drukknop. - Schrijf een programma om een motor te starten en te stoppen met één drukknop S02. - De installatie zal pas werken als een hoofdschakelaar S01 AAN staat. e 1 druk op de drukknop: start links draaiend e 2 druk op de drukknop: stop e 3 druk op de drukknop: start rechts draaiend e 4 druk op de drukknop: stop - Teken eerst een tijdsdiagramma, bewaar het programma onder de naam OEF728. 7.2.9 Schakeling met reactorvat. - In een reactorvat zijn drie signaalgevers gemonteerd. - De installatie zal pas werken als een hoofdschakelaar S01 AAN staat (maakcontact). - Als het niveau in het vat te hoog is, reageert detector S03. - Als de temperatuur boven een bepaalde waarde stijgt reageert thermostaat S04. - Als de druk boven een bepaalde waarde stijgt reageert druksensor S05. - Als één van de drie detectoren (S03, S04, S05) reageert moet een oranje lamp Q01 branden. - Als twee van de drie detectoren reageert moet een rode lamp Q02 branden. - Als de detectoren alle drie reageren moeten beide lampen branden en ook een bel Q03 rinkelen. - De bel blijft rinkelen tot de stopdrukknop S02 ingedrukt wordt (verbreekcontact). - Bewaar het programma onder de naam OEF729. 7.2.10 Vergelijken van twee signalen. - Men wil de signalen S01 en S02 met elkaar vergelijken. - Als S01=1 en S02=0 moet Q01 branden - Als S01=0 en S02=1 moet Q02 branden - Als S01=0 en S02=0 moet Q01 en Q02 branden - Als S01=1 en S02=1 moet Q01 en Q02 branden - Bewaar het programma onder de naam OEF7210. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 61 / 83 7.3 Functie blok Counter. 7.3.1 Omschrijving van een functieblok. - Een functieblok is een voorgeprogrammeerd stukje software met een bepaalde werking die in het PLC-project kan opgeroepen worden. - Wanneer een bepaalde functie meerdere keren in het programma terugkomt, is het mogelijk deze te definiëren als een functieblok, anders zou je telkens als je de functie nodig had ze opnieuw volledig moeten ingeven, wat zeer tijdrovend zou zijn. - Er bestaan verschillende soorten function blocks waaruit men kan kiezen: Standard Function Blocks zitten standaard in de bibliotheek van PLC Control. Men kan via het tabblad Recourses – Library Manager bijkomende bibliotheken installeren. User defined Function Blocks kan men zelf aanmaken. - Bij elke PLC gestuurde machine worden een aantal ‘gebeurtenissen’ geteld: - aantal geproduceerde stukken - aantal keer dat een motor in veiligheid is gesprongen - aantal keer dat een cilinder is uitgeschoven - Deze waarden worden gebruikt bv voor de productie zelf of voor preventief onderhoud. - Voor elke teller is in het geheugen van de PLC een tellerwoord gereserveerd. Dit woord bevat de huidige waarde van de teller en kan met instructies uitgelezen worden. - Er wordt geteld op de positieve flank van de telingang. 7.3.2 CU = Counter UP (optellen) - De tellerwaarde van een bepaalde teller wordt met 1 verhoogd bij een positieve flank op deze ingang. - Is de hoogste waarde bereikt (Current Value = Preset Value) dan blijft de teller op die waarde staan. 7.3.3 CD = Counter DOWN (aftellen) - De tellerwaarde van een bepaalde teller wordt met 1 verlaagd bij een positieve flank op deze ingang. - Is de laagste waarde bereikt (Current Value = 0) dan blijft de teller op 0 staan. - Er wordt niet met negatieve getallen gewerkt. 7.3.4 RESET - Bij een positieve flank op de RESET ingang wordt de tellerwaarde (Current Value) op 0 gezet. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 62 / 83 7.3.5 LOAD - Bij een positieve flank aan de LOAD ingang wordt de tellerwaarde (Current Value) overschreven met de ingestelde waarde. - Deze actie gebeurt onafhankelijk van de stand van de teller en overschrijft de huidige waarde. 7.3.6 PV (Preset Value) - Ingestelde waarde van de teller, deze waarde wordt de actuele waarde van de teller (CV) bij een LOAD instructie. - Deze waarde is een WORD dus 16 bits is gelijk aan 35.536 decimaal. - Als men grotere waarden wil bekomen moet men een tweede teller bij programmeren. 7.3.7 QU (uitgang hoogste waarde) - Deze uitgang wordt hoog wanneer de teller de ingestelde waarde (PV) heeft bereikt. 7.3.8 QD (uitgang laagste waarde) - Deze uitgang wordt hoog wanneer de teller het nulpunt heeft bereikt. 7.3.9 CV (Current Value) - De uitgang geeft de huidige waarde van de teller weer en kan gebruikt worden bij andere instructies, wiskundige bewerkingen of vergelijkingen. - Door middel van een aantal specifieke instructies kan men de waarde van een teller laten weergeven op een display of verwerken in andere programma’s. 7.3.10 MU en MD - Dit zijn twee merkers die worden gebruikt voor de flankdetectie, hebben verder geen belang. 7.3.11 Prioriteit - Zolang de toestand van de RESET ingang hoog is kan er niets met de teller gedaan worden (niet optellen of aftellen, niet opnieuw setten, enz). - Wanneer binnen het verloop van één programmacyclus een CU en CD instructie op dezelfde teller wordt gegeven, dan heffen deze mekaar op en verandert de tellerwaarde niet. 7.3.12 Voorbeeldprogramma __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 63 / 83 7.3.13 Visualisatie van de uitlezing van de teller: __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 64 / 83 7.4 TOF (Timer Off Delay). 7.4.1 Symbool. 7.4.2 Verklaring van de timervariabelen. Eerst wordt de variabelennaam getoond en vervolgens tussen haakjes de toestand of de grootte van de variabele. IN (BOOL) PT (TIME) Q (BOOL) ET (TIME) = Ingangsvoorwaarde van de timer (BOOL = 1 bit bv een drukknop). = Preset Time t#5s (instelwaarde van de timer bv de tijd bedraagt 5 sec) = Uitgang van de timer (kan gebruikt worden om andere zaken te sturen) = Actuele tijd van de timer (hier kan men de werkelijke tijd zien lopen) 7.4.3 Werking aan de hand van het tijdsdiagramma. Timers reageren enkel op stijgende of dalende flanken (triggers). ALS het signaal op de ingang hoog wordt DAN wordt de uitgang van de timer hoog EN de tijd wordt op 0 gezet (IN wordt hoog) (Q wordt hoog) (ET wordt 0) ALS het signaal op de ingang laag wordt (IN wordt laag) DAN begint de tijd te lopen in ms tot hij gelijk is aan de ingestelde tijd ALS het signaal op de ingang laag is EN de tijd is verlopen (ET = PT) DAN wordt de uitgang van de timer laag (ET loopt tot ET = PT) (IN is laag) (Q wordt laag) 7.4.4 Voorbeeld. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 65 / 83 7.5 TON (Timer ON Delay). 7.5.1 Symbool. 7.5.2 Verklaring van de timervariabelen. Eerst wordt de variabelennaam getoond en vervolgens tussen haakjes de toestand of de grootte van de variabele. IN (BOOL) PT (TIME) Q (BOOL) ET (TIME) = Ingangsvoorwaarde van de timer (BOOL = 1 bit bv een drukknop). = Preset Time t#5s (instelwaarde van de timer bv de tijd bedraagt 5 sec) = Uitgang van de timer (kan gebruikt worden om andere zaken te sturen) = Actuele tijd van de timer (hier kan men de werkelijke tijd zien lopen) 7.5.3 Werking aan de hand van het tijdsdiagramma. Timers reageren enkel op stijgende of dalende flanken (triggers). ALS het signaal op de ingang hoog wordt (IN wordt hoog) DAN begint de tijd te lopen in ms tot hij gelijk is aan de ingestelde tijd ALS het signaal op de ingang hoog is EN de tijd is verlopen DAN wordt de uitgang van de timer hoog (IN is hoog) (ET = PT) (Q wordt hoog) ALS het signaal op de ingang laag wordt DAN wordt de uitgang van de timer laag EN de tijd wordt op 0 gezet (IN wordt laag) (Q wordt laag) (ET wordt 0) (ET loopt tot ET = PT) 7.5.4 Voorbeeld. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 66 / 83 7.6 TP (Timer Puls Block). 7.6.1 Symbool. 7.6.2 Verklaring van de timervariabelen. Eerst wordt de variabelennaam getoond en vervolgens tussen haakjes de toestand of de grootte van de variabele. IN (BOOL) PT (TIME) Q (BOOL) ET (TIME) = Ingangsvoorwaarde van de timer (BOOL = 1 bit bv een drukknop). = Preset Time t#5s (instelwaarde van de timer bv de tijd bedraagt 5 sec) = Uitgang van de timer (kan gebruikt worden om andere zaken te sturen) = Actuele tijd van de timer (hier kan men de werkelijke tijd zien lopen) 7.6.3 Werking aan de hand van het tijdsdiagramma. ALS het signaal op de ingang laag is (IN is laag) DAN is de uitgang van de timer laag (Q is laag) EN de tijd is gelijk aan 0 (ET is 0) ALS het signaal op de ingang hoog wordt (IN wordt hoog) DAN wordt de uitgang van de timer hoog (Q wordt hoog) Q blijft hoog zolang de tijd loopt ongeacht de toestand op de ingang EN begint de tijd te lopen in ms tot hij gelijk is aan de ingestelde tijd (ET loopt tot ET = PT) Na het aflopen van de tijd blijft ET staan op zijn waarde tot het signaal op de ingang terug hoog wordt (de volgende stijgende flank) op dat moment wordt de lopende tijd ET terug op 0 gezet. 7.6.4 Voorbeeld. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 67 / 83 7.7 Oefeningen op timers. 7.7.1 TOF, TON en PT. - Breng de drie verschillende timers in en test de werking uit. - Converteer van Ladder naar Instruction List en bekijk het resultaat. 7.7.2 Trappenhuisautomaat. - In een appartementsgebouw staan in de traphal op de verschillende verdiepingen in totaal 6 drukknoppen. - Als men één van de drukknoppen bedient gaat de verlichting branden. - De verlichting blijft 3 minuten branden, tijdens de test gebruikt men 3 seconden. - Telkens een drukknop wordt bediend zal de tijd terug beginnen te lopen vanaf 0 en blijven de lampen branden tot de ingestelde tijd is afgelopen. - Pas het programma aan zodat de lampen ook manueel kunnen gedoofd worden volgens bijgevoegd schema 7.7.3 Knipperlicht. - Schrijf een programma waarbij een lampje knippert aan een frequentie van 1 Hz. - Gebruik hiervoor twee timers die mekaar inschakelen. - Het lampje is aangesloten op de uitgang van één van de timers. 7.7.4 Openbaar toilet. Er zijn drie toiletten met elk een lamp voor de verlichting (L01, L02 en L03) en elk een bistabiele schakelaar (S01, S02 en S03) om deze lampen respectievelijk aan te steken. Wanneer iemand een toilet binnengaat en de schakelaar bedient gebeuren twee zaken: - enkel in het betreffende toilet zal de lamp gaan branden - er is ook een gemeenschappelijke ventilator voor het verluchten van de toiletten, deze ventilator zal in werking treden als eender welke schakelaar wordt bediend. Als de bezoeker terug buitengaat en de verlichting uitschakelt gebeuren twee zaken: - in het betreffende toilet zal de lamp uitgeschakeld worden - de gemeenschappelijke ventilator zal nog 2 minuten (simuleer 5 seconden) blijven werken en daarna automatisch uitschakelen (op voorwaarde dat intussen niemand anders de toiletten bezoekt). 7.7.5 Ster-Driehoek schakeling. - Herneem de ster-driehoek schakeling uit het vorige hoofdstuk (Hfdst-05-3-Ster-Driehoek.pr6) - Laat het omschakelen van ster naar driehoek automatisch gebeuren na verloop van 3 seconden. 7.7.6 Links-Rechts schakeling. - Herneem de links-rechts schakeling uit het vorige hoofdstuk (Hfdst-05-4-Links-Rechts.pr6) - Om zeker geen kortsluiting te veroorzaken bij het omschakelen van links naar rechts kan men een vertraging programmeren van een halve seconde. 7.7.7 Automatische deur. - Aan een supermarkt wordt de ingangsdeur geopend en gesloten dmv twee pneumatische cilinders. - Aan de ingang buiten staat een fotocel die de deur zal openen bij een naderende klant. - Ook aan de kassa kan men de deur openen door gebruik te maken van een drukknop. - De deur wordt automatisch gesloten 1 seconde nadat het detectiesignaal is weggevallen. - De automatische werking functioneert enkel als een hoofdschakelaar in het bureau AAN staat. - Voer deze schakeling praktisch uit in het labo op die manier dat de deuren automatisch open gaan als de spanning wegvalt (Opgelet in de figuur zijn de ventielen getekend in de bediende stand). __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 68 / 83 7.8 Flankdetectie. 7.8.1 Principe. - Bekijk de instructie AND, AND NOT, OR, OR NOT. Met deze instructies vragen we af of een ingang hoog of laag is. Bij elke doorloop van het programma worden de ingangen ingelezen en de uitgangen gestuurd, in principe zou bv een timer dus telkens opnieuw moeten gestart worden. Dit is niet het geval. Bij een timer begint de tijd te lopen enkel bij een opkomende flank op de startingang. - In bepaalde gevallen is het belangrijk het moment te kennen waarop een ingang, uitgang, merker, enz. hoog of laag is geworden. Het bepalen van dit moment noemt men flankdetectie. 7.8.2 Opkomende en dalende flank. - Een opkomende flank noemt men het moment waarop een ingang van 0 naar 1 gaat. - Een dalende flank is het omgekeerde nl het moment waarop een ingang van 1 naar 0 gaat. Opkomende flank Dalende flank - In de Beckhoff Standaard Functie Bibliotheek zijn twee functieblokken voorzien om de opkomende en dalende flank te detecteren. 7.8.3 Oefening: Belsignaal aan winkeldeur. - Aan de ingangsdeur van een winkel staan twee fotocellen S01 en S02 opgesteld. - Wanneer een klant binnenkomt wordt eerst S01 onderbroken, daarna S02, een bel of zoemer zal in werking treden zolang de lichtstralen van de fotocellen onderbroken zijn. - Wanneer een klant buitengaat wordt eerst S02 onderbroken, daarna S01, hier mag de bel of zoemer niet werken. - Uitbreiding: Tel het aantal binnenkomende klanten met een teller C01. - Uitbreiding: Om te vermijden dat de bel blijft rinkelen als een klant aan de deur blijft stilstaan zal de bel of zoemer slechts 0,5 seconde werken. 7.8.4 Oefening: Draairichting van een motor. - Op de as van een motor worden twee sensoren gemonteerd bv reflex fotocellen. Bepaal de draairichting met flankdetectie. - Uitbreiding: Om een verplaatsbare pomp niet te beschadigen mag een elektrische motor enkel links draaien. Daarom wordt de draairichting gedetecteerd door middel van vorige oefening. Wanneer de motor links aanloopt is er normale werking. Als de motor rechts aanloopt zal hij onmiddellijk stilvallen en een rood alarmlicht zal branden. 7.8.5 Oefening: Parking. - Gebruik hiervoor het simulatiepaneel. Het paneel simuleert de inen uitgang van een parking voor personenwagens. - De toegang tot de parking wordt aangegeven door de verkeerslichten aan de ingang. Als het maximum aantal parkeerplaatsen is bezet (zie tellerstand) moet het groene licht doven en het rode licht branden. - Bij het binnenrijden onderbreekt de wagen eerst sensor 1, daarna wordt sensor 2 onderbroken. Als de wagen binnenrijdt wordt eerst sensor 1 terug vrijgegeven, daarna wordt sensor 2 vrijgegeven. Op dit moment wordt een wagen bij de tellerstand opgeteld en de slagboom wordt terug gesloten. - Bij het buiten rijden krijgen we de omgekeerde beweging. De wagen onderbreekt eerst sensor 2. De slagboom opent, dit wordt gesimuleerd door een controlelamp. Daarna wordt sensor 1 onderbroken. Als de wagen buiten rijdt wordt eerst sensor 2 terug vrijgegeven, daarna wordt sensor 1 vrijgegeven. Op dit moment wordt een wagen van de tellerstand afgetrokken en de slagboom wordt terug gesloten. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 69 / 83 HOOFDSTUK 8 GRAFCET. - Het woord Grafcet komt van ‘Graphe de Fonctionnement de Commande par Etappe et Transition’, hetgeen zoveel wil zeggen als: ‘Tekening of schema van de opdrachten die nodig zijn voor het stapsgewijs doen verlopen van een proces’. - Een diagram volgens deze tekenwijze geeft stap voor stap aan welke acties op welk tijdstip en onder welke voorwaarden moeten plaatsvinden. Hiervoor gebruiken we in het diagram eenvoudige symbolen, verbonden door lijnen, alsmede begrijpelijke tekst. 8.1 Principe. - Het besturingsproces wordt onderverdeeld in een aantal fasen. - Elke fase kent een stap en de daarbij behorende acties. - De stappen worden één na één geactiveerd in steeds dezelfde volgorde. De acties worden uitgevoerd zodra en zolang de desbetreffende stap actief is. In de overgang tussen twee stappen bevindt zich een schuifvoorwaarde. De overgang is geblokkeerd zolang niet aan de schuifvoorwaarde is voldaan. Een volgende stap wordt actief als: - de voorgaande stap actief is en - aan de schuifvoorwaarde is voldaan. Dit betekent dat er controle is op het verloop van de besturing, immers een volgende stap kan nooit actief worden als de voorgaande niet actief is. Het vrijgeven van de overgang heeft tot gevolg dat: - de volgende stap actief wordt (SET) - de vorige stap wordt uitgeschakeld (RESET). 8.2 Stappen. 8.2.1 Symbolen voor een stap. - Een stap is een stabiele situatie in een besturingssysteem. - Een stap blijft actief terwijl hij wacht op het voldoen aan de schuifvoorwaarde. - De actieve stap wordt in een schema aangeduid met een punt, in TwinCat wordt de stap blauw gekleurd. - Elke stap wordt op zijn beurt actief, zij het steeds in dezelfde volgorde. - De parate stap is een stap die dient om het begin van een cyclus aan te geven. Deze wordt met een dubbelwandig vierkant aangegeven. Normaal is dit het begin van een cyclus, als de cyclus volledig doorlopen is stopt hij aan de parate stap. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 70 / 83 8.2.2 Aan stappen verbonden acties. - Aan iedere stap kunnen één of meerdere acties zijn verbonden. - De acties worden uitgevoerd enkel op het moment dat de desbetreffende stap actief is. - De acties kunnen in de rechthoek symbolisch worden voorgesteld, maar ook in tekst worden genoteerd. Voorbeelden: Aan stap 5 zijn twee acties verbonden, zodra stap 5 actief is, moet cilinder A uitschuiven (+) en cilinder B inschuiven (-). Stap 7 is op dit moment actief en klep C wordt dus gesloten. 8.2.3 Overgangen en schuifvoorwaarden. - Deze figuur geeft in 3 fasen aan wat precies bij een overgang gebeurt. De overgang is de verbindingslijn tussen 2 stappen. In de overgang bevindt zich altijd een schuifvoorwaarde. - In het linkse deel van de figuur is stap 10 niet actief. De schuifvoorwaarde is a·(b+c), dat wil zeggen dat contact b of contact c moeten gesloten zijn en contact a. - In het midden is stap 10 reeds actief, maar aan de schuifvoorwaarde is nog niet voldaan: a·(b+c)=0. De overgang is nog geblokkeerd. De aan stap 10 verbonden actie(s) worden uitgevoerd. Dit is in feite de voorbereidingstoestand voor het actief worden van stap 11. - Rechts op de figuur is aan de schuifvoorwaarde voldaan: a·(b+c)=1. Stap 10 was actief, dus nu wordt de overgang gerealiseerd. Daardoor wordt stap 11 actief en stap 10 wordt gereset. - Een grote verscheidenheid van schuifvoorwaarden kan voorkomen: - schakelaar, drukknop, eindschakelaars, benaderingssensoren - PLC uitgang, fotocellen, de stand van een teller (c=10) - een temperatuur (t=300°, vb. een thermostaat) - een snelheidsniveau (n=1000 omw/min) - einde van een tijdsvertraging (t=10s) - resultaat van een wiskundige bewerking of vergelijking (A+B > 20) - In TwinCat kan men ook een stap laten actief zijn gedurende een bepaalde tijd. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 71 / 83 8.3 Vertakkingen. 8.3.1 Divergentie en convergentie. - Op het knooppunt van de vertakking moet een keuze worden gemaakt: òf de ene weg òf de andere weg in. We spreken dan van een OF-divergentie (uiteengaan). - Als stap 10 actief is, hangt het geheel af van de schuifvoorwaarde a of b af of stap 11 dan wel stap 21 actief wordt. Aan het einde van de vertakking hangt het af van het actief zijn van stap 13 met schuifvoorwaarde c òf van stap 22 met schuifvoorwaarde d of stap 14 actief kan worden. We spreken nu van een OF-convergentie (samenkomen). - Er wordt steeds maar één tak per keer actief. Voorts dienen twee speciale gevallen van een vertakking te worden genoemd en wel de sprongfunctie en de herhalingsfunctie (zie verder). 8.3.2 Gelijktijdige sequenties. - Bij deze vorm hebben we te maken met verschillende wegen die gelijktijdig worden doorlopen. - Deze vorm komt veelvuldig voor bij machines met verscheidene bewerkingsposten (vb. transferstraten). Er zijn verscheidene takken tegelijk actief waarbij de stappen per tak onafhankelijk van de andere takken worden afgewerkt. - Als stap 10 actief is en aan voorwaarde e is voldaan, dan worden èn stap 11 èn stap 21 actief. We spreken nu van een ENdivergentie, deze wordt met een dubbele lijn aangegeven. - Zowel de linker as de rechter tak worden nu doorlopen. Voordat stap 14 actief kan worden, moet aan voorwaarde f voldaan zijn, maar ook moeten èn stap 13 èn stap 22 actief zijn. We spreken dan van een EN-convergentie, deze wordt ook met een dubbele lijn aangegeven. - Als beide stappen niet gelijktijdig gereed zijn, moet de snelste wachten op de traagste voordat de gemeenschappelijke loop kan worden vervolgd: ook al is 22 reeds actief en is f voldaan, dan nog moet eerst 13 actief worden voordat met 14 verder kan worden gegaan. 8.4 Sprongfunctie. - De sprongfunctie maakt het mogelijk om, onafhankelijk van de schuifvoorwaarden naar een andere plaats in het programma te springen of om bepaalde stappen over te slaan. - Bijvoorbeeld een noodstop kan uitgevoerd zijn met een sprongfunctie zodat de normale werking van het programma wordt verlaten en een noodprocedure wordt opgestart. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 72 / 83 8.4.1 Herhalingsfunctie - Figuur links: Als stap 7 actief is, hangt het af van de vertakkingsvoorwaarden c of d of wordt verdergegaan naar stap 8, dan wel wordt teruggesprongen naar stap 4. - Het gedeelte dat wordt herhaald, moet altijd uit ten minste 3 stappen bestaan. Een stap kan namelijk alleen inschakelen als de volgende stap niet actief is (uitschakeling heeft voorrang op inschakeling). In de middelste figuur heeft de lus slechts 2 stappen: 4 en 5. De voortgang is dan als volgt: Stap 3 actief, p=1, stap 4 wordt actief. Stap 4 actief, q=1, stap 5 wordt actief. Stap 5 actief, c=1, nu kan 4 niet actief worden want 5 is nog actief. Komt dit in de praktijk toch voor, dan wordt altijd een extra, zogenaamde loze stap toegevoegd (zie figuur rechts). 8.4.2 Voorwaardelijke acties of vergrendelingen. - Doorgaans zal de aan een stap verbonden actie worden uitgevoerd zolang de desbetreffende stap actief is. Er kunnen echter aan de uitvoering van de actie meer voorwaarden zijn verbonden. Deze kunnen van interne (vanuit de besturing) of externe (vanuit het proces of de bediening) aard zijn. De afhankelijkheid van een externe variabele wordt als volgt voorgesteld: - Stap 7 is actief. De bewerking ‘frezen’ wordt zonder meer uitgevoerd. Het koelen is echter afhankelijk van de stand van de keuzeschakelaar (KS=0 niet koelen, KS=1 wel koelen), dus van de beslissing van de operator van de machine. - Wanneer de uitvoering van een actie behalve van het actief zijn van de desbetreffende stap ook afhankelijk is van een interne variabele, dan wordt dit met een pijl weergegeven als volgt: - De acties E en F zijn tijdafhankelijk gemaakt. Op het moment dat stap 8 actief wordt, wordt ook de tijdschakeling T gestart en actie E begint. Na t=3s wordt actie E beëindigd en actie F gestart. Actie F blijft doorgaan tot aan schuifvoorwaarde c is voldaan en daarmee de volgende stap actief wordt. Deze interne variabelen of voorwaarden worden ontleend aan de interne hulpfuncties. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 73 / 83 8.5 Subroutines. - Als een gedeelte van een besturingscyclus of een zelfde uit verscheidene stappen bestaande bewerking meermalen in een cyclus voorkomt, is het nuttig dit deel uit de hoofdcyclus te lichten en er een aparte herhalingssequentie of subroutine van te maken. - Het linker deel geeft het desbetreffende deel uit de hoofdcyclus weer, dat in de cyclus verscheidene malen voorkomt. Het rechter deel geeft de notatie van deze subroutine weer. - Op twee plaatsen is deze subroutine nu als een simultane sequentie ingebouwd. De stappen 4 en 20 worden gelijktijdig geactiveerd. De overgang 5-6, via de schuifvoorwaarde em, kan alleen als ook stap 22 ook actief is. - Het nut van deze truc blijkt duidelijk als we ons de technische uitvoering voor ogen stellen. Immers, iedere stap betekent tenminste 1 geheugenmodule. - Als nu in een cyclus een bepaald deel, zeg van 5 stappen, 5 maal voorkomt, zouden we hier 25 modules voor nodig hebben. Met behulp van de subroutine vraagt dit slechts 10 modules, namelijk 5 in de subroutine zelf en 5*1 in de hoofdcyclus. Een besparing derhalve van 15 modules. - Het gebruik van subroutines zal het programma versnellen. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 74 / 83 HOOFDSTUK 9 SEQUENTIËLE SCHAKELINGEN. 9.1 Kenmerken. 9.1.1 Omschrijving. - Een sequentiële schakeling is een schakeling met een steeds weerkerende opeenvolging van stappen welke een cyclus doorlopen in steeds dezelfde volgorde (te vergelijken met een pneumatische cascadeschakeling). - Men begint met stap 0 dit is de rusttoestand, hier moeten een aantal voorwaarden vervuld zijn om de cyclus te kunnen starten. - Daarna worden de verschillende stappen van de handeling doorlopen zonder onderbreking. - De tweede stap kan enkel geactiveerd worden als de eerste stap actief is. - De tweede stap zal de eerste onderbreken. - De laatste stap zal terug de eerste activeren, enz. 9.1.2 Schema’s. 9.1.3 Voorbeeldprogramma. - Een sequentiële schakeling kan in elke taal geprogrammeerd worden, maar grafcet leent zich hiervoor het beste. - In TwinCat kan men op twee manieren met de grafcet werken: op de klassieke manier of met IEC stappen. - De klassieke manier laat toe in elke stap nog een ander programma te laten lopen, bv om de snelheid van een stappenmotor in te stellen of een analoge waarde over te brengen. - De methode met IEC stappen is veel directer en geeft een beter overzicht op wat er gebeurt met de uitgangen. - Om met IEC stappen te kunnen werken moet de IEC bibliotheek geïnstalleerd worden. - Aan de rechterzijde is een voorbeeld van een grafcet op de klassieke wijze. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 75 / 83 9.2 SFC. 9.2.1 Definitie. - SFC staat voor Sequential Function Chart. - Dit is een grafische voorstelling waarmee men een programma kan voorstellen met een chronologische volgorde. - Zoek in de help naar: "sequential function chart editor" 9.2.2 Stap. - Een programma in SFC bestaat uit een serie opeenvolgende stappen die met elkaar verbonden zijn met lijnen. Er zijn twee types stappen: - De eenvoudigste voorstelling bestaat uit een actie en een vlag die aanduidt of de betreffende stap actief is. Als de actie gekoppeld is aan een programma verschijnt een klein zwart driehoekje in de rechter bovenhoek. - Een IEC stap bestaat uit een vlag en één of meer toegekende acties, deze verschijnen in een rechthoekje rechts van de stap. 9.2.3 Actie. - Een actie kan instructies in IL of in ST bevatten, een aantal programma’s in FBD of in LD. - Met de eenvoudige voorstelling is een actie steeds verbonden met een stap. Om een actie te bewerken, dubbelklik op de stap waar de actie moet aan gekoppeld worden. - Aan elke stap kan men twee extra acties koppelen, een entry-action die eenmalig wordt uitgevoerd bij het activeren van de stap, en een exit-action die enkel wordt uitgevoerd bij het afsluiten van de stap. - Bij de IEC voorstelling staan de acties opgeslagen in de Object Organizer bij de andere programma’s en worden geladen door erop te dubbelklikken. 9.2.4 Entry of exit actie. - Een entry-action wordt slechts één maal uitgevoerd, direct nadat de betreffende stap wordt geactiveerd en wordt aangeduid met de letter ‘E’ links onderaan. - Een exit-action wordt slechts één maal uitgevoerd, direct voordat de betreffende stap wordt afgesloten en wordt aangeduid met een letter ‘X’ rechts onder . - Om een entry of exit actie te bewerken, dubbelklikken op de betreffende letter. - Een entry en exit actie kunnen enkel aangemaakt worden bij de eenvoudige voorstelling, niet bij de IEC stappen. 9.2.5 Transition/Transition condition. - Een transition is een overgang, een transition condition is een overgangsvoorwaarde. - Tussen twee stappen vinden we een overgang van de ene naar de volgende stap. - Het programma springt naar de volgende stap als aan de overgangsvoorwaarde is voldaan. - Een overgangsvoorwaarde is altijd van het type BOOL en moet de waarde TRUE of FALSE hebben. - Een overgangsvoorwaarde kan ook een serie instructies bevatten die op een BOOL vormig resultaat uitkomen, bv i<100 het antwoord hierop is ook TRUE of FALSE. - Een overgangsvoorwaarde kan geen programma, functie block or assignment zijn (wel een merker). 9.2.6 Actieve Stap. - Als het SFC programma wordt geactiveerd worden de acties die vasthangen aan de initial step (de eerste stap omgeven door een dubbele rechthoek) eerst uitgevoerd. - De actieve stap is de stap waarvan het gekoppelde programma wordt uitgevoerd. - In Online mode worden actieve stappen weergegeven in blauwe kleur. - Elke stap heeft ook een logische waarde TRUE of FALSE die kan opgevaagd worden in andere delen van het programma. De stap is TRUE als hij actief is en FALSE als hij niet actief is. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 76 / 83 9.2.7 IEC stap. - Om IEC stappen te kunnen gebruiken moet eerst de library IECsfc.Lib in het project geopend worden. Ga naar de Library Manager – Insert Additional Library – Klik op IECsfc.Lib. - Alle types van acties of programma’s kunnen toegekend worden aan een IEC stap. - Het linker veld bevat een naam, mogelijk gekoppeld aan een timer, het rechter veld bevat de naam of namen van de acties die uitgevoerd worden tijdens die stap. - Om het proces beter te kunnen volgen worden alle actieve stappen weergegeven in blauwe kleur. - Om alle acties te laten overeenkomen met de IEC stappen zijn volgende kenmerken beschikbaar: N R S L D Non-stored overriding Reset Set (Stored) time Limited time Delayed P Pulse SD Stored and time Delayed DS Delayed and Stored SL Stored and time Limited De actie wordt uitgevoerd zo lang de stap duurt. De actie wordt niet uitgevoerd. De actie wordt uitgevoerd tot er een Reset komt. De actie wordt uitgevoerd voor een bepaalde tijd. De actie wordt uitgevoerd na een bepaalde tijd op voorwaarde dat de stap dan nog actief is. De actie wordt slechts één maal uitgevoerd nadat de stap actief is geworden. De actie wordt uitgevoerd na een bepaalde tijd en blijft actief tot er een Reset komt. De actie wordt uitgevoerd na een bepaalde tijd op voorwaarde dat de stap nog actief is en blijft actief tot er een Reset komt. De actie is actief voor een bepaalde tijd. 9.2.8 Alternatieve zijtak (of keuze zijtak). - Twee of meerdere zijtakken kunnen worden gedefinieerd als alternatieve zijtak. - Elke alternatieve zijtak begint en eindigt met een overgang. - Alternatieve zijtakken kunnen parallelle of nog andere alternatieve zijtakken dragen. - Een alternatieve zijtak begint op een horizontale lijn en eindigt op een horizontale lijn of met een JUMP. - Als de stap vóór het begin van een alternatieve tak actief is, dan zal de eerste overgang van elke alternatieve zijtak geëvalueerd worden van links naar rechts. - De eerste overgang van links te beginnen waarvan de overgangsvoorwaarde TRUE is wordt geactiveerd. 9.2.9 Parallelle zijtak (of gelijktijdige zijtak). - Twee of meerdere zijtakken kunnen worden gedefinieerd als parallelle zijtak. - Elke parallelle zijtak begint en eindigt met een stap. - Alternatieve zijtakken kunnen alternatieve of nog andere parallelle zijtakken dragen. - Een parallelle zijtak begint op een dubbele horizontale lijn en eindigt op een dubbele horizontale lijn of met een JUMP. - Als de stap vóór een parallelle zijtak actief is en de overgangsvoorwaarde is TRUE dan worden alle eerste stappen van de parallelle zijtak actief. - Alle zijtakken worden nu parallel en tegelijkertijd uitgevoerd. - De stap na de parallelle zijtakken (dus na de eindlijn) wordt actief als alle takken zijn doorlopen en als de overgangsvoorwaarde gelijk is aan TRUE. 9.2.10 Jump. - Een JUMP is een verbinding of een sprong naar de stap waarvan de naam is vermeld. - JUMP commando’s worden gebruikt om naar een andere plaats in het programma te springen zonder kruisende lijnen te maken, dit is niet toegelaten. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 77 / 83 9.3 Oefening: Knipperlicht. 9.3.1 Opdracht. - Schrijf een programma waarbij een lampje knippert. - Gebruik hiervoor een SFC programma met een beginstand en 2 stappen. - De eerste stap duurt 700ms, de tweede stap duurt 300ms. - Het lampje is gekoppeld aan het eerste blokje van 700ms. 9.3.2 Openen van het basisprogramma. - Open vanuit PLC Control het bestand UFSIA\UFSIA knipperlicht.pr6 - Start een nieuw SFC programma en noem het ‘Knipperlicht’ - Selecteer de overgang ‘Trans0’ door op het kruisje te klikken - Er verschijnt een stippellijn om aan te geven dat deze overgang geselecteerd is. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 78 / 83 - Klik tweemaal op de knop ‘Step-Transition (after)’ om twee bijkomende stappen aan te maken - Selecteer ‘Trans0’ en verander dit in S01 - het programma wordt enkel doorlopen als S01 bediend is - Verander ‘Trans1’ en ‘Trans2’ naar TRUE - daar wordt geen overgangsvoorwaarde gesteld - Selecteer ‘Step2’ en verander dit in ‘LampjeUit’ - verander ‘Step3’ in ‘LampjeAan’ ( dit zijn slechts ‘labels’ om die stappen een duidelijker naam te geven ) - De tijden worden op volgende manier ingesteld: rechts klikken in het tekengebied - Selecteer ‘Time overview’ - hier ziet men de verschillende stappen - selecteer ‘LampjeAan’ - Vul onderaan de tijd in ‘t#700ms’ - Selecteer ‘LampjeUit’ en vul onderaan de tijd in ‘t#300ms’ __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 79 / 83 - Enkel bij stap ‘LampjeAan’ moet een uitgang geactiveerd worden - Selecteer ‘Action1’ en druk op functietoets F2 - Kies bv ‘Q01’ om dit lampje te laten knipperen - Bij de andere stappen mogen de ‘Actions’ verwijderd worden - Rechts klikken in de ‘Init’ blok - kies ‘Clear Action/Transition’ - Rechts klikken in de ‘LampjeUit’ blok - kies ‘Clear Action/Transition’ - Nu gaan we dit programma activeren - Dubbelklik op ‘MAIN’ - Type ‘Knipperlicht;’ (eindigen met een puntkomma) - Dan inloggen met functietoets F11 en de PLC in RUN zetten met functietoets F5 - Na het bedienen van schakelaar S01 zal het lampje knipperen. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 80 / 83 9.4 Oefening: Pneumatische cyclus. 9.4.1 Opdracht. - We programmeren een pneumatische cyclus met 4 cilinders en 3 elektroventielen. - Ventiel C’ stuurt twee cilinders C en D tegelijkertijd. - Sluit alle componenten aan op de IN en UITgangen van een BC9000. - Programmeer de cyclus in SFC. 9.4.2 Aansluitingen. S01_START AT %IX0.0: S02_a0 AT %IX0.1: S03_a1 AT %IX0.2: S04_b0 AT %IX0.3: S05_b1 AT %IX0.4: S06_c0 AT %IX0.1: S07_c1 AT %IX0.2: S08_d0 AT %IX0.3: S09_d1 AT %IX0.4: Q01_cilA AT %QX0.0: Q02_cilB AT %QX0.1: Q03_cilC AT %QX0.2: BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; 9.4.3 Tijdsdiagramma. __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 81 / 83 9.5 Oefening: Verkeerslichten. 9.5.1 Opdracht. - We programmeren verkeerslichten op een standaard kruispunt (zie figuur). - Op de horizontale as krijgen we volgende werking: de groene lampen branden 4 sec, daarna de oranje 1 seconde, daarna de rode 5 seconden. - Op de verticale as krijgen we de omgekeerde werking. 9.5.2 Tijdsdiagramma. 9.5.3 SFC programma. Zie ook de uitbreiding op de website http://users.telenet.be/mbonner/mbonner/cvo/Projecten%20html/15%20Verkeerslichten.htm __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 82 / 83 HOOFDSTUK 10 STRUCTURED TEXT. 10.1.1 Empty instruction De kleinste vorm van een instructie of programma is een puntkomma. Dit doet natuurlijk niets maar het kan wel een foutmelding voorkomen. 10.1.2 Assignment A:=B; CV := CV + 1; C:=SIN(X); 10.1.3 IF IF D<0.0 THEN C:=A; ELSIF D=0.0 THEN C:=B; ELSE C:=D; END_IF; 10.1.4 CASE CASE INT1 OF 1: BOOL1 := TRUE; 2: BOOL2 := TRUE; ELSE BOOL1 := FALSE; BOOL2 := FALSE; END_CASE; 10.1.5 FOR FOR I:=1 TO 100 BY 2 DO IF ARR[I] = 70 THEN J:=I; EXIT; END_IF; END_FOR; 10.1.6 WHILE WHILE J<= 100 AND ARR[J] <> 70 DO J:=J+2; END_WHILE; 10.1.7 REPEAT REPEAT J:=J+2; UNTIL J= 101 OR ARR[J] = 70 END_REPEAT; Bekijk de uitleg in: Beckhoff Information System – TwinCat – TwinCat PLC – TwinCat PLC Control – A brief introduction to TwinCat PLC Control – Languages – Structured Text __________________________________________________________________________________ Opleiding TAS/PLC - Kennismaking met Beckhoff PLC en TwinCAT - M. Bonner Pag 83 / 83