Kahe pneumosilindriga rakenduse juhtimine
Rakenduse näites (joonis 10.1) lükkab kahepoolse toimega silinder toorikud üks-haaval välja ning pöördsilinder liigutab toorikuid iminapa abil tõstvat hooba. Pärast tooriku ületõstmist pannakse see teisele poole maha. Programm töötab ainult ühe tsükli, kuna teisel pool pole toorikute eest äravõtmist.
Pneumoskeem
Rakenduse pneumaatikaosa (joonis 10.2) koosneb:
- kahepoolse toimega lineaarsilindrist (1.0)
- kahepoolse toimega pöördsilindrist (2.0)
- vaakumgeneraatorist (3.0)
- iminapast
- kahest 5/2 ühe solenoidiga jaotist (1.1 ja 3.1)
- ühest 5/2 kahe solenoidiga jaotist (2.1)
- ning õhuallikast (0.1)
Kahe solenoidiga bistabiilse jaoti (2.1) asemel võiks kasutada ka ühe solenoidiga monostabiilset jaotit. Siis tuleb rakendusse teha mõned muudatused.
Elektriskeem
Süsteemi elektriosa (joonis 10.5) koosneb:
- ühest nupplülitist (S1)
- kahest herkonandurist(B1, B2)
- kolmest lõpulülitist (S2, S3, S4)
- neljast solenoidist (Y1, Y2.1, Y2.2, Y3)
- ühest Siemens S7-300 kontrollerist (digitaal- sisend/väljundmooduliga)
PLC programm
Näiteprogrammi on üritatud hoida nii lihtsana, kui võimalik. See kasutab vaid ilma taimerite ja mäluta lihtloogikat (kui väljundregistrid välja arvata).
Selle näidisrakenduse (PLC programmi) kirjeldamiseks on kasutatud rahvusvahelist standardit IEC 60848 "GRAFCET sammuliste funktsioonidiagrammide kirjelduskeel" (joonis 10.6) [21].
Sümboli nimi | Sümbol | Kirjeldus (tähendus) |
---|---|---|
Samm | Igat sammu kujutatakse kastiga (ruut). Sammu tähistatakse kasti sisse kirjutatud arvu ja/või tähega. | |
Sammu muutuja | Boolea muutuja näitab sammu aktiivsust või mitteaktiivsust. Tähe “X” järel olev number või märgis näitab sammu mille juurde muutuja kuulub. | |
Algsamm | Iga programmijada algsamm muutub aktiivseks töölelülitatud PLC-ga. Algsammu tähistatakse topeltraami kastiga. | |
Siire | Siire on ühendus kahe sammu vahel. Siiret kujutatakse joonega, mis on risti kahte sammu ühendava joonega. Siirdest vasakul võib olla sulgude sees siirde tähis. Selle tähis või number võib erineda sammu omast. | |
Siirde tingimus | Iga siire omab siirdest paremal paiknevat tingimust. Siirde tingimus on loogiline väide, mille tulemuseks on 1 (tõene) või 0 (väär). Kui siirde tingimusi on rohkem kui üks, siis kasutatakse nende sidumiseks NING (tähistatakse tärniga) ja/või VÕI operatsioone (tähistatakse plussmärgiga). Eitust tähistatakse siirde tingimuse kohale tõmmatud ülakriipsuga. Signaalifrondi muutuse märkimiseks kasutatakse nooli (? signaal muutub 0st 1ks, ? signaal muutub 1st 0ks). | |
Tegevus (pidev tegevus) | Ristkülikuga tähistatakse tegevust. Kasti sisse kirjutatakse vastav tegevus (käsk). Ühel sammul olevat mitut tegevust kujutatakse erinevate ristkülikutega. Siin kujutatud tegevust kutsutakse ka pidevaks tegevuseks. St, et selle tegevuse sees omistatakse muutujale (signaal) väärtus 1 nii kauaks kuni sellega seotud samm on aktiivne. Muutuja saab väärtuseks 0, kui samm ei ole enam aktiivne. | |
Tingimusega pidev tegevus | Sellega kirjeldatud tegevus on aktiivne (täidetakse, kuni sellega seotud samm on aktiivne, ja tegevusega seotud tingimus on täidetud. Kui tingimus ei ole täidetud, siis on antud tegevus mitteaktiivne. | |
Sammu aktiveerumisel tehakse salves-tav tegevus. | Sammu aktiveerumise hetkel omistatakse tegevuses kirjeldatud sisu väärtus muutujale. Muutujal omistatud väärtus püsib niikaua mälus kuni see kirjutatakse üle mingis teises salvestavas tegevuses. | |
Sammu deakti-veerumisel tehakse salves-tav tegevus | Sammu deaktiveerumise hetkel omistatakse tegevuses kirjeldatud väärtus muutujale. Muutujal omistatud väärtus püsib niikaua mälus kuni see kirjutatakse üle mingis teises salvestavas tegevuses. | |
Salvestav tegevus tingimusliku sündmuse ilmnemisel | Kui samm on aktiivne ja selle tegevusega seotud tingimuse avaldises esineb tõusva frondi vormis sündmus või dmusi, siis omistatakse muutujale määratud sisuga väärtus. Muutujale omistatud väärtus püsib mälus niikaua kuni see kirjutatakse üle mingis teise salvestava tegevuse tulemusena. | |
Valikuline hargnemine | Valikulisel hargnemisel järgneb ühele sammule kaks või rohkem siiret. Esimesena täidetud tingimusega haru muutub aktiivseks ja täitma hakatakse seal olevaid samme. Korraga saab olla aktiivne ainult üks haru. Seega iga haru siirde tingimus peab olema ainulaadne (ei tohi olla ühesuguseid). Valikulist hargnemist võib jätta lahku või ühendada kokku teises kohas. | |
Paralleelseks hargnemine | Paralleelseks hargnemisel järgneb ühele siirdele kaks või rohkem üheaegset sammu. Paralleelseks hargnemise eeltingimuse täitumisel aktiveeritakse kõik harud. Kõigi harude esimesed sammud aktiveeritakse üheaegselt, kuid igas harus olevaid samme täietakse üksteisest sõltumatult. Kõik paralleelharud tuleb omavahel uuesti kokku ühendada. Kui paralleelse hargnemise järel olev tingimus on täidetud ja iga paralleelharu viimane samm on teostatud, siis aktiveeritakse järgmine, paralleelharusse mittekuuluv samm. | |
Hüpe | Hüppeid kasutatakse GRAFCET voodiagrammi katkestamiseks, kui see on liiga keeruline või jaguneb mitme lehe peale. Hüppe kohas (lähte- ja sihtpunktis) tuleb märkida sihtpunkti samm (kust või kuhu hüpatakse) ja lehe number. Hüppeid tuleks kasutada ainult siis kui jooni ei saa enam kasutada. | |
Kommentaar | Kommentaar kirjutatakse jutumärkide vahele ja paigutatakse sammust, tegevusest, tingimusest jne paremale poole. | |
Piiritlev samm (Lisasamm) | GARFCETis hõlmab piiritlev samm piirava raamiga arendaja poolt alamstruktuuriks määratletud samme (alamalgoritm). Piiritleva sammu number kirjutatakse GRAFCETi alamstruktuuri tähistava raami ülemisse vasakupoolsesse ossa ja raami alaäärde kirjutatakse piiritleva sammu nimi. GRAFCETi piiritleva sammuga esitatud alamstruktuuris tähistatakse esimesena aktiveeruvat sammu tärniga. GRAFCETi alamstruktuuri täidetakse ainult nii kaua kuni piiritlev samm (st lisasamm) on aktiivne. | |
Algust piiritlev samm (lisasamm) | Sama mis on tavaline piiritlev samm. Erinevus seisneb selles, et GRAFCETi alamstruktuur on seotud GRAFCET põhistruktuuri (põhiprogrammi) esimese sammuga. | |
Makrosamm | Makrosammu kasutatakse GRAFCETis alamstruktuuri piiritlemiseks ja tähistamiseks. Makrosammu tähistatakse GRAFCETis tähega M ja sellele järgneva arvuga. GRAFCETi alamstruktuuri esimest sammu tähistatakse samamoodi kui makrosammu, kuid täht M asendatakse tähega E. Alamstruktuuris viimane samm omab ka makrosammuga sama nime, kuid tähistamisel kasutatakse tähte S. Makrosammu ei saa nii kaua deaktiveerida kuni GRAFCET alamstruktuur pole veel täidetud, st et makrostruktuuri viimane samm tähega S ei ole veel aktiveeritud. |
Joonisel 10.6 on esitatud näidisrakenduse juhtimisealgoritm GRAFCET sümbolitega.
Näidisrakenduses toimuvaid reaalseid (sisulise väärtusega) liikumisi esindavad juhtimisprogrammis muutujad, mille sümbolkujul tähised on esitatud tabelis 10.2.
Sümbol | Aadress | Andmetüüp | Kommentaar |
---|---|---|---|
S1 | I 0.0 | BOOL | Nupp - Start |
B1 | I 0.1 | BOOL | Väljalükkav silinder tagastunud |
B2 | I 0.2 | BOOL | Väljalükkav silinder väljunud |
S2 | I 0.3 | BOOL | Toorik väljas |
S3 | I 0.4 | BOOL | Pöördhoob tooriku võtmise kohas |
S4 | I 0.5 | BOOL | Pöördhoob tooriku panekukohas |
Y1 | Q 0.1 | BOOL | Lükka toorik kassetist välja |
Y2_1 | Q 0.2 | BOOL | Vii pöördhoob tooriku võtmise kohta |
Y2_2 | Q 0.3 | BOOL | Vii pöördhoob tooriku panekukohta |
Y3 | Q 0.4 | BOOL | Vaakum tööle |
PLC programmid on kirjutatud STL, LAD ja FBD keeles. Allpool on esitatud erinevates keeltes kirjutatud programmi väljatrükk koos kommentaaridega.
STL (käsu list - Statement List)
Network 1: Lükka toorik välja
A "S1" // Kui start nupp on vajutatud
A "B1" // ja väljalükkav silinder on tagastunud
S "Y1" // siis lükka toorik kassetist välja,
R "Y2_1" // ära liiguta pöördhooba kassetti poole
S "Y2_2" // ja liiguta see mahapaneku koha poole
Network 2: Liiguta pöördhoob kassetti poole
A "B2" // Kui väljalükkav silinder on väljas
A "S2" // ja toorik on välja jõudnud
AN "Y3" // ning vaakum ei ole kasutuses
R "Y2_2" // siis ära liiguta pöördhooba panekukoha juurde
S "Y2_1" // ja liiguta see võtmiskoha juurde
Network 3: Haara toorik ja liiguta see panekukohta
A "S3" // Kui pöördhoob on kassetti juures,
S "Y3" // siis lülita vaakum sisse
R "Y2_1" // ja ära liiguta pöördhooba kassetti poole
S "Y2_2" // vaid liiguta see panekukoha suunas
Network 4: Lase toorikust lahti
A "S4" // Kui pöördhoob on panekukoha juures,
R "Y3" // siis lülita vaakum välja
Network 5: Tõmba väljalükkav silinder tagasi
AN "S2" // Kui toorik ei puuduta lõpulülitit
A "Y3" // ja vaakum on sisse lülitatud
R "Y1" // tõmba väljalükkav silinder tagasi
Network 6: Kui kaks toorikut jäävad kinni, siis mine algasendisse
AN "B1" // Kui väljalükkav silinder pole sees
AN "B2" // ega väljas
A "S2" // aga lõpulüliti on vajutatud
R "Y1" // siis tõmba väljalükkav silinder tagasi
LAD (kontaktskeem) |
FBD (loogikaskeem) |
Network 1: Lükka toorik välja | |
Kui start nupp on vajutatud (S1) ning väljalükkav silinder on tagastunud (B1), siis lükata toorik kassetist välja ning liigutada pöördhoob mahapaneku koha poole nullides Y2_1 ja lülitades Y2_2 sisse. | |
Network 2: Liiguta pöördhoob kassetti poole | |
Kui väljalükkav silinder on väljas (B2), toorik on välja jõudnud (S2) ning vaakum ei ole kasutuses (Y3), siis liigutatakse pöördhooba tooriku võtmiskoha juurde. | |
Network 3: Haara toorik ja liiguta see panekukohta | |
Kui pöördhoob on kassetti juures (S3), siis lülita vaakum sisse ja samal ajal liigutatakse pöördhoob tooriku võtmiskohast eemale. | |
Network 4: Lase toorikust lahti | |
Kui pöördhoob on tooriku panekukoha juures (S4), siis lülitatakse vaakum välja. | |
Network 5: Tõmba väljalükkav silinder tagasi | |
Kui toorik ei puuduta lõpulülitit (S2 tooriku võtmiskohas) ning vaakum on sisse lülitatud, siis tõmmatakse väljalükkav silinder tagasi. | |
Network 6: Kui kaks toorikut jäävad kinni, siis mine algasendisse | |
Kui väljalükkav silinder pole sees (B1), ega väljas (B2) aga tooriku lõpulüliti on vajutatud (S2), siis tõmmatakse väljalükkav silinder tagasi. | |