Tarkvara
LOGO! kontrolleri programmeerimistarkvaraks on LOGO!Soft Comfort. Kui suurem osa tööstus- ja automaatikatarkvara on töötab ainult ühes operatsioonisüsteemis, siis see töötab kolmes: MS Windows, Mac OSX ja GNU/Linux. Programmi loomisel on võimalik valida kahe graafilise programmeerimiskeele vahel: FBD ja LAD.
LOGO!Soft Comfort võimaldab nii tarkvaralist graafilist simulatsiooni (), kui kontrolleris oleva programmi graafilist jälgimist ().
Siemens LOGO!Soft Comfort prooviversioon on allalaetav Siemensi veebilehelt.
Kasutajaliides
Nupud
Valikuvahend (Select tool) - Töövahend, mis võimaldab tööväljal valida ja ringi tõsta komponente ja ühendusi.
Ühendusvahend (Connect tool) - Töövahend, võimaldab erinevaid plokke omavahel ühendada. Sellega saab vedada ühendusi ühest plokist teise.
Ühenduste lõike- / ühendusvahend (Cut / join connection) - Saab kasutada plokkidevaheliste ühenduste lõikamiseks, et vältida töövälja muutumist arusaamatuks ühenduste võrguks. Ühendus plokkide vahel säilib, kuid ühenduse teekonda ei näidata enam täispikkuses. Näide kõrvaloleval pildil.
Download - Laeb programmeerimiskaabli kaudu programmi arvutist kontrollerisse.
Upload - Laeb programmeerimiskaabli kaudu programmi kontrollerist arvutisse.
Kontrolleri oleku muutmine (Switch LOGO! Mode) - Viib seisurežiimis oleva kontrolleri töörežiimi või vastupidi. Selleks peab arvuti ja LOGO! kontrolleri vahel olema ühendus loodud.
Programmeerimiskeele teisendamine (Convert to LAD/FBD) - Tõlgib FBD keeles kirjutatud programmi LAD keelde või vastupidi. Automaattõlke tulemus võib tihtipeale üsna segane ja vahel mitte just kõige parem olla.
Simulatsioon - Viib programmi simulatsioonirežiimi, kus programmiakna alumisse äärde tekivad lülitite ja lampide kujutised sisendite mõjutamiseks ja väljundite jälgimiseks. Värvidega näidatakse ära plokkide sisendite ja väljundite olekud. Programmis värvuvad ühendused, kus on madal signaal, siniseks ja seal punaseks, kus on kõrge signaal. Mõeldud programmi testimiseks ilma kontrollerita.
Programmi testimine kontrolleris (Online Test) - Näitab töötava kontrolleri sisendite, väljundite ja plokkidevaheliste ühenduste olekuid sarnaselt, nagu simulatsioonirežiimis. Mõeldud programmi testimiseks tervikliku rakendusega. Soovitav kasutada alles siis, kui simulatsiooni järgi peaks programm õigesti töötama.
Riistvaravalik (Select Hardware) - See, all olekuribal asuv, ikoon näitab esiteks ära valitud kontrolleri versiooni. Teiseks, sellele vajutades, kuvab see riistvaravaliku dialoogi, kust saab valida, millise kontrolleri jaoks on soov programmi kirjutada. Kõikidel kontrolleritel pole samad võimalused, seega ühe programm ei pruugi teises töötada. Sellest tulenevalt tuleks see valik teha enne programmi koostamist.
Aknad ja dialoogid
Plokkide menüü
Sellest saab komponente tööväljale lisada kas hiirega vedades või topeltklikiga.
Enamasti asub tarkvaraaknas vasakul pool.
Infoaken (Info window)
Selle tarkvara kõige igavam ja alahinnatum vahend. Siin kuvatakse kõikide
operatsioonide õnnestumised ja ebaõnnestumised. Koos ebaõnnestumistega on enamasti ära toodud ka nende põhjused.
Asub enamasti programmiakna kõige alumises osas. Kättesaadav ka peamenüüst: File > Info window.
Programmeerimiskeeled
Kuna kontrollerile arusaadav masinkeel ei ole inimesele mõistetav, siis on vahelülina loodud programmeerimiskeeled, mille abil saab inimene üles märkida, mida ta tahab, et kontroller teeks. Nendes keeltes kirjutatud programm tõlgitakse hiljem kontrolleri jaoks masinkeelde. Programmeerimiskeeled võivad olla nii tekstipõhised kui graafilised. LOGO!Soft Comfort kasutab kahte graafilist programmeerimiskeelt: FBD ja LAD, kuid võib öelda, et see on eelkõige orienteeritud FBD keelele.
Mõlema keele puhul on tegemist lineaarse programmeerimisega, kus kontroller täidab operatsioone tsükliliselt kindlas järjekorras algusest lõpu poole. Niipea, kui kõik programmis olevad operatsioonid on teostatud alustatakse nende täitmist uue tsükliga jälle algusest. See toimub muidugi piisavalt kiiresti, et jääb mulje, nagu kõik operatsioonid toimuksid kogu aeg samaegselt.
FBD - funktsiooniplokkskeem
FBD keel koosneb funktsiooniplokkidest ja on ehk arusaadavam inimestele, kes on varem loogikaelementide ja -funktsioonidega kokku puutunud. FBD keel on pärit signaalitöötluse valdkonnast, kus on olulised reaal- või täisarvud. Praeguseks on sellest saanud universaalne programmeerimiskeel enamuse PLC jaoks.
Plokkidel võib olla erinev hulk sisendeid ja väljundeid olenevalt nende funktsioonist. Funktsiooniploki sisendid on ploki vasakul pool, väljundid aga paremal pool, seega infoliikumine skeemis toimub valdavalt vasakult paremale. Funktsiooniploki väljundist ei saa signaali sama ahela algusesse tagasi tuua, kui vahel pole just mäluga funktsiooniplokk, nagu väljund (Q) või lipp (M). Põhjuseks on see, et kuigi näiliselt töödeldakse kõiki tingimusi korraga, siis tegelikult töödeldakse programmi tsükliliselt. Alustatakse kuskilt algusest, jõutakse lõppu ja hakatakse uue tsükliga taas algusest peale. Probleem tekib sellest, et ahela algust töödeldi enne, kui lõppu ja uue tsükli ajal lõpus olnud väärtus kuskil säilinud ei ole (seda hakatakse otsast peale kokku arvutama). Seega selleks, et järgmise tsükli ajal mäletada ahela lõpus olnud vastust tuleb kasutada mäluelementi.
LAD - kontaktskeem (edaspidi rohkem selles dokumendis ei käsitleta)
LAD keel imiteerib oma välimuselt ja ülesehituselt releeskeemi, mis peaks selle kasutamise tegema lihtsamaks elektrikutele ja teistele inimestele, kes oskavad elektriskeeme lugeda ja koostada.
Kontaktskeemi ahelad meenutavad lõpuks redeli pulkasid, millest ka nimi - Ladder. Erinevalt FBDst ahelad ei segune vaid jäävad üsna selgelt eristatavaks. Skeemi vasakus osas on näha nö toitesiin, kust signaal peaks lõpuks väljundini jõudma. Enamasti joonistatakse ka teine toitesiin paremale, et moodustuks "vooluring", kuid siin seda tehtud ei ole. Olenevalt kontaktide ja muude elementide olekust peaks signaal lõpuks vasakult paremale jõudma.
Veel üks suur erinevus võrreldes FBDga on see, et kontaktskeemis puuduvad eraldi loogikaelemendid, nagu NING, VÕI jne. Need moodustatakse kontaktidest, nagu ka kõrvaloleval skeemil näha.
Programmi koostamine
Otsese programmi koostamisega on seotud ka mõned sellele eelnevad ja järgnevad etapid. Antud materjalis me nendel pikemalt ei peatu ja keskendume eelkõige selle realiseerimisele.
Juhtprogrammi koostamise etapid:
- spetsifikatsioon: protsessi või ülesande kirjeldus
- projekteerimine: rakenduse (e lahenduse) kirjeldus
- realiseerimine: lahenduse elluviimine
- integreerimine/kasutuselevõtt: lahenduse sidumine keskkonnaga ja katsetamine
Juhtprogrammi koostamise realiseerimise osa võib antud kontrolleri puhul jaotada järgnevalt:
- Kontrolleritüübi määramine
- Sisenditele ja väljunditele nimede andmine
- Programmeerimine
- Tarkvaraline simuleerimine
- Programmi kirjutamine kontrollerisse
Ideaalis peaks antud tegevus tõepoolest nii selge ja eraldatud olema, kui ülaltoodud punktides, kuid praktikas muutuvad nende punktide piirid häguseks.
Kontrolleritüübi valimine
Kontrolleritüüp tuleb määrata, kuna ajajooksul on Siemens päris palju erinevaid LOGO! kontrollereid tootnud. Need on aastatega arenenud, kuid tagasiühilduvuse mõttes oleks otstarbekas, et uuema tarkvaraga saab programmeerida ka vanemaid kontrollereid. Küsimus pole muidugi mitte ainult erinevates põlvkondades vaid ka põlvkondade siseselt on toodetud erinevate võimalustega kontrollereid, mida siis automaatik vastavalt oma vajadustele hankima peaks.
Riistvaravaliku dialoogi (kõrvaloleval pildil) on võimalik LOGO!Soft Comfortis ette kutsuda 3 erinevat moodi:
- Vajutades olekuribal asuvale ikoonile:
- Valides peamenüüst: Tools > Select Hardware...
- Kasutades klahvikombinatsiooni CTRL + H
Iga LOGO! kontrolleri peal on tootekood, selle 4 viimast märki määravad selle versiooni. Numbri leiab järgnevalt:
Sisenditele ja väljunditele nimede andmine
See protseduur ei ole LOGO! kontrolleri puhul nii hädavajalik, kui paljude teiste puhul, sest määratud nimesid ei käsitleta operandide tekstiliste aadressidena, kuid sellegi poolest lihtsustab nende määramine programmeerimist ja programmi jälgimist. Selle dialoogi saab välja kutsuda valides peamenüüst: Edit > Input/Output Names...
Programmeerimine
Programmeerimine oleneb suurel määral valitud programmeerimiskeelest. FBD puhul on ehk kõige lihtsam alustada vajalike sisendite ja väljundite tööväljale panemisest - sisendid vasakule, väljundid paremale.
Seejärel tasub mõtlema hakata, mis tingimustel midagi edasi juhtuma peaks. Olenevalt sellest tuleks lisada skeemi loogikaelemente ja muid funktsiooniplokke. Need on täpsemalt lahtiseletatud antud teema alapeatükkides.