16
PLC (Programmable Logic Controllers) Blok šema tipičnih komponenti od kojih je sačinjen PLC se nalazi na sledećoj slici. Treba obratiti posebnu pažnju na ulaze i izlaze jer se u tim blokovima nalaze i zaštite neophodne za iolovanje PLC bloka od štetnih uticaja koje industrijsko okruženje može preko ulaznih linija preneti na PLC. CPU (Centralna Procesorska Jedinica) Uloge CPU-a kod PLC-a: - mozak PLC-a - 16 bitni ili 32 bitni mikrokontroler (nekada 8- bitni) - kontrola komunikacije - kontrola o međusobnoj povezanosti ostalih delova PLC-a - izvršavanje programa - upravljanje memorijom - nadgledanjem ulaza - postavljanjem izlaza 1

elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

Embed Size (px)

Citation preview

Page 1: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

PLC (Programmable Logic Controllers)

Blok šema tipičnih komponenti od kojih je sačinjen PLC se nalazi na sledećoj slici. Treba obratiti posebnu pažnju na ulaze i izlaze jer se u tim blokovima nalaze i zaštite neophodne za iolovanje PLC bloka od štetnih uticaja koje industrijsko okruženje može preko ulaznih linija preneti na PLC.

CPU (Centralna Procesorska Jedinica)

Uloge CPU-a kod PLC-a:- mozak PLC-a- 16 bitni ili 32 bitni mikrokontroler (nekada 8-bitni)- kontrola komunikacije- kontrola o međusobnoj povezanosti ostalih delova PLC-a- izvršavanje programa- upravljanje memorijom- nadgledanjem ulaza- postavljanjem izlaza

1

Page 2: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

MEMORIJAKod PLC-a memorija je definisana u dve grupe. To su:

- Sistemska mamorijao implementirana u FLASH tehnologijio koristi se za operativni sistemo u njoj se skladišti i korisnički program (u binarnom obliku)o moguće je brisanje samo korisničkog programao nekada se koristila EPROM memorija

- Korisnička memorijao podeljena na blokove od kojih svaki ima posebne funkcije

čuvanje stanja ulaza i izlaza; svaki ulaz i izlaz iam jedan odgovarajući bit u memoriji

čuvanje sadržaja promenljivih (za korisnički program; vrednost tajmera, brojača i td.)

NAPAJANJEVećina PLC kontrolera radi na 24VDC ili 220VDC. Napajanje može biti i kao

odvojeni modul ili direktno implementirano na PLC-u. Razližite vrste modula troše različite količine struje.

Korisnik mora da obezbedi odvojena napajanja za pokretanja ulaza i izlaza PLC-a jer se time osigurava takozvano “čisto” napajanje, gde okolina ne može štetno uticati na rad PLC-a.

ULAZI KOD PLC-A- tasteri, prekidači, tastature- senzori (blizine, fotoelektrični senzori, senzori nivoa, pritiska, itd.)- drugi uređaji (plc, robot, i td.)

Ulazni signali mogu biti on/off ili analogni. Analogni signali su najčešće strujni od 4 do 20 mA ili milivoltni naponski signal. Između ulaznih linija i CPU-a se postavlja prilagodni stepen koji se češće naziva “interfejs” i njegova uloga je da štiti CPU od nesrazmrnih signala iz spoljnog sveta. Svaki naponski signal stvarne logike (dobijen pritiskon na taster ili od senzra) pretvara se u nivo logike koji odgovara CPU jedinici (napon od 5 VDC; većina CPU-a rade na 5 VDC pa sammim tim i njihova logika) .

2

Page 3: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

Na slici je prikazan tipičan primer odvajanja putem opto-izolacije. To znači da nema električne veze između spoljnog sveta i CPU-a, oni su odvojeni optički i signal se prenosi svetlošću.

IZLAZI KOD PLC-A

Izlazni interfejs je sličan ulaznom. Na slici, ispod, prikazan je tipičan izgled jednog izlaznog interfejsa.

LINIJE ZA PROŠIRENJE

Svaki PLC ima ograničen broj ulazno/izlaznih linija (u daljem tekstu I/O linije, skraćeno od engleske reči input/output). Broj I/O linija može se proširiti određenim modulima preko linija za proširenje.

OSNOVE RADA PLC-A

Osnova rada PLC-a je kontinualno skeniranje programa. Ovo možemo posmatrati kao scan-ciklus koji se sastoji od tri važna koraka:

- Provera statusa ulaza - Na prvom mestu. PLC proverava svaki od inputa sa namerom da utvrdi koji od njih ima status ON, odnosno OFF.

- Izvršenje programa - Na ovom mestu PLC izvršava program koji smo mu zadali, instrukciju po instrukciju.

- Provera i ispravka statusa izlaza - Konačno PLC proverava status izlaza i po potrebi ga menja.

Vreme skeniranja je definisano vremenom potrebnim da se izvrše tri opisana koraka, i nekada je veoma važna karakteristika programa.

3

Page 4: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

LEDER DIJAGRAM

Programski jezik Leder dijagram (Ladder Diagram) praktično predstavlja lestvičasti (relejni) dijagram u kojem je na grafički način prikazan tok struje u električnim kolima sa elektromehaničkim relejima. Stanja kontakta u ovakvim kolima zavise od vrednosti logičkih promenljivih (0 ili 1) koje su definisane u programu.

Ako posmatramo izlaze PLC-a, normalno otvoren izlaz bi predstavljao kontakte releja koji će po dovođenju signala izvršiti spoj (provode struju). Kod normalno zatvorenog izlaza imaćemo obrnutu situaciju: po dovođenju signala kontakti releja će prekinuti spoj.

Isto tako pojmovi normalno otvoren i normalno zatvoren odnose se i na ulaze PLC-a: normalno otvoren ulaz provodi signal samo kada je kontakt aktiviran (na 1) a normalno zatvoren provodi singal samo kada nije aktiviran (kada je na 0). Vidi sledeću sliku.

Leva vertikalna linija-bus bar(+)

Desna vertikalna linija (-)

Rang

4

Page 5: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

LEDER DIJAGRAM INSTRUKCIJE

LOAD i LOAD NOTPrvi uslov kojim počinje bilo koji logički blok unutar relejnog dijagrama

odgovara instrukcijama LOAD ili LOAD NOT. Obe instrukcije zahtevaju po jednu liniju u mnemoničkom kodu. Sa desne strane linija instrukcije može se koristiti bilo koja izvršna (right-hand) instrukcija.

Kada je jedan od ovih uslova jedini uslov u liniji instrukcije, uslov izvršenja instrukcije na desnoj strani je ON kada je status kontakta ON. Za LOAD instrukciju (normalno otvoreni kontakt), naredna instrukcija biće inzvršena kada je vrednost bita 0.00 ON; a za LOAD NOT instrukciju (normalno zatvoreni kontakt), kada je bit 0.01 u stanju OFF.

Ograničenja: nema ograničenja sem da se koristi kao prva instrukcija od leve ka desnoj stani.

AND I AND NOT

Kada se dva ili više uslova nalaze redno povezani na jednoj liniji instrukcije, prvom od njih odgovara instrukcija LOAD ili LOAD NOT, dok ostali pretstavljaju instrukcije AND ili AND NOT. Sledeći primer prikazuje tri uslova kojima redom odgovaraju instrukcije LOAD, AND i AND NOT.

Instrukcija na desnoj strani biće izvršena odnosno bit 10.00 biće u stanju ON samo kada su sva tri uslova koja se nalaze na liniji ispunjena, odnosno kada su sva tri kontakta u stanju ON. U ovom slučaju to će se desiti kada je bit 0.00 u stanju ON, bit 0.01 u stanju ON i bit 0.02 ON.Ograničenja: nema ograničenja

Normalno zatvoren ulazNormalno zatvoren ulaz Normalno otvoren izlazNormalno otvoren izlaz

Normalno Normalno otvoren ulazotvoren ulaz

Normalno Normalno zatvoren izlazzatvoren izlaz

LOAD instrukcijaLOAD instrukcija

LOAD NOT instrukcijaLOAD NOT instrukcija

