Programuojamieji loginiai valdikliai yra pramonės automatizavimo pagrindas, nes jie leidžia tiksliai valdyti ir reguliuoti mašinas ir procesus. Jie pasižymi lankstumu, patikimumu ir efektyvumu įvairiose srityse. Išsamią informaciją ir atsakymus į dažniausiai užduodamus klausimus rasite mūsų DUK skyriuje.
Elektros ir mechaninės sistemos automatizuojamos beveik kiekvienoje technologinių procesų gamykloje. To pavyzdys - automatinis komponentų valdymas pagal jungiklio padėtį arba praėjus tam tikram laikui. Kartais reikalingi tik paprasti dvejetainiai ryšiai, tačiau dažnai prireikia ir sudėtingų nuosekliųjų valdymų. Automatizacijai paprastai naudojami programuojamieji loginiai valdikliai (PLC).
Programuojamąjį loginį valdiklį (PLC) galima įsivaizduoti kaip mažą kompiuterį, kuris atlieka išėjimus pagal įvestis ir operacijas. PLC sudaro bent jau centrinis procesorius (CPU) ir įvesties / išvesties moduliai (I / O moduliai). Įvesties / išvesties moduliai paprastai prijungiami prie centrinio procesoriaus per sisteminę magistralę, kuri taip pat tiekia jiems įtampą.
JUMO variTRON 500 centrinis procesorius su PLC funkcijomis, įvesties/išvesties moduliais ir žiniatinklio skydeliu (už nugaros)
PLC yra įvairių versijų, kurios skiriasi pagal funkcionalumą ir pritaikymą:
Šie valdikliai integruoti į vieną korpusą. Juose yra visi būtini komponentai, pavyzdžiui, centrinis procesorius, įėjimai / išėjimai ir ryšio sąsajos. Jie idealiai tinka mažesnėms programoms, kurioms reikia mažiausiai vietos.
Šias sistemas sudaro centrinis centrinis procesorius ir atskiri įvesties / išvesties moduliai, kuriuos prireikus galima pridėti arba pašalinti. Jos užtikrina lankstumą ir galimybę išplėsti sudėtingesnes programas. Tai apima ir JUMO variTRON šeimos automatikos sistemas, net jei jų funkcinis spektras yra daug platesnis nei standartinių PLC.
Šie valdikliai specialiai sukurti saugai svarbioms programoms ir atitinka griežtus saugos standartus. Jie naudojami tose srityse, kur žmonių ir įrenginių apsauga yra svarbiausias prioritetas.
Signalai iš jungiklių, jutiklių ir kt. per įvesties modulius perduodami į centrinį procesorių, kad jais galėtų naudotis PLC. Įrenginio signalų pavyzdžiai - atitinkama ribinių jungiklių, termostatų, srauto matuoklių ir lygio jungiklių būsena, taip pat atitinkamos temperatūros, slėgio ar drėgmės jutiklių išmatuotos vertės. PLC susieja signalus ir gauna rezultatą, kuris pateikiamas išvesties moduliams. Pavyzdžiui, relės naudojamos elektromagnetiniams vožtuvams ir varikliams įjungti. Taigi PLC funkcijos įgyvendinamos centriniame procesoriuje, kuris, vaizdžiai tariant, veikia kaip valdymo centras.
Prieš pradedant naudoti PLC, valdymo sistemos buvo įgyvendinamos sujungiant tarpusavyje reles ir laiko reles. Tokiam valdymui reikėjo nemažai medžiagų, o funkciją buvo galima keisti tik keičiant schemas. Be to, sistemos buvo linkusios sugesti, o trikčių šalinimas užimdavo daug laiko. Pirmųjų PLC užduotis buvo pakeisti šiuos relių tinklus.
Visi įvesties signalai cikliškai apdorojami PLC programoje ir susiejami programoje. PLC programavimui galima naudoti tokias kūrimo aplinkas kaip CODESYS, t. y. programos kuriamos CODESYS programoje ir tada perduodamos į PLC.
PLC galima programuoti įvairiomis programavimo kalbomis, apibrėžtomis IEC 61131-3 standarte. Todėl programuotojas gali pasirinkti programavimo kalbą, geriausiai atitinkančią atitinkamus reikalavimus.
Laiptų logikos programavimo kalba, kuri naudojama nuo septintojo dešimtmečio, tinka reliniams tinklams pakeisti. Tai seniausia žinoma programavimo kalba. Jos programų atvaizdavimas panašus į elektros grandinių atvaizdavimą.
Įsivaizduokite labai paprastą taikomąją programą, kurioje įvesties modulis gauna ribinės vertės jungiklio rezervuare ir 2 mygtukų būsenas. Atitinkamos būsenos PLC programoje pateikiamos per kintamuosius, kurių pavadinimai yra „LevelBelowTheLimit“, ‚PushbuttonLeft‘ ir „PushbuttonRight“. Siurblys valdomas per išėjimo modulio relę. Programoje ji adresuojama pavadinimu „PumpActivated“). Siurblys turi būti įjungtas tik tada, kai nuspaudžiami abu mygtukai (abu - saugumo sumetimais) ir taško lygis nukrito žemiau. Paprasta programa kopėčių logikos programavimo kalba CODESYS programoje atrodo taip:
Kopėčių logikos programos pavyzdys
Galite matyti panašią struktūrą kaip ir grandinės schemoje, kurią sudaro jungikliai ir (arba) mygtukai bei relės. Sukūrus programą, ji perkeliama į PLC ir patikrinama. Po to CODESYS kūrimo aplinka nebereikalinga.
Labai anksti kopėčių logikos programavimo kalba buvo galima naudoti laiko elementus, kurie leidžia įjungti / išjungti su uždelsimu arba suaktyvinti jų išėjimą tam tikram laikui po suveikimo. Pavyzdžiui, galima naudoti funkcinį bloką su žymeniu TON. Jis įjungia savo išėjimo signalą tik tada, kai jo įvestis aktyvuojama minimalią trukmę. Jei, pavyzdžiui, siurblys turi įsijungti, kai mygtukai nuspaudžiami ne trumpiau kaip 5 sekundes, mažąją programą reikia modifikuoti taip:
Modifikuota kopėčių logikos pavyzdinė programa
Standartiniuose funkciniuose moduliuose taip pat yra RS flip-flopai, skaitikliai, laiko elementai (pvz., įjungimo ir išjungimo vėlinimai) ir briaunų detektoriai. Matematiniai operatoriai taip pat yra standartinės programavimo įrangos dalis.
Kita labai panaši kalba yra į tinklą orientuota funkcijų blokinė diagrama. Šioje kalboje nedidelė programa struktūrizuojama taip:
Programos pavyzdys funkcinio bloko schemoje
CFC (angl. Continuous Function Chart) - tai tolesnis funkcijų blokinės diagramos tobulinimas, leidžiantis laisvai išdėstyti elementus. Kitais atžvilgiais CFC yra labai panaši. Programavimo kalba yra labai paplitusi. Joje programa atrodo taip:
Nepertraukiamos funkcijos diagramos programos pavyzdys
Šiandien palyginti retai naudojama instrukcijų sąrašo (IL) kalba, kuri yra labai panaši į programavimo kalbą asemblerį. Kiekviena IL instrukcija pirmiausia grindžiama reikšmių įkėlimu į akumuliatorių, kuris atliekamas naudojant instrukciją LD. Tada su pirmuoju parametru iš kaupiklio atliekama atitinkama operacija. Šios operacijos rezultatas grąžinamas į kaupiklį. Nedidelės programos instrukcijų sąrašo struktūra yra tokia:
Programos pavyzdys instrukcijų sąraše
Kita programavimo kalba yra ST kodas (struktūrizuotas tekstas). ST kodas yra tekstinė programavimo kalba, kuria galima atlikti sudėtingas valdymo užduotis. Jos sintaksė panaši į Pascal programavimo kalbos sintaksę. Joje galima naudoti kintamuosius, funkcijas, ciklus ir sąlyginius teiginius. ST kodas ypač gerai tinka sudėtingoms procesų sekoms ir matematiniams skaičiavimams programuoti. Jis leidžia struktūrizuotai ir aiškiai programuoti, o tai palengvina valdymo programų priežiūrą ir tolesnį jų tobulinimą. Pavyzdinei programai ST kodu reikia tik 2 eilučių:
Struktūrinio teksto programos pavyzdys
Nuosekliųjų funkcijų diagramų kalba idealiai tinka nuosekliajam valdymui įgyvendinti . Įsivaizduokite terminio apdorojimo įrenginį, kuriame apdorojama medžiaga į įrenginį tiekiama juostiniu konvejeriu. Pirmieji 3 žingsniai yra tokie
Programose, parašytose nuosekliąja funkcine schema, tam tikri etapai (pvz., kaitinimas ir krovimas) tarpusavyje susieti perjungimo sąlygomis arba perėjimais. Pirmieji 3 programos žingsniai (+ BasicPosition), reikalingi pavyzdinei programai, nuosekliųjų funkcijų diagramos kalba atrodo taip:
Proceso etapų susiejimas nuosekliųjų funkcijų diagramoje
Programas galima nustatyti kiekvienam žingsniui, tačiau jos vykdomos tik tada, kai atitinkamas žingsnis yra aktyvus. Apdorojimas pradedamas žingsniu „BasicPosition“. Šiam žingsniui nėra išsaugota jokia programa, todėl jokia veikla nevykdoma.
Visiems tolesniems žingsniams apibrėžiamos atskiros programos (pvz., kopėčių diagramoje). Jei iš „BasicPosition“ paspaudžiamas paleidimo mygtukas, įjungiamas „Heater“ (šildytuvas) žingsnis, kad pagal išsaugotą programą būtų įjungtas šilumos generatorius. Žingsnis išlieka aktyvus tol, kol šildytuvo temperatūra pasiekia 200 °C ir tampa aktyvus „Atitraukimo“ žingsnis. „Atitraukimo“ žingsnyje esanti programa įjungia atitinkamą durų ir diržo variklio valdymą.
Atitinkamai papildomi kiti žingsniai su perėjimais. Paskutinis perėjimas vėl įjungia „BasicPosition“ žingsnį.
Viena iš pagrindinių programuojamų loginių valdymo blokų funkcijų yra procesų automatizavimas, kurį reikia programuoti viena iš pirmiau minėtų programavimo kalbų. Tačiau šiuolaikiniai PLC yra universalūs automatizavimo įrenginiai ir siūlo kur kas daugiau: