Ülekande- ja programmi juhtimisfunktsioonid
Ülekandefunktsioonid
Ülekandefunktsioonide kasutamine võimaldab laadida ja siirata andmeid (väärtusi) ühest operandist teise.
Standardis IEC 61131 on määratud IL keeles tähistavad LD- ja ST-käsud laadimise ja siirdamise funktsioone. STEP 7 puhul kasutatakse FBD ja LAD keeltes MOVE funktsiooni andmete vahetamiseks operandide vahel (siirdamis- ja laadimiskäsud on kombineeritud üheks). STEP 7 ei võimalda kasutada ülekandefunktsioone bitt tüüpi operandide juures.
Joonisel 5.2 on esitatud FBD ja STL keeles MOVE ülekandefunktsioon. Näites kantakse operandi IW 2 väärtus edasi operandi QW 6-le juhul, kui sisendoperandi EN I 0.0 signaal on 1.
MOVE funktsiooni sisend EN võib olla ka tühi. See tähendab, et MOVE funktsiooni täidetakse PLCs iga tsükli ajal ning selleks ei pea ootama funktsiooni täitmise luba.
Move funktsioonil peavad mõlemad operandid olema sama tüüpi.
Programmi juhtimisfunktsioonid
PLC programmide teostamisel tuleb sageli loobuda programmi samm-sammulisest täitmisest ja täita ka alternatiivseid programmiosasid. See saavutatakse hüpete ja tsüklite kasutamisega mingis plokis või opereerides erinevate plokkidega. Funktsioonide ja plokkide tingimuslik käivitamine või programmi alternatiivne hargnemine viib samuti programmi mittelineaarsele täitmisele [6].
Tingimusteta ja tingimuslikud hüpped
Hüppefunktsioonidega saab programmi täitmist suunata ühest programmiosast teise. Standardi IEC 61131 kohaselt kirjeldatakse hüpe programmis käsuga JMP ja sellega seotud sihtkoha märgisega. Hüppeid programmis saab teostada tingimusteta või tingimuslikult.
LAD keeles asendatakse tabelis 5.3 kujutatud kastid kontaktide ja mähiste tingmärkidega.
Käsk (operatsioon) | Operand | Kommentaar |
---|---|---|
Sihtkoha märgis | Tingimusteta hüpe. | |
Sihtkoha märgis | Hüpe, kui RLO = 1. | |
Sihtkoha märgis | Hüpe, kui RLO = 0. | |
Hüppe sihtkoha plokk, sihtkoha märgis kirjutatakse selle sisse. |
Programmi koostamisel tähistatakse hüppe siht sihtkoha märgisega. See märgis saab koosneda maksimaalselt neljast sümbolist. Esimene sümbol peab olema täht, teised võivad olla kas siis tähed, numbrid või allkriips (nt M_01). Selle märgise juures tuleb arvestada suurte ja väikeste tähtedega. Hüppe sihtkoha märgis kirjutatakse FBD keeles hüppekäsu ploki kohale. FBD keeles paigutatakse Networki algusse eriline plokk, millesse kirjutatakse hüppe sihtkoha märgis. Sihtkoha märgis saab programmis olla ainult ühes kohas, kuid sinna saab hüpata ühe ploki erinevatest kohtadest. Antud plokis saab hüpata nii edasi kui ka tagasi.
Joonisel 5.4 on kirjutatud FBD keeltes programm, kus on kasutatud hüppe käske. Operandile QW 6 omistatakse operandi IW 2 signaali väärtus kui operandi I 0.0 signaal on 1. Kui aga sisendi operandi I 0.0 signaal on 0, siis omistatakse operandile QW 6 väärtus 0.
Oluline on teada, et muutujate väärtused programmi osades jäävad sellisteks, nagu need määrati viimasel täitmisel enne ülehüppamist programmi vastavast osast. Ja seda isegi siis, kui muutuja väärtuse määramise tingimus on muutunud.
Standard IEC 61131 kasutab FCdes või FBdes oleva programmi täitmise tingimuseta või tingimuslikuks katkestamiseks käsku RET. Naastes programmi täitmisel plokki, millest vahepeal toimus mingi muu ploki aktiveerimine, jätkub programmi täitmine poolelijäänud kohalt.