CoDeSys
Siemens S7-1200 viide Siemens LOGO! viide Automatiseerimise viide Mehhatroonikaseadmete viide Pneumoautomaatika viide

Programmeeritav loogikakontroller

Tootmissüsteem

Toodete valmistamiseks ja/või teenuste osutamiseks kasutab inimene erinevaid töömasinaid. Need võivad olla: käsitsi juhitav treipink, arvuti programmiga juhitav (inglise keeles lühend CNC) tööpink, puurpink, automatiseeritud valmistusliin (nt nutitelefonit koostav valmistusliin), jne [1]. Üldiselt kutsutakse selliseid seadmeid või nende kooslusi valmistussüsteemideks. Kui mingi toote valmistamises osalevad programmeeritud arvuti(d) ja ka töötajad, siis nimetatakse sellist kooslust automatiseeritud valmistussüsteemiks.

Joonis 1.1

Joonisel 1.1 on esitatud automatiseeritud valmistussüsteemi struktuur. Toote automatiseeritud valmistussüsteemi toimimisel ei tee inimene ise vahetult füüsilist tööd ja ei juhi otseselt valmistusprotsessi käiku – valmistusprotsesse juhitakse automaatsete juhtimisseadmete abil. Sellest hoolimata võtab inimene toote valmistamisest osa. Ta käivitab vajaliku tehnilise rakenduse ning jälgib ja optimeerib selle juhtimisprotsesse.

Joonisel 1.1 esitatud toote valmistussüsteemi töömasinate koostises on kasutusel kaks põhilist osa: arvutiga juhtimissüsteem ja mehhaaniline töömasin. Juhtimissüsteemi seob töömasinaga täitur. Valmistusprotsessi ülesannete ja tööde täpseks juhtimiseks vajalike andmete saamiseks (tagasisideks) on täituris ja töömasinas kasutusel andurid.

Andur on seade, mis mõõdab ning edastab infot töömasinast ja täituritest juhtimissüsteemile. Voolu- ja pingeanduri abil näeb täituri mootori energiatarbimist ja mehaaniliste osade liikumiskiirust (kas on vaja muuta töölaua liikumiskiirust). Asendianduri (vt joonis 1.1) abil teab juhtimisseade töölaua ja valmistatava toote asukohta tööriista suhtes. Avarii stoppnupu abil saab tööline hädavajaduse korral peatada masina töö (nt tööriist ja töölaud põrkuvad omavahel kokku).

Täitur on toote valmistamiseks vajalik juhtimisseadme poolt juhitav (sageli elektromehaaniline) seade. Täituri kaudu liigub välise allika energia toote valmistuskohta. Täituris (mootor joonisel 1.1) toimub rakendusvälise allika elektrilise, hüdraulilise või pneumaatilise energia muundamine ja edastamine valmistustööks kasutatava masina mehaanilise liikumise energiaks (füüsikaliseks tööks), mille tulemusena võib muutuda valmiva toote ja valmistusseadmete sisu või vorm [3]. Peale elektrimootorite võivad täituriteks olla:

  • tööstusrobot
  • pneumaatiline silinder
  • hüdrauliline silinder
  • keevituspüstol
  • jne

Juhtimissüsteem on seadmete komplekt, mis juhib täiturite teostatavat tööd anduritelt tulevate signaalide ja juhtimisseadmes oleva programmi (seda kutsutakse ka kasutaja programmiks) järgi. Juhtimisseadmed jagunevad üldiselt riistvaralisteks (nt elektro-mehaaniline relee, pneumaatiline jaoti, drossel, jne) ja tarkvaralisteks.

Riistvara kasutatakse juhtudel, kui töömasina mistahes ümberprogrammeerimine ei tule kõne alla ja teostatava töö iseloom nõuab spetsiaalse juhtimisseadme väljatöötamist. Siin võidakse kasutada pneumaatilisi, hüdraulilisi, elektrilisi või elektroonilisi juhtimisseadmeid. Tihti kasutatakse töömasina juhtimiseks nende kombinatsioone.

Kui töömasina poolt teostatav töö ei nõua spetsiaalse juhtimisseadme väljatöötamist või kui töömasina operaator/insener peab tegema töö juhtimisprogrammis muudatusi, siis eelistatakse kasutada universaalset elektroonilist juhtimisseadet. Temasse saab salvestada muudetud/täiendatud töö juhtimisprogrammi. Selline universaalne juhtimisseade on programmeeritav loogikakontroller (lühend PLC).

Mõiste – programmeeritav loogikakontroller

Esimest korda võeti kasutusele mõiste PLC kaheksakümnendate alguses [4]. Enne seda kasutati programmeeritava kontrolleri tähistamiseks lühendit PC.

Esimesed PLC-d võeti kasutusele juba kuuekümnendate lõpus General Motors-i tehastes. Tehastes kasutatava PLC nimi oli Modicon 084 pooljuht jadaloogika lahendaja ja selle arendasid välja Bedford Associates ja Modicon (viimane ettevõtte loodi Bedford Associates-is töötanud arendusinseneride poolt). Veel varem kasutati töömasinate, tootmisliinide, jne juhtimiseks releedel baseeruvaid juhtimisseadmeid. Iga töömasina juhtimisseade koosnes vähemalt mitmest sajast releest ja taimeritest ning kui üks neist läks rikki, siis jäi vastav masin või terve valmistusliin seisma (lõpetas töötamise). Enamasti kulus vea otsimiseks ja kõrvaldamiseks mitu tundi. Samuti kulus palju aega (mõnikord rohkem kui kuu) nt automudeli tootmisliini ümberseadistamiseks (programmeerimiseks) uue automudeli tootmiseks, sest kõik releede, taimerite, andurite ja täiturite vahelised elektrilised jõu- ja juhtkaablid tuli uuesti vedada, et tagada masina/tootmisliini vigadeta töötamine.

Üldiselt oli PLC ülesandeks sisendsignaalide vastuvõtmine anduritelt, mälus salvestatud juhtimisprogrammi teostamine protsessori abil ja tulemuseks saadud väljundsignaalide edastamine välisseadmetesse. Binaaralgebra moodustas matemaatilise baasi juhitava masina/valmistamisliini operatsioonide (tehete) jaoks. Binaaralgebra tunnistab muutuja kahest määratletud olekust (0 või 1) ainult ühte. Seega omas PLC väljund ainult kahte olekut: sees/tõene või väljas/väär.

Aegade jooksul on PLC-d riistvara ja programmeerimisvõimalusi täiendatud. Olemasolevate binaarsete sisendite ja väljundite kõrvale tekkisid kontrolleris analoogsed sisendid ja väljundid võimaldades edastada täpsemalt määratud andmete väärtusi erinevate juhtimissüsteemi seadmete vahel. Paljud tänapäeva tehnilised rakendused vajavad analoogsignaalide töötlemist, mis võimaldab võrrelda suuruste etteantud analoogväärtusi tegelike mõõdetud analoogväärtustega nätieks: veeboileris olev temperatuur, freespingis väljalõigatud metalldetaili mõõdud, töölaua asukoht, jne.

Peale binaaralgebra võimaluste on PLC-d täiendatud muude juhtimisfunktsioonidega ja funktsiooniplokkidega nagu nt:

  • erinevad taimerite ja loendurite funktsioonid
  • mäluregistrite väärtuste seadmine ja lähtestamine (nullimine)
  • erinevad matemaatilised tehted
  • PID regulaatori rakendamine
  • andmeside (võrgu) liidesed
  • inim-masin liidese koostamine ja salvestamine PLC-sse
  • veebiserverid
  • FTP serverid
  • GSM modemid
  • liikumise positsioneerimisfunktsioonid

PLC-d on võimelised hoidma käigus mitut juhtimisprogrammi korraga ning on ühendatavad teiste automaatsete juhtimissüsteemide ja nende komponentidega, võimaldades tootmise komplekssemat automatiseerimist Industry 4.0 tasemel.

Aastal 1992 loodi rahvusvaheline mittetulundusühing PLCopen. Selle ülesandeks sai töötada välja rahvusvaheline standart PLC-de ajoks. See pidi ühtlustama nõuded, mõitsed, programmeerimiskeeled, jne PLC kohta, nii et ühe tootja PLC vahetus teise vastu toimuks valutult. Selleks sai standard IEC 61131, mida PLCopen täiendab ja arendab edasi. PLCopen-il on oma internetileht, kus kohast leiab palju informatsiooni standardi IEC 61131 ja nende tegevuste kohta: plcopen.org.

Standard IEC 61131-1 seletab lahti PLC tähenduse järgmiselt:
Digitaalselt toimiv elektrooniline süsteem, mis on mõeldud kasutamiseks tööstuskeskkonnas, mis kasutab kasutaja määratud juhiseid ja funktsioone nagu loogika, järjestus, ajastus, loendus ja aritmeetika salvestamiseks programmeeritavat mälu ning juhib digitaal- ja/või analoogsisendite ja -väljundite kaudu mitmesuguseid masinaid või protsesse. Nii PLC kui ka sellega seotud välised seadmed on projekteeritud nii, et neid saab hõlpsasti integreerida tööstusliku juhtimissüsteemi ning neid saab kergelt kasutada kavandatud juhtimisfunktsioonide teostamiseks. [5]

Lihtsamalt öeldes on programmeeritav loogikakontroller spetsiaalne tööstusarvuti, mis on seotud juhitva masina andurite ja täituritega ning juhib nende abil masinas teostatava protsessi tööd programmeerija (kasutaja) poolt koostatud juhtimisprogrammi järgi. Vajadusel saab PLC-d ümber programmeerida ja kohandada uue toote/protsessi joaks.

PLC-sid kutsutakse kõnekeeles veel:

  • kontrolleriks
  • programmeeritavaks kontrolleriks
  • tööstuskontrolleriks
  • tööstusarvutiks

Praegu turul pakutavad PLC -d on kohandatud kliendi kasvanud nõudmistele ja on kasutatavad peaaegu igas rakenduses. Tööstuses kasutatakse kontrollereid[4]:

  • masina juhtimiseks (87%)
  • mingi masinas oleva protsessi juhtimiseks (58%)
  • liikumise juhtimiseks (40%)
  • seeriatootmise juhtimiseks (26%)
  • diagnostikaks (18%)
  • ja muude asjade (3%) jaoks

Peale tootmise kasutatakse PLC-sid ka mujal, nt elektrijaamades, alajaamades, hoone automaatikas, jne. Neid kasutatakse ka tööstusroboti juhtimiseks. Erilisi ohutusnõudeid rahuldavad PLC-d on saadaval laevandus- ja kaevandusülesannete jaoks.

PLC riistvara

Standardi IEC 61131-2 järgi koosneb lihtne PLC kolmest põhikomponendist:

  • toitemoodul
  • keskjuhtimismoodul
  • signaalimoodul

PLC toitemoodul

Toitemoodul (PS või PM) varustab PLC-d energiaga, mis saadakse 120/230 V vahelduvvooluvõrgust või 24 V alalisvooluvõrgust. Mõned PLC-d ei vaja oma koosseisu eraldiseisvat toitemoodulit kui keskjuhtimismooduli sisse on ehitatud toiteplokk, mis on võimeline vastu võtma 24 V pingega alalisvoolu (DC) või 230 V pingega vahelduvvoolu (AC). Sellised on ABB AC500-eCo ja FESTO CECC seeria kontrollerid.

FESTO CPX seeria PLC-del on toite ühendus integreeritud kasseti üksiku mooduli (vt pt "Muud PLC moodulid" ja "FESTO CPX seeria PLC riistvaraline ülesehitus") sisse. Nende tähistamiseks on lisatud eraldi seisev Z või V täht kasseti mooduli tootenimesse.

PLC keskjuhtimismoodul

Keskjuhtimismoodul (CPU) on PLC aju, mis täidab automatiseeritud protsessi või masina juhtimisprogrammi, mis on salvestatud tema sisse ehitatud programmimälusse. CPU-s kasutatakse kahte mälutüüpi [6]:

  • RAM-mälu (vahemälu)
  • EEPROM-mälu (püsimälu)

Esimest kasutatakse juhtumisprogrammi ja juhitava protsessi andmete hetkväärtuste talletamiseks. EEPROM-mälu kasutatakse CPU-s jooksva operatsioonisüsteemi (nt FESTO CECC seeria PLC-s on selleks Linux), püsivara (inglise k. firmware) ja juhtimisprogrammi salvestamiseks. Viimast kasutatakse selleks, et taastada RAM-mälus olnud juhtimisprogrammi kui PLC toide peaks katkema mingil põhjusel. EEPROM-mällu salvestatud juhtimisprogramm laetakse RAM-mällu kui PLC toide taastub ja CPU hakkab tööle (läheb TÖÖ-režiimi).

Peale juhtimisprogrammi täitmist määrab CPU teiste PLC-s olevate moodulite parameetreid, haldab andmesidet programmeerimisseadmega (nt sülearvuti), PLC koosseisu kuuluvate laiendusmoodulitega, teiste PLC-(de)ga ja/või teiste seadmetega nagu näiteks operaatoripaneel. CPU võib omada eraldi toitesisendit, mälulaienduspesa (nt SD või microSD kaardi jaoks) ja ühte või mitut andmesideliidest. Üha enam kasutatakse PLC-des andmesideliidesena Etherneti, kuna see võimaldab kiiret andmete edastamist ja selle võrgu ehitamiseks kasutatavate seadmete hinnad on madalad. Andmesideliidesed toetvad erinevaid andmeside protokolle. Kõige levinumad andmeside liidesed on:

  • AS-i
  • PROFIBUS
  • PROFINET
  • ModBus
  • CAN
  • CANopen
  • Devicenet
  • EtherCAT
  • jne

Enamus CPU-del on võimalik valida PLC töörežiimi kas mingi nupu (see on ABB AC500-eCo või FESTO CPX seeria PLC-del) või arenduskeskkonna abil (FESTO CECC seeria PLC töörežiim on valitav tarkvara abil). Praegused PLC-d omavad kaht töörežiimi:

  • TÖÖ-režiim (inglise k. RUN) - kasutaja poolt koostatud juhtimisprogrammi täitmiseks
  • STOPP-režiim (inglise k. STOP) - kasutaja poolt koostatud juhtimisprogrammi täitmine on peatatud

Mõlema töörežiimi ajal saab PLC-st laadida üles (inglise k. upload) programmeerimisseadmesse (personaalarvuti) või sealt alla (inglise k. download) PLC-sse masina juhtimisprogrammi. Mõned vanemad PLC-d omavad ka kolmandat töörežiimi, mida kutsutakse TÖÖ-P (inglise k. RUN-P) režiimiks. Selliste PLC-de puhul sai kasutaja laadida juhtimisprogramme üles ainult STOPP- või TÖÖ-P režiimis. TÖÖ-režiimis täideti ainult juhtimisprogrammi ja see ei võimaldanud muuta juhtimisprogrammi (TÖÖ-P režiimis sai seda teha).

FESTO CPX seeria PLC-de CPU moodulite tootenimes kasutatakse kas FEC või CEC tähistust. Esimese CPU programmeerimiseks tuleb kasutada tarkvara nimega FST (selle leiab FESTO kodulehel) ja teise jaoks CoDeSys (selle leiab kas FESTO või CoDeSys Store lehelt). ABB PLC-de CPU moodulite tootenimedes kasutatakse tähistust PM. Ka ABB PLC-de programmeerimiseks kasutatakse tarkvara CoDeSys, mis on integreeritud nende tarkvara lahendusse nimega Automation Builder (selle leiab ABB kodulehelt).

PLC signaalimoodul

Signaalimoodulid (SM) on sisend-väljundmoodulid ( I/O). Kasutusel on moodulid digitaalsete signaalide edastamiseks (DI - digitaalsisend, DO - digitaalväljund) ja analoogsete signaalide edastamiseks (AI - analoogsisend, AO - analoogväljund). SM teisendab saabuvad elektrilised signaalid niisugusesse vormi, mida PLC protsessor suudab töödelda ning toimetab vastupidiselt väljuvate signaalidega. Enamasti kasutavad digitaalsignaali moodulid oma töös alalispinget väärtusega 24 V või vahelduvpinget väärtusega 120/230 V. Analoogsignaalimoodulite juures on kasutusel alalispinge väärtusega kas ±10 V, 0 – 10 V, ±5 V või 1 – 5 V ja alalisvool väärtusega kas 4-20 mA või 0-20 mA.

SM-de ja üldse PLC kaitsmiseks kasutatakse optrone (koosneb LED-ist ja fototransistorist), mis eraldavad galvaaniliselt (optiline isolatsioon) andurid ja täiturid PLC riistvarast. Lubatust kõrgema pinge peale andmisel digitaalsisendisse hävineb see. Samas PLC ja ülejäänud sisendid jäävad töökorda, kuna kahjustada saab ainult optroni LED osa. SM kaitseks võidakse lisada sulavkaitsmeid, mis peaksid kaitsma SM lühise, ülepinge ja ülekoormuse eest.

Digitaalväljundmoodulitest väljuvate signaalide edastamiseks kasutatakse releesid ja transistore. Releedega saab lülitada erinevaid (DC ja AC) pingeid, suuremaid voole (kuni 2 A) võrreldes transistoridega, kuid relee lubatud lülituste arv on tunduvalt väiksem kui transistoril. Samuti võimaldab transistor kiiremat väljundite lülitamist kui relee. Transistor DO ei talu valet polaarsust ja on tundlikum ülekoormuse suhtes. Nende kaitseks lisatakse SM moodulisse optrone ja sulavkaitsmeid. Sellest hoolimata on relee väljundid kallimad kui transistori omad [7].

Üks digitaalsignaalimoodul võib omada 8, 16 või 32 sama tüüpi sisendit ja/või väljundit ning analoogsignaalimoodul kuni 2, 4, 6 või 8 sama tüüpi sisendit ja/või väljundit.

Joonis 1.2

Digitaal-SM-te kirjeldustes, kui mooduli toiteks kasutatakse alalisvoolu, kohtab sõnu SOURCING (eesti keeles pingestamine, PNP) ja SINKING (maandamine, NPN). Need sõnad kirjeldavad toitevoolu liikumist SM-s. Pingestamisel ühendatakse andurite väljundid või täiturite sisendid läbi SM-i DC toite +24 V potentsiaaliga. Vool liigub toiteahelast või -allikast läbi SM edasi täituri või anduri poole (joonisel 1.2 a).

Maandamise puhul ühendatakse andurite väljundid või täiturite sisendid läbi SM-i DC toite 0 V potentsiaaliga. Vool liigub toiteallikast läbi anduri või täituri edasi SM poole (joonisel 1.2 b). Euroopas kasutatakse enamasti maandavaid digitaalsisendiga SM-d ja pingestavaid transistoriga digitaalväljundiga SM-d. Relee digitaalväljundi SM-del ei ole see (NPN või PNP) oluline. On olemas ka SM-d, milles on mõlemad lahendused sisse ehitatud. Siin kohal ei soovitaks kasutada NPN ja PNP süsteemi koos nt sisendi SM juures. Mõttekas on kasutada ainult ühte neist kahest.

Muud PLC moodulid

Peale eespool loetletud moodulite võib PLC kooseisus olla järgmisi mooduleid/seadmeid:

  • kassett/siin on süsteem, millesse on ehitatud andmeside siiniga ühendatakse eraldiolevad PLC moodulid kokku üheks terveks PLC seadmeks
  • liidesmoodul ( IM) ühendab mitmed eraldiseisvad kassetid üheks PLC-ks
  • funktsioonimoodul (FM) on seade, mis tegeleb keeruliste või aeg-kriitiliste protsessidega mis tuleb teostada CPU-st sõltumatult (nt kiire loendamine, PID- ja positsioonjuhtimine)
  • andmeside moodul (CP või CM) ühendab PLC tööväljasiiniga (nt Modbus TCP, Modbus RTU, Ethernet IP, PROFIBUS DB, CANopen, DeviceNet, Sercos III, jne)
  • laienduskaart võimaldab laiendada CPU enda küljes olevate I/O-de arvu, andmeside liideste arvu või mingi muu (näiteks ekraaniga kasutajaliides) asja võrra ilma suure lisamooduli juurdepanemata
  • lisa mälukaart (MC või SD), mis paigaldatakse CPU-sse. Seda saab kasutada lisa mäluna andmete ja programmi hoidmiseks, programmi laadimiseks PLC’sse ning mõnede CPU-de puhul saab uuendada nendes olevat firmware
  • jadaühendusmoodulid
  • kasutajaliidese moodul (nt operaatoripaneel)
  • hajutatud sisend-väljund moodulid
  • kiiretoimelised signaalimoodulid
  • jne

Iga PLC moodul omab lihtsat kasutajaliidest andmeside, patarei, I/O, PLC operatsiooni, jne olekute ning vigade näitamiseks. Selleks kasutatakse väikseid vedelkristallekraane (LCD) või valgusdioode (LED).

FESTO CPX seeria PLC riistvaraline ülesehitus

FESTO CPX seeria kontrolleri võimalik riistvaraline koosseis on esitatud joonisel 1.3). PLC pannakse kokku erinevatest moodulitest paigutades need kasseti (joonis 1.8a). Kassett on ka modulaarne, mis tähendab et Festo saab selle koostada nii pikka (soovitud pesade arv) ja vastavate kasseti pesamoodulitest nagu seda soovib klient. Kassett koosneb lõpukaantest (sellel võib olla veel toite või teise kasseti laienduse ühendusklemmid) ja pesamoodulitest. Ühel pesamoodulil võib olla ka toite ühendus, mis peab kindalt olema CPU mooduli all olemas olema. Samas võivad mõned väljundid ka vajada eraldi toite pesaga pesamoodulit.

Joonis 1.3

PLC kasseti kõrvale saab paigutada pneumaatilisi jaoteid, mis võimaldavad juhtida pneumaatikatäitureid. Ühe CPX PLC koosseisus võib olla kokku kuni 16 pneumaatilist jaotimoodulit. Kuid üldiselt võib sellises süsteemis olla kuni 128 eraldi juhitavat pneumaatilise jaoti mähist.

CPX PLC-s koosesisus saab olla ainult üks CPU ja CP moodul. Viimane tuleb paigutada esimesse kasseti, kus selle asukoht ei ole oluline.

CPX PLC saab jagada kahe kasseti peale ära. Esimesse kasseti saab panna kuni 10 moodulit (sama arv kui kasutusel on ainult üks kassett) ja teise kuni 8 moodulit. Kahe kasseti süsteemi korral paigutatakse CPU esimesse kasseti kõige paremale olevasse moodulisse. Ühe kasseti süsteemi korral ei oma CPU asukoht erilist rolli. Teise kasseti koosseisu pannakse kõik pneumaatilised jaotid. Neid ei panda enam esimese kasseti juurde.

Mõne teise firma PLC-de juures on oluline CPU ja PS asetus. Näiteks peab firma Siemensi S7-300 seeria PLC-s paiknema PS esimesel kohal ja teisel kohal on kohe CPU moodul. Samas firma Allen-Bradley CompactLogix PLC-s võib PS paikneda teises kohas, kuid CPU peab paiknema esimeses pesas. CompactLogix PLC-s võib CPU ja PS vahele panna kuni 4 lisamoodulit.

ABB AC500-eCo seeria PLC riistvaraline ülesehitus

Joonis 1.4

Joonisel 1.4 on kujutatud ABB AC500-eCo seeria kontrolleri võimalik riistvaraline koosseis. CPU-st paremale poole saab paigutada kuni 10 erinevat I/O moodulit kas siis ABB AC500-eCo või AC500 seeriast [8].

ABB AC500-eCo seeria kontroller ei vaja eraldiseisvat PS, kuna see on CPU-sse ehitatud. CPU-d võib toita kas ainult 24 V DC või ainult 230 V AC pingega. CPU enda külge on integreeritud üks RS485 andmeside liides ja mõned digitaal I/O (sõltuvalt tüübist on nende arv erinev). CPU DO-de juures kasutatakse kas ainult transitore või releesid. Mõnedel CPU-del on olemas ka analoog I/O-d ja Etherenti pesa. Eterheneti pesaga CPU-desse on sisse integreeritud FTP ja veebi serverid, võimaldades teha veebipõhiseid inim-masin liideseid otse PLC enda sisse. CPU-le on võimalik lisada juurde kas veel üks andmeside moodul, mälu laiendus pesa, SD kaardi pesa, patarei moodul või midagi muud.

PLC tüübid

Sõltuvalt sellest, missugune on CPU mooduli ehitus ja kuidas see on ühendatud teiste moodulitega [9], saab PLC liigitada järgmisteks tüüpideks:

Kompakt-PLC

Kompakt-PLC-s on CPU, PS ja SM paigutatud ühte väikesesse korpusesse. Sellisel PLC-l on kindel arv digitaal I/O-id (mitte üle 40), üks või kaks andmesideliidest (nt üks PLC programmeerimiseks ja teine tööstusandmesideks) ning HMI liides. Kompakt-PLC-ga saab ühendada lisamooduleid I/O arvu suurendamiseks. Lisatavate lisamoodulite arv ei ületa kümmet ning need paiknevad samasuguses korpuses nagu kompakt-PLC.

Kompakt-PLC-d kasutatakse enamasti juhtimissüsteemides releede asendusena. Üks PLC ei maksa rohkem kui käputäis releesid. Selle programmeerimine on sama paindlik kui juhtmetega releeskeemi koostamine. Sellist tüüpi odavate PLC-de nõrgaks küljeks on vähene mälu programmi ja andmete jaoks, nõrk protsessori jõudlus, taimerite ja loendurite väike arv ning mõned puuduvad andmetüübid (nt komakohaga arv, string). Kuid täna päeval omavad uuemad ja kallimad kompakt-PLC-d samu funktsioone nagu ülejäänud PLC-d. Nende ainsaks puuduseks on piiratud I/O-de arv.

Kompakt-PLC tüüpi on ABB AC500-eCo (joonis 1.4), Festo FEC , Siemens LOGO! ja S7-200 PLC (joonis 1.5) ning Festo CECC ja EATON XC-152 seeria PLC-d (joonisel 1.6).

Joonis 1.5.
Joonis 1.6.

Moodul-PLC

Moodul-PLC on võimsam ja omab rohkem funktsioone kui kompakt-PLC. Tema osad nagu näiteks CPU, PS, SM, FM, servo-mootori juhtimismoodul, positsioneerimismoodul, CP moodul, jne, mis paiknevad eraldi korpustes. Moodul-PLC osad paigutatakse tavalisele DIN-liistule, spetsiaalse kujuga kinnitusliistule või kassetti ning need suhtlevad CPU-ga läbi sisese siinisüsteemi. Siinisüsteem võib olla üks osa moodulist (ühendus- pesad ja pistikud külgedel), omada eraldi korpust (üks osa kassetist) või olla lamekaabel, mis ühendatakse moodulite külge pistikute abil. Kassett omab pesasid PLC moodulite jaoks ja sisest siinisüsteemi, mis on integreeritud tagaseina ning mis toidab mooduleid ja võimaldab vahetada informatsiooni eri moodulite vahel. Kassettide eeliseks teiste kinnitusliistude juures on kiirem andmeside PLC moodulite vahel ja moodulite kiirem toimimine.

Et tagada kiiret andmete vahetust moodulite vahel, on piiratud siinisüsteemi lisatavate moodulite arv. Nt EATON XC seeria PLC-le saab ühele DIN-liistule panna kuni 15 moodulit [10]. Vaata ka pt "FESTO CPX seeria PLC riistvaraline ülesehitus".

Moodul-PLC alla liigituvad ABB AC500 seeria (joonis 1.7a) ja WAGO PFC200 PLC (joonis 1.7b).

Joonis 1.7. Joonis 1.7b.

Moodul-PLC alla kuuluvad ka Festo CPX seeria (joonis 1.8a) ja EATON XC PLC-d (joonis 1.8b), mille moodulid paigutatakse kassetti.

Joonis 1.8. Joonis 1.8.

HMI PLC

Joonis 1.9

Nagu HMI nimi PLC sees juba ütleb, omab antud seade lisaks kontrollerile ka inim-masin (kasutaja/operaator) liidest automatiseeritud protsesside või masinate juhtimiseks ja nende töö jälgimiseks. HMI osa koosneb enamasti ekraanist ja klaviatuurist või puuteekraanist. HMI ekraan võib olla tekstipõhine või graafiline. HMI PLC seadmetele saab lisada juurde eraldi seisvaid I/O mooduleid andmeside liidese abil. Teatud tootjate HMI PLC seadmete programmeerimiseks saab kasutada ühte arenduskeskkonda nii süsteemi juhtimis-programmi kui ka HMI liidese koostamiseks (nt firma Unitronics).

Osade HMI PLC seadmete juures kasutatakse lühendit OPLC. O täht tuleb sõnast operaatorpaneel. HMI PLC alla kuuluvad Unitronics Vision, Festo CDPX ning Eaton XV seeria PLC (joonis 1.9).

Tööstusarvuti

