Programabilni logič logički kontroleri
Vladimir D. Đorđ orđević ević
Vladimir D. Đorđević
Programabilni logički kontroleri -Programiranje -Primena -Zadaci -CX-Programmer -CX-Simulator
1
Programabilni logič logički kontroleri
Vladimir D. Đorđ orđević ević
Sadržaj
1. PLC u sistemima upravljanja
1.1 Šta je to sistem upravljanja 1.2 Sistem upravljanja zasnovan na PLC-u 1.3 Uloga programablinih kontrolera (PLC) 1.4 Ulazni uređaji 1.5 Izlazni uređaji 1.6 Centralna procesorska jedinica (CPU) 1.7 Memorija 1.8 Prednosti PLC-a na klasičnim relejnim sistemima upravljanja 1.9 Sistematski prilaz projektovanju sistema upravljanja koristeći PLC 1.10 Booleova algebra 1.11 Kako radi PLC? 1.12 Vreme odziva PLC-a 1.13 PLC registri
2. Pisanje ladder dijagrama
2.1 Pregled instrukcija PLC-a koje se najčešće koriste 2.1.1 DIFFERENTIATE UP i DIFFERENTIATE DOWN 2.1.2 KEEP 2.1.3 SET I RESET 2.1.4 INTERLOCK i INTERLOCK CLEAR 2.1.5 JUMP i JUMP END 2.1.6 TIMER 2.1.7 COUNTER 2.1.8 SHIFT REGISTER 2.1.9 MOVE 2.1.10 COMPARE
3. Izrada ladder dijagrama za OMRON-ove programabline logičke kontrolere (PLC) 4. Zadaci za vežbu 5. Simulacija rada PLC-a OMRON CS1G-CPU42 6. Literatura
2
3 3 3 4 5 5 6 6 7 7 9 10 11 13 14 22 22 23 23 24 24 25 25 26 27 27 29 35 50 54
Programabilni logič logički kontroleri
Vladimir D. Đorđ orđević ević
Sadržaj
1. PLC u sistemima upravljanja
1.1 Šta je to sistem upravljanja 1.2 Sistem upravljanja zasnovan na PLC-u 1.3 Uloga programablinih kontrolera (PLC) 1.4 Ulazni uređaji 1.5 Izlazni uređaji 1.6 Centralna procesorska jedinica (CPU) 1.7 Memorija 1.8 Prednosti PLC-a na klasičnim relejnim sistemima upravljanja 1.9 Sistematski prilaz projektovanju sistema upravljanja koristeći PLC 1.10 Booleova algebra 1.11 Kako radi PLC? 1.12 Vreme odziva PLC-a 1.13 PLC registri
2. Pisanje ladder dijagrama
2.1 Pregled instrukcija PLC-a koje se najčešće koriste 2.1.1 DIFFERENTIATE UP i DIFFERENTIATE DOWN 2.1.2 KEEP 2.1.3 SET I RESET 2.1.4 INTERLOCK i INTERLOCK CLEAR 2.1.5 JUMP i JUMP END 2.1.6 TIMER 2.1.7 COUNTER 2.1.8 SHIFT REGISTER 2.1.9 MOVE 2.1.10 COMPARE
3. Izrada ladder dijagrama za OMRON-ove programabline logičke kontrolere (PLC) 4. Zadaci za vežbu 5. Simulacija rada PLC-a OMRON CS1G-CPU42 6. Literatura
2
3 3 3 4 5 5 6 6 7 7 9 10 11 13 14 22 22 23 23 24 24 25 25 26 27 27 29 35 50 54
Programabilni logič logički kontroleri
Vladimir D. Đorđ orđević ević
1. PLC u sistemima upravljanja 1.1 Š ta ta je to Sistem upravljanja? Sistem upravljanja uopš uopšte, predstavlja zbir elektronskih uređ uređaja i opreme koji se koriste za obezbeđ obezbe đivanje stabilnosti, tač tačnosti i glatkog prelaza procesa ili proizvođ proizvođačke aktivnosti. Mogu biti različ razli čiti, od elektrana do poluprovodnič poluprovodni čke maš mašine. Kao rezultat brzog napredovanja tehnologije, moguć mogu će je upravljati vrlo komplikovanim procesima, pomoć pomo ću PLC-a i na primer rač računarom, itd. Svaka komponenta sistema upravljanja igra veoma važ va žnu ulogu bez obzira na njenu velič veli činu. Tako na primer PLC na slici 1.1 ne bi znao šta se u sistemu deš de šava da ne postoje senzori. Komp. koji upravlja procesom
Lokalni rač računar
Mrež Mreža Panel
Panel
BZ Prekidač Prekidač
Senzor
Motor
Solenoid
Lampa
Alarm
Komponente upravljanja Slika 1.1 Sistem upravljanja
1.2 Sistem upravljanja zasnovan na PLC-u Na slici 1.2 je prikazana tipič tipi čna primena Gantry Robota, koji se koristi za operaciju prenoš prenošenja nekog dela sa mesto na mesto. Ceo proces se kontroliš kontroli še PLC-om. Kao ulazni uređ uređaji koriste se tasteri, prekidač prekidači, senzori i selector prekidač prekida či. Izlazne uređ uređaje
3
Programabilni logič logički kontroleri
Vladimir D. Đorđ orđević ević
predstavljaju rotaciono svetlo, releji, indikatori i solenoidni ventili. Ceo proces se kontroliš kontroliše ladder programom koji je uč učitan u memoriju centralne procesorske jedinice PLC-a. Program izvrš izvršava sekvencu upravljanja koju je srač sra čunao na osnovu prethodne sekvence. Postoje i ruč ručne operacije koje dozvoljavaju operatoru da startuje maš ma šinu, taster za uzbunu za svrhu bezbednosti itd. Mehanič Mehanička konstrukc.
Robot
Taster i selektor
Rotaciono svetlo
Indikatori
Prekidač Prekidači
PLC
Releji
Senzori
Magnetni rekidač rekidači Slika 1.2 Primena robota – upravljanje PLC-om
Terminal
1.3 Uloga programabilnih kontrolera (PLC) U sistemu upravljanja, PLC se često naziva srcem upravljač upravlja čkog sistema. PLC pomoć pomo ću programa koji je uč učitan u njegovu memoriju, stalno prati stanje sistema kroz povratni signal i na osnovu logike programa određ odre đuje kako će se izlazne velič veličine, ako postoji potreba za za tim, menjati. U ovom radu će biti obrađ obrađena prekidač prekidačka (ON/OFF) logika. Karakteristič Karakteristično za prekidač prekidačku logiku je to da se za ulaze i izlaze koriste digitalni signali. PLC se mož može proš proširiti modulima koji drugač drugačijom logikom generiš generišu upravljač upravljački signal, za svrhu upravljanja zadatim objektom. To mogu biti moduli koji upravljač upravlja čki signal generiš generišu fuzzy logikom, upotrebom PID zakona upravljanja itd. Treba naglasiti da postoje i posebni moduli kojima se nadgrađ nadgra đuje osnovni PLC tako da se za ulaz mogu imati i kontinualni signali. Takođ Takođe se mož može povezati viš više PLC-ova sa nekim drugim kontrolerima u komunikacionu mrež mrežu, u svrhu upravljanja kompleksnog procesa.
4
Programabilni logič logički kontroleri
Vladimir D. Đorđ orđević ević
1.4 Ulazni ure đ a đaji ji "Inteligencija" automatizovanog sistema uveliko zavisi od mogu ćnosti PLC-a da čita signale sa različ razli čitih tipova senzora i ruč ručnih ulaznih uređ uređaja. Ulazne signale mož mo že da zadaje operater preko tastera, tastatura i prekidač prekida ča, i ti uređ uređaji predstavljaju osnovni interfejs izmeđ između čoveka i maš mašine. S druge strane, za detekciju radnog elementa, prać praćenja kretanja mehanizma, provere pritiska ili nivoa teč te čnosti itd., PLC mora da preuzme signal sa odgovarajuć odgovarajućih uređ uređaja – aja – senzora senzora kao što su na primer, fotoelektrič fotoelektrični davač davač, davač davač nivoa itd.
INPUT
Prekidač Prekidač
Fotoelektrič Fotoelektrični prekidač prekidač
Tajmer
Blizinski prekidač prekidač
Rotacioni enkoder
Slika 1.3.1 Ulazni ure đaji
1.5 Izlazni ure đ a đaji ji šći izlazni uređ Najč Najčešći uređaji (izvrš (izvršni uređ uređaji) su motori, solenoidi, releji, alarmi itd. Kroz aktiviranje motora ili solenoida PLC mož može da kontroliš kontroliše najrazlič najrazličitije procese: od najprostijih kao što je uzimanje i spuš spuštanje nekog objekta do sistema za servo pozicioniranje. Izbor izlaznog uređ ure đaja poput solenoida ili motora je veoma bitan korak u projektovanju SAU i on direktno utič uti če na performanse i specifikacije koje se zahtevaju. Naravno, iako se sijalice, alarm, displej itd. tretiraju kao izlazni uređ ure đaji oni ne utič utiču na performanse sistema i postavljaju se za svrhu obaveš obave štavanja operatera.
5
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 1.3.2 Izlazni ure đaji
PLC se sastoji od centralne procesorske jedinice (CPU), koja sadrži program po kojem se generiše upravljačko dejstvo, i ulaznih i izlaznih modula koji su direktno povezani sa uređajima.
Izvor struje
Signali sa prekidača, senzora itd...
Ulazni interfejs
CPU
Izlazni interfejs
Signali koji idu ka motorima, solenoidima, itd...
Memorija
Slika 1.4 Shema PLC-a
1.6 Centralna procesorska jedinica (CPU) CPU je mikroprocesor koji koordiniše aktivnosti PLC sistema. CPU izvršava program, obrađuje ulazno/izlazne signale i komunicira sa spoljnim ure đajima.
1.7 Memorija Postoje različiti tipovi memorijskih jedinica: ROM – Read Only Memory – memorija koja se može programirati samo jedanput, RAM – Random Access Memory – u nju se smešta program i može biti izbrisana po isključenju struje, EPROM - Erasable 6
Vladimir D. Đorđević
Programabilni logički kontroleri
Programable ROM, slično kao ROM, samo što se njen sadržaj može isprazniti podvrgavanjem UV svetlosti, EEPROM – Electrically EPROM kombinuje fleksibilnost RAM memorije i nemogućnost brisanja EPROM-a; njen sadržaj može biti izbrisan i reprogramiran elektronski, ograničen broj puta. U memoriji je smešten ladder program, vrednosti tajmera i brojača koji se koriste.
1.8 Prednosti PLC kontrolera nad klasi č nim relejnim sistemima upravljanja •
• •
•
• •
•
• •
Ožičenje sistema se smanjuje za 80% upoređujući sa konvencionalnim relejnim sistemom upravljanja. Potrošnja struje koja je potrebna za upravljanje se uveliko smanjuje. Funkcije PLC za samodijagnosticiranje omogućavaju brzo otklanjanje grešaka na sistemu. Ispravljanje upravljačke sekvence ili aplikacije se lako radi ponovnim programiranjem na konzoli ili kompjuterskom softveru bez promena ožičenja. Upotrebom PLC-a smanjuje se potreba za relejima i hardverskim tajmerima. Vreme ciklusa na mašinama se znatno smanjilo zbog brzine PLC-a – znači, povećava se produktivnost. Košta mnogo manje u poređenju sa konvencionalnim sistemima u situacijama gde je broj ulaza/izlaza veoma veliki i gde su upravljačke funkcije složene. Pouzdanost PLC-a je veća nego kod mehaničkih releja i tajmera. Dokumentacija (ladder program) se iz softvera za izradu ladder programa (o čemu će biti kasnije pisano) preko opcije za štampanje vrlo lako štampa na štampaču, a takođe se može čuvati na hard disku, disketi ili CD-romu.
1.9 Sistematski prilaz projektovanju sistema upravljanja koriste ć i PLC Koncept upravljanja sistemom je vrlo lak zadatak. On uključuje sistematski prilaz koristeći sledeću proceduru: 1. Određivanje i analiziranje objekta upravljanja : Prvo, treba odrediti koji objekat se želi upravljati. Prevashodna svrha programabilnog kontrolera je da upravlja nekim objektom. Ovaj objekat može biti neka mašina ili proces i naziva se upravljani sistem. Promena parametara upravljanog sistema se st alno prati ulaznim uređajima (senzorima...) koji daju određeno stanje i šalju signal PLC-u. Kao odziv, kontroler šalje signal izlaznim uređajima (aktuatorima...) koji upravljaju sistemom kako je programom predviđeno. Znači, potrebno je odrediti sekvencu operacije crtajući odgovarajući algoritam. 2. Dodela ulaza i izlaza : Drugo, treba odrediti sve ulazne i izlazne ure đaje koji se vezuju na PLC. Ulazni uređaji mogu biti razni prekidači, senzori, itd. Izlazni uređaji su solenoidi, elektromagnetni ventili, motori, induktori itd. Po identifikovanju ulaznih/izlaznih uređaja, svakom uređaju treba dodeliti adresu. Dodela adresa se mora obaviti pre pisanja ladder dijagrama zbog toga što adresa pokazuje o kojem uređaju se radi. Prva dva broja adrese predstavljaju broj registra. Dogovorno, ulaznim uređajima se dodeljuju adrese od 00 do 04 registra, a izlaznim od 05 pa na dalje. Druga dva broja predstavljaju bit registra. Pošto se radi o 16-bitnom kontroleru, broj bitova po registru je 16 od 00 do 15. 7
Vladimir D. Đorđević
Programabilni logički kontroleri
3. Pisanje programa: Program se može uneti ili preko konzole na PLC-u ili pomoću softvera za pisanje ladder dijagrama. Konzola predstavlja modul preko koga se unosi program (vidi sliku 1.5). Na njoj se nalaze tasteri preko kojih se unose instrukcije, podešavaju parametri itd. Lako se povezuje kablom sa PLC-om (vidi sliku 1.6). Prednost konzole je ta što se može poneti na mesto gde je PLC instaliran, i na licu mesta se mogu vr šiti ispravke, unošenje i testiranje programa. Za potrebe pisanja ladder dijagrama za svoje kontrolere firma OMRON je razvila softver CX-Programmer. Takođe, za svrhu simulacije rada OMRONovih kontrolera na PC računaru razvijen je softver CX-Simulator u kome se po završetku programiranja, može proveriti da li postoje greške u pisanju programa pomoću opcije za dijagnosticiranje. 4. Pokretanje sistema: Pre pokretanja sistema, proveriti da li su svi ulazno/izlazni uređaji dobro povezani za PLC-om. Posle pokretanja, možda je potrebno još fino podešavanje upravljačkog sistema. Sistem je potrebno podešavati sve dok se ne utvrdi da je rukovanje njime apsolutno bezbedno.
PR027
RUN MONITOR PROGRAM
SHIFT
FUN
SFT
NOT
AND
OR
CNT
TR
LR
LD
OUT
TIM
DM
CH
*
7 E
8
4
F
B
1
C
A
0
5
2
D
CONT #
9
EXT
CHG
SRCH
6
PLAY SET
DEL
MO
REC RESET
INS
VER
WRITE
3
CLR
EAR
HR
MIC
Slika 1.5 Konzola za pisanje i uno šenje programa u PLC
8
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 1.6 Povezivanje konzole sa PLCom
1.10 Booleova algebra Matematička osnova za sekvencijalno upravljanje je Booleova algebra. Ako logički zahtevi koji se postavljaju mogu biti specificirani u formi Booleovih jedna čina tada programabilni logički kontroler (PLC) postaje računar koji rešava Booleove jednačine. Prema IEC (International Electrotehnical Commision) PLC se definiše kao: "... digitalni elektronski sistem, projektovan da se koristi u industrijskom okru ženju koji upotrebljava programabilnu memoriju za interno memorisanje, uskladištenje korisnički orijentisanih instrukcija za implementiranje specifičnih funkcija takvih kao što su: logičke, sekvencijalne, brojačke, tajming i aritmetičke do upravljačkih, kroz digitalne ili analogne ulaze za upravljanje raznih tipova mašina i procesa. PLC i njemu pridruženi periferni uređaji projektovani su tako da budu lako ugradivi u industrijski sistem upravljanja i da omogućavaju laku upotrebu svojih funkcija." Najrasprostranjenije programiranje PLC-a je pomoću ladder dijagrama, koji se potom prevode u odgovarajuće Booleove jednačine, koje služe za izvršavanje zadatih logičkih funkcija. Zbog toga je bitno podsetiti se osnovnih teorema i logike same Booleove algebre. Osnovne teoreme Booleove algebre: A+ B = B + A A = A AB = BA
( A + B) + C
=
A + ( B + C)
A + 0 = A
( AB)C
A ⋅ 0 = 0
AB + AC
A + 1 = 1
( A + B)( A + C ) = A + BC
=
A( BC ) =
A( B + C )
A + AB = A
A ⋅ 1 = A
A + AB = A + B
AA = A
A( A + B) = A
A + A = 1
AB = A + B
AA = 0
A + B = A⋅ B
Promenljive u Booleovoj algebri mogu imati samo vrednosti "0" i "1". Logi čke funkcije koje sadrže operacije AND, OR, EXCLUSIVE OR, NOT, NAND, NOR, itd. lako se izražavaju korišćenjem Booleove algebre i pomoću njih mogu biti formirane jednačine koje sadrže Booleove promenljive i operacije. Ako prekidačko-logičke funkcije treba da budu ostvarivane PLC-om, one mogu biti izražene u formi Booleovih jednačina, a digitalni računar unutar upravljačke jedinice PLC može biti upotrebljen da reši ove jednačine u većini slučajeva na isti način kao i
9
Vladimir D. Đorđević
Programabilni logički kontroleri
digitalni računar opšte namene kada rešava algebarske jednačine. Vrednosti nepoznatih promenljivih se mogu odrediti iz vrednosti poznatih. Razmotrimo primer dva prekidača PR1 i PR2 čije su promenljive stanja određene sa stanjem (ON=1, OFF=0) prekidača koji su povezani na PLC. LAMP je promenljiva čija će vrednost biti upotrebljena da odredi stanje indikatora sijalice koja je spojena na PLC. Ako je odnos između ovih promenljivih određen jednačinom LAMP = PR1 + PR2 onda se vrednost nepoznate promenljive LAMP u bilo kom trenutku ta čno određuje preko nepoznatih promenljivih PR1 i PR2 saglasno OR (ILI) funkciji. Prethodna jednačina uspostavlja neprekidan odnos između promenljivih LAMP, PR1 i PR2. Neka sada bude kompleksniji slučaj: LAMP = ( LAMP + PR1) ⋅ PR 2 . Stanje izraza LAMP koje je određeno prethodnom relacijom dato je u tabeli 2. Tabela 2. PR1 0 0 1 1
PR2 0 1 0 1
LAMP LAMP 0 1 0
Prva kombinacija je najinteresantnija zbog toga što ona pokazuje da kada su oba ulaza 0 (OFF), sijalica ostaje u svom prethodnom stanju koje može biti 0 ili 1. Pošto suština ovog priručnika nije u savlađivanju Booleove algebre, za dalje usavršavanje iste preporuka su zadaci iz logi čkih kola koja se izučavaju u predmetu Električne i elektronske komponente SAU.
1.11 Kako radi PLC? PLC radi tako što neprekidno obavlja operaciju skeniranja. Jedan ciklus skeniranja sadrži tri koraka. U suštini postoji ih više od tri, ali za početak potrebno je fokusirati se samo na glavna tri koraka. Ostali koraci (o kojima se u ovom radu ne će pisati) su provera sistema i ažuriranje internih vrednosti brojača i tajmera.
Provera stan a na ulazu
Izvršavan e ro rama
Ažuriran e izlaza
Slika 1.7 Shematski i algoritamski pri kaz operacije skeniranja
1. Provera stanja na ulazu (INPUT) – Prvo, PLC pregleda stanje na svakom ulazu (vrednost bita na adresi svakog ulaznog ure đaja) da bi "znao" da li je uključen (1) ili isključen (0). Drugim rečima, proverava da li npr. senzor priključen na prvi ulaz provodi. Posle prvog ulaza provera drugi, pa tre ći itd. Ove podatke upisuje u memoriju i koristi ih u drugom koraku.
10
Vladimir D. Đorđević
Programabilni logički kontroleri
2. Izvr š avanje programa – Posle završenog prvog koraka PLC izvršava program, instrukciju po instrukciju. Ako je na primer, program napisan da kada je neki određeni ulaz uključen (1) uključuje se neki izlaz. Pošto iz prvog koraka PLC čuva podatke, na osnovu njih "odlučuje" koje će izlaze uključiti a koje ne. Podaci za izvršavanje se pohranjuju u memoriju i koriste u sledećem koraku. 3. A ž uriranje izlaza ( OUTPUT ) – Konačno, PLC ažurira status izlaznih uređaja, na osnovu vrednosti ulaza i izvršavanja programa – bitovi na adresama izlaznih uređaja se setuju (dodeljuje im se vrednost 1) ili resetuju (dodeljuje im se vrednost 0). Po završetku trećeg koraka PLC se vraća na prvi korak itd. Vreme skeniranja (scan time) se definiše ako vreme potrebno za izvršavanje ova tri koraka. Ono je promenljivo, zavisi od broja ulaza i izlaza, dužine programa. Vreme skeniranja nije perioda odabiranja!!!
1.12 Vreme odziva PLC-a Ukupno vreme odziva je bitan faktor pri izboru PLC-a. PLC-u je potrebno odre đeno vreme za reagovanje na određene promene. U mnogo primena brzina nije mnogo bitna, ali postoje i primene PLC-a gde je brzina vrlo bitan faktor. vreme odziva na ulazu + vreme izvršavanja programa + vreme odziva na izlazu
= ukupno vreme odziva
PLC može da "vidi" promene (uključivanje/isključivanje) na ulazu samo kada proverava status na ulazu (prvi korak u skeniranju).
Slika 1.8 Vremenski dijagram trajanja ulaza i skeniranj a: Kada se ulazi vide a kada ne?
Ulaz 1 se ne vidi do drugog skeniranja. Ovo se dešava zbog toga što kada je ulaz 1 uključen, u prvom skeniranju je već završeno pregledanje ulaza. PLC ne vidi ulaz 2
11
Vladimir D. Đorđević
Programabilni logički kontroleri
sve do trećeg skeniranja, zbog toga što je u drugom skeniranju već završena provera ulaza kada se ulaz 2 pojavio. Ulaz 3 za PLC i ne postoji. To je zbog toga što je u treće skeniranju završeno gledanje ulaza kada se ulaz 3 pojavio, a isklju čen je pre pojave četvrtog skeniranja. Da bi se ovakve pojave izbegle trajanje ulaza bi trebalo da bude du žine jednog trajanja skeniranja plus jednog vremena učitavanja ulaza u skeniranju (slika 1.9).
Slika 1.9 Potrebna du žina signala na ulazu
Postavlja se pitanje šta bi bilo kada ulaz ne bi mogao da traje toliko dugo? Postoje dva načina za izbegavanje ovakve situacije. Prvi je "rastezanje" ulaza. Ova funkcija produžava trajanje ulaznog signala dok PLC ne izvrši proveru ulaza u sledećem skeniranju (slika 1.10). Drugi je prekidna (interrupt) funkcija. Ova funkcija prekida skeniranje i izvršava interrupt rutinu. Interrupt rutina u stvari predstavlja posebno napisani potprogram. Kada je ulaz uključen, bez obzira na to šta se očitava u procesu skeniranja, PLC staje i izvršava interrupt rutinu. Kada je završio sa izvršavanjem rutine, vraća se na tačku gde je prekinuo i nastavlja sa uobičajenim procesom skeniranja (slika 1.11).
Slika 1.10 "Rastezanje" ulaza
Slika 1.11 Prekidna funkcija
Koliko je najduže vreme da bi se za zadati ulaz uklju čio neki izlaz? Slika 1.12 prikazuje najduže kašnjenje (radi se o najgorem slučaju kada se ulaz ne vidi do drugog skeniranja) uključivanja izlaza po zadatom ulazu. Maksimalno kašnjenje je dva vremena skeniranja minus vreme potrebno za pregled ulaza (prvi korak skeniranja).
12
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 1.12 Najdu že mogu će kašnjenje – proteklo vreme do uklju čivanja ulaza
1.13 PLC registri Kao što je već rečeno, svakom ulaznom/izlaznom uređaju se dodeljuje adresa (npr. 00.01, 05.00 itd). Na ovaj način se rezerviše mesto gde će biti pohranjena logička vrednost koja definiše stanje tog uređaja (1 kada je uređaj uključen, a 0 kada je isključen).
15
15
14
14
13
13
12 11
12 11
10
REGISTER 00 09 08 07 06
05
04
03
02
01 1
00 0
10
REGISTER 05 09 08 07 06
05
04
03
02
01
00 0
U tabelama se vidi da u registru 00, bit 00 (tj. ulaz 00.00) ima logičku vrednost 0 a bit 01 (tj. ulaz 00.01) vrednost 1. U registru 05 bit 00 (tj. izlaz 05.00) ima logičku vrednost 0.
13
Vladimir D. Đorđević
Programabilni logički kontroleri
2. Pisanje ladder dijagrama Jedna od najbitnijih svrha PLC-a je zamena releja kao hardverskih komponenti. Relej je u stvari elektromagnetni prekidač. Kada se struja dovede na namotaj, stvara se magnetno polje. Magnetno polje pomeri kotvu i na taj na čin ostvari kontakt između dva dela kola - relej je u provodnom položaju. Na slici 2.1 prikazano je električno kolo na kome, kada god je pritisnut prekida č, sijalica zasvetli. Ovo kolo se sastoji iz tri komponente: prekidača, releja i sijalice.
Slika 2.1 Primer za upotrebu releja
Kada je prekidač otvoren, struja ne teče kroz namotaj releja. Kada se prekidač zatvori, struja koja poteče kroz namotaj stvara magnetno polje. Ovo polje uzrokuje zatvaranje kontakta u releju i kroz gornji deo kola protiče struja – sijalica zasvetli. Relej iz prethodnog primera, primenom PLC-a može da se zameni kao na slici 2.2. U PLC je učitan ladder dijagram (slika 2.3) koji simulira upotrebu releja. Kada je prekidač pritisnut, uspostavlja se naponski nivo +V na ulazu PLC-a kome odgovara logička vrednost 1. Programom je definisano, da kada je logička vrednost na ulazu 1, kontakt na izlazu se zatvara i struja teče kroz sijalicu – sijalica svetli.
Slika 2.2 Zamena releja primenom PLC-a
Slika 2.3 Ladder dijagram napisan za upravljanje sistema kola sa slike 2.6
Par namotaj-kontakt sa slike 2.3 predstavlja interni relej. Ovakav par koji se sastoji iz jedne OUTPUT i jedne LOAD instrukcije iste adrese obavlja funkciju releja sa slike 2.1.
14
Vladimir D. Đorđević
Programabilni logički kontroleri
Na slici se vidi da se jedan ladder dijagram (ladder zna či lestvičasti) sastoji iz lestvica koje se sastoje od nekih instrukcija. U ovom slu čaju, dijagram se sastoji iz dve lestvice, i obavezne treće koja pokazuje da se došlo do kraja programa. Simboli za ulaz se uvek nalaze sa leve strane, a simboli za izlaz na krajnoj desno strani. Sve komponente sistema sa slike 2.1 zamenjuju se odgovarajućim simbolima.
2.4 Simbol za ulaz – LOAD (prekida č i kontakt)
2.5 Simbol za izlaz - OUTPUT (na motaj i sijalica)
Zatim se svakoj komponenti (a samim tim i simbolu te komponente) dodeljuje adresa (vidi poglavlje 1.9). Prekidaču je dodeljena adresa 00.00, namotaju 05.01, kontaktu 05.01 i sijalici 05.00. Da bi bilo što jednostavnije objasniti setovanje odnosno resetovanje bitova na adresama uređaja uvodi se pojam "kontrolnog signala". Kontrolni signal predstavlja virtuelni signal koji se kreće sa početka svake lestvice ladder dijagrama. Ukoliko je bit na adresi nekog ulaznog uređaja setovan (ima vrednost logičke 1) kontrolni signal će proći kroz taj simbol. Takođe, kada kontrolni signal stigne do simbola za neki izlazni uređaj, bit na adresi tog uređaja će biti setovan (biće mu dodeljena vrednost logičke 1). Na ovakav način, upotrebom "kontrolnog signala", analiza datih primera i pisanje novih ladder programa se znatno uprošćava.
Slika 2.6a i 2.6b Kontrloni signal u ladder dijagramu
Ako prekidač kome je dodeljena adresa 00.00 nije pritisnut vrednost bita na njegovoj adresi će biti 0; kontrolni signal će stići do simbola za prekidač (vidi liniju sa strelicom na kraju, slika 2.6a). Kada se prekidač pritisne, vrednost bita na njegovoj adresi će postati 1, kontrolni signal prolazi kroz simbol za prekidač i stiže do namotaja kome je dodeljena adresa 05.01. Kontrolni signal setuje bit na toj adresi. Ovaj proces u stvari predstavlja zatvaranje prekidača i uspostavljanje magnetnog fluksa u namotaju (slika 2.1). Pošto je kontaktu releja sa slike 2.1 dodeljena ista adresa kao i namotaju, kontrolni signal prolazi kroz simbol za kontakt i sti že do simbola za sijalicu – bit na adresi koja je dodeljena sijalici se setuje i sijalica zasvetli. Znači, kada je uspostavljen magnetni fluks u namotaju (setovan bit na adresi 05.01) zatvara se kontakt releja (05.01) i sijalica zasvetli.
15
Vladimir D. Đorđević
Programabilni logički kontroleri
Potrebno je zapaziti da je upotreba releja izbegnuta. Relej je zamenjen PLC-om koji izvršavajući program simulira funkciju releja. Nije potrebno naglasiti da je upotreba PLC kontrolera za ovakav primer trivijalna, ali u slučajevima sa velikim brojem releja, PLC je svakako isplativ za ugradnju. Pored LOAD i OUT postoje LOAD NOT i OUTPUT NOT instrukcije. Instrukcija LOAD NOT se koristi kada se želi da na njenom izlazu postoji kontrolni signal kada bit na adresi ove instrukcije nije setovan. Analogno tome, bit na adresi instrukcije OUTPUT NOT je setovan kada na njenom ulazu ne postoji kontrolni signal.
2.7 Simbol za LOAD NOT
2.8 Simbol za OUTPUT NOT
Pošto su instrukcije LOAD, LOAD NOT, OUTPUT i OUTPUT NOT neophodne za pisanje ladder dijagrama njima će biti posvećena pažnja kroz nekoliko sledećih primera. LOAD i LOAD NOT Svaka lestvica ladder dijagrama počinje ili sa LOAD ili sa LOAD NOT. Ove instrukcije će u ladder dijagramu predstavljati ulazne komponente (prekidače, tastere, senzore...).
2.9 LOAD i LOAD NOT instrukcija u ladder dijagramu
Instrukcija LOAD (slika 2.9, prva lestvica) će provoditi kontrolni signal kada bit na adresi 00.00 ima vrednost logičke 1 (npr. prekidač ome je dodeljena adresa 00.00 je zatvoren). Kod LOAD NOT je slučaj suprotan: kada bit na adresi 00.00 ima vrednost logičke 0 instrukcija LOAD NOT će propuštati kontrolni signal (slika 2.9 – druga lestvica).
Dijagram za izvr š avanje logi č kih funkcija AND i AND NOT (i, i ne) Na slici 2.10 predstavljen je dijagram za izvršavanje logičkih funkcija AND NOT i AND. Zapravo, kontrolni signal će stići do instrukcije X (odnosno setovati bit na adresi te instrukcije) ako je bit na adresi 00.00 setovan, bit na adresi 01.00 nije setovan i bit na adresi 01.01 je setovan. Znači, ako bi adrese 00.00, 01.00 i 01.01 bile dodeljene tasterima u nekom upravljačkom kolu, a adresa instrukcije dodeljena npr. motoru, motor bi se uključio uz uslov da je pritisnut taster kome je dodeljena adresa 00.00, taster sa adresom 01.00 nije pritisnu i taster sa adresom 01.01 pritisnut.
Slika 2.10 Logi čke funkcije AND NOT i AND
16
Vladimir D. Đorđević
Programabilni logički kontroleri
Dijagram za izvr š avanje logi č kih funkcija OR i OR NOT (ili, ili ne) Ako sve dva ili više uslova nalaze u paralelnim lestvicama koje se spajaju (slika 2.11) radi se o OR i OR NOT logičkim funkcijama. Da bi bit na adresi instrukcije sa krajnje desne strane bio setovan potrebno je da kontrolni signal pro đe kroz makar jednu od paralelnih linija (slika 2.11), odnosno ili da bit ima vrednost logičke 0 na adresi 00.00, ili na 01.00 ili da ima vrednost logičke 1 na adresi 01.01. Ako bi adrese 00.00, 01.00 i 01.01 bile dodeljene tasterima u nekom upravljačkom kolu, a adresa instrukcije dodeljena npr. motoru, motor bi se uključio ili kada taster na adresi 00.00 ne bi bio pritisnut, ili kada taster na adresi 01.00 ne bi bio pritisnut, ili kada bi bio pritisnut taster na adresi 01.01.
Slika 2.11 Primena OR i OR NOT instrukcija
OUTPUT i OUTPUT NOT Ove instrukcije služe za kontrolu stanja određenog bita (da li je 0 ili 1) u odnosu na uslove postavljene u lestvici sa levo od njih. OUTPUT i OUTPUT NOT se uvek nalaze na krajnjoj desnoj strani. Ove instrukcije se dodeljuju izlaznim ure đajima (motorima, solenoidima, grejačima, sijalicama, alarmima...).
Slika 2.12 OUTPUT i OUTPUT NOT u ladder dijagramu
Sa OUTPUT instrukcijom bit na adresi specificiranoj za neki izlazni ure đaj imaće vrednost logičke 1 ako su uslovi desno od njega setovani (kontrolni signal neposredno pred OUTPUT instrukcijom postoji), sa OUTPUT NOT instrukcijom obrnuto: ukoliko signal neposredno pred OUTPUT NOT instrukcijom postoji, bit na adresi specificiranoj za taj izlazni uređaj će imati vrednost logičke nule. U zavisnosti od vrednosti na adresama OUTPUT-a i OUTPUT NOT, PLC će "znati" da li treba da uključi ili isključi uređaje kojima su dodeljene adrese tih OUTPUT i OUTPUT NOT instrukcija. U sledećim primerima instrukcije OUTPUT i OUTPUT NOT će biti bliže opisane.
Slika 2.13 Slu čaj kada je bit na adresi ulaza 0
17
Vladimir D. Đorđević
Programabilni logički kontroleri
Instrukcija LOAD očitava bit sa adrese 00.00 – vrednost je 0, signal stiže samo do LOAD instrukcije i bit na adresi izlaznog uređaja ostaje nepromenjen – sijalica neće goreti.
Slika 2.14 Slu čaj kada je bit na adresi ulaza 1
U suprotnom slučaju, kada instrukcija LOAD očita vrednost 1 i signal stiže do OUTPUT-a. Bit na adresi koja je dodeljena sijalici (10.00) dobija vrednost 1, što je znak da PLC uključi sijalicu. Kod OUTPUT NOT instrukcije slučaj je suprotan.
Slika 2.15 Slu čaj kada je bit na adresi ulaza 0
Slika 2.16 Slu čaj kada je bit na adresi ulaza 0
U sledećem jednostavnom primeru je pokazana praktična primena upotrebe PLC-a.
Primer: Regulisanje nivoa te č nosti u rezervoaru
Slika 2.17 Shema ure đaja za regulisanje nivoa te čnosti u rezervoaru
18
Vladimir D. Đorđević
Programabilni logički kontroleri
U ovom primeru PLC kontroliše nivo ulja u rezervoaru pomoću dva senzora. Jedan je postavljen pri dnu a drugi pri vrhu rezervoara. Pumpa ubacuje ulje u rezervoar sve dok senzor za gornji nivo vode ne da signal. Tada se motor koji goni pumpu gasi, sve dok ulje ne dostigne donji nivo – senzor za donji nivo ulja. Tada se pumpa uključuje i proces se ponavlja. Znači, imamo 3 ulazno/izlazna uređaja: 2 su ulazi (senzori) 1 je izlaz (pumpa). Kada nisu potopljeni u ulje senzori će biti uključeni, i suprotno. Svakom uređaju se dodeljuje adresa prema tabeli 2.1. Tabela 2.1 Adrese za ulaze i izlaze
Ulazi
Adresa
Izlaz
Adresa
Interni relej
senzor za gornji nivo
00.01
Pumpa
05.00
10.00
senzor za donji nivo
00.00
U ovom primeru je iskorišćen i jedan interni relej. Kontakti ovakvih releja mogu se koristiti mnogo puta, u zavisnosti od proizvođača PLC-a. U ovom primeru su korišćeni dva puta za simuliranje kontakta.
Slika 2.18 Ladder dijagram za ure đaj sa slike 2.17
Treba ponoviti da je svrha korišćenja PLC-a ZAMENA hardverskih releja "unutrašnjim", tzv. internim relejima. Razmotrimo šta se u programu dešava ciklus po ciklus skeniranja. Na početku rezervoar je prazan. Znači, ulaz 00.00 ima vrednost kao i ulaz 00.01 – bit na ovim adresama ima vrednost logičke 1.
Slika 2.19 Prvi ciklus skeniranja
19
Vladimir D. Đorđević
Programabilni logički kontroleri
Rezervoar se puni, zato što će motor pumpe (05.00) da radi – bit na ovoj adresi ima vrednost logičke 1.
Slika 2.20 2-100 ciklus skeniranja
Posle 100 ciklusa skeniranja nivo ulja se popeo preko senzora za donji nivo – sada senzor daje logičku vrednost 0.
Slika 2.21 101-1000 ciklus skeniranja
Iako senzor za donji nivo daje logičku vrednost 0 motor i dalje radi. Ovo je postignuto korišćenjem "unutrašnjeg" releja. Relej 10.00 drži izlaz 05.00 uključenim. Ovakvo stanje će ostati nepromenjeno sve dok bude postojala putanja, sa logi čkom vrednošću 1, do releja 10.00. Znači, stanje će se promeniti kada ulaz 00.01 bude imao logi čku vrednost 0. Posle 10.00 ciklusa skeniranja ulje stiže i do senzora za gornji nivo, tako da on dobija logičku vrednost 0.
Slika 2.22 1001. i 1002. ciklus skeniranja
Pošto više ne postoji logička putanja sa vrednošću 1, izlaz 05.00 se isključuje i motor pumpe prestaje da radi.
20
Vladimir D. Đorđević
Programabilni logički kontroleri
Posle 1050 ciklusa nivo ulja pada ispod senzora za gornji nivo i on dobija logi čku vrednost 1.
Slika 2.23 stanje posle 1050 ciklusa skeniranja
Iako je senzor za gornji nivo dobio vrednost 1, relej 10.00 i dalje ostaje 0. Takvo stanje će ostani nepromenjeno sve do 2000. ciklusa kada nivo ulja pada ispod senzora za donji nivo. Tada će stanje u upravljačkom kolu biti isto kao i u prvom ciklusu skeniranja – program se vrti ispočetka.
21
Vladimir D. Đorđević
Programabilni logički kontroleri
2.1 Pregled instrukcija PLC kontrolera koje se najčešće koriste
Pored osnovnih instrukcija za kontrolu stanja određenog bita – OUTPUT, OUTPUT NOT, koje su već objašnjene postoji još pet drugih: SET, RESET, DIFFERENTIATE UP, DIFFERENTIATE DOWN i KEEP. Pored ovih, vrlo često se koriste i INTERLOCK i INTERLOCK CLEAR, JUMP i JUMP END, TIMER , COUNTER, MOVE, SHIFT i COMPARE. Na sledećih nekoliko stranica je dat opis ovih instrukcija bez čije bi upotrebe primena PLC-a bila takoreći bespredmetna.
2.1.1 DIFFERENTIATE UP i DIFFERENTIATE DOWN Ove instrukcije se koriste da setuju bit samo za vreme trajanja jednog ciklusa skeniranja programa. DIFFERENTIATE UP instrukcija dodeljuje određenom bitu vrednost logičke 1 u trajanju od jednog ciklusa, kada se stanje signala menja iz isključenog u uključeno; DIFFERENTIATE DOWN instrukcija dodeljuje određenom bitu vrednost logičke 1 u trajanju od jednog ciklusa, kada se stanje signala menja iz uključenog u isključeno.
Slika 2.24 Instrukcije DIFU i DIFD
Slika 2.25 Vremenska karakteristika instrukcija DIFU (levo) i DIFD (desno)
U primeru sa slike 2.24 (prva lestvica) bit na adresi 10.00 će imati vrednost 1 u trajanju od jednog ciklusa po setovanju bita na adresi 00.00. Slede ći put kada se izvrši DIFU(13), bit na adresi 10.00 će biti resetovan, bez obzira na status bita na adresi 00.00. U drugoj lestvici na slici 2.24, bit na adresi 10.01 koja pripada DIFD(14) će dobiti vrednost 1, u trajanju od jednog ciklusa, kada se stanje bita na adresi 00.01 promeni sa
22
Vladimir D. Đorđević
Programabilni logički kontroleri
setovanog na resetovano, a promeniće vrednost u 0 kada se DIFD(14) slede ći put izvrši. Parametri koji treba da se defini šu: adrese na kojima će bit biti setovan u trajanju od jednog ciklusa.
2.1.2 KEEP
Slika 2.26 Simbol za instrukciju KEEP
Ova instrukcija se koristi kada je potrebno održavati status bita na osnovu dva stanja. Zbog toga, instrukcija KEEP se povezuje sa dve lestvice. Kada na ulazu S postoji kontrolni signal, bit KEEP instrukcije dobija vrednost 1, tj. setuje se. Kada na drugoj lestvici postoji kontrolni signal, bit KEEP instrukcije dobija vrednost 0 – resetuje se (slika 2.26).
Slika 2.27 Karakteristika instrukcije KEEP
Slika 2.28 Primer upotrebe instrukcije KEEP
U primeru sa slike 2.28 bit na adresi 00.00 će biti setovan je setovan bit na adresi 00.02 a bit na adresi 00.03 resetovan. Bit na 00.00 će ostati setovan sve dok jedan od bitova na adresama 00.04 i 00.05 ne bude setovan. Parametri koji treba da se definišu: adresa bita koji će biti setovan između setovanja i resetovanja instrukcije KEEP.
2.1.3 SET i RESET Ove dve instrukcije su vrlo slične instrukcijama OUTPUT i OUTPUT NOT. Razlika je u tome što one menjaju status bita (setuju ili resetuju) na svojoj adresi samo u slučaju kada na njihovom ulazu postoji signal. Ni jedna ni druga ne će promeniti status bita ako se signal izgubi.
23
Vladimir D. Đorđević
Programabilni logički kontroleri
SET menja vrednost bita u logičku 1 kada signal postoji i za razliku od OUTPUT njegovu vrednost neće promeniti u 0 ako signal na ulazu prestane da postoji. RESET menja vrednost bita u logičku 0 kada signal prestane da postoji i za razliku od OUTPUT NOT njegovu vrednost neće promeniti u 1 ako signal na ulazu prestane da postoji. U sledećem primeru bit na adresi 10.00 će dobiti vrednost logičke 1 kada bit na 01.00 bude imao vrednost 1, bez obzira na status bita na adresi 01.00. Kada bit na adresi 01.01 bude bio 1, RESET će bitu na adresi 10.00 dodeliti vrednost 0.
Slika 2.29 Instrukcije SET i RESET
Parametri koji treba da se defini šu: adresa na kojoj će se bit setovati, odnosno resetovati.
2.1.4 INTERLOCK i INTERLOCK CLEAR – IL(02) i ILC(03) Upotreba instrukcija INTERLOCK i INTERLOCK CLEAR omogućava jednu vrstu grananja. Naime, kada je signal na ulazu ILTERLOCK-a uključen, program pisan između INTERLOCK i LINTERLOCK CLEAR se izvršava. U slučaju da na ulazu INTERLOCK-a (IL(02)) signal ne postoji, sledeće instrukcije između IL(02) i ILC(03) će se tretirati na sledeći način: ako je u pitanju OUTPUT ili OUTPUT NOT bitovi na adresama dodeljenim ovim instrukcijama biće resetovani; TIMER će biti resetovan; trenutna vrednost brojača će ostati ista; bit na adresi dodeljenoj instrukciji KEEP ostaje isti; instrukcije DIFU i DIFD se ne izvršavaju.
Slika 2.30 Ladder simboli za INTERLOCK i INTERLOCK CLEAR
2.1.5 JUMP i JUMP END – JMP(04) i JME(05) Instrukcija JUMP se uvek koristi u paru sa instrukcijom JUMP END za svrhu "skakanja" sa jedne tačke ladder dijagrama na drugu. JUMP definiše tačku sa koje se "skače" a JUMP END definiše gde je kraj skoka. Kada postoji signal na ulazu u instrukciju JUMP, do skoka ne dolazi i deo programa izme đu JUMP (JMP(04)) i JUMP END (JME(05)) se izvršava. Ako signal na ulazu JUMP-a ne postoji dolazi do skoka i preskače se deo programa između JUMP (JMP(04)) i JUMP END (JME(05)). Program nastavlja da se izvršava od instrukcije JUMP END (JME(04)) pa na dalje.
24
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 2.31Ladder simboli za JUMP i JUMP END
Parametri koji treba da se defini šu: identifikacioni broj N (vidi sliku 2.31) koji je isti za JMP i JME.
2.1.6 TIMER – TIM
Slika 2.32 Ladder simbol za TIMER
Instrukcija TIM (timer) služi da zakasni signal za neko određeno vreme. To treme definiše vrednost SV. Vrednost SV može biti od 0000 do 9999. Vreme kašnjenja se dobija tako što se vrednost SV pomnoži sa 0.1s. Znači, ako je za SV upisana vrednost 20, signal ima kašnjenje od 2 sekunde. Broj TIMER-a za kontrolere verziju OMRON kontrolera CPM1 i CPM1/SRM1 može biti od 000 do 127. Broj tajmera služi za identifikaciju tajmera i preko njega se poziva signal koji je tim tajmerom "zakašnjen" određeno vreme (vreme kašnjenja).
Slika 2.33 Vremenska karakteristika tajmera
Parametri koji treba da se defini šu: Broj TIMER-a, preko kog se poziva zakašnjeni signal i vreme koje TIMER treba da odbroji.
2.1.7 COUNTER – CNT Kada god se stanje na ulazu u COUNTER (CP) promeni iz isklju čenog u uključeno, instrukcija COUNTER (CNT) umanji tekuću vrednost za jedan. To će se dešavati sve dok tekuća vrednost ne dođe do 0. Tada se uspostavlja signal na izlazu iz COUNTERa brojača. Znači svaka ulazna ivica pulsirajućeg signala će biti izbrojana. Ako se u toku brojanja dovede signal na ulaz R (reset) tekuća vrednost brojača se vraća na vrednost SV (slika 2.34).
25
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 2.34 Ladder simbol za COUNTER
Slika 2.35 Karakteristika instrukcije COUNTER - CNT
Parametri koji treba da se definišu: broj COUNTER-a (od 000 do 127) preko kog se poziva signal za COUNTER-a; broj SV – koliko se promena broji.
2.1.8 SHIFT REGISTER – SFT (10)
Slika 2.36 Ladder simbol za SHIFT REGISTER – SHT (10): St- Starting word, E-end word
Ova instrukcija se kontroliše sa tri stanja na ulazu: I, P i R. Ako je stanje na ulazu P uključeno, a bilo je isključeno pri prošlom ciklusu skeniranja, i stanje na R je isključeno, onda se stanje na ulazu I (logička 1 ili 0) upisuje na krajnje desno mesto registra definisanog između adrese St i adrese E: ako je stanje na ulazu I uklju čeno upisuje se 1, a ako je isključeno – 0. Kada se sa ulaza I bit upi še u registar, svi bitovi koji su prethodno bili u registru pomeraju se za jedno mesto i krajnji levi bit se gubi (slika 2.37).
Slika 2.37 Proces pomeranja bitova u operaciji SHIFT REGISTER
Ako se stanje na ulazu P nije promenilo, ili se iz uklju čenog promenilo na isključeno, upis i pomeranje bitova se neće izvršavati.
26
Vladimir D. Đorđević
Programabilni logički kontroleri
Ulaz R predstavlja reset. Parametri koji treba da se defini šu: Adrese početnog i krajnjeg registra (St, E) u čijem se okviru pomeraju bitovi.
2.1.9 MOVE – MOV (21)
Slika 2.38 Ladder simbol za instrukciju MOVE – MOV(21)
Kada je stanje na ulazu isključeno, instrukcija MOV (21) se ne izvršava. Kada je stanje uključeno, MOV(21) kopira sadržaj podataka sa adrese S na adresu D.
Slika 2.39 Pomeranje podataka sa jedne adrese na drugu
U primeru sa slike 2.40, instrukcija MOV kopira sadržaj sa adrese 00.01 na adresu 00.05.
Slika 2.40 Primer primene instrukcije MOV (21)
Parametri koji treba da se defini šu: Adresa reči koja se pomera (ili samo vrednost) i adresa na koju se zapis pomera.
2.1.10 COMPARE – CMP (20)
Slika 2.41 Ladder simbol za instrukciju COMPARE – CMP(20)
27
Vladimir D. Đorđević
Programabilni logički kontroleri
Kada je stanje na ulazu isključeno, instrukcija CMP(20) se ne izvršava. Kada je stanje uključeno, CMP(20) poredi sadržaj podataka sa adrese Cp1 i Cp2 i setuje bit na jednom od prethodno definisanih flagova (flagovi u stvari predstavljaju LOAD instrukcije) koji mogu biti: P_GT (je veći od), P_GE(veći ili jednak), P_EQ (jednak), P_LE (manji ili jednak), P_LT (je manji od) i P_NE (nije jednak). U sledećem primeru porede se dve veličine (na adresama 00.01 i 00.10) i u zavisnosti od njihovog odnosa setuju se različiti OPUTPUT-i .
Slika 2.42 Primer upotrebe instrukcije COMPARE
– CMP(20)
Adresi 25.505 dodeljena je relacija P_GT (je veće od), adresi 25.506 relacija P_EQ (jednako) i 25.507 P_LT (manje od). Treba naglasiti da je svakom flagu automatski, pri izboru, dodeljena i adresa. Ako je na primer vrednost na adresi 00.01 veća od vrednosti na 00.10 bit na adresi 25.505 se setuje – samim tim se setuje i OUTPUT na adresi 10.20, itd. Parametri koji treba da se defini šu: Adrese vrednosti koje se porede.
28
Vladimir D. Đorđević
Programabilni logički kontroleri
3. Izrada ladder dijagrama za OMRON-ove programabilne logičke kontrolere (PLC) Ladder dijagrami za OMRON PLC-ove se izrađuju u programu koji se zove CXProgrammer. U zavisnosti od marke proizvođača, razlikuje se i softver za izradu ladder dijagrama. Međutim, logika korišćenja programa je gotovo ista. Ako je instaliran po default-u, program se poziva pritiskom na Start->Programs->Omron->CX-Programmer ->CX-Programmer. Po pokretanju programa dobija se sledeći ekran.
Slika 3.1 CX-Programmer
Izborom opcije New iz File manija otvara se novi projekat, novi ladder dijagram. U desnom delu slike se nalazi prostor podeljen u polja. U tom delu se unosi ladder dijagram; u polja se upisuju simboli za ulaze, izlaze i specijalne instrukcije (TIM, CNT, CMP, SFT itd). Desni deo, je rezervisan za Project Workspace. U njemu se nalaze u hijerarhijskom stablu svi objekti koji su pridruženi projektu. Za određeni projekat se može angažovati više PLC-ova. Svaki PLC u stablu će imati svoje objekte (slika 3.2). Symbols – Globalna tabela simbola za PLC. IO Table – Input/Output tabela PLC-a; sadrži način vezivanja određenih uređaja za PLC da bi program funkcionisao. Settings – Sadrži sva podešavanja vezana za PLC. Memory – Omogućava uvid i pristup u zapis svakog podatka u memoriji. Za svaki PLC ubačen u projekat moguće je vezati više programa. CS serije OMRONovih kontrolera omogućavaju pravi multitasking.
29
Vladimir D. Đorđević
Programabilni logički kontroleri
Kao što se vidi na slici 3.2, na drvetu postoje dva grananja Symbols. Prvo grananje Symbols obuhvata simbole koji su zajednički za sve programe koji su vezani za jedan PLC. Drugo grananje, u okviru određenog programa (na slici 3.2 NewProgram1) odnosi se na simbole u okviru tog programa ti simboli nisu vidljivi drugim programima. Oni se zovu lokalnim simbolima. I na kraju grananje Section1 predstavlja ladder dijagram programa.
Slika 3.2 Objekti vezani za PLC u hijerarhijskom stablu
Na slici 3.3 Prikazan je Icon Bar i objašnjenje najvažnijih ikona. Važno je napomenuti da se prelazom miša preko svake od ikona prikazuje natpis za šta ikona služi.
Slika 3.3 Ikone programa CX-Programmer
Način pisanja programa (ladder dijagrama) biće opisan kroz izradu prvog zadatka. 1. Izborom komande New iz File menija otvara se dijalog prozor Change PLC . U njemu se: upisuje ime PLC-a (Device Name), bira tip PLC-a za koji se piše program (Device Type), tip mreže (Network Type). Za sada, dovoljno je samo za tip mreže izabrati Controller link , zbog povezivanja sa CX-Simulator-om o kome će kasnije biti reči. Posle toga, pritisnite OK. U desnom (znatno većem) delu ekrana koji je dobijen, unosi se ladder dijagram. U CX-PROGRAMMER-u ULAZI UVEK MORAJU BITI SA KRAJNJE LEVE STRANE! Za naš primer, u prvoj lestvici sa krajnje leve strane će se nalaziti taster start (sa adresom 0.00). Simboli se unose jednostavnim izborom jednog od njih (vidi sliku 3.3) i klikom na levi taster miša gde želimo da taj simbol postavimo. Kada je polje gde se želi ulaz izabrano, pojavljuje se dijalog prozor New Contact (slika 3.4).
30
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 3.4 New Contact Dialog box
U polje za ime (Name or address) upišite Start , a u polje za adresu (Address or value) vrednost 0.00 i pritisnite OK, taster start je napravljen. U polju do njega treba da stoji taster Stop koji je normalno zatvoren (znači, bira se druga ikona s leva, vidi sliku 3.3). Znači, kliknite na polje do ulaza start i ponovo će se otvoriti dijalog prozor New Contact. Procedura je ista kao i za ulaz start. Za ime se upisuje Stop a adresa je 0.01. 2. Sada je potrebno napraviti izlaz (motor). IZLAZ MORA DA BUDE NA KRAJNJOJ DESNOJ STRANI! Simbol za izlaz je peti u nizu (vidi sliku 3.3.) Potrebno je kliknuti na krajnje desno polje (do zelene linije). Kada se polje izabere otvara se dijalog prozor New Coil .
Slika 3.5 New Coil Dialog box
U polje za ime ( Name or address) upisuje se motor, a u polje za adresu (Address or value) vrednost 100.00. Pritisnite OK. Prazan prostor između tastera stop i motora potrebno je popuniti horizontalnom linijom (četvrti simbol – vidi sliku 3.3). Izaberite simbol koji predstavlja horizontalnu liniju i kliknite na svako prazno polje od tastera stop do motora. 3. Da bi se napravio neki od paralelnih ulaza (u našem slučaju ulaz motor koji je paralelan sa tasterom start ) mora se iskoristiti simbol za vertikalnu liniju (treći 31
Vladimir D. Đorđević
Programabilni logički kontroleri
u nizu, slika 3.3). Izaberite vertikalnu liniju i kliknite između tastera start i tastera stop. Sada je moguće uneti i ulaz paralelan sa tasterom start. Izaberite simbol za ulaz i u polje za unošenje imena unesite motor. Obratite pažnju da se adresa motora (100.00) "sama" pojavila. 4. Svaki ladder dijagram se mora završiti instrukcijom END. Ona se takođe nalazi na krajnoj desnoj liniji. Izaberite simbol za unošenje instrukcija (poslednji u nizu, vidi sliku 3.3).
Slika 3.6 Instruction dilaog box
Dovoljno je upisati u polje Instruction END i pritisnuti OK. Preko dijalog prozora Instruction unose se i tajmeri, brojači (counter), KEEP, itd. Svaka od ovih instrukcija ima posebne vrednosti koje treba uneti. U poglavlju Pisanje ladder dijagrama za svaku od instrukcija naznačeno je koji se parametri moraju definisati. Zbog važnosti, unošenje parametara je za sledećih nekoliko instrukcija podrobnije opisano.
Instrukcija CNT (brojač)
Poziva se upisivanjem CNT u prvu liniju prozora Instructions. U ovoj instrukciji se podešavaju takođe dve vrednosti, obe u prozoru Operands (vidi sliku 3.7). Prva je broj brojač a i ima istu funkciju kao i broj tajmera. Jedina razlika je u tome što se pri korišćenju signala sa brojača koristi slovo C ispred broja brojača (npr. C0002). Druga vrednost je broj signala koji treba da se prebroje (ako je vrednost npr. 2, brojač broji dva signala pre nego što da signal).
32
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika 3.7 Unos instrukcije CNT i unos operand vrednosti ove instrukcije
Instrukcija TIM (TIMER)
Poziva se upisivanjem CNT u prvu liniju prozora Instructions. U ovoj instrukciji se podešavaju takođe dve vrednosti, obe u prozoru Operands (vidi sliku 3.7). Prva je broj tajmera i ima istu funkciju kao i broj tajmera. Druga vrednost je vreme za koje treba zakasniti signal (ako je vrednost npr. 50, signal će kasniti 50x0.1sec=1sec).
Slika 3.8 Unos instrukcije TIM i unos operand vrednosti ove instrukcije
33
Vladimir D. Đorđević
Programabilni logički kontroleri
Instrukcija KEEP
Poziva se upisivanjem KEEP u prvu liniju prozora Instructions. Ima samo jednu vrednost za podešavanje i to je bit sa kojeg postoji signal u periodu između delovanja signala koji setuje i signala koji resetuje instrukciju KEEP. Ta vrednost se piše sa slovom H ispred broja (npr. H25.00).
Slika 3.9 Unos instrukcije KEEP
Instrukcija MOV (move)
Poziva se upisivanjem MOV u prvu liniju prozora Instructions. Služi za postavljanje vrednosti na neko mesto u memoriji. Postoje dve vrednosti koje sepodešavaju u prozoru Operands. Prva je vrednost koja se želi upisati u neki deo meorije (unosi se sa znakom # ispred broja, npr. #1), a druga je adresa gde se nalazi ta memorija (npr. H15.00).
Slika 3.10 Unos instrukcije MOV
34
Vladimir D. Đorđević
Programabilni logički kontroleri
Instrukcija CMP (C o MPare, poređenje)
Poziva se upisivanjem CMP u prvu liniju prozora Instructions. Ova instrukcija vrši poređenje podataka koji se nalaze u memoriji na nekoj odre đenoj adresi, i neke druge vrednosti, koja se defini še u samoj instrukciji. Prema tome, postoje dve vrednosti koje se podešavaju u prozoru Operand. Instrukcijom CMP se može porediti indirektno, odnosno, porediti vrednosti koje se nalaze na dve adrese, i direktno, neke vrednosti sa vrednošću na nekoj adresi. Ako želimo na primer porediti vrednost na adresi H0 sa vrednošću #1000, prvi operand će biti adresa H0, a drugi vrednost #1000).
Slika 3.11 Unos instrukcije CMP
35
Vladimir D. Đorđević
Programabilni logički kontroleri
4. Objašnjenja zadataka za vežbe 1. Zadatak Postavka:Napraviti program za PLC kojim se na pritisak tastera startuje motor, a pritiskom na taster stop, zaustavlja.
START
STOP INPUT
OUTPUT
Motor Izvor stru e
Rešenje: Kada je pritisnut taster start (0.00) a taster stop (0.01) nije pritisnut, motor (100.0) radi. Kada se taster start pusti, motor i dalje radi zato što postoji putanja sa logičkom tačnošću (preko motora kao ulaza, vezan paralelno sa tasterom start). Tek kada je pritisnut taster stop (0.01) motor prestaje da radi.
Slika Z.1 Re šenje 1. zadatka
36
Vladimir D. Đorđević
Programabilni logički kontroleri
2. Zadatak Postavka: Napisati PLC program kojim će se motor pokretati pritiskom na taster, i na isti taster zaustavljati.
1
2
3
4
5
Input
Output
Rešenje: Kada je taster (ili prekidač) postavljen da bude diferenciran na gore/dole (differentiate up/down) signal sa tog tastera vidljiv je samo za vreme jednog ciklusa skeniranja, u slučaju differentiate up u trenutku kada se ulaz menja sa 0 na 1, a u slučaju differentiate down kada se menja sa 1 na 0. OBRATITI PA ŽNJU NA STRELICU NA SIMBOLU ZA ULAZ!
Slika Z.2 Re šenje 2. zadatka
Funkcija KEEP ima dva ulaza: set i reset. Funkcija KEEP daje signal od trenutka kada signal dođe na set, i traje sve dok signal ne dođe na reset. Znači, kada motor(100.00) ne radi, a taster (0.00) je pritisnut, f-ja KEEP se setuje i H25.00 počinje da daje signal. Kada se taster ponovo pritisne (motor i dalje radi) H25.00 više ne daje signal i motor prestaje da radi. Proces se ponavlja kada se taster opet pritisne. H25.00 predstavlja bit koji u drugoj lestvici programa ima logičku vrednost 1 u periodu do setovanja do resetovanja funkcije KEEP. Obratiti pa žnju da se bit H25.00 prvo definiše u okviru funkcije KEEP.
37
Vladimir D. Đorđević
Programabilni logički kontroleri
3. Zadatak Postavka: Napisati PLC program kojim će se ulazni signal zakasniti 2.5 sekunde.
input 00.00
output 0.10
2.5 sec
Rešenje: U ovom zadatku je korišćena funkcija TIM (timer ). Njena funkcija je da "zakasni" signal onoliko vremena koliko je u njoj definisano. Jedna jedinica ima vrednost od 0.1 sekunde (u našem primeru 25X0.1=2.5 sekunde). Znači, kada se signal dovede na njen ulaz, proći će 2.5 sekunde pre nego što bit TIM0 (ime tajmera) da signal.
Slika Z.3 Re šenje 3. zadatka
38
Vladimir D. Đorđević
Programabilni logički kontroleri
4. Zadatak Postavka: Napisati ladder dijagram kojim izlazni signal nastaje 5 sekundi posle početka ulaznog signala i koji će delovati još 7 sekundi po njegovom završetku.
Ulazni signal T1
Izlazni signal T1: kašnjenje od 5 sec. T2: produžetak od 7 sec.
T2
Rešenje: To se postiže pomoću dva tajmera (0001 i 0002) i jednom f-jom KEEP. Kada dobijemo signal na ulazu tajmer 0001 ga zadržava 5 sekundi i setuje f-ju KEEP. Kada je f-ja KEEP setovana u 4. lestvici uklju čuje izlaz. Kada na ulaz prestaje da se dovodi signal (3. lestvica), a izlaz postoji (f-ja KEEP je setovana), setuje se tajmer 0002 koji zadržava signal 7 sekundi i resetuje KEEP tako da se izlaz posle prekida dovođenja ulaza 0.00 i 7 sekundi gasi.
Slika Z.4 Re šenje 4. zadatka
39
Vladimir D. Đorđević
Programabilni logički kontroleri
5. Zadatak Postavka: napisati program (ladder dijagram) koji ponavlja izlazne signale u određenim intervalima kada se na ulaz dovodi signal.
Ulazni signal
Izlazni signal
T1
T2
Rešenje: Izlaz će imati signal kada signal na ulazu postoji a tajmer T0001 ne daje signal. Takvo stanje traje 1.6 sekundi (u tajmeru je definisano #16). Posle 1.6 sekundi tajmer T0001 daje signal koji traje 1.6 sekundi – izlaz ne daje signal. U trenutku paljenja T0001 setuje se tajmer T0002 (koji kasni signal 3.2 sekunde). Kako se tajmer T0001 gasi posle 1.6 sekunde izlaz opet postoji i traje novih 1.6 sekundi. Posle isteka tih 1.6 sekundi tajmer T0002 se resetuje što stvara uslov da se tajmer T0001 setuje. Ciklusi se ponavljaju sve dok postoji signal na ulazu.
Slika Z.5 Re šenje 5. zadatka
40
Vladimir D. Đorđević
Programabilni logički kontroleri
6. Zadatak Postavka: napisati program (ladder dijagram) koji omogućava duže kašnjenje signala od 999.9 sekundi (maksimuma koji može da se definiše instrukcijom TIMER). Rešenje: Kolo u ovom zadatku daje jedno od re šenja. Za njegovo postizanje iskorišćena je kombinacija brojača (counter – CNT) i tajmera. Funkcija CNT broji onoliko ulaznih signala koliko je u njoj definisano (u na šem primeru 2). Pored ulaza koji se prebrojavaju f-ja CNT mora da ima i signal koji je resetuje. U našem slučaju je to zatvoreni ulaz. Ideja u rešavanju je bila ta da se f-ja tajmera (zakašnjenje signala) uveća na taj način što će se kašnjenje sa tajmera pomnožiti sa brojem definisanim u funkciji CNT. Tajmer T0001 se startuje kada postoji ulaz, on sam ne daje signal i brojač ne daje signal. On odbroji 0.3 sekunde i da signal, što je uslov (zajedno sa postojanjem ulaza) da brojač izbroji jedan signal. Sada se ponovo setuje tajmer – zadržava još 0.3 sekunde i daje signal koji funkcija CNT prebrojava. Pošto je CNT izbrojila 2 signala, C0001 dobija vrednost logičke jedinice i signal na izlazu postoji. Znači, u odnosu na ulazni pojavio se sa kašnjenjem od 0.3X2 sekunde. Naravno kolo sa ovolikim kašnjenjem smo mogli da izvedemo i sa obi čnim tajmerom. 0.3 sekunde i 2 su vrednosti izabrane zbog simulacije rada u CX-simulator-u (da ne bi dugo čekali). Umesto njih su mogle da stoje 999.9 sekundi i 9999 brojanja ciklusa. Tada bi ukupno kašnjenje bilo 999.9X9999 sekundi.
Slika Z.6 Re šenje 6. zadatka
41
Vladimir D. Đorđević
Programabilni logički kontroleri
7. Zadatak Postavka: Napisati program (ladder dijagram) koji na način prikazan na vremenskom dijagramu pali i gasi alarmno svetlo i sirenu u slučaju potrebe.
Alarm input 0000
aktiviranje lampe 10000
aktiviranje sirene1001
input za test lampice 0010
input za reset sirene 0011
Rešenje: Alarmna sijalica se pali kada je pritisnut taster za testiranje sijalice (0.01). Ako postoji alarm (0.00) i CF102 daje pulsirajući signal (trajanje/pauza 1 s) i taster za potvrdu alarma nije pritisnut – alarmna sijalica (100.00) zasvetli. Sijalica će takođe svetleti ako alarm postoji u periodu između pritiska tastera za potvrdu alarma i prekida alarma (25.00, funkcija KEEP). Alarmna sirena (100.01) će biti upaljena ako postoji alarm (0.00) i nije pritisnut taster za potvrdu alarma (funkcija KEEP nije setovana). U slučaju kada se pritisne taster za potvrdu alarma, alarmna sirena se gasi (za to vreme sijalica i dalje radi), operater na mašini otklanja razlog zbog kog je alarm upaljen, alarm se gasi, i na kraju se gasi i sijalica.
Slika Z.7 Re šenje 7. zadatka
42
Vladimir D. Đorđević
Programabilni logički kontroleri
8. Zadatak Postavka: Merenje veka trajanja no ž a za se č enje Nož se koristi za isecanje tri vrste proizvoda: A, B i C. Zbog istupljenosti, menja se posle 1000 odsecanja komada A, 500 komada B ili 100 komada C. Delovi mogu nasumično dolaziti na red za isecanje. Kada se nož istupi, aktivira se zujalica. Za izvođenje ovakvog zadatka koriste se tri senzora, svaki za po jednu vrstu komada, i jedan senzor koji je indikator završene operacije sečenja. Tasterom se startuje celokupan proces. reset 0.05 sečenje 100.01 senzor 0.00 senzor A 0.01 senzor B 0.02 senzor C 0.03 start 0.04 zujalica 100.00
Taster Start (4) Proizvod A, B ili C
Nož (1001) Taster Reset (5)
Zvonce (1000)
Mašina za sečenje
Po startovanju mašine neophodno je pritisnuti taster reset (vidi kraj ladder dijagrama) da bi vrednost na memorijskoj lokaciji H0 bila 1000. Kada je pritisnut taster start (0.04) instrukcija KEEP daje signal sa adrese 25.00, sve dok se operacija sečenja ne završi (senzor 0.00). Ako signal sa 25.00 postoji i jedan od senzora za tip proizvoda je zatvoren (0.01, 0.02 ili 0.03) uključuje se izlaz sečenje 100.01. Instrukcija @-B služi za oduzimanje neke fiksne vrednosti od neke vrednosti na zadatoj adresi. Zbog toga na početku rada se mora pritisnuti taster reset jer njenim pritiskom instrukcija MOV prebacuje vrednost 1000 (broj komada koji je moguće iseći jednim nožem) na adresu H0. Sada, u naredne tri lestvice programa, proverava se da li je isečeni deo A, B ili C. AKo je A onda se od vrednosti na adresi H0 (koja je u
43
Vladimir D. Đorđević
Programabilni logički kontroleri
prvom ciklusu skenranja 1000) oduzima 1, ako je B onda se oduzima 2 i ako je C oduzima se 10. Posle oduzimanja proverava se da li je vrednost na adresi H0 ve ća od 1000 zato što ako je od vrednosti H0 oduzeto vi še od 1000, nastao bi negativan broj koji se u binarnom zapisu pretvara u njegov komplement (u na šem slučaju pošto je kontroler 16-bitni to bi bio ogroman broj). U tom slučaju sa adrese 25.05 bi postojao signal koji bi uključio zujalicu, operator mašine bi zamenio nož za sečenje i pritisnuo taster reset. Tada vrednost na adresi H0 opet postaje 1000 i brojanje opet počinje.
Slika Z.8 Re šenje 8. zadatka (prvi deo – nastavak na slede ćoj strani)
44
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika Z.8 Re šenje 8. zadatka
45
Vladimir D. Đorđević
Programabilni logički kontroleri
9. Zadatak Postavka: Napisati program za PLC kojim se upravlja otvaranje i zatvaranje vrata skladišta. Problem je opisan na slici Z.9. Kao detektor vozila koje prilazi, koristi se ultrasonični prekidač. Odvojeni fotosenzori detektuju prolaz vozila preko prekida svetlosnog zraka. Kao odziv ovih signala, upravljačka kola generišu signale koji pogone motor koji spušta i podiže vrata.
Ultrasonic Switch
Motor
Pushbutto CPM2A
Photoelectric Switch
Slika Z.9 Shema za koju treba napraviti ladder dijagram koji upravlja otvaranjem i zatvaranjem vrata
Podizanje vrata Kada je ultrazvučni davač (0.00) setovan, instrukcija KEEP sa adrese 25.00 daje signal, sve dok vrata ne dostignu gornji položaj (senzor za gornji položaj 0.02 resetuje KEEP). Pošto postoji signal sa 25.00 i motor ne spu šta vrata dole (gledaj lestvicu 2) motor podiže vrata. Spu š tanje vrata Instrukciju KEEP (sa adresom 25.05) setuje signal sa senzora za gornji polo žaj vrata, i to njegova silazna ivica (pogledaj strelicu na dole u simbolu za ulaz). Sa adrese 25.05 dolazi signal sve dok senzor za donji polo žaj vrata ne da signal. Znači, kada taj signal postoji i kada se vrata ne podižu (gledaj lestvicu br. 4) motor spušta vrata (100.01).
46
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika Z.10 Re šenje 9. zadatka
47
Vladimir D. Đorđević
Programabilni logički kontroleri
10. Zadatak Postavka: Napisati program za PLC kojim se upravlja kranom za proces odmašćivanja mašinskih delova prema postupku datom na slici Z.11.
Kontrola krana za operaciju odma šć ivanja Levo (1001) S5 6
S4
Desno (1003) S1 2 Roler
5
Senzor za gore(S3) 4
Gore (1000)
Dole (1002) (07)
Senzor za dole(S2) 3
PB2 (1)
Zvonce (1004)
Reset
Operator
PB1 (Start) (0)
Posuda za odmašćivanje
Stop taster (8)
Operator Slika Z.11 Proces odma šćivanja mašinskih delova
Ako je ispunjen uslov pritisnuto dugme start i deo se nalazi na po četnom položaju (desno, dole) bit na adresi 25.00 se setuje instrukcijom DIFU ( differentiate up) i vrednost registra H0 dobija vrednost 1 (instrukcija MOV). Jedna od kombinacija senzora (vidi deo na ladder dijagramu definisanje redosleda kretanja) setuje pomoćni bit na adresi 25.01, koji pomera za jedno mesto polo žaj u registru H0 (vidi stranu 12, PLC registri). Svaki položaj u tom registru (od H0.0 do H0.8) predstavlja jedan segment kretanja krana (zajedno sa zadr žavanjem u posudi za odmašćivanje). Registar H0 se resetuje kada se stigne od polo žaja H0.9 ili kada se pritisne taster reset. Između instrukcija IL (InterLock) i ILC (InterLock Clear) nalazi se grupa instrukcija koje setuju bitove za pokretanje motora gore, dole, levo i desno. U toj grupi je i tajmer koji definiše vreme (20 sekundi) za koje se deo odmašćuje. Zujalica se aktivira kada se deo nalazi na desnoj strani u donjem položaju i signalizira operateru da preuzme odmašćeni deo.
48
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika Z.12 Re šenje zadatka br 10 (nastavak na slede ćoj strani)
49
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika Z.12 Re šenje zadatka br 10
50
Vladimir D. Đorđević
Programabilni logički kontroleri
5. Simulacija rada programabilnog OMRON CS1G-CPU42
logičkog
kontrolera
Kako je već rečeno, jedan od programa za izradu ladder dijagrama za OMRON-ove PLC-ove je CX-Programmer. Za svrhu otklanjanja grešaka u napisanim ladder dijagramima proces simulacije rada je nezaobilazan. Za tu svrhu se koristi program CX-Simulator. Zapravo u sprezi CX-Programera i CX-Simulatora, simulira se rad PLC-a. CX-Simulator doslovce imitira pravi, hardverski PLC; ovaj program na računaru pravi virtuelni PLC u koji se može učitati napisani ladder dijagram u CXProgrammeru. Na sledećih nekoliko strana će biti opisan način povezivanja ova dva programa i simulacija upravljanja PLC-om. Ako je instaliran po default-u, program se poziva pritiskom na: Start->Programs->Omron->CX-Simulator ->CX-Simulator Na sredini ekrana pojaviće se prozor Select PLC sa opcijama Create New PLC (PLC Setup Wizard) i Open existing PLC . Potrebno je izabrati Create New PLC , zatim taster OK. (Pri sledećoj simulaciji, ako se radi o istom PLC-u, biće moguće učitati već oformljen PLC opcijom Open existing PLC). Sledeći otvoreni prozor je PLC Data Folder Settings. Radi se zapravo o izboru foldera u koji će biti zapisani svi potrebne datoteke za emulaciju PLC-a. Po defaultu CXSimulator nudi putanju foldera C:\PROGRAM FILES\OMRON\CX-SIMULATOR. U produžetku iste putanje se može dopisati, ali nije neophodno, ime nekog drugog foldera. Pritisnuti taster Next. Sada je otvoren prozor za izbor tipa PLC-a – Select PLC Type. CX-Simulator nudi simupaciju rada dva tipa OMRON kontrolera: CS1G i CS1H. Potrebno je izabrati neki od kontrolera liste, u našem slučaju, prvi, CS1G-CPU42 i pritisnuti Next. Na novootvorenom prozoru Register PLC Unit pritisnite taster Next. Isto učnite i sa sledeća dva prozora Network Communication Settings i Serial Communication Settigns (Next). Sada je PLC u potpunosti definisan i u prozoru Contents List pritisnite taster Finish. Na ekranu će se pojaviti tri prozora koja pripadaju programu CX-Simulator. To su: CX-Simulator Debug Console, Status Settings i Work CX-Simulator. U prozoru Work CX-Simulator pritisnite taster Connect i u belom delu ovog prozora pojaviće se plava slova (vidi sliku S.1). Vrednosti ispisane plavim slovima: Network Adderss, Node Address i Unit Address se kasnije upisuju u programu CX-Porgrammer!
51
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika S.1 Izgled programa CX-Simulator
Sada je potrebno pokrenuti CX-Programmer. Ako je instaliran po default-u, program se poziva pritiskom na Start->Programs->Omron->CX-Programmer ->CX-Programmer. Učitajte ladder dijagram koji želite testirati CX-Simulatorom. U desnom delu programa CX-Programmer (Project ) na NEWPLC1(CS1G) Offline pritisnite dvaput levim tasterom miša i otvoriće se prozor Change PLC . Tu možete promeniti Device Name. Za Device Type neophodno je izabrati CSG1. Pored drop down menija za izbor Device Type-a nalazi se taster Settings. Pritisnite taster Settings i za CPU type izaberite CPU42. Pritskom na taster OK, vraćate se na prethodni prozor. Za Network Type izaberite Controler Link. Pritisnite taster Settings i za Fins destination address (Network address i Node Address) unesite vrednosti koje ste dobili u Work CX-Simulator prozoru (vrednosti napisane plavim slovima). Zatvorite oba prozora pritiskom na taster OK. Sada je potrebno konfigurisati Network. Iz menija CX-Programmera izaberite Tools pa Network Configuration Tools . Na ovaj način je pokrenut program CX-Net (vidi sliku S.2). U njegovom meniju izaberite Project, i u okviru njega New. Zadajte neko ime za projekt i pritisnite taster Save . U levom delu prozora programa CX-Net na listi Project Devices pisaće ime vašeg programa (npr. novi.cdm, vidi sliku S.2). Opet izaberite meni Project i u okviru njega Add device. Tu birate iste karakteristike koje ste definisali za PLC u CX-Programmeru. Za Device Name upišite neko ime. Za Device Type neophodno je izabrati CSG1. Pored drop down menija za izbor Device Type-a nalazi se taster Settings. Pritisnite taster Settings i za CPU type izaberite CPU42. Pritskom na taster OK, vraćate se na prethodni prozor. Na levom delu prozora biće dodato ime za Device type koje ste dodali u prethodnom koraku. Kliknite levim tasterom miša na to ime i uspostaviće se veza između PC računara i PLC kontrolera (vidi sliku S.2).
52
Vladimir D. Đorđević
Programabilni logički kontroleri
Slika S.2 Network Configuration – Spajanje PC ra čunara i PLC-a
Tek kada desnim tasterom miša kliknete na sličicu PC računara i izaberete PLC Device->Open otvoriće se komunikacija između PC-ja i virtuelnog PLC-a. Linija koja spaja PC i PLC treba da bude zelena. U programu CX-Programmer iz menija PLC izaberite Work Online i kada program pita da li želite da se povežete sa PLC-om pritisnite taster Yes. Prozor u kome se nalazi ladder dijagram postao je siv. Sada treba preći u CX-Simulator i u prozoru CX-Simulator Debug Console pritisnuti taster Play 4. Na taj način se u CX-Simulatoru prelazi iz Program moda u Monitor mod. U programu CX-Programmer iz menija PLC izaberite Transfer, i u okviru njega Transfer to PLC . Na ovaj način se uploaduje program u virtuelni PLC. Treba naglasiti da ne postoji razlika izmeću uploadovanja programa u virtuelni ili realni PLC. Kada se otvori prozor Download Options, pritisnite taster OK. Ako je download na PLC uspešno obavljen program će vas izvestiti, potvrdite sa OK. Na kraju, u programu iz menija PLC izaberite Monitor i u okviru njega Monitoring . Sada je CX-Programmer sa željenim programom spojen sa CX-Simulatorom i simulacija rada PLC-a sa tim ladder dijagramom je spremna. U CX-Programeru u delu gde se nalazi ladder dijagram može se pratiti u kom delu kola postoji kontrolni signal, tj. koji su bitovi setovani a koji ne. Svaki ulaz se mo že setovati pritiskom desnog dugmeta miša na njega i izbora Set->On ili za resetovanje ulaza Set->Off.
53