Hfdst. 2: COMBINATOISCHE LOGICA DEEL 2: Prioriteitsregels: 2.3.1. Het begrip stack : Duid een groep geheugenplaatsen aan die door de CPU wordt gebruikt om het programma te verwerken. Bij het gebruik van STL moeten we rekening houden met de stack; LAD en FBD organiseren zelf de geheugenplaatsen. De stack is 1 bit breed en 9 bits diep en bewaart de tussenresultaten van combinaties van EN- en OF-functies V Voorbeeld: esultaat naar de stack bovenste plaats LD I0.2 esultaat vorige bewerking schuift 1 plaats door, A I0.3 resultaat deze bewerking boven op nieuwe plaats. OLD of ALD 1ste en 2de plaats van de stack worden verknoopt als OF- of EN-functie 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 2
Hfdst. 2: COMBINATOISCHE LOGICA DEEL 2: Prioriteitsregels: 2.3.2. EN- voor OF-functie en OF- voor EN-functie: Complexe besturingen bestaan meestal uit combinaties van NIET-, EN- en OF-functies Volgorde in normale omstandigheden wanneer we ze bij elkaar gebruiken: 1/ NIET 2/ EN 3/ OF Geforceerd kunnen we de ene poort voorrang geven op de andere als volgt: EN- voor OF-functie: OF- voor EN-functie: A I0.2 LD I0.3 A I0.4 OLD O I0.5 I0.2 I0.3 I0.4 I0.5 & & >1 O I0.3 O I0.5 LD O I0.4 ALD A I0.2 I0.3 I0.5 I0.4 I0.2 >1 >1 & DEEL 3: Merkers: Merkers zijn geheugenplaatsen, die we zelf kiezen, waar we tussentijdse resultaten kunnen in bewaren. Grote voordeel: - de tussenresultaten kunnen op verschillende plaatsen gebruikt worden, in andere delen van het programma. - We hebben 2 mogelijkheden om ze te bewaren: remanent en niet-remanent. Voorbeeld: EXOF-functie N1: AN = M0.0 N2: LDN = M0.1 N3: LD M0.0 O M0.1 1 1 & & >1 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 3
Hfdst. 2: COMBINATOISCHE LOGICA DEEL 4: Detectoren met breekcontacten: Om veiligheidsoverwegingen gebruikt men zeer dikwijls normaal gesloten contacten (NC) Men noemt dit het ruststroomprincipe vb.: stop PLC +24V Stop Start STL: Opgelet: Alle noodstopfuncties moeten hardwarematig aangesloten worden. DEEL 5: Geheugenfuncties: 3 stappen te onderscheiden: 1/ activeren (setten) van het geheugensignaal; 2/ onthouden; 3/ deactiveren (resetten) 5.1. Stop voorrang: & >1 5.2. Start voorrang: LD O ALD of beknopter: LD O A Uit veiligheidsoverwegingen verboden => wordt dus niet behandeld 5.3. Bediening vanop meerdere plaatsen: 2 regels: 1/ Onderbrekingsfuncties (stop) als EN; 2/ Startvoorwaarden (start) als OF samen met overneemcontact. 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 4
Hfdst. 2: COMBINATOISCHE LOGICA DEEL 5: Geheugenfuncties: 5.4. Set-reset-functie of S-FF: Normaal: S Q Nadeel: (stop) is hier een NO-contact -> mag niet (veiligheid) S 1 Q In STL: LD S, 1 -> slaat op het aantal uitgangen dat geactiveerd wordt LDN, 1 -> slaat op het aantal uitgangen dat gedeactiveerd wordt Bij meerdere ingangen, dus bediening vanop meerdere plaatsen: worden de ingangen als OF-functie verknoopt. 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 5
Hfdst. 2: COMBINATOISCHE LOGICA DEEL 6: Flankdetectie: 2 manieren om iets te detecteren: Op niveau (niveausturing): Op signaalverandering (flankgestuurd): Stijgende flank: Dalende flank: Positieve flank EU = Edge Up vb.: LD EU S, 1 Negatieve flank ED = Edge Down vb.: LD ED S, 1 Dynamische ingang: = een sturing starten op de stijgende flank van een ingang => veiligheid wanneer het contact van de schakelaatr defect is; voorbeeld: blijven plakken => proces start telkens opnieuw. Voorbeeld van gebruik van een dynamische ingang is de teleruptorschakeling N1: EU = M0.0 N2: LD M0.0 AN LDN M0.0 A OLD 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 6
Hfdst. 2: COMBINATOISCH POGAMMEEN 2.5. Tijdfuncties: 2 soorten timers: TON: On Delay Timer: TON: etentive On Delay Timer: In FBD: T33 In FBD: T1 300 1000 Tijddiagram Tijddiagram Begint opnieuw te tellen telkens wanneer de ingang 0l wordt en terug 1 gemaakt wordt. Stopt met tellen wanneer de ingang 0 wordt en gaat verder met tellen wanneer de ingang terug 1 wordt. STL-weergave: N1 LD TON T33, 300 N2 LD T33 Zichtbaar maken van de timer STL-weergave: N1 LD TON T1, 1000 N2 LD T1 N3 T1, 1 Zichtbaar maken van de timer Inschakelvertraging PESET TIME: Terug op nul Totale tijdsduur = preset time x pulsduur brengen De pulsduur is afhankelijk van de gekozen timer maken van de timer (zie Quick eference Card ) Inschakelvertraging met geheugen 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 12
Hfdst. 2: COMBINATOISCH POGAMMEEN 2.5. Tijdfuncties: Gebruik in de praktijk: - Inschakelvertraging (zie vorige blz.); - uitschakelvertraging; - impuls; - pulsgenerator. Enkele voorbeelden: Uitschakelvertraging: Network 1 LD EU S, 1 Network 2 LDN TON T33, 300 Network 3 LD T33 ON, 1 De uitgang schakelt na een zekere tijd uit als de wordt uitgeschakeld en (NC) niet bediend wordt. De uitgang schakelt onmiddellijk uit wanneer bediend wordt, zonder de tijd verstreken is. 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 13
Hfdst. 2: COMBINATOISCH POGAMMEEN 2.5. Tijdfuncties: Gebruik in de praktijk: - Inschakelvertraging (zie vorige blz.); - uitschakelvertraging; - impuls; - pulsgenerator. Enkele voorbeelden: Impuls zonder geheugen: Network 1 LD EU S, 1 Network 2 LD TON T33, +300 Network 3 LD T33 ON ON, 1 Als =1 zal uitgang 1 worden en na een zekere tijd 0 worden als de een blijft. Impuls met geheugen of verlengde impuls: Network 1 LD EU S, 1 T33, 1 Network 2 LD TON T33, +300 Network 3 LD T33 ON, 1 Als =1 zal uitgang 1 worden en na een zekere tijd 0 worden zelfs als de niet een blijft. 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 14
Hfdst. 2: COMBINATOISCH POGAMMEEN 2.5. Tijdfuncties: Enkele voorbeelden: Symmetrische pulsgenerator: Gaat de uitgang aan en uitschakelen. De aan- en uittijd is even groot. Network 1 LDN M0.0 TON T33, 25 Network 2 LD T33 = M0.0 Network 3 LD M0.0 AN LDN M0.0 A OLD Asymmetrische pulsgenerator: Bij het aanzetten van I0.2 begint de pulsgenerator te lopen met een verschillende aan- en uittijd. Network 1 LD M0.0 TON T34, 75 Network 2 LDN M0.0 TON T35, 25 Network 3 LD T35 S M0.0, 1 Network 4 LD T34 M0.0, 1 Network 5 LD M0.0 A I0.2 = Q0.1 Symmetrische pulsgenerator door gebruik van speciale merkers (SM): SM0.4 Wekt een klokpuls op van 1 minuut: 30 sec aan, 30 sec uit. Voorbeeld: LD SM0.4 A SM0.5 Wekt een klokpuls op van 1 seconde: 0,5 sec aan, 0,5 sec uit. Voorbeeld: LD SM0.5 = Q0.1 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 15
Hfdst. 2: COMBINATOISCH POGAMMEEN 2.6. Telfuncties (Counters): CTU: = Count Up 2 meest gebruikte soorten CTUD: = Count Up/Down CU PV CTU CU CD PV CTUD In FBD: C1 In FBD: C48 CU CTU CU CTUD I0.2 CD 5 PV 5 PV STL-weergave: STL-weergave: LD CTU C1, +5 Bij elke positieve flank van een impuls aan deze ingang wordt de teller met 1 verhoogd (max. 32.767). Zie hierboven maar met 1 verlaagd. De teller wordt op 0 gezet (gereset). Uitgang teller 1 of 48 wordt op 1 gezet bij het bereiken van de preset (+5). LD LD I0.2 CTUD C48, +5 Gebruik in de praktijk: - Optellen; - aftellen; - vergelijken van tellerwaarden. 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 16
Hfdst. 2: COMBINATOISCH POGAMMEEN 2.6. Telfuncties (Counters): Voorbeeld: vergelijken van tellerwaarden: Volgende vergelijkingsmogelijkheden kunnen gebruikt worden: - X ==I Y Als X gelijk is aan Y is de voorwaarde waar; - X >=I Y Als X groter of gelijk is aan Y is de voorwaarde waar; - X <=i Y Als X kleiner of gelijk is aan Y is de voorwaarde waar. I staat hier voor een integer getal en wil zeggen dat twee integere getallen worden vergeleken. Andere grootheden kunnen ook met elkaar vergeleken worden: - I = integer getal; - B = de inhoud van een byte (8 bits); - W = de inhoud van een woord (16 bits); - D = de inhoud van een dubbel woord (32 bits); - = de inhoud van een reëel getal; LDW = C48, +5 Vergelijken met een getal: De uitgang wordt 1 als de momentele inhoud van de teller C48 gelijk is aan het getal 5. LDW>= C2, C3 Tellers met elkaar vergelijken: De uitgang wordt 1 als de inhoud van de teller C2 groter of gelijk is aan de inhoud van teller C3 Aantal ingeven via ingangen: Verschillende ingangen kunnen gegroepeerd worden als één geheel. Ze worden dan gelezen als een hexadecimaal getal. Aldus zouden we een duimwielschakelaar kunnen aansluiten. De getallen van de duimwielschakelaar komen dan overeen met de toestanden van de ingangen zoals aangegeven op de tabel hiernaast. Het volgende programma zet de uitgang op 1 als de duimwielschakelaar op 6 wordt gezet. Volgens de tabel zullen de ingangen en I0.2 een 1 hebben. LDB= Ib0, +6 7TT: Module PLC Van Lommel, M Hfdst. 2, blz. 17