Tööstusarvuti on põhimõteliselt tavaline personaalarvuti, millesse on integreeritud PLC funktsionaalsus. PLC osa antud süsteemis võib põhineda riistvaral (kaart-PLC) või tarkvaral (virtuaalne PLC). Tööstusarvuteid kasutatakse keskmistes või suurtes automatiseerimisrakendustes, kus on oluline kiire protsessijuhtimine, kiire andmete kogumine ja vahetus koos OPC ja/või SQL serveritega (paigaldatud tööstusarvutisse), süsteemi hea jälgitavus ning selle pikk eluiga. Enamikel juhtudel kasutab tööstusarvuti automatiseeritud protsesside ja/või masinate juhtimiseks andmesidet. Ülejäänud seadmed (I/O moodulid, operaatorpaneel, sagedusmuundur, pneumosilinder, jne), mida kasutatakse masina juhtimiseks, on andmeside mooduli abil ühendatud tööstusarvuti külge. Samas võib see omada sisse ehitatud I/O’sid ja teisi PLC mooduleid.

Tööstusarvutid on ehitatud arvuti komponentidest, mis ei kasuta mehhaanilisi liikuvaid osi. Nt kasutatakse kõvaketastena SSD kettaid, arvutis olevat protsessorit jahutatakse passiivsete radiaatoritega, jne. Seetõttu on tööstusarvuti kallim tava lauaarvutist.

Tööstusarvuti puuduseks on see, et teatud aja möödudes pole võimalik saada varuosi (nt mälu, protsessor, videokaart jne). See tähendab, et tootmises on uued paremad komponendid ja vanu komponente enam ei toodeta.

Joonisel 1.10 on kujutatud Bosch Rexroth Group BOX PC, Janz Tec emPC-CX+ ja Kontron KBox A tööstusarvutid. Osad tööstusarvutid on integreeritud kokku operaator-paneelidega. Neid kutsutakse enamasti paneel PC-ks (inglise k. Panel PC).

Joonis 1.10.

Kaart-PLC

Kaart-PLC on arvutisse või selle laadsesse süsteemi paigaldatav spetsiaalne riistvaraline moodul, mis omab kõiki tavalise PLC CPU funktsioone. Enamasti paigutatakse see arvuti emaplaadil olevale PCI või PCI-E pessa, mis võimaldab otsest andmevahetust arvutis oleva HMI ja/või teiste arvutite tarkvaraliste rakendustega. Kaart-PLC-l on vähemalt üks andmesideliides tema ühendamiseks otse tööstuslikku andmesidevõrku (vahetada andmeid hajutatud I/O-dega, teiste PLC-dega või muude juhtimissüsteemi seadmetega). Kaart-PLC-d on võimelised töötama edasi ka siis, kui tavaline arvuti jookseb kokku.

Tarkvaraline PLC

Tarkvaraline PLC ehk virtuaalne PLC on programm, mis töötab personaalarvutis ja emuleerib riistvaralist kontrollerit. Automatiseeritud protsesside või masinate juhtimiseks kasutab see arvutis olevaid andmesideliideseid (Ethernet kaart, Etherneti pesa, COM pesa) või arvutisse asetatavaid spetsiaalseid andmesidekaarte suhtlemaks hajutatud I/O-dega ja teiste juhtimissüsteemi seadmetega. Tarkvaralise PLC puuduseks on lisamälu puudumine andmete salvestamiseks. Toitepinge katkemisel (kadumisel) kaotatakse kõik protsessi juhtimisandmed, kuid sellest saab üle täiendava energiasalvestiga. Lisaks on arvuti operatsioonisüsteemi vahetumisel oht, et tarkvaraline PLC ei tööta uues süsteemis. Peale selle puudub garantii, et tarkvaralise PLC-ga samal ajal töötavad teised tarkvaralised rakendused (HMI või OPC server) ei mõjuta PLC tööd (nt protsessi juhtimise kiiruse vähendamine, andmeside katkestused, jne).

3S-Smart Software Solution pakub tarkvaralise PLC-na CODESYS Control Win SL, mis töötab Windows operatsiooni süsteemiga arvutis.

PLC poolt töödeldavad signaalid

Tootmissüsteemides mõõdetakse füüsikaliste suuruste nagu temperatuur, rõhk, valgustugevus, elektripinge, lau pikkus, jne väärtusi. Samas PLC mõistab ja annab välja ainult elektrilisi signaale. Seetõttu tuleb füüsikaliste suuruste väärtused muuta andurites elektrilisteks signaalideks ja PLC väljundist tulevad elektrilised signaalid muuta täiturites tehtavaks tööks või tegevuseks (joonis 1.11). PLC puhul eristatakse kolme tüüpi signaale, millega see on võimeline töötama:

  • binaarsignaal
  • digitaalsignaal
  • analoogsignaal
Joonis 1.11.

Binaarsignaal

Joonis 1.12.

Binaarsignaalil (üks bitt) on ainult kaks väärtust (0 – madal/VÄÄR ja 1 – kõrge/TÕENE). Binaarsignaale kutsutakse ka diskreetseteks ehk katkelisteks signaalideks, kuna need saavad teatud ajahetkel omada kahest võimalikust väärtusest ainult ühte.

Binaarsignaali väljastab näiteks surunupp või lüliti, kui see ühendada pingestatud vooluahelasse. Vooluahelasse ühendatud normaalselt avatud kontakt edastab (loogika) signaali väärtusega 0. Kui vooluahelasse ühendatud kontakt sulgeda jõuga siis selle väljundsignaali väärtuseks on 1. Täiturina kasutab binaarsignaali näiteks lampi. Lamp põleb kui sisse tuleva signaali väärtuseks on 1 ja on kustu kui signaali väärtuseks on 0.

Elektriseadmetes tuleb siiski arvestada teatud hälvetega, kuna voolu või pinge väärtusi ei suudeta hoida täpselt ühe kindla väärtuse peal. Need kõiguvad. Seetõttu on standardis IEC 61131 loogikasignaale kandva pinge väärtused määratud mingi vahemiku peale. 24 V DC toitepingega kontaktivabade andurite väljundis loetakse pingevahemikku -3 – +5 V loogiliseks nulliks ja pingevahemikku 11 – 30 V loogiliseks üheks (joonis 1.12). 230 V AC puhul loetakse pingevahemikku 0 – 40 V loogiliseks nulliks ja vahemikku 164 – 253 V loogiliseks üheks.

Digitaalsignaal

Joonis 1.13.

