Kiek anksčiau skelbtame straipsnyje buvo rašyta apie PV techninę įrangą (hardware). Laikas susipažinti su programine PV valdymo sistemos dalimi (software) ir, tuo pačiu, su valdymo programa bei jos „programavimo“ pagrindais. PV programavimas skiriasi nuo įprastų OS ar duomenų bazių programavimo kalbų, ir kai kada paprasčiausia vadinamas konfigūravimu.
Priminsime, kad veikiančio PV pastoviai besikartojantį darbo ciklą (scan) sudaro 3 žingsniai (etapai):
1 pieš. PV ciklas
Kadangi pirmą (įvedimo signalai) ir trečią (išvedimo signalai) darbo ciklo žingsnius smulkiau jau aptarėme, dabar apsistosime ties viduriniuoju darbo ciklo žingsniu: valdymo programa ir jos veikimo bei sudarymo principais.
Valdymo programa
Valdymo programa yra kompiuterinė programa, esanti PV atmintyje ir atliekanti PV sistemos valdymą. Valdymo programa susideda iš instrukcijų (komandų). Instrukcijos – tai maži kompiuteriniai kodai, veikiantys įėjimų ir išėjimų signalus atitinkama tvarka, kad pasiektų mūsų norimą rezultatą. Instrukcijos gali būti įvairios: sudėties, daugybos, sąlyginės, palyginimo, darbui su laiku arba skaitliuku, duomenų persiuntimo ir t. t. Valdymo programa yra visos valdymo sistemos lankstumo pagrindas, neįtikėtinai palengvinantis visos valdymo sistemos pakeitimus. Jei norime, kad sistema veiktų kitaip, tereikia pakeisti valdymo programos instrukcijas.
Supaprastintai, PV programos paskirtis yra pakeisti relines valdymo schemas. Todėl tam, kad būtų suprantami PV programos veikimo principai, pirmiausia susipažinkime su relėmis ir jų darbu.
Relės
Tikriausiai visi žinome kas yra relė – tai tarsi elektromagnetinis jungiklis. Padavus įtampą į relės ritę, ja pradeda tekėti srovė ir taip sukuriamas magnetinis laukas. Magnetinis laukas pajudina (pritraukia) relės kontaktus, šie užsidaro ir jais gali pratekėti srovė. Tokiu būdu kontaktai veikia kaip jungiklis tolimesnei (valdomai) grandinei.
Paimkime paprastą pavyzdį:
2 pieš. Relinė valdymo grandinė. Relė.
Šiame paveikslėlyje turime dvi atskiras grandines. Apatinė (juoda) yra relę valdanti grandinė, kur relę (relės ritę) valdome šviesos jungikliu. Viršutinė (mėlyna) yra relės valdoma grandinė, kur relės kontaktu uždegame lemputę. Žinoma, šiame pavyzdyje pilnai apsieitume ir be relės, kadangi ir valdančioje, ir valdomoje grandinėje yra ta pati įtampa.
Relinė logika funkcionuoja binarinės logikos dėka.
Bitai
Binarinė (diskretinė, dvejetainė, kontaktų) logika pagrįsta bitais. Bitas yra mažiausias vienetas, kurį galima apdoroti. Jis gali būti 2 padėčių:
1) „0“ – bitas yra nesuveikęs arba loginis „false“, „untrue“ („melas“, „netiesa“).
2) „1“ – bitas yra suveikęs arba yra loginis „true“ („tiesa“).
Dvi binarinės būsenos „0“ ir „1“ gali būti vaizduojamos kaip elektros grandinių elementai – jungikliai (kontaktai).
Normaliai atviras (NA) kontaktas: Atviras kontaktas – srovė neteka, taigi bito būsena =„0“ (false).
3 pieš. Atviras kontaktas
Uždarytas kontaktas – srovė prateka, taigi bito būsena =„1“ (true).
4 pieš. Uždaras kontaktas
Jeigu turime normaliai uždarą (NU) kontaktą, tai jis reaguoja atvirkščiai: kai kontaktas gauna „0“ – jis lieka uždarytas, jei „1” – kontaktas atsidaro.
Bulio algebra
Iš esmės, relinės logikos diskretinių (binarinių, kontaktinių) grandinių veikimas pagrįstas Bulio (BOOLEAN – pagal anglų matematiką George Boole) matematika. Trumpai prisiminkime 3 pagrindines logines operacijas NE (NOT), IR (AND) ir ARBA (OR).
5 pieš. Loginių operacijų veikimo lentelės
Minėtų kontaktų pagalba galime sudaryti elementarią loginę operaciją. NE (NOT) operaciją paprasčiausiai atlieka jau aprašytas, atvirkščiai dirbantis, normaliai uždaras (NU) kontaktas, kai davus „0“ kontaktas yra uždarytas, o davus „1“ kontaktas atsidaro.
Sekantis žingsnis būtų loginė operacija IR (AND), kurią sudaro nuosekli dviejų kontaktų grandinė, kurioje kaip tik ir matome: srovė prateka tik, kai užsidaro (gauna „1“) abu kontaktai:
6 pieš. Dviejų kontaktų loginė operacija IR
Panašiu būdu galima vaizduoti ir loginę ARBA (OR) operaciją, kurią sudaro lygiagreti dviejų kontaktų grandinė:
7 pieš. Dviejų kontaktų loginė operacija ARBA
Relių įvairovė (PV programinė struktūra)
Trumpai apie pagrindinius relių tipus, kurių pagrindu formuosime PV programinius elementus.
Įėjimo relės (kontaktai) prijungtos prie išorinio pasaulio ir gauna signalus iš jungiklių, jutiklių, daviklių ir t.t.
Išėjimo relės (ritės) prijungtos prie išorinio pasaulio. Siunčia įjungimo-išjungimo signalus solenoidams, lempoms, variklių paleidėjams ir t.t.
Vidinės pagalbinės relės (kontaktai, ritės) tiesiogiai nesurištos su iš išorinio pasaulio signalais. Jos skirtos vidiniams valdymo sistemos ryšiams (valdymo logikai formuoti).
Trigeriai, galima sakyti, yra atminties relės (kai kada trigerį sudaro reikiamu būdu sujungtos kelios relės). Kai gavęs vieną impulsą bitas stabiliai nusistovi kurioje nors padėtyje, pvz., gavęs SET nusistovi „1“. Vėliau gali dėtis bala žino kas, tačiau, kol neateis impulsiukas (RESET) į kitą atitinkamą trigerio įėjimą, tol jis nepersivers atgal į „0“ (išlaikys savo reikšmę „1“).
8 pieš. Trigerio programinis pavaizdavimas
Skaitliukai skirti impulsų skaičiavimui. Skaitliukai būna skaičiuojantys didėjimo tvarka, mažėjimo tvarka arba abejomis kryptimis.
Laikmačiai (laiko relės) yra gana įvairūs. Labiausia paplitę tipai yra šie: įsijungimo vėlinimo („on delay“) – kai užlaikomas įsijungimas iš „0“ į „1“, išsijungimo vėlinimas („off delay“), abiejų frontų vėlinimas ir atitinkamos trukmės impulso formavimas. Kaip pavyzdį paimkime paprasčiausią įsijungimo fronto užlaikymo („delay on“) laikmatį:
9 pieš. Taimerio programinis pavaizdavimas ir jo signalų laiko diagramos
Gal tik reiktų paminėti, kad minėti įrenginiai (relės) šiais laikais dažnai gali būti ne tik reliniai (elektriniai), bet tranzistoriniai (elektroniniai).
Apie PV programavimą netrukus skaitykite kitame straipsnyje