Prilikom upravljanja ili nadzora procesa često je potrebno da se neka aktivnost otpočne ili zaustavi posle određenog vremenskog perioda. U tom smislu neophodno je da PLC kontroler koji će se koristiti za upravljanje procesom pruži mogućnost za merenje vremena. Merenje vremena ostvaruje se pomoću časovnika (timer). U suštini časovnik izražava vreme kao umnožak određenog osnovnog intervala (vremenska baza). To zapravo znači da časovnik radi kao brojač protoka osnovnih intervala i da nakon isteka određenog, unapred zadanog intervala vremena, generiše odgovarajući signal.
Zamislimo sijalicu u ulazu neke zgrade. Sijalica se pali prekidačem (tasterom) i ostaje upaljena neko zadato, fiksno vreme (npr. 2 min.) dovoljno da se prođe kroz ulaz i uđe u stan, a zatim se “sama” gasi. Dakle, izlaz (sijalica) se uključuje istog trenutka kada se aktivira ulaz (taster); časovnik odbrojava vremenske intervale i kada dostigne zadatu vrednost isključuje izlaz (sijalicu). Ovo je primer takozvanog delay-off časovnika.
Slika br.1 Delay-off časovnik
Razmotrimo Sliku br.1. Kada se prekidač X1 uključi, časovnik, označen kao Delay-off Timer #5, se uključuje i merenje vremena započinje. Časovnik se koristi u drugom rangu za definisanje uslova. Ako je časovnik aktivan (on), sijalica S je uključena. Nakon što je zadato vreme isteklo (u ovom primeru, 2 min.), časovnik se isključuje, uslov u drugom rangu postaje netačan i sijalica se isključuje.
Slika br.2 Delay-on časovnik
Drugi tip časovnika zove se delay-on časovnik (Slika br.2). Aktiviranje ulaza X3 startuje delay-on časovnik, označenog kao Delay-on Timer #7. Časovnik započine brojanje, ali ostaje u stanju 0 (off) sve do isteka zadatog vremena. Po isteku zadatog vremena stanje časovnika postaje 1 (on) i sijalica S iz drugog ranga se uključuje.
U seriji kontrolera SLC 5 časovnici i brojači su realizovani softverski, i koriste se kao naredbe akcije. Kao što je već istaknuto ne postoji nikakvo posebno ograničenje u pogledu njihovog broja.
Pri korišćenju časovnika i brojača neophodno je da se definišu sledeći parametri:
- Vremenska baza (time base) određuje dužinu osnovnog intervala vremena. Kod fiksnog kontrolera SLC/500 i modularnog SLC 5/01, vremenska baza je definisana kao 0.01 sec. Kod kontrolera SLC 5/02, 5/03 i 5/04 bira se jedna od dve moguće vrednosti: 0.01 sec ili 1.0 sec.
- Zadata vrednost (preset value – PRE) je vrednost kojom se definiše željeni broj osnovnog intervala vremena (čime se određuje ukupno vreme koje časovnik treba da izmeri), odnosno ukupni broj događaja koje brojač treba da registruje pre nego što se generiše signal koji označava da su časovnik ili brojač završili rad. Zadata vrednost za časovnik može da se kreće u intervalu od 0 do +32767.
- Akumulirana vrednost (accumulated value – ACC) predstavlja broj osnovnih vremenskih intervala koje je časovnik izbrojao, odnosno broj događaja koje brojač registrovao u nekom trenutku. Kada akumulirana vrednost postane veća ili jednaka od zadate vrednosti časovnik, odnosno brojač, završavaju svoj rad. Opseg dozvoljenih vrednosti za akumuliranu vrednosti isti je kao i za zatanu vrednost.
Datoteka podataka o časovniku (timer data file)
S obzirom da je časovnik realizovan softverski, parametri koji definišu njegov rad moraju biti smešteni u memoriji kontrolera. Za pamćenje podataka o časovnicima koristi se datoteka podataka broj 4 (timer file – T). U ovoj datoteci može se definisati najviše 256 različitih časovnika. Ukoliko je potrebno da se koristi veći broj časovnika, korisnik može definisati i dodatne datoteke (korisnički definisane datoteke) čiji su brojevi od 9 do 255.
Svakom časovniku pridružuju se po jedan element u odgovarajućoj datoteci. Osnovni element ovih datoteka sastoji se od tri 16-bitne reči:
- Reč 0 je kontrolna reč koja sadrži tri bita koja ukazuju na stanje časovnika, kao i bitove za interno upravljanje radom časovnika
- Reč 1 sadrži zadatu vrednost (PRE)
- Reč 2 sadrži akumuliranu vrednost (ACC)
Slika br.3 Elemenat datoteke časovnika i adresiranje časovnika
Na Slici br.3 prikazan je jedan elemenat datoteke časovnika, kojim se definiše jedan časovnik. Pored toga, prikazan je format adrese časovnika. Treba zapazi da broj elementa zapravo definiše jedan određeni časovnik unutar jedne datoteke časovnika. Svaki od tri bita stanja, kao i zadata i akumulirana vrednost mogu se posebno adresirati i to bilo na standardan način na koji se formira adresa u bilo kojoj datoteci podataka, bilo preko odgovarajućih simbola. To zapravo znači da su sledeće adrese međusobno ekvivalentne:
- Tf:e.1 ili Tf:e.PRE
- Tf:e.2 ili Tf:e.ACC
- Tf:e.0/15 ili Tf:e/15 ili Tf:e/EN
- Tf:e.0/14 ili Tf:e/14 ili Tf:e/TT
- Tf:e.0/13 ili Tf:e/13 ili Tf:e/DN
Naredbe časovnika
Kao što je već rečeno naredbe časovnika su naredbe akcije, što znači da se nalaze na desnoj strani ranga u leder programu. Postoje tri tipa naredbi kojima se realizuju tri vrste časovnika, i jedna naredba kojom se stanje časovnika resetuje.
Potrebno je istaći da se sam časovnik i način njegovog rada definiše preko naredbe koja se uvrštava u leder program. Drugim rečima, kad se u program stavi jedna od moguće tri naredbe i u njoj naznači adresa časovnika u odgovarajućem formatu, onda operativni sistem PLC kontrolera sam zauzme naznačeni element (tri reči) u datoteci koja je navedena u adresi i popuni ga odgovarajućim sadržajem.
Timer on-delay (TON)
Kao što je već rečeno, stavljanjem ove naredbe u leder program automatski se definiše prva vrsta časovnika i zauzimaju tri reči koje čine elemenat e u datoteci časovnika f. Prilikom formiranja naredbe specificaraju se i vremenska baza (tx) i zadata vrednost (ns).
Slika br.4 TON naredba, grafički simbol i položaj u rangu
Timer off-delay (TOF)
Ovom naredbom se definiše druga vrsta časovnika i zauzimaju tri reči koje čine elemenat e u datoteci časovnika f. Prilikom formiranja naredbe specificaraju se i vremenska baza (tx) i zadata vrednost (ns). Akumulirana vrednost se automatski postavlja na 0.
Slika br.5 TOF naredba, grafički simbol i položaj u rangu
Retentive Timer (RTO)
Ovom naredbom se definiše treća vrsta časovnika i zauzimaju tri reči koje čine elemenat e u datoteci časovnika f. Prilikom formiranja naredbe specificaraju se i vremenska baza (tx) i zadana vrednost (ns). Akumulirana vrednost se automatski postavlja na 0.
Slika br.6 RTO naredba, grafički simbol i položaj u rangu
Reset naredba (RES)
RES naredba je naredba akcije i koristi se za resetovanje časovnika. Kada je uslov istinit ova naredba se izvršava tako što se u časovniku čija je adresa navedena u RES naredbi, resetuju na nulu bitovi DN, TT i EN, kao i akumulirana vrednost (ACC). S obzirom na način rada očigledno je da se RES naredbe ne sme koristiti za TOF tip časovnika.
Slika br.7 RES naredba, grafički simbol i položaj u rangu
Načina rada časovnika
Sve dok časovnik radi, u svakom sken ciklusu povećava se akumulirana vrednost. Pri tome, iznos za koji će se povećati ACC vrednost zavisi od dužine trajanja sken ciklusa. Naime, kada se prilikom obrade ranga ustanovi da su se stekli uslovi da časovnik počne sa radom onda se istovremeno startuje jedan interni časovnik, koji se ažurira preko prekida (interapta) na svakih 0,01 sec. Broj registrovanih vremenskih intervala se smešta u interni 8- bitni registar (bitovi 0-7 u prvoj reči). Ukoliko je u pitanju časovnik čija je vremenska baza 0,01 sec, onda se u sledećem programskom skenu, kada se naiđe na dati rang, vrednost internog registra, koja zapravo predstavlja interval vremena koji je protekao između dva sukcesivna sken-a, dodaje akumuliranoj vrednosti. Nakon toga se interni rgistar resetuje na 0 i počinje ponovo da meri vreme do sledećeg skena. Budući da je maksimalna vrednost koju može da ima interni registar oko 2,5 sec (255×0,01), može se očekivati da će tajmer raditi ispravno samo ako sken ciklus ne traje duže od 2,5 sekundi.
Ukoliko se tajmer koristi u programu čiji sken ciklus traje duže, onda je neophodno da se ista naredba za časovnik postavi na više mesta u programu čime će se obezbediti da se rangovi koji sadrže taj časovnik obrađuju sa učestanošću koja nije veća od 2,5 sekundi. Ukoliko časovnik radi sa vremenskom bazom od 1 sekunde obrada časovnika je donekle složenija. Ovde se, naime i dalje koristi interni časovnik koji se ažurira na svakih 0,01 sekundi, ali se pri tome u toku obrade ranga akumulirana vrednost ažurira samo ako je akumulirana vrednost veća ili jednaka od 1 sekunde. Pri tome se akumulurina vrednost uvećava za 1, dok se eventualni ostatak vremena pamti u internom brojaču i na njega se dodaju sledeći inkrimenti od po 0,01 sekunde. Postupak ažuriranja akumulirane vrednosti je takav da se može očekivati da će časovnik raditi ispravno ako sken ciklus ne traje duže od 1,5 sekundi. Naravno, i ovde se problem cikulusa dužeg trajanja može prevazići stavljanjem naredbe časovnika na više mesta u programu.
Potrebno je da se naglasi da je pri koriščenju časovnika neophodno da se posebna pažnja posveti naredbama za skok. Naime, i ako je trajanje sken ciklusa u dozvoljenim granicama, može se desiti da se nekom od naredbi za skok u jednom ili više suskcesivnih sken ciklusa preskoči rang koji sadrži časovnik. Jasno je da se u tom slučaju neće vršiti ažuriranje akumulirane vrednosti. To nadalje znači da je neophodno da se obezbedi da u slučaju bilo kakvog programskog skoka, naredba za časovnik ne bude isključena iz obrade u periodu koji je duži od maksimalno dozvoljenog vremena.
Tačnost časovnika je pojam koji se odnosi na dužinu vremenskog intervala koji protekne od trenutka kada se časovnik uključi do trenutka kada DN bit indicira da je merenje vremena završeno. Za časovnike koji rade sa vremenskom bazom od 0,01 sekunde tačnost je u granicama od ±0,01s sve dok sken ciklus ne traje duže od 2,5 sekunde. Časovnici koji rade sa vremenskom bazom od 1 sekunde zadržavaju svoju tačnost ukoliko je programski sken kraći od 1.5 sec.
Neophodno je da se istakne, međutim, da tačnost rada časovnika ne implicira da će i neki događaj koji je vezan sa časovnikom da bude aktiviran sa istom tačnošću. Aktiviranje događaja se ostvaruje ispitivanje DN bita. U najvećem broju slučajeva ovaj uslov se ispituje jedanput u okviru sken ciklusa. To nadalje znači da je tačnost aktiviranja događaja određena trajanjem jednog sken ciklusa.
Leder programiranje:
- Uvod u Leder programiranje možete pronaći OVDE.
- Leder programiranje – Bit naredbe možete pronaći OVDE.
- Leder programiranje – Kontakti možete pronaći OVDE.
- Leder programiranje – START/STOP kolo možete pronaći OVDE.
Napomena: Tekst je preuzet iz materijala za predmet PROCESNI RAČUNARI, na ETF, Univerziteta u Beogradu. Iz originalnog teksta su izostavljene pojedine slike, a dalja objašnjenja pojmova korišćenih u ovom uvodnom tekstu možete naći u pomenutim materijalima.