Digitaalsignaal on binaarsignaalide jada, mis edastamisel või salvestamisel moodustab ühe terviku (joonis 1.13). Igat kohta digitaalsignaalis kutsutakse bitiks. Tüüpilised digitaalsignaali vormid on:

  • terta – 4 bitti (ei ole laialdaselt kasutusel)
  • bait – 8 bitti
  • andmesõna (word) – 16 bitti
  • topelt andmesõna – 32 bitti
  • topeltpikk andmesõna – 64 bitti (ei ole laialdaselt kasutusel)

Joonisel 1.13 on esitatud ühe 24 V digitaalsignaali 1 baidi väärtus, milleks on 75.

Analoogsignaal

Joonis 1.14.

Analoogsignaal edastab mingi mõõdetava füüsikalise suuruse (nt temperatuuri) väärtust elektrilise pingega 0 – 10 V (joonis 1.14) või vooluga 4 – 20 mA. Analoogsignaale kutsutase pidevsignaaliseks, kuna nende väärtused muutuvad ajas pidevalt. Nüüdisaegsed PLC-d pole veel võimelised töötlema reaalseid analoogsignaale, seetõttu muundatakse kontrollerisse sissetulev analoogsignaal digitaalsignaaliks (täisarvuks) ja väljuv digitaalsignaal muundatakse analoogsignaaliks. Signaalimuundamine toimub analoog SM-s. Mida rohkem bitte kasutada digitaalsignaalis (nt 10 või 12 bitti), seda suurem täpsus saavutatakse analoogsignaali muundamisel. Tüüpilise 0 – 10 V väärtusega analoogsignaali viga võib digitaalsignaaliks muundamise järel olla 0,1 V, 0,01 V või 0,001 V (vastavalt digitaalsignaalis kasutatavate bittide arvule).

Tabelis 1.1 on esitatud mõõdetava temperatuuri väärtuse teisendamine pingeks, mis edastatakse PLC-le ja muundatakse analoog SM-s digitaalsignaaliks (väärtuseks). Tabelis on esitatud temperatuuri vahemiku väikseim ja suurim väärtus ning neile vastavad analoogsignaali pinge ja digitaalsignaali väärtused. Digitaalsignaali muundureid on kaks. Ühes kasutatakse analoogsignaali esitamiseks 10 bitti ja teises 12 bitti. Veel on tabelis 1.1 esitatud temperatuuri ja pinge väärtuse muutus, kui digitaalsignaali väärtus muutub 1 võrra.

Temp ℃ Analoogsignaal V DC Digitaalsignaal,
10 bitti
Digitaalsignaal,
12 bitti
-20 0 V 0 0
40 10 V 1023 4095
Samm
0,059 0,0098 V 1 4
0,015 0,0024 V 0 1

Mõnede analoogsignaalide töötlemiseks ei ole mõtet kasutada suure resolutsiooniga SM mooduleid. Näiteks külmutusseadme temperatuuri väärtuse esitamiseks kasutajale piisab kui kasutada PLC kooseisus SM-t mis kasutab ainult 8 bitti analoogsignaali esitamiseks. Samuti ei pruugi andurid ja täiturid toetada suuremat resolutsiooni.

Kuidas töötab CoDeSys-i kasutav PLC?

Joonis 1.15

PLC (nt ettevõtte Festo PLC-d) töö toimib tsükliliselt (joonis 1.15) [7]. Iga uus PLC töötsükkel algab PLC enesetöötlusest. Siia alla kuuluvad andmeside pidamine, hooldustööd nagu mälu haldamine, moodulite diagnostika (kas mingi sisend on kadunud), kella väärtuse uuendamine, jne. See osa töötsüklist tehakse operatsioonisüsteemis nii kiiresti, et kasutaja seda ei märka.

Teise sammuna uuendatakse PLC sisendite väärtused (ehk sisendite protsessikuva). SM-des mõõdetakse sisendsignaalide väärtused ja need muudetakse binaar- või digitaalsignaalideks ja saadetakse sisese siinisüsteemi kaudu edasi CPU-sse ja salvestatakse sisendite andmemälus (sisendite protsessikuvas). Muude PLC töötsükli osade juures ei uuendata PLC sisendite väärtusi andmemälus. See tähendab, et kui mingi sisendi olek muutub juhtimisprogrammi täitmise ajal (järgmine samm), siis see muutus registreeritakse alles järgmise töötsükli sisendite väärtuste uuendamisel. Ja seda ka ainult siis, kui signaal ei muutu vahepeal.

Kui on vaja tuvastada kiireid sisendi muutusi, siis tuleb kasutada selleks spetsiaalseid kiirloendur mooduleid. Need salvestavad sisendi väärtusi (loevad signaali muutusi) ja saadavad õiged väärtused CPU-sse kui PLC töötsüklis toimub sisendite väärtuste uuendamine.

Järgmise sammuna täidab CPU programmimälus olevat kasutaja loogika kohaselt loodud juhtimisprogrammi (korraga täidetakse üht korralduserida), mis on salvestatud mingis masinkoodis. See tähendab, et kõik PLC programmeerimiskeeltes (defineeritud standardis IEC 61131-3) kirjutatud programmid tõlgitakse masinkoodi enne nende salvestamist PLC-sse. Programmi (korralduserea) täitmise käigus määratakse väljundsignaalidele uued väärtused ja need salvestatakse väljundite andmemällu (väljundite protsessikuva). Väljundeid ei uuendata veel väljund SM-s.

Viimaseks sammuks on väljundite väärtuste uuendamine SM-des. Väljundite andmemälus (väljundite protsessikuvas) olevad binaar- ja/või digitaalsignaalid kopeeritakse ja saadetakse SM-desse, kus need muundatakse täituritele arusaadavasse vormi (nt elektri-signaalideks) ja saadetakse sealt edasi täituritele.

Kui viimane samm PLC töötsüklist on täidetud, siis alustab PLC uue töötsükliga toestades moodulite oleku kontrolli, pidades andmesidet, jne ehk siis teostades enesetöötlust.

Mõne teise PLC töötsükkel võib olla teistsuguse ülesehitusega. Nt Allen-Bradley CompactLogic PLC-s toimub I/O signaalide väärtuste uuendamine programmi täitmise ajal, mitte enne või pärast seda. Siemensi PLC-des toimub töötsükli alguses enne juhtimisprogrammi täitmist väljundite (mitte lõpus) ja seejärel sisendite väärtuste uuendamine. Enesetöötlus toimub Siemensi PLC-s töötsükli lõpus.

Multitegumtöö

Tänapäeva PLC-d on võimelised täitma automatiseeritud protsessi juhtimisel korraga mitut ülesannet. Iga ülesanne võib koosneda mitmest eraldi programmist. Tegelikkuses täidab PLC CPU-s iga protsessor korraga ainult üht ülesannet (selle mingit programmiosa). Kuna protsessorid töötavad väga kiiresti, näib kasutajale, et PLC täidab mitut ülesannet korraga ehk toimub multitegumtöö.

Standard IEC 61131 määratleb ülesannet kui hierarhiliselt kõrgemat juhtimistasandit PLC programmide täitmisel. PLC on võimeline aktiveerima ülesande kas ajaperioodi (kutsutakse perioodiliseks ülesandeks) või sündmuse baasil (kutsutakse mitteperioodiliseks ülesandeks) ning selles mingi kirjutatud programmi täitmist [11]. Perioodilisi ülesandeid täidetakse tsükliliselt programmeerija poolt määratud aja möödudes. Mitteperioodilisi ülesandeid täidetakse käimasoleva ülesande koosseisus oleva programmi töös konkreetse sündmuse ilmnemisel (nt kui mingi olulise andmeelemendi või signaali väärtus muutub 0 → 1).

Tootmisprotsessis multitegumtöö organiseerimisel määrab ülesannete tähtsuse ehk prioriteedi programmeerija. Prioriteedinumbri väärtus algab nullist ja see tähistab kõrgeimat prioriteeti. Suurem prioriteedinumber tähendab täitmisel väiksemat prioriteeti. Kui PLC töös püüavad mitu ülesannet kasutada CPU protsessorit samal ajal, siis määrab ülesande prioriteedinumber esimesena täidetava ülesande. Alustatakse kõige kõrgema prioriteediga ülesande täitmisest ja teised jäävad ootama. Kui mitmel täitmist ootaval ülesandel on sama prioriteet, siis peale eelmise ülesande täitmise lõpetamist (CPU protsessor saab vabaks) alustatakse pikima ooteajaga ülesande täitmist.

Kui mingi programm PLC-s ei ole seotud ühegi ülesandega, siis omab see programm kõige madalamat prioriteeti ja seda täidetakse ainult siis, kui protsessor pole hõivatud [9].

Multitegumtöö jagatakse vastavalt ülesande täitmise katkestusele kaheks:

  • eesõiguseta mutlitegumtöö
  • eesõigusega multitegumtöö
Eesõiguseta multitegumtöös täidetakse ülesanne lõpuni isegi siis, kui kõrgema prioriteediga ülesanne nõuab täitmist. Järgmisena jätkatakse kõige kõrgema prioriteedi ja pikima ooteajaga ülesande täitmisega. Eesõigusega multitegumtöös täidetakse mingit ülesannet seni, kuni kõrgema prioriteediga ülesanne muutub aktiivseks ja katkestab eelmise ülesande tegevuse. Seega väiksema prioriteediga ülesande täitmine läheb ooterežiimi senikauaks kuni kõrgema prioriteediga ülesande tegevus on täidetud. Eesõigusega multitegumtöös sama või väiksema prioriteediga ülesanded ei saa katkestada täidetavat ülesannet. Need peavad ootama kuni käesolev ülesanne on täidetud/lõpetatud. Peale katkestatud ülesande täitmise lõpetamist jätkatakse kõige kõrgema prioriteedi ja pikima ooteajaga ülesande täitmist.

Standard IEC 61131 määrab kindlaks ülesannete täitmise reeglid. Programmeerija peaks neid reegleid teadma [9], [11].

  1. Ülesannet täidetakse, kui see on välja kutsutud (perioodiliselt või mingi sündmuse aktiveerumisel) ja teised allpool esitatud reeglid ei kehti (need ei ole aktiivsed PLC-s). See tähendab, et PLC-l on vaba aega ülesande täitmiseks.
  2. Kui ootel on rohkem kui üks ülesanne, võetakse täitmisele neist kõrgema prioriteediga ülesanne. Eesõigusega multitegumtöös katkestatakse ülesande täitmine, kui uus aktiveeritud ülesanne omab täidetavast ülesandest kõrgemat prioriteeti. Eesõiguseta multitegumtöös peab uus aktiivne ja kõrgema prioriteediga ülesanne ootama täidetava ülesande tegevuse lõpetamist. Kui väljakutsutud ülesanne (kehtib mõlema multitegumtöö puhul) omab võrreldes täidetava ülesandega sama või väiksemat prioriteeti, siis antud ülesanne peab ootama täidetava ülesande tegevuse lõpetamist. Kui täidetav ülesanne ja täitmist ootav ülesanne jagavad mõningaid programmilõike (programm, funktsiooni plokk, funktsioon), siis täidetakse neid programmilõike. Teisi programmilõike täitmist ootavas ülesandes ei täideta.
  3. Kui PLC-s on ootel mitu sama prioriteediga ülesannet, siis vaba CPU protsessori korral hakatakse täitma pikima ooteajaga ülesannet.
  4. Programmid (-osad/lõigud), mis pole seotud ühegi ülesandega, omavad kõige madalamat prioriteeti. Neid täidetakse, kui muude ülesannete tegevus või nende endi tegevus on lõpetatud.

Mõnel PLC-l võib-olla CPU-s kaks või enam protsessorit. Sellised PLC-d saavad täita mitut ülesannet üheaegselt (multitegumtöö reaalajas) ilma ajalise viivituseta. See võimaldab reageerida kiirelt protsessi või masina mitteregulaarsele käitumisele.

Creative Commons Licence
"CoDeSys" is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License .