Programmeeritav loogikakontroller
Programmeeritav loogikakontroller ehk PLC (Programmable Logic Controller - programmeeritav loogikakontroller); kõnekeeles tihti ka lihtsalt kontroller on spetsiaalne arvuti, mida kasutatakse masinate ja protsesside juhtimiseks varem koostatud programmi järgi. Ta kasutab programmeeritavat mälu instruktsioonide salvestamiseks. Kontroller võimaldab kasutada järgnevat: sisse/välja kontrolli, taimerit, loendurit, võrdlemist, aritmeetika tehteid ja andmete töötlemist. Algselt loodi kontrollerid, et asendada releelülitusi, kuid leiti, et kontroller on tunduvalt tõhusam, odavam ning tal on rohkem võimalusi kui releesid kasutades.
Eelised
Suur töökindlus
Kontrolleritel on suur töökindlus. Kuna kogu programm paikneb kontrolleri mälus siis kui programm oli eelnevalt edukalt testitud puuduvad võimalused, et see ei töötaks. Kirjutatud ja testitud programmi võib salvestada kuitahes paljudesse kontrolleritesse.
Paindlikkus
On lihtne luua või muuta programmi. Paljudel kontrolleritel on standardvarustusena kaasas programm, mida lõppkasutajal on lihtne muuta endale sobivaks. Vajadusel on seadet võimalik kaitsta turvaparooliga.
Madal hind
Kui võrrelda kontrolleri hinda releejuhtimise hinnaga siis on kontrollerite kasutamine tunduvalt odavam. Eriti ilmekalt tuleb hinnavahe esile suurte, sadade sisendite ja väljunditega, süsteemide puhul.
Kommunikatsioonivõime
Kontroller võib suhelda teiste kontrolleritega või lauaarvutiga, et täita ülesandeid nagu andmete kogumine, seadmete jälgimine, protsessi parameetrite jälgimine jms.
Kiirus
Loogikakontroller on võimeline juhtima reaalajas ka väga kiiresti toimuvaid protsesse. Loogikakontroller töötab reaalajas, mis tähendab, et kui toimub mingi sündmus ja informatsioon sellest jõuab kontrolleri sisendisse siis vastavalt programmile saadab seade viivitamatult signaali ettenähtud väljundisse.
Lihtne veaotsing
Loogikakontrolleritele on olemas diagnostika tarkvara, mis võimaldab kasutajal kergesti leida probleemsed kohad ńii tarkvaras, kui ka riistvaras. Et leida ja parandada probleeme saab kasutaja kuvada programmi kuvarile, et siis reaalajas jälgida kuidas see töötab ning kus ilmnevad probleemid.
Liigitus
Tulenevalt töö iseloomust koosnevad kõik programmeeritavad kontrollerid sellistest sõlmedest:
- keskplokk koos protsessori ja programmimäluga,
- toiteplokk,
- sisend/väljundplokid ja
- programmeerimisseade.
Tänapäeval jagatakse kontrollerid viide klassi. Kriteeriumiks on seejuures sisendite ja väljundite arv.
Kompaktkontrollerid
Kõige väiksemad kontrollerid, mis sobivad hästi selliste protsesside juhtimiseks, kus kasutatakse maksimaalselt 32 andurit või täiturit. Kompaktkontrollerid erinevad teistest kontrolleritest sellega, et nii toiteplokk kui ka protsessor ja sisend-/väljundplokk paiknevad kõik ühes ümbrises. Kompaktkontrollereid kasutatakse näiteks pumpade, ventilaatorite, tõkkepuude jms. juhtimiseks.
Nanokontrollerid
Nanokontroller on väikeste mõõtmetega ning mahub vabalt näiteks püksitaskusse. Nanokontrollerite sisendite ja väljundite arv on kuni 16.
Mikrokontrollerid
Mikrokontroller on ühte mikrokiipi mahutatud miniarvuti, mille abil saab sooritada loogikatehteid, arvutusi, juhtida seadmeid, töödelda andmeid. Levinumad 8-bitised mikrokontrollerid on Microchip PIC ja Atmel AVR.
Moodulkontrollerid
Väikekontrollerid
Väikekontrolleritel on kuni 960 sisendit/väljundit.
Keskastme kontrollerid
Võimaldavad juhitavas protsessis kasutada kuni mõni tuhat andurit ja täiturit ning seega ka suuremat töökiirust; siia kuuluvad ka väikese jõudlusega tööstusarvutid;
Kõrgastme kontrollerid
Võimaldavad juhitavas protsessis kasutada kuni mõnikümmend tuhat andurit ja täiturit ning on suure töökiirusega. Need kontrollerid sarnanevad oma ehituselt ja jõudluselt personaalarvutitega.
Ehitus
Enamiku kontrollerite ehitus on lihtsam, kui tavalisel lauaarvutil. Üldiselt on kontroller koostatud pooljuhtelementidest, mis võimaldavad teha loogilisi otsuseid ja saata neid väljunditesse. Kontrollerid jagatakse kahte suurde klassi: Avatud arhitektuuriga kontrollerid ja suletud arhitektuuriga kontrollerid. Termin arhitektuur näitab kuidas on seostatav kontroller tarkvaraga ja teiste kontrolleritega.
Avatud arhitektuuriga loogikakontroller lubab seadet ühendada teiste tootjate programmide ja seadmetega. Avatud arhitektuuriga kontrollerid on koostatud standardsetest elementidest.
Suletud arhitektuuriga kontrollerites saab kasutada vaid tootja poolt ettenähtud programme ja neid saab ühendada vaid tootja poolt ette nähtud teiste kontrolleritega.
Sisend/väjundplokk
On kaks võimalust kuidas on sisend/väljundplokk liidetud kontrolleriga. Esimeseks võimaluseks on, et sisend/väljundplokk on sisse ehitatud ning ta ei ole ülejäänud kontrollerist eraldatav. Sellistel kontrolleritel on küll madalam hind, kuid samas puudub võimalus vahetada välja sisend/väljundplokk. Tavaliselt leiab selline lahendus kasutamist väikestes loogikakontrollerites.
Teiseks võimaluseks on sisend/väljunploki moodulsüsteem. Moodulsüsteemi puhul on sisend/väljundplokk jagatud "sahtlitesse". Kontrolleriga on võimalik liita uusi sahtleid ning igasse sahtlisse saab kinnitada sisend- või väljundploki. See suurendab tunduvalt seadme paindlikust. On võimalik valida saadaolevaid mooduleid ja liita neid kontrolleriga oma soovi kohaselt. Moodulsüsteemiga kontroller koosneb algselt riiulitega pistikust, toiteplokkist, protsessorist (CPU), sisend/väljundmoodulist ja kasutajaliidesest programmeerimiseks. Mooduleid on võimalik ühendada pistikutega.
Sisend/väljundplokk koosneb sisendmoodulist ja väljundmoodulist. Sisendmoodulisse tuleb informatsioon läbi juhtme mitmesugustelt vajatatavatelt lülititelt, teekonnalülititelt, anduritelt, selektoritelt ja ketaslülititelt. Väljunditeks, kuhu saadetakse informatsioon on: elektrimootorid, magnetkäivitid, ventiilid, indikaatortuled. Sisendid ja väljundid ning samuti nende juhtmed on elektriliselt isoleeritud.
Toiteplokk
Toiteploki ülessandeks on anda ja jagada elektrivoolu kõigile kontrolleris olevatele ülksustele. Mõningatel juhtudel toidab toiteplokk vooluga ainult mingit osa kontrollerist. Ülejäänud kontrolleri osasid toidetakse otse vooluvõrgust.
Protsessor (CPU)
Protsessor on kontrolleri aju. Protsessor sisaldab tavaliselt mikroprotsessorit, mis töötleb sissetulevaid andmeid ja kontrollib suhtlemist moodulite vahel. Samuti vajab protsessor mälu, et salvestada loogiliste tehete tulemusena mikroprotsessoris tekkinud andmeid. Mälu on samuti vaja programmi salvestamiseks. Protsessori mälu liikideks on EPROM ja RAM.
Protsessor on disainitud nii, et kasutaja saab sisestada soovitud skeemi ka releeskeemina. Protsessor loeb andmeid mitmesugustelt anduritelt, töötleb neid vastavalt mälus olevale programmile ning saadab signaalid vastavatesse väljunditesse. Protsessori tööks on vajalik alalisvool. Voolualaldi võib paikneda nii protsessori sees kui ka eraldi seadmena väljaspool protsessorit.
Programmeerimisseade ehk terminal
Programmeerimisseade on vajalik, et sisestada soovtud programm protsessori mällu. Kõige populaarsemaks programmi sisestamisviisiks on releeskeem. Kõik suuremad kontrollerite tootjad võimaldavad programmi sisestada releeskeemina. Kasutatakse ka programmeerimist loogikaskeemina. Loogikaskeem on spetsiaalne keel lihtsustamaks kontrollerite programmeerimist. Loogikaskeem kujutab endast teatud sõnu ja graafilisi sümboleid mis näitavad kuidas töödelda sisenditelt tulevat informatsiooni ja millistesse väljunditesse saata informatsiooni. Võimalusi on veel teisigi: käsulist, kõrgkeel, loogilised tehted.
Kõige sagedasem programmeerimisseade on personaalarvuti. Kõigil juhtivatel loogikakontrollerite tootjatel on programmeerimis tarkvara personaalarvutitele. Selline tarkvara võimaldab kasutajal luua, toimetada, salvestada programme ning otsida programmist vigu. Personaalarvuti on ühendatud kontrolleriga serial või parallel pordiga. Kui programmeerimisseadet ei kasutata võib selle eemaldada. Programmeerimisseadme eemaldamine ei kahjusta mingit moodi kontrolleri mälus olevat programmi ega häiri kontrolleri tööd.
Tööpõhimõte
Programmeeritava kontrolleri tööpõhimõte seisneb selles, et teatud ajahetkel saabub anduritelt signaal kontrolleri sisendplokki. Keskplokis töötav protsessor kontrollib iga teatud ajavahemiku järel mällu salvestatud programmi järgi sisendite olekut sisendplokis ning saab vastavalt programmile otsustada, millise väljundi olekut väljundplokis muuta.
Ajaloost
Programmeeritav loogika kontroller loodi vastavalt Ameerika autoööstuse soovidele. Enne Loogika kontrollerite kasutusele tulekut tuli kasutada juhtimiseks, protsesside modelleerimiseks ning isegi ohutuse tagamise ks vaid releesid, taimereid ja spetsiaalseid kontrollereid. See muutis aga tööstuses iga aastase mudelite muutmise väga aja mahukaks ja kalliks, sest relee süsteemide ümber-ehituseks oli vaja oskustega elektrike ja palju aega ning vahendeid. 1968 aastal avaldas GM Hydramatic soovi ettepanekuteks riistvaraliselt realiseeritud releede asendamieks elektroonikaga.
Võitnud ettepanek tuli Bedford partneritelt Massachusettsist. Esimene Loogika kontroller, tähistati 084 sest see oli Bedford partnerite 84 projekt. Bedford partnerid asutasid uue firma Modicon, mis oli pühendunud uue toote arendamamisele, tootmisele, müümisele ning teenendamisele. Modicon tulenes sõnadest "MOdular DIgital CONtroller". Inimene keda võib lugeda Loogika kontrollerite "Isaks" oli Dick Morley. Modicon tootenimi müüdi 1977 aastal Gould Electronics'ile ning mille hiljem omandas Saksa firma AEG ning seejärel selle praegune omanik Prantsuse firma Schneider Electric.
Üks esimesi 084 toodetud mudeleid on praegu välja pandud Massachusetts Põhja Andoveris asuvas Modicon'i peakorteris. Selle kinkis neile GM peale seadme mahakandmist kui seade oli peaaegu kakskümmend aastat katkematult töödanud.
Autotööstus on siiani üks suurimaid loogika kontrollerite kasutajaid.
Programmeerimine
Loogikakontrollerite programmeerimisele kehtib standard IEC 61131, mida haldab ja arendab rahvusvaheline mittetulundusühing PLCopen.org [1]. Standardi IEC 61131 osaga 3. on defineeritud põhilised loogikakontrollerite programmeerimiskeelte tüübid. Osa keeli on graafika- ja osa tekstipõhised:
- redelskeem (Ladder diagram (LD)) - graafiline;
- funktsionaal-plokkskeem (Functional block diagram (FBD)) - graafiline;
- struktuurtekst (Structured text (ST)) - tekstipõhine;
- käsulist (Instruction list (IL)) - tekstipõhine;
- järjestikuline funktsioondiagramm (Sequential function chart (SFC)) - graafiline programmeerimine voogdiagrammi kujul
Kõik programmeeritavate loogikakontrollerite tootjad, ei kasuta oma vahendites küll kõiki ülal loetletud võimalusi. Kuid vähemalt üks loetletud võimalustest on siiski olemas.
Loogiliste tehetega programmide koostamist on võimalik harjutada ning simuleerida Siemensi LOGO programmiga. Programmi saab siit Siemensi LOGO