Programmeeritavad loogikakontrollerid on tööstusautomaatika südameks, võimaldades masinate ja protsesside täpset juhtimist ja reguleerimist. Need pakuvad paindlikkust, usaldusväärsust ja tõhusust paljudes rakendustes. Täpsemat teavet ja vastused korduma kippuvatele küsimustele leiate meie KKK-osast.
Elektrilised ja mehaanilised süsteemid on automatiseeritud peaaegu igas protsessitehnoloogia tehases. Selle näideteks on komponentide automaatne juhtimine lülitite asendi või teatud aja möödumise alusel. Mõnikord on vaja ainult lihtsaid binaarseid ühendusi, kuid sageli on vaja keerukaid jada juhtimisi. Automatiseerimiseks kasutatakse tavaliselt programmeeritavaid loogikakontrollerid (PLC).
Programmeeritav loogikakontroller / PLC on väike arvuti, mis teostab sisendite ja operatsioonide alusel väljundeid. PLC koosneb vähemalt keskprotsessorist (CPU) ja sisend-/väljundmoodulitest (I/O-moodulid). I/O-moodulid on tavaliselt ühendatud keskprotsessoriga süsteemibussi kaudu, mis varustab neid ka pingega.
JUMO variTRON 500 keskprotsessor PLC-funktsiooniga, sisend-/väljundmoodulid ja veebipaneel (tagaküljel)
PLC-d on saadaval erinevates versioonides, mis erinevad funktsionaalsuse ja rakenduse poolest:
Need kontrollerid on integreeritud ühte korpusesse. Need sisaldavad kõiki vajalikke komponente, nagu CPU, sisendid/väljundid ja kommunikatsiooniliidesed. Need on ideaalsed väiksemate rakenduste jaoks, kus on minimaalne ruumivajadus.
Need süsteemid koosnevad keskprotsessorist ja eraldi sisend-/väljundmoodulitest, mida saab vastavalt vajadusele lisada või eemaldada. Need pakuvad paindlikkust ja laiendatavust keerukamate rakenduste jaoks. Siia kuuluvad ka JUMO variTRON-seeria automaatikasüsteemid, isegi kui nende funktsionaalsus on palju laiem kui standard-PLC-del.
Need kontrollerid on spetsiaalselt välja töötatud ohutuskriitilisteks rakendusteks ja vastavad rangetele ohutusstandarditele. Neid kasutatakse valdkondades, kus inimeste ja seadmete kaitse on esmatähtis.
Lülitite, andurite jms signaalid edastatakse sisendmoodulite kaudu keskseadmesse, kus need on seejärel PLC-kontrolleris kättesaadavad. Näiteks on signaalid süsteemist piiriüleste lülitite, termostaatide, vooluandurite ja tasemeandurite vastavad seisundid ning temperatuuri-, rõhu- või niiskusandurite vastavad mõõteväärtused. PLC-kontroller ühendab signaalid ja genereerib tulemuse, mis edastatakse väljundmoodulitele. Näiteks kasutatakse releesid elektromagnetiliste ventiilide ja mootorite aktiveerimiseks. Sel viisil realiseeritakse PLC-kontrolleri funktsionaalsus keskse töötlemisüksuse abil, mis täidab juhtimiskeskuse ülesannet.
Enne PLC-de kasutuselevõttu rakendati juhtimissüsteeme releede ja ajareleede omavahelise ühendamise teel. Selline juhtimine nõudis märkimisväärset materjalikulu ja funktsiooni oli võimalik muuta ainult lülituste muutmise teel. Lisaks olid süsteemid rikkealttid ja veaotsing oli aeganõudev. Esimeste PLC-de ülesanne oli asendada need releevõrgud.
Kõik sisendsignaalid töödeldakse tsükliliselt PLC-programmi poolt ja ühendatakse programmis. PLC-programmeerimiseks on saadaval arenduskeskkond nagu CODESYS, mis tähendab, et programmid arendatakse CODESYS-is ja seejärel edastatakse PLC-le.
PLC-d saab programmeerida mitmesugustes programmeerimiskeeltes, mis on määratletud standardis IEC 61131-3. Seega saab programmeerija valida vastavalt vajadustele kõige sobivama programmeerimiskeele.
Redel-loogika programmeerimiskeel, mida kasutatakse alates 1960. aastatest, sobib releevõrkude asendamiseks. See on vanim teadaolev programmeerimiskeel. Selle programmide esitusviis sarnaneb elektriskeemidega.
Kujutlege väga lihtsat rakendust, kus sisendmoodul võtab vastu mahuti piirväärtuse lüliti ja kahe nupuvajutuse seisundi. Vastavad seisundid on PLC-programmis kättesaadavad muutujate „LevelBelowTheLimit”, „PushbuttonLeft” ja „PushbuttonRight” kaudu. Pumpa juhitakse väljundmooduli relee kaudu. Programmiga on see adresseeritud nimega „PumpActivated”. Pump peaks aktiveeruma ainult siis, kui mõlemad nupud (ohutuse tagamiseks mõlemad) on alla vajutatud ja punkti tase on langenud alla. Lihtne programm redel-loogika programmeerimiskeeles näeb CODESYSis välja järgmine:
Näide redel-loogika programmist
Näete sarnast struktuuri nagu vooluringi skeemil, mis koosneb lülititest/nupudest ja releedest. Kui programm on loodud, edastatakse see PLC-le ja kontrollitakse. Pärast seda ei ole CODESYS arenduskeskkond enam vajalik.
Juba varakult olid redel-loogika programmeerimiskeeles saadaval ajastuselemendid, mis võimaldavad viivitust lülitamisel sisse/välja või aktiveerivad väljundi teatud ajaks pärast käivitamist. Näiteks on saadaval funktsiooniblokk tähistusega TON. See aktiveerib väljundsignaali ainult siis, kui sisend on aktiveeritud minimaalse aja jooksul. Kui näiteks pump peab aktiveeruma, kui nuppe hoitakse all vähemalt 5 sekundit, tuleb väikest programmi muuta järgmiselt:
Muudetud näidisprogramm redel-loogikas
Standardfunktsioonimoodulid hõlmavad ka RS-flip-flip-lülitusi, loendureid, ajastamiselemente (nt sisse- ja väljalülitamise viivitused) ja servadetektoreid. Matemaatilised operaatorid kuuluvad samuti standardprogrammeerimisseadmete hulka.
Teine väga sarnane keel on võrgupõhine funktsioonplokkdiagramm. Selles keeles on väike programm üles ehitatud järgmiselt:
Näidisprogramm funktsioonploki diagrammis
CFC (jätkuv funktsioonidiagramm) on funktsioonploki diagrammi edasiarendus, mis võimaldab elemente vabalt paigutada. Muus osas on CFC välimuselt väga sarnane. Programmeerimiskeel on väga levinud. Selles näeb programm välja järgmine:
Näidisprogramm pideva funktsiooni diagrammis
Tänapäeval suhteliselt harva kasutatav keel on juhendite loend (IL), mis on väga sarnane programmeerimiskeelele assembler. Iga IL-i juhend põhineb peamiselt väärtuste laadimisel akumulaatorisse, mis toimub LD-juhendi abil. Seejärel viiakse vastav operatsioon läbi akumulaatori esimese parameetriga. Operatsiooni tulemus tagastatakse akumulaatorisse. Väike programm on juhendite loendis struktureeritud järgmiselt:
Näide juhendite loendis olevast programmist
Teine programmeerimiskeel on ST-kood (struktureeritud tekst). ST-kood on tekstipõhine programmeerimiskeel, mis võimaldab täita keerukaid juhtimisülesandeid. Selle süntaks on sarnane Pascal programmeerimiskeele süntaksiga. See võimaldab kasutada muutujaid, funktsioone, tsükleid ja tingimuslauseid. ST-kood sobib eriti hästi keerukate protsesside järjestuste ja matemaatiliste arvutuste programmeerimiseks. See võimaldab struktureeritud ja selget programmeerimist, mis lihtsustab juhtimisprogrammide hooldust ja edasiarendamist. ST-koodis on näidisprogrammi jaoks vaja ainult 2 rida:
Näidisprogramm struktureeritud tekstis
Järjestuse funktsioonide keel on ideaalne järjestuse juhendite rakendamiseks. Kujutlege termilise töötlemise tehast, kus töödeldav materjal transporditakse tehasesse lintkonveieri abil. Esimesed 3 sammu on järgmised
Järgnevate funktsioonide diagrammis kirjutatud programmides on teatud etapid (nt kuumutamine ja laadimine) üksteisega ühendatud lülitustingimuste või üleminekutega. Näite rakendamiseks vajaliku programmi esimesed 3 etappi (+ algasend) on järgnevate funktsioonide diagrammi keeles järgmised:
Protsessietappide ühendamine järjestikuste funktsioonide diagrammis
Iga sammu jaoks saab määratleda programme, kuid need viiakse ellu ainult siis, kui vastav samm on aktiivne. Töötlemine algab sammu „BasicPosition” (põhikohaga)ga. Selle sammu jaoks ei ole salvestatud ühtegi programmi, seega ei toimu mingit tegevust.
Kõikidele järgnevatele sammudele määratakse eraldi programmid (nt redeldiagrammis). Kui algasendist vajutatakse käivitusnuppu, aktiveeritakse samm „Küttekeha”, nii et salvestatud programm lülitab sisse soojusallika. Samm jääb aktiivseks, kuni küttekeha temperatuur jõuab 200 °C-ni ja aktiveerub samm „Retract”. Sammu „Retract” programm aktiveerib vastava ukse ja lindi mootori juhtimise.
Vastavalt sellele lisatakse üleminekutega järgmised sammud. Viimane üleminek aktiveerib uuesti sammu „BasicPosition”.
PLC üks põhiülesandeid on protsesside automatiseerimine, mis nõuab programmeerimist ühes eespool nimetatud programmeerimiskeeltest. Tänapäeva PLC-d on aga automatiseerimise universaalvahendid ja pakuvad palju enamat: