Programmeeritav loogikakontroller

Programmeeritav loogikakontroller ehk PLC (programmable" logic" c"ontroller" – "programmeeritav loogikakontroller"), kõnekeeles tihti ka lihtsalt kontroller, on spetsiaalne arvuti, mida kasutatakse masinate ja protsesside juhtimiseks varem koostatud programmi järgi. See kasutab programmeeritavat mälu instruktsioonide salvestamiseks. Kontroller võimaldab kasutada järgnevat: sisse-/väljalülituste kontrolli, taimerit, loendurit, võrdlemist, aritmeetika tehteid ja andmete töötlemist. Algul võeti kontrollerid kasutusele selleks, et asendada releelülitusi, kui peagi leiti, et kontroller on tunduvalt tõhusam, odavam ning annab rohkem võimalusi kui releede kasutamine.
Liigitus.
Tulenevalt töö iseloomust koosnevad kõik programmeeritavad kontrollerid järgmistest sõlmedest:
Tänapäeval jagatakse kontrollerid viide klassi. Kriteeriumiks on seejuures sisendite ja väljundite arv.
Kompaktkontrollerid.
Kompaktkontrollerid on kõige väiksemad kontrollerid, mis sobivad hästi selliste protsesside juhtimiseks, kus kasutatakse kuni 32 andurit või täiturit. Kompaktkontrollerid erinevad teistest kontrolleritest selle poolest, et nii toiteplokk kui ka protsessor ja sisend-/väljundplokk paiknevad koos ü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 sisend-/väljundplokk on liidetud kontrolleriga. Esimeseks võimaluseks on, et sisend-/väljundplokk on sisse ehitatud ning ta ei ole ülejäänud kontrollerist eraldatav. Sellised kontrollerid on küll odavamad, 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äljundploki 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 paindlikkust. On võimalik valida saadaolevaid mooduleid ja liita neid kontrolleriga oma soovi kohaselt. Moodulsüsteemiga kontroller koosneb algselt riiulitega pistikust, toiteplokist, 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 vajatavatelt lülititelt, teekonnalülititelt, anduritelt, selektoritelt ja ketaslülititelt. Väljunditeks, kuhu saadetakse informatsioon, on elektrimootorid, magnetkäivitid, ventiilid, indikaatortuled. Sisendid ja väljundid on reeglina galvaaniliselt lahti sidestatud.
Toiteplokk.
Toiteploki ülesandeks on anda ja jagada elektrivoolu kõigile kontrolleris olevatele üksustele. Mõnel juhul toidab toiteplokk vooluga ainult mingit osa kontrollerist. Ülejäänud kontrolleriosi 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 mikroprotsessoris loogiliste tehete tulemusena töödeldud andmeid. Mälu on samuti vaja programmi salvestamiseks. Protsessori mälu liikideks on EPROM- ja muutmälu (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 soovitud 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 programmeerimistarkvara personaalarvutitele. Selline tarkvara võimaldab kasutajal luua, toimetada, salvestada programme ning otsida programmist vigu. Personaalarvuti on ühendatud kontrolleriga jada- või paralleelpordi kaabliga. 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 teatud aja 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 loogikakontroller loodi Ameerika autotööstuse vajadustele vastu tulles. Enne loogikakontrollerite kasutusele tulekut kasutati juhtimiseks, protsesside modelleerimiseks ning isegi ohutuse tagamiseks vaid releesid, taimereid ja spetsiaalseid kontrollereid. See muutis aga tööstuses iga-aastase mudelite uuendamisega seotud tootmisprotsessi muutmise väga ajamahukaks ja kulukaks, sest releesüsteemide ümberehituseks oli vaja oskustega elektrikuid ja ressursse. 1968. aastal avaldas GM Hydramatic soovi ettepanekuteks riistvaraliselt realiseeritud releede asendamiseks elektroonikaga.
Võitnud ettepanek tuli Bedfordi partneritelt Massachusettsist. Esimene loogikakontroller, mida tähistati lihtsalt 084 – see oli Bedfordi partnerite 84 projekt. Bedfordi partnerid asutasid uue firma Modicon, mis hakkas tegelema uue toote arendamise, tootmise, müümise ja teenindamisega. Modicon tulenes sõnadest "MOdular DIgital CONtroller". Loogikakontrollerite isaks võib pidada Dick Morleyt. Modiconi tootenimi müüdi 1977. aastal Gould Electronicsile, hiljem omandas selle Saksa firma AEG ning seejärel selle praegune omanik Prantsuse firma Schneider Electric.
Üks esimesi 084 mudeleid on praegu välja pandud Massachusettsis Põhja-Andoveris asuvas Modiconi peakorteris. Selle kinkis neile GM pärast seadme mahakandmist, kui seade oli peaaegu 20 aastat katkematult töötanud.
Autotööstus on siiani üks suuremaid loogikakontrollerite kasutajaid.
Programmeerimine.
Loogikakontrollerite programmeerimisele kehtib standard IEC 61131, mida haldab ja arendab rahvusvaheline mittetulundusühing PLCopen.org .
Standardi IEC 61131 osaga 3. on defineeritud põhilised loogikakontrollerite programmeerimiskeelte tüübid. 
Osa keeli on graafika- ja osa tekstipõhised:
Kõik programmeeritavate loogikakontrollerite tootjad ei kasuta oma vahendites küll kõiki eespool loetletud võimalusi. Kuid vähemalt üks loetletud võimalustest on siiski olemas.
Loogiliste tehetega programmide koostamist on võimalik harjutada ja simuleerida Siemens LOGO! jaoks mõeldud programmiga. Programmi saab siit: LOGO Soft Comfort.