5

Page 6: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

OR i OR NOT

Kada se dva ili više uslova nalaze na odvojenim linijama, koje su postavljene paralelno, i koje se u jednom trenutku spajaju, prvom uslovu odgovara LOAD ili LOAD NOT instrukcija; ostali uslovi definišu OR ili OR NOT instrukcije. Sledeći primer segmenta relejnog dijagrama pokazuje tri uslova kojima odgovaraju instrukcije LOAD, OR i OR NOT.

Instrukcija na desnoj strani biće izvršena odnosno bit 10.00 biće u stanju ON samo kada je najmanje jedan od ova tri uslova ispunjen, odnosno ako neki od bitova ima sledeće vrednosti: 0.00 treba da bude ON, 0.01 ON, ili bit 0.02 ON.Ograničenja: nema ograničenja

OUTPUT I OUTPUT NOT

Najjednostavniji način za dobijanje rezultata kombinovanja izvršnih uslova jeste njihovo direktno povezivanje sa instrukcijama OUTPUT i OUTPUT NOT. Kada se koristi instrukcija OUTPUT, njoj dodeljen bit će biti uključen ako je uslov izvršenja u stanju ON, i obrnuto, imaće status OFF kada je status uslova izvršenja OFF. Instrukcija OUTPUT NOT dovodi do suprotnog rezultata, odnosno bit definisan uz nju imaće status OFF kada je izvršni uslov ispunjen, odnosno uzeće vrednost ON kada je status uslova izvršenja OFF. Prethodno opisano prikazano je na sledećem primeru:

6

Page 7: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

SET i RESET

U primeru na slici, bit 10.00 imaće status ON dok god je bit 0.00 u stanju ON, dok će bit 10.01 biti u stanju OFF kada je status bita 0.01 ON.Ovu instrukciju nije moguće koristiti za dodeljivanje stanja OFF ili ON za više od jednog bita. U slučaju da postoji potreba za dodeljivanje vrednosti svim bitovima jedne reči uz neki uslov to je moguće uraditi samo bit po bit.Ograničenja: treba paziti da se instrukcije ne preklapaju po pitanju bita koji se kontroliše.

Instrukcija menja stanje bita na kome se primenjuje u ON (instrukcija SET) ili u OFF (instrukcija RESET) kada je uslov izvršenja ON. U slučaju kada je uslov OFF, stanje bita se ne menja (za razliku od prethodne instrukcije).U primeru na slici kada je bit 0.00 u stanju ON bit 10.00 biće upostavljen u stanje ON a bit 10.01 u stanje OFF i njihovo stanje se neće promeniti kada bit 0.00 dodje u stanje OFF.Ograničenja: nema ograničenja.

KEEP

Instrukcija se koristi za održavanje statusa bita na koga se primenjuje na osnovu dva ulaza. Prvi ulaz menja staje bita u ON kad god je ispunjen uslov iz te linije a drugi u OFF kad je ispunjen uslov iz druge linje instrukcije. Stanje bita se ne menja sve dok se ne promeni neki od ta dva ulaza.

U primeru na slici, kada se stanje bira 0.00 promeni u ON stanje bita 10.00 se menja u ON i ostaje takvo sve dok se stanje bira 0.01 ne promeni u OFF, kada se stanje bita 10.00 menja u OFF i ostaje takvo sve dok se stanje bita 0.00 ponovo ne promeni u ON itd.

7

Page 8: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

DIFU i DIFD

Uzlazna (DIFFERENTIATE UP) i silazna (DIFFERENTIATE DOWN) instrukcija menjaju stanje bita u trajanju od jednog ciklusa kada se ispuni uslov koji joj prethodi. U primeru koji sledi, kada se stanje bita 0.00 promeni u ON stanje bita 200.00 se menja u ON u trajanju od jednog ciklusa. Kada se stanje bita 0.01 promeni u ON stanje bira 200.01 se menja u OFF u trajanju od jednok ciklusa.

TIM

Tajmeri su složene instrukcije koje imaju zadatak da vremenski odvoje dve programske akcije. Promenom stanja uslova u ON tajmer počinje da odbrojava u koracima od 0.1s od postavljene vrednosti do nule ali samo dok je uslov na ON. Vrednost data u srednjem delu bloka naziva se TC broj (Timer Counter Number). Svaki TC broj može biti korišten za definisanje jednog brojača ili tajmera. Njegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan je za prikazivanje početne vrednosti tajmera. Reč koja ima ovu ulogu može pripadati sektorima IO, HR, AR, LR, DM a može biti zadata i kao konstanta, kada može imati vrednosti iz opsega 000.0 do 999.9. Najčešći i najjednostavniji način primene tajmera podrazumeva da je na ovom mestu definisana veličina koja ima prirodu konstante (ukoliko se početna vrednost tajmera zadaje kao konstanta potrebno je ispred nje staviti znak #)

8

Page 9: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

CNT

Brojač dekrementira zadatu vrednost na svakom ON stanju uslova na CP liniji (CP – Counter Pulse). Svaki put kada se stanje na CP liniji promeni iz OFF u ON vrednost zadate vrednosti brojača se umanji za jedan. Ispunjenje uslova na R (reset) liniji postavlja brojač na početnu vrednost.

MOVE

Polazna reč (Source Word) označava reč čiji je sadržaj potrebno premestiti na neku drugu lokaciju. Lokacija na koju sadržaj premeštamo određena je rečju destinacije (Destination). Polazna reč može biti bilo koja reč iz sektora IO, HR, AR, LR, DM, CNT, TIM (CJ1M: IO, H, W, A, D, C, T) ili je konstanta, kada ispred četvorocifrenog broja koji definiše njenu vrednost, stoji simbol # (za BCD) ili & (za decimalnu vrednost). Reč destinacije može biti definisana kao reč iz sektora IO, HR, AR, LR, DM (CJ1M: IO, H, W, A, D, C, T).

Kada je ispunjen uslov instrukcija MOV(21) sa slike kopira sadržaj reči DM100 u reč DM200.

BLOCK TRANSFER

Instrukcija XFER(71) kopira sadržaj jednog memorijskog bloka (jedna ili više reči u nekoj memorijskoj zoni) u drugi.Prvi parametar ove instrukcije predstavlja broj reči memorijskog bloka koji se kopira (Number of words). Drugi parametar je adresa prve reči memorijskog bloka koji se kopira (First source word) a poslednji parametar je adresa prve reči memorijskog bloka u koji se podaci kopiraju (First destionation word). Memorijski blok koji se kopira može biti iz memorijskih zona IO, HR, AR, LR, DM, CNT, TIM (CJ1M: IO, H, W, A, D, C, T). Memorijski blok u koji se kopiraju podaci može biti iz memorijskih zona IO, HR, AR, LR, DM, CNT, TIM (CJ1M: IO, H, W, A, D, C, T).

9

Page 10: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

U ovom primeru kopira se deset (#10) reči počev od reči sa adresom DM100 (dakle od DM100 do DM109) u memorijski blok koji počinje sa reči DM200 (dakle od DM200 do DM209).

COMPARE

CPM1A i CJ1M: Instrukcija CMP(20) poredi dve reči po ispunjenju uslova koji joj prethodi.Izlaz, nakon poređenja u ovom slučaju reči DM100 i DM200, može biti:

- jednako, pri čemu se stanje bita P_EQ sa adresom 255.06 (CJ1M CF006) menja u ON

- DM100 je manje od DM200, pri čemu se stanje bita P_LT sa adresom 255.07 (CJ1M CF007) menja u ON

- DM100 je veće od DM200, pri čemu se stanje bita P_GT sa adresom 255.5 (CJ1M CF005) menja u ON

SHIFT REGISTER

Instrukcija SFT(10) koristi se za pomeranje sadržaja između početne i završne reči za po jedan bit u levo odn. prema bitovima veće težine. Prvi parametar je početna reč (Starting word) a drugi parametar je završna reč (End word) shift registra. Oba parametra mogu biti iz IO, AR, HR, LR memorijskih zona (CJ1M: IO, A, W, H).U primeru na slici pomeraju se svi biti u shift registru koji se sastoji iz reči HR0 i HR1 u levo odn. bit najveće težine u HR0 se pomera na mesto najmanje težine u reči HR1 a bit najveće težine u reči HR1 se nepovratno gubi a svi biti između se pomeraju za jedno mesto u smeru bitova veće težine. Ulaz I definiše da li se u shift registar ubacuje 0 ili 1. ako je stanje na I liniji ON onda se sa desna ubacuje 1 i obrnuto ali prema taktu koji se

10

Page 11: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

zadaje sa P linije. Ulaz P koristi se za zadavanje takta SFT(10) instrukciji. Promenom stanja na P liniji iz OFF u ON vrši se pomeranje bitova u levo za jedno mesto. Do novog pomeranja bitova dovodi tek nova promena stanja na P liniji iz OFF u ON. Stanje na liniji R može biti OFF kada se instrukcija normalno izvršava prema stanjima na I i P liniji, ili ON kada se svi bitovi unutar shift registra postavljaju na 0. Sve dok se na liniji R ne pojavi stanje OFF instrukcija se ne izvršava.

BCD ADD

Instrukcija ADD(30) koristi se za sabiranje dve BCD vrednosti. Prvi parametar (Augend word) ove instrukcije je prvi sabirak u operaciji sabiranja a drugi parametar (Addend word) je drugi sabirak. Oba ova parametra mogu biti iz memorijskih zona IO, HR, AR, LR, DM, CNT, TIM ili su konstanta, kada ispred četvorocifrenog broja koji definiše njihovu vrednost stoji simbol # (za BCD). Treći parametar (Result word) je adresa gde se smešta rezultat sabiranja. Ovaj parametar može biti iz memorijskih zona IO, HR, AR, LR, DM.U slučaju prekoračenja opsega (u DM300 staje najviše 9999 jer je u pitanju BCD format) na pr. 9999+9999=19998 aktivira se keri (Carry) fleg za signalizaciju da je došlo do prekoračenja. U ovom slučaju se u DM300 upisuje 9998 a da bi imali tačan rezultat sabiranja mora se napisati programski kod koji će 1 da upiše u DM301 koristeći keri fleg kao uslov. Tada je tačan rezultat u reči DM300 koja se posmatra kao DOUBLE.

BCD TO BINARY

Instrukcija BIN(23) vrši konverziju broja predstavljenog u BCD formatu u isti taj broj ali predstavljen u binarnom formatu. Prvi parametar ove instrukcije (Source word) predstavlja adresu reči čiji je sadržaj neki podatak u BCD formatu i koji treba da se predstavi u binarnom formatu. Drugi parametar

11

Page 12: elenergetike.files.wordpress.com · Web viewNjegova vrednost može biti izabrana iz opsega 000 do 127 kod serije CPM1A i u opsegu 000 do 4095 kod serije CJ1M. Donji deo bloka rezervisan

(Result word) predstavlja adresu reči u koju se smešta rezultat ove operacije odn. podatak u binarnom formatu.

END INSTRUKCIJA

Instrukcija END(01) je obavezna instrukcija na kraju svakog programa. Bilo koja instrukcija napisana posle ove neće biti izvršena.

Podržava sve tipove OMRON-ovih PLC-ova.Neophodni uslovi za pokretanje instalacije CX-Programmer-a su Microsoft Windows 98 ili novije verzije tog operativnog sistema i personalni računar Pentium ili noviji.CX-Programmer nudi širok spektar pogodnosti za PLC programera u svim fazama rada kao što su: -kreiranje novog programa -čuvanje i editovanje programa -učitavanje programa u PLC i isčitavanje programa iz PLC-a -status programa tokom izvršenja -izmena progama u toku rada PLC-a (on-line edit) -promena moda rada PLC-a (Program, Monitor ili Run mod) -komentari unutar programa -simboličke adrese (svaka adresa ima svoje ime) -simblička imena sekcija (svaka sekcija programa ima svoje ime) -komentari (simbola, rangova, instrukcije u programu itd.) -štampanje programa i dokumentacije -konverzija fajlova iz drugih paketa

12