Professional Documents
Culture Documents
SRBIJANKA TURAJLIĆ
BEOGRAD, 2008
i
SADRŽAJ
U zavisnosti od broja modula, PLC može imati i više od jedne šasije. Svaka šasija ima
sopstveno napajanje, dok se procesorski modul nalazi samo u prvoj šasiji. Programabilini
logički kontroleri iz familije Allen Bradley SLC 500 Modular Controllers mogu imati najviše
tri šasije sa najviše 30 slotova. Pri tome, postoje šasije sa 4, 7, 10 i 13 slotova (Sl. 1-3).
Kao što se vidi, PLC se razlikuje od računarskog sistema opšte namene po tome
što nema spoljnu memoriju (diskove), kao i niz standardne ulazno/izlazne opreme. Pored
toga, njegov operativni sistem je jednostavniji i pruža komparativno manje mogućnosti od
računara opšte namene. Zapravo, PLC je koncipiran i projektovan za jedan relativno uzan
i jasno definisan obim poslova vezanih za nadzor i upravljanje pojedinim uređajima, što je
rezultovalo u njegovoj izuzetnoj efikasnosti i jednostavnosti. U izvesnom smislu, područje
primene PLC-a isto je kao i za specijalizovane mikroračunarske kontrolere ili signal
procesore. Ključna razlika leži u činjenici da korišćenje PLC-a ne zahteva od korisnika
gotovo nikakvo predznanje o arhitekturi mikroračunarskih sistema i programiranju. Drugim
rečima, korisnik PLC-a je u najvećoj mogućoj meri oslobođen rešavanja različitih
problema vezanih za čisto računarski aspekt, kao što su promena ili dodavanje U/I
jedinica, vezivanje u računarsku
mrežu, razema podataka i sl. i može
da se u punoj meri koncentriše na
projektovanje same aplikacije.
Može se slobodno reči da se
PLC od svih drugih računarskih
uredjaja slične namene razlikuje po
svom operativnom sistemu, koji je
skrojen tačno za određenu vrstu
primene. Naime, predpostavlja se
SL. 1-3 ALLEN BRADLEY SLC 500 KONTROLERI da će u svojoj osnovnoj formi,
PLC biti korišćen za realizaciju
izvesnih funkcija koje periodično preslikavaju signale sa merne opreme u signale koji se
prenose na aktuatore. Otuda se od PLC-a očekuje da periodično očitava (unosi) signale
sa senzora, izvršava određen broj aritmetičko-logičkih operacija (u skladu sa zadanom
funkcijom) čiji rezultati se prenose na izvršne organe ili neke druge indikatorske uređaje.
Pored toga, sa istom ili nekom drugom učestanošću, PLC treba da održava komunikaciju
(razmenjuje podatke) sa nekim drugim računarskim sistemima u mreži. Polazeći od ovog
zahteva, operativni sistem PLC-a projektovan je tako da, u toku rada sistema, automatski
obezbedi ciklično ponavljanje navedenih aktivnosti (Sken ciklus) kao što je to ilustrovano
na Sl. 1-4.
Sken ciklus započinje sa ulaznim skenom u
okviru koga PLC očitava sadržaj ulaznih linija
(registara ulaznih modula). Očitani podaci se
prenose u odredjeno područje memorije – slika
ulaza. Zatim se aktivira programski sken u okviru
koga procesor izvršava programske naredbe kojima
su definisane odgovarajuće aritmetičko-logičke
funkcije. Podaci (operandi) koji se koriste u
programskim naredbama uzimaju se iz memorije i to
iz područja označenog kao slika ulaza (ako su
2. ms k i operandi ulazni podaci) ili iz područja gde se
r a smeštaju interne promenljive. Rezultati obrade se
og en
pr sk smeštaju u posebno područje memorije – slika
izlaza. Ovde je važno da se istakne da se pri
izvršavanju programskih naredbi ne uzimaju podaci
disrektno sa ulaznih modula, niti se rezultati direktno
SL. 1-4 SKEN CIKLUS PLC-A iznose na izlazne module, već program
razmenjuje podatke isljučivo sa memorijom (Sl.
1-5) . Po zvršetku programskog skena, operativni sistem PLC-a aktivira izlazni sken u
PLC_uvod/3
izlazni moduli
sa uređajima koji su povezani
sa PLC-om. Nakon toga,
operativni sistem dovodi PLC
u fazu održavanja u okviru
koje se ažuriraju interni
časovnici i registri, obavlja
upravljanje memorijom kao i
niz drugih poslova vezanih za
održavanje sistema, o kojima
korisnik i ne mora da bude informisan. U zavisnosti od tipa procesora ulazni i izlazni sken
SL. 1-5 RAZMENA PODATAKA ZA VREME SKEN CIKLUSA ciklus izvršavaju se u vremenu
reda mili sekundi (od 0.25 ms
do 2,56 ms). Trajanje programskog skena, svakako zavisi od veličine programa. Osnovni
sken ciklus može biti modifikovan pomoću zahteva za prekid ili nekih drugih specijalnih
programskih naredbi o kojima će kasnije biti više reči.
Gledano potpuno opšte, od korisnika PLC-a se očekuje da, u zavisnosti od
aplikacije koju namerava da razvije, izvrši izbor ulaznih, izlaznih komunikacionih i
specijalnih modula, dakle da odabere strukturu PLC-a i da formira program obrade
podataka. Sve ostale aktivnosti obavljaće i nadzirati operativni sistem PLC-a.
pomoću njegovog relativnog položaja u odnosu na početak datoteke (nulti, prvi, drugi, …
element).
DUŽINE ELEMENATA U POJEDINIM DATOTEKAMA DATE SU U TABELI T. 1-2 VELIČINE ELEMENATA POJEDINIH
DATOTEKA
. Potrebno je da se istakne da se teorijski u svakoj datoteci mogu adresirati i
elemenat u celini i njegove reči i bitovi. U tabeli su, međutim, navedene samo one adrese
koje sa aspekta vrste podatka i načina organizacije datoteke imaju smisla. Podrazumeva
se pri tome da je:
adresirani bit 0 ≤ b ≤ 15
adersirni element 0 ≤ e ≤ 255
MOŽE SE UOČITI DA SU IZ TABELEI T. 1-2 VELIČINE ELEMENATA POJEDINIH DATOTEKA
izostavljene ulazne i izlazne datoteke (I i O). Ovo je učinjeno zato što one donekle
odstupaju od navedenog pravila. Naime, kao što će se kasnije videti, kod ovih datoteka
elementi mogu biti dužine od jedne ili dve reči, što zavisi od tipa U/I modula. Element ovih
datoteka je zapravo određen slotom u šasiji u koji se modul postavlja.
TIP DUŽINA
ADRESIRA SE
DATOTEKE ELEMENTA
bit “b” - Xf:e/b ;
B, N, A 1 reč
element “e“ – Xf:e
F 2 reči element “e“ – Xf:e
bit “b” u reči 0– Xf:e.0/b ; (indikatori stanja su bitovi reči 0)
T, C, R 3 reči
reč “w“ – Xf:e.w ; w = {1,2}, promenljive su u rečima 1 ili 2
bit “b” u reči “w”– Xf:e.w/b
St 42 reči reč “w“ - “ – Xf:e.w ; 0 ≤ w ≤ 41
element “e” – Xf:e
prostor. Redni brojevi ovih datoteka poređani su u rastućem nizu, ali ne moraju da čine
kontinualni niz.
Operativni sistem kontrolera dozvoljava da se datoteke podataka kreiraju i
direktno, a ne preko naredbi u kojima se navode adrese operanada. U tu svrhu koristi se
posebna procedura memory map function, koja omogućuje da se rezerviše odgovarajući
prostor i u njega direktno upišu podaci. Ista procedura omogućava i da se obriše grupa
elemenata u nekoj definisanoj datoteci ili cela datoteka, naravno samo uz uslov da se ne
koriste u programu.
BAZNOJ ADRESI. IZUZETNO, KOD DATOTEKA TIPA STRING, POMERAJ SE IZRAŽAVA U REČIMA. TIPOVI
PROMENLJIVIH KOJE SE MOGU INDEKSNO ADRESIRATI, KAO I ZNAČENJE ODGOVARAJUĆEG POMERAJA DATI
SU U TABELI T. 1-5 INDEKSNO ADRESIRANJE
.
AKO SE BAZNA PROMENLJIVA
TIP DATOTEKE POMERAJ (S:24)
INDEKSNA ADRESA NALAZI U RAM-U NA ADRESI 200, I
(PROMENLJIVE) IZRAŽEN U
S:24=6 ADRESA PROMENLJIVE JE
O-output; I-input;
#O:e ; #I:e ; #Bf:e elementima (1 reč) 206
B-bit
N-integer #Nf:e elementima (1 reč) 206
F-floating point #Ff:e elementima (2 reči) 212 i 213
St-string #Stf:e.w rečima 206
T-timer; C-counter #Tf:e.ACC ; #Tf:e.PRE
elementima (3 reči) 219 ; 220 (2. i 3. reč elementa)
(ACC i PRE) #Cf:e.ACC ; #Cf:e.PRE
R-control (LEN i
#Rf:e.LEN ; #Rf:e.POS elementima (3 reči) 219 : 220 (2. i 3. reč elementa)
POS)
T. 1-5 INDEKSNO ADRESIRANJE
Potrebno je obratiti pažnju na činjenicu da se
za sve različite indeksne adrese koje se žele koristiti,
N7:0
pomeraj mora nalaziti u istoj reči (S:24). Isto tako,
N7:1 -3 neke naredbe prilikom izvođenja, koriste tu reč i
uništavaju njen prethodni sadržaj. Otuda je neobično
N7:2
važno da se pre korišćenja indeksne adrese obezbedi
dozvoljeni pomeraj
N7:3 bez prekoračenja da se u lokaciji S:24 nađe odgovarajući, željeni
N7:4
granica pomeraj. Konačno, napomenimo da se prilikom
servisiranja prekida, sadržaj lokacije S:24 čuva.
N7:5 U skladu sa onim što je rečeno o načinu
+4
N7:6
kreiranja datoteka, treba uočiti da indeksno
adresiranje može da prouzrokuje izvesne probleme.
N7:7 Naime, veličina datoteke određena je najvećom
F8:0.0 adresom koja se neposredno navodi u programu, i pri
tome nema načina da se u toku prevođenja programa
F8:0.1 pomeraj = +10 ustanovi da li će sve indeksne adrese biti unutar
prekoračena
F8:1.0 granica zauzetog prostora. Drugim rečima, postoji opasnost
da pomeraj bude takav da indeksna adresa premaši
F8:1.1
najveću adresu koja je eksplicitno navedena u
F8:2.0 programu, što bi prouzrokovali prekoračenje donje ili
gornje granice datoteke (Sl. 1-8). Da bi se ovo izbeglo,
F8:2.1
neophodno je da se pri kreiranju datoteke definiše
F8:3.0 najveća adresa do koje indeksno adresiranje može da
F8:3.1
dosegne. Isto tako, preveliki negativni pomeraj mogao
bi da dovede do prekoračenja donje granice datoteke.
Prekoraćenje granica datoteke samo po sebi
SL. 1-8 INDEKSNA ADRESA #N7:3
ne mora da ima negativne posledice, sve dotle dok je
korisnik svestan da do toga može da dođe i vodi računa o tipu susednih datoteka. U tom
smislu korisnuku se pruža mogućnost da izabere da li želi da dozvoli ili zabrani
prekoraćenje granica. Ukoliko je prekoračenje zabranjeno, a do njega dođe u toku
izvođenja programa, signaliziraće se greška.
Napomenimo i da je prekoračenje granica dozvoljeno kod kontrolera SLC 5/02
samo ako se indeksno adresiranje ne koristi u datotekama tipa: O, I ili S. Isto tako,
prekoračenje granica nije dozvoljeno kod kontrolera SLC 5/03 i viših ukoliko se indeksno
adresiranje koristi u datotekama tipa St.
PLC_uvod/10
1. Za vreme izlaznog dela sken ciklusa ova vrednost se očitava, konvertuje u odgovarajući
signal i prenosi na izlazni pin čija adresa odgovara mestu u datoteci na kome se nalazi
posmatrani bit.
Svakom modulu koji nema više od 16 pinova pridružuje se po jedna 16-bitna reč u
datoteci 0 odnosno 1. Ako modul ima manje od 16 pinova, onda se ne koriste svi bitovi u
pridruženoj reči. Ako modul im 32 pina, njemu se pridružuju dve susedne 16-bitne reči. Pri
tome, redni broj reči koja će biti pridružena modulu zavisi od slota u kome se modul
nalazi. Format adresiranja prikazan je na Sl. 1-10.
.
SLOT - DATOTEKA 0 – IZLAZ
U/I tip ADRESA REČI ADRESE BITOVA BITOVI
(pinovi) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 - OUT O:1/0 …
O:1 NE KORISTI SE
(0-5) O:1/5
3 - OUT O:3/0 …
O:3
(0-15) O:3/15
4 – OUT O:4/0 …
O:4 NE KORISTI SE
(0-7) O:4/7
5 – OUT O:5/0 …
O:5
(0-15) O:5/15
5 – OUT O:5.1/0 ...
O:5.1
(16-32) O:5.1/15
9 – OUT O:9/0 …
O:9
(0-15) O:9/15
10 – OUT O:10/0 …
O:10
(0-15) O:10/15
adresa I:2 nalazi u memoriji na adresi 200, i ako je sadržaj indeks registra S:24=3, onda
će biti adresirana memorijska lokacija 203 na kojoj se prema T. 1-8 nalazi element I:6.
Zapazimo da kada bi se pri istom zauzeću memorije i sadržaju indeks registra koristila
indeksna adresa #N:2, onda bi adresirani elemenat, na lokaciji 203, bio N:5.
SLOT - DATOTEKA 1 – ULAZ
ADRESA
U/I tip ADRESE BITOVA BITOVI
REČI
(pinovi) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 - IN I:1/0 …
I:1 NE KORISTI SE
(0-5) I:1/5
2 - IN I:2/0 …
I:2
(0-15) I:2/15
2 – IN I:2.1/0 …
I:2.1
(16-32) I:2.1/15
4 – IN I:4/0 …
I:4 NE KORISTI SE
(0-7) I:4/7
6 – IN I:6/0 …
I:6
(0-15) I:6/15
7 – IN I:7/0 …
I:7
(0-15) I:7/15
8 – IN I:8/0 …
NE KORISTI SE
(0-7) I:8 I:8/7
SL. 1-14 KOMBINOVANI ANALOGNI U/I MODUL vrednosti u PLC-u i analognih signala
koji predstavljaju ove vrednosti i koji
služe za upravljanje izvršnim organima.
U principu jedan modul se spreže sa
Redni broj
Redni broj reči više spoljnih uređaja, pri čemu se svaka
slota
(analognog kanala sprega posmatra kao jedan ulazni ili izlazni
0, 1, ...)
kanal. Moduli se međusobno razlikuju po broju
P : e . w i vrsti kanala. Neki moduli su samo ulazni ili
samo izlazni, a neki su kombinovani, što znači
da imaju i izlazne i ulazne linije.
Tip pina
O - izlaz (output)
Svaki modul se smešta u jedan slot na
I - ulaz (input) šasiji PLC-a (Sl. 1-14). Otuda se, sa gledišta
adresiranja, on tretira isto kao i digitalni modul,
s tim što je značenje pinova i broj bitova koji
SL. 1-15 ADRESIRANJE ANALOGNIH ULAZA I odgovaraju jednom pinu drugačiji. Drugim
IZLAZA rečima podaci koji se preko modula unose
PLC_uvod/15
u računar nalaziće se u određenim lokacijama datoteke ulaza (I), a podaci koji se iznose
iz računara, nalaziće se u datoteci izlaza (O). Broj reči koji odgovara jednom kanalu zavisi
od vrste samog modula. U principu se može smatrati da svakom ulaznom ili izlaznom
kanalu odgovara po jedna reč, tako da se adresa kanala formira u skladu sa rednim
brojem slota i rednim brojem kanala (Sl. 1-15). Sadržaj odgovarajućih memorijskih lokacija
u ovim datotekama menja se u toku ulaznog ili izlaznog sken ciklusa.
vezan za zajedničku masu na samom modulu. Način njihovog korišćenja zavisi od vrste
analognog davača sa koga se signal vodi na kanal. Ako davač ima dva, tri ili četiri izlaza
onda se može izvesti diferencijalna sprega davača i modula. Svakom davaču pridružuje
se zaseban izvor napajanja i svi kanali su međusobno odvojeni (Sl. 1-16). Za davače koji
imaju samo dva ili tri izlaza, može se izvesti veza sa jednim krajem, tako da se električno
kolo zatvara preko zajedničke tačke (mase) na samom modulu. U tom slučaju, dovoljan je
jedan izvor napajanja za više analognih kanala (Sl. 1-17). Potrebno je da se istakne da
diferencijalna sprega ima bolje karakteristike posebno kad se radi o potiskivanju smetnji
koje potiču od napajanja.
Anolgni ulazni kanali su, po pravilu, prilagođeni za standardizovane vrste signala
(strujne ili naponske) i to u opsezima koji se najčešće sreću kod različitih analognih
davača. Najčešće je modul tako podešen da se postavljanjem internih prekidača može
definisati da li će se kanal koristiti za strujni ili naponski signal. Tipični skup signala koji se
sreće kod analognih ulaza, zajedno sa njihovim celobrojnim prezentacijama kod 16-bitne
konverzije dat je u tabeli T. 1-9.
U skladu sa vrednostima iz tabele, očigledno je da se pretvaranje dobijenih
vrednosti u odgovarajuće električne veličine može izvršiti prema sledećim formulama
10
ULAZNI NAPON (V) = × CELOBROJNA DECIMALNA VREDNOST
32768
20
ULAZNA STRUJA (mA) = × CELOBROJNA DECIMALNA VREDNOST
16384
CELOBROJNA DECIMALNA
OPSEG NAPONA/STRUJE REPREZENTACIJA REZOLUCIJA
(DATOTEKA ULAZA)
-10V dc do +10V dc -32768 do +32767
0 do 10V dc 0 do 32767
305.176μV
0 do 5V dc 0 do 16384
1 do 5V dc 3277 do 16384
-20mA do +20mA -16384 do +16384
0 do 20mA 0 do 16384 1.2207μA
4 do 20mA 3277 do 16384
svakom izlaznom kanalu pridružuje po jedna memorijska reč. To nadalje znači da se svaki
izlazni kanal adresira pomoću adrese oblika O:e.w. Pri tome se za smeštanje podatka
koristi 14 levih bitova, tako da dva poslednja desna bita nisu u upotrebi.
Kao i analogni ulazi, i analogni izlazi se prave za standardizovane naponske i
strujne signale. Pri tome, za razliku od ulaznih modula, ovde je svaki kanal unapred
formiran za prenošenje ili naponskih ili strujnih signala. Tipičan skup signala i način
njihovog pretvaranja iz celobrojnih vrednosti u električne signale dat je u tabeli T. 1-10.
U skladu sa podacima iz tablice, vidi se da se konverzija vrednosti može izvršiti
prema sledećim relacijama
32768
CELOBROJNA DECIMALNA VREDNOST = × IZLAZNI NAPON (V)
10
32768
CELOBROJNA DECIMALNA VREDNOST = × izlazna struja (mA)
21
Pri tome je potrebno zapaziti da će se isti rezultat dobiti i ako se u gornjim relacijama
koristi konstanta 32764 umesto 32768. Naime, razlika u rezultatu ogledaće se samo u
poslednja dva bita, koja se ne koriste pri D/A konverziji.
CELOBROJNA DECIMALNA
OPSEG
REPEREZENTACIJA REZOLUCIJA
NAPONA/STRUJE
(DATOTEKA IZLAZA)
-32768 do +32764 -10V dc do +10V dc
0 do 32764 0 do 10V dc
1.2207mV
0 do 16384 0 do 5V dc
3277 do 16384 1 do 5V dc
0 do 32764 0 do 21mA
0 do 31208 0 do 20mA 2.56348μA
6242 do 31208 4 do 20mA
T. 1-10 OPSEG IZLAZNIH SIGNALA I KONVERZIJA CELOBROJNIH VREDNOSTI U ELEKTRIČNE VELIČINE
2. LEDER PROGRAMIRANJE
Nazivi ove dve naredbe potiču od ispitivanja binarnnih signala koji dolaze sa
prekidačkih kola. U tom smislu XIC naredba se odnosi na normalno otvoren prekidač (ima
vrednost 1 kada je prekidač pritisnut), dok se XIO naredba odnosi na normalno zatvoren
prekidač (ima vrednost 1 kada prekidač niej pritisnut – "ne a").
skenira, kod OTL naredbe vrednost bita se postavlja (lečuje) na 1 u prvom skenu u kome
je uslov istinit. Nakon toga ova naredba postaje neosetljiva na istinosnu vrednost uslova.
To znači da će vrednost bita ostati neizmenjena bez obzira na to kako se menja vrednost
uslova.
• OTU - Output unlatch (resetovanje izlaza)
OTU naredbom se adresovani bit može isključivo postaviti na 0. Pri tome, vrednost
bita se postavlja (lečuje) na 0 u prvom skenu u kome je uslov ispunjen. Nakon toga ova
naredba postaje neosetljiva na vrednost uslova.
Potrebno je da se istakne da se OTL i OUT naredba koriste uvek u paru, pri čemu
se u obe naredbe adresira isti bit.
bita, a ne njemu odgovarajućeg ulaznog signala. Otuda je u prvom sken ciklusu vrednost
ove naredbe 0 iako je ulazni signal već u stanju logičke jedinice. Međutim, budući da je on
promenio stanje tek posle prvog ulaznog skena, ta promena još uvek nije registrovana
postavljanjem njemu odgovarajućeg bita, koji je odgovaran za vrednost XIC naredbe. U
skladu sa tim, ne izvršava se OTE naredba, pa izlazni bit i njemu odgovarajuća izlazna
linija ostaju u stanju 0. Promena na ulazu dovodi do promene ulaznog bita tek u drugom
ulaznom sken ciklusu, tako da tek u drugom programskom ciklusu XIC naredba dobija
vrednost istinit. Kao rezultat ove vrednosti izvršava se OTE naredba i izlazni bit postavlja
na vrednost 1. U toku drugog izlaznog sken ciklusa ova vrednost prenosi se na izlaznu
liniju gde se generiše signal koji odgovara logičkoj jedinici.
Kašnjenje između trenutka u kome signal na ulaznoj liniji menja vrednost i trenutka
u kome se ta promena registruje postavljanjem odgovarajućeg bita, kao i kašnjenje
između trenutka u kome izlazni bit dobija neku vrednost i trenutka kada se ta vrednost
pojavi na izlaznoj liniji može se izbeći posebnim neposrednim naredbama, o kojima će
kasnije biti više reči.
2.2.5. PRIMERI
PR. 2-1 UPRAVLJANJE PALJENJEM SIJALICE
ZADATAK
Posmatra se električno kolo (Sl. 2-4) u kome
sijalica S svetli kada je zatvoren prekidač P1 i jedan od
prekidača P2 ili P3. Potrebno je da se ovo električno kolo
zameni sa PLC-om.
PROJEKTOVANJE SISTEMA
Da bi se postavljeni
zadatak rešio neophodno je kao
prvo da se ustanovi sa kojom
opremom se raspolaže i da se
odluči kako će se ona vezati za
PLC. Pretpostavimo da imamo tri
tastera od kojih su dva normalno
otvorena i jedan normalno
zatvoren i jedno električno kolo u
kome se nalazi sijalica koje se
zatvara pomoću releja.
Usvojićemo da normalno otvoreni
tasteri obavljaju funikciju
prekidača P1 i P3, dok će
SL. 2-5 SPREZANJE SENZORA I IZVRŠNOG ORGANA SA PLCOM normalno zatvoren taster obavljati
funkciju prekidača P2.
U skladu sa odabranim senzorima i izvršnim organom neophodno je da raspolažemo sa tri
digitalna ulaza i jednim digitalnim izlazom. Budući da imamo PLC koji u prvom slotu ima digitalni
U/I modul, možemo izvršiti vezivanje opreme. Po prirodi stvari vezaćemo tri tastera za ulazne
pinove 0, 1 i 2, dok će rele na izlazu biti vezano za izlazni pin 0. Shodno tome, adrese prekidača
P1, P2 i P3 su respektivno I:1/0, I:1/1 i I:1/2, dok je adresa sijalice O:1/0 (Sl. 2-5).
PROGRAMIRANJE
Kada je formirana šema vezivanja opreme za PLC, onda se pristupa pisanju leder
programa.
U cilju formiranja levog dela ranga treba uočiti da je uslov za paljenje sijalice da se
istovremeno pritisne taster P1 i jedan od tastera P2 ili P3. Budući da su tasteri P1 i P3 normalno
otvoreni, pritisak na njih dovodi do zatvaranja odgovarajućih prekidačkih kola, tako da se može
detektovati pomoću XIC naredbe, koja će dobiti vrednost istinit kada su vrednosti odgovarajućih
Plc_leder/26
bitova u datoteci ulaza (I:1/0 и I:1/2) postavljene na 1. Pritisak na taster P2 koji je normalno
zatvoren, dovodi do otvaranja njegovog prekidačkog kola, što znači da se može detektovati
pomoću XIO naredbe, koja će dobiti vrednost istinit kada je vrednost odgovarajućeg bita u datoteci
ulaza (I:1/1) postavljena na 0. Konačno, kako se nad tasterima 2 i 3 zahteva logička ILI opreacija,
to odgovarajuće naredbe moraju biti vezane paralelno. Ispunjenost uslova treba da obezbedi da se
na izlaznom pinu generiše naponski signal koji će da prouzrokuje paljenje sijalice. Ovaj zahtev se
može ostvariti OTE naredbom. U skladu sa time odgovarajući rang leder programa ima izgled kao
na Sl. 2-6.
SL. 2-7 LEDER PROGRAM KOJI TRAJNO POSTAVLJA IZLAZNI BIT ("PAMTI" AKO JE USLOV BIO ISPUNJEN)
Postavljeni zadatak može se rešiti tako što će se na neki način upamtiti da je uslov za
paljenje sijalice u nekom trenutku bio ispunjen. U tu svrhu može se na izlaznom delu ranga umesto
OTE naredbe postaviti OTL naredba koja će obezbediti trajno postavljanje (lečovanje) izlaza (Sl.
2-7).
Umesto korišćenjem naredbe OTL isti efekat se može postići i postupkom takozvanog
samodržanja kojim se zadržava vrednost izlazne promenljive i posle prestanka uslova za njeno
Plc_leder/27
aktiviranje. Naime, ako se u delu ranga koji predstavlja uslov doda još jedna paralelna grana sa
XIC naredbom u kojoj se ispituje upravo bit koji se postavlja kao izlaz tog ranga (Sl. 2-8) onda će,
čim se pritiskanjem tastera uslov prvi put ispuni, odgovarajući bit biti postavljen na 1, što znači da
će u sledećim sken ciklusima naredba u paralelnoj grani stalno imati vrednost istinit, pa se vrednost
izlaznog bita neće menjati sa promenom stanja tastera.
SL. 2-9 – LEDER PROGRAM SA TRAJNIM PAMĆENJEM USLOVA DO PTITISKA STOP TASTERA
Plc_leder/28
ZADATAK
Dat je sistem koji sadrži jedan jednosmerni solenoid (A) i dva dvosmerna (B i C). Potrebno
je realizovati sledeću sekvencu pomeranja klipova: A+ B+ C+ B- A- C- . Pri tome se predpostavlja
da su u početnom trenutku svi klipovi uvučeni. Granični prekidači koji indiciraju uvučenost klipa A i
B su normalno zatvoreni, dok su svi ostali granični prekidači normalno otvoreni. Sistem se pušta u
rad pomoću pritiska na taster i prestaje sa radom kada se jedanput izvrši zahtevana sekvenca.
REŠENJE
Jedno moguće rešenje postavljenog zadatkadata je na Sl. 2-12. Pri tome je
predpostavljeno da su granični prekidači vezani za PLC preko ulaznog modula koji se nalazi u slotu
3 (adrese I:3/b), dok se pobude solenoida dobijaju preko izlaznig linija modula u slotu 1 (adrese
O:1/b). Start taster je vezan preko nultog pina modula u slotu 1 (I:1/0).
Interne promenljive kreni (B3:0/0) i kraj (B3:0/2) koriste za otpočinjanje i završetak rada.
Interna promenljiva vrati A (B3:0/1) služi za deaktiviranje pobude klipa A, posle čega ga opruga
vraća u početni položaj.
Potrebno je da se obrati pažnja na činjenicu da se, da ne bi došlo do slučajnog pomeranja
klipova (izazvanog recimo nekim opterećenjem), oni u izvučenom položaju drže pod naponom, sve
dok ne dođe trenutak za njihovo uvlačenje. Budući da se stanje graničnih prekidača menja čima se
klip pomeri, da bi se obezbedio kontinuitet napajanja koristi se postupak samodržanja (rang 3 i 4).
Zapazimo, takođe, da se stanje prekidača koji indiciraju uvučen položaj klipa ne može
ispitivati samo po sebi. Naime ovi prekidači su pritisnuti u početnom stanju, pa je neophodno
utvrditi da je došlo do pokreta pre nego što su oni ponovo pritisnuti (rang 5, 6 i7).
EN bit. Drugim rečima, ovaj bit ima vrednost 1 onda kada je uslov istinit i to označava da
je rad časovnika omogućen (enable). Kada je uslov neistinit, EN bit ima vrednost 0, što
znači da je rad časovnika onemogućen. Međutim, činjenica da EN bit ima vrednost 1 ne
mora da znači da časovnik zaista i radi, jer je on mogao i da završi rad zbog isteka
zadanog vremena, a da pri tome uslov i nadalje ostane istinit. Rad časovnika indicira TT
bit. Naime, taj bit je postavljen na 1 za svo vreme za koje časovnik aktivno meri vreme
(timer timing), i postavlja se na 0 kada časovnik ne radi. Konačno, kada je vrednost DN
bita 1, onda to znači da je časovnik završio (done) svoj posao, tj. izmerio zadano vreme.
Pri tome, DN bit ne govori o tome kada je časovnik završio sa poslom, jer će on ostati na
vrednosti 1 sve dok uslov ne postane neistinit. Vremenski dijagram rada časovnika
ilustrovan je na Sl. 2-14.
Stanje časovnika se može restovati posebnom RES naredbom, o čemu će kasnije
biti više reči.
• Timer off -delay (TOF)
Ovom naredbom se definiše
druga vrsta časovnika i zauzimaju tri
reči koje čine elemenat broj e u
datoteci časovnika broj f. Prilikom
formiranja naredbe specificaraju se i
vremenska baza (tx) i zadana
vrednost (ns). Akumulirana vrednost (na)se automatski postavlja na 0.
TOF naredba započinje rad časovnika za vreme onog programskog sken ciklusa u
kome uslov u rangu u kome se naredba nalazi prvi put postaje neistinit (prelaz
istini/neistinit – silazna ivica). U svakom sledećem sken ciklusu, sve dok je uslov neistinit
časovnik vrši ažuriranje akumulirane vrednosti (ACC) u skladu sa proteklim vremenom
između dva ciklusa. Kada akumulirana vrednost dostigne zadanu vrednost, časovnik
prekida svoj rad. Pri tome, ako u nekom sken ciklusu uslov postane istinit, časovnik
prekida svoj rad i akumulirana vrednost se postavlja na 0, bez obzira da li je časovnik pre
toga izmerio zahtevano vreme ili ne.
Bitovi stanja
1
Uslov časovnika menjaju se u
4 7 12 toku programskog sken
EN bit
ciklusa na sledeći
2-a 5 8-a
način:
• TT - Timer timing bit se postavlja na 1 kada je uslov istinit i ako je ACC ≤ PRE
(časovnik radi). On se resetuje na 0 kada uslov postane neistinit ili kada se DN bit
postavi na 1 (časovnik prestaje sa radom).
• 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 (ili simboličko ime) a 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.
unazad, od 0 do –32767, i postavlja underflow bit (UN) kad pređe –32767. Potrebno je
zapaziti da se u oba slučaja brojanje nastavlja (Sl. 2-18). Kada pređe 32767, brojač
unapred dodavanjem još jednog bita dobija vrednost –32767 (u binarnoj aritmetici drugog
komplementa, sa 16-bitnom reči 32767+1= –32768) i nastavlja da broji unapred od tog
broja. Na isti način, kada brojač unazad dostigne vrednost od –32768, oduzomanjem
sledećeg bita, brojač dobija vrednost 32767 (u binarnoj aritmetici drugog komplementa,
sa 16-bitnom reči –32768-1= 32767) i nastavlja da broji unazad od te vrednosti. To
nadalje znači da korisnik sam mora da vodi računa o eventualnom prekoračenju opsega.
• Count up (CTU)
Bitovi stanja brojača
menjaju se u toku programskog
sken ciklusa na sledeći način:
OV - Count up overflow bit se
•
postavlja na 1 kada akumulirana
vrednost (ACC) prelazi sa 32767
na –32768 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom reči 32767+1= –
32768), i nastavlja brojanje unapredi.
• DN - Done bit se postavlja na 1 kada je ACC ≥ PRE;
• CU - Count up enable bit se postavlja na 1 kada je uslov istinit, a resetuje na 0 kada je
uslov neistinit ili kada se aktivira odgovarajuća RES naredba.
• Count down (CTD)
Bitovi stanja brojača
menjaju se u toku programskog
sken ciklusa na sledeći način:
UN- Count down underflow bit
•
se postavlja na jedan kada
akumulirana vrednost (ACC)
prelazi sa – 32768 na 32767 (u binarnoj aritmetici drugog komplementa, sa 16-bitnom
reči –32768-1= 32767), i nastavlja da broji unazad od te vrednosti.
• DN - done bit se postavlja na 1 kada je ACC ≤ PRE;
• CD - Count down enable bit se postavlja na 1 kada je uslov istinit, a resetuje na 0 kada
je uslov neistinit ili kada se aktivira odgovarajuća RES naredba.
• Reset naredba (RES)
RES naredba je naredba akcije i koristi se za
resetovanje brojača. Kada je uslov istinit ova
naredba se izvršava tako što se u brojaču čija je
adresa (ili simboličko ime) navedeno u RES naredbi,
postavljaju na nulu svi indikatorski bitovi, kao i
akumulirana vrednost (ACC).
prese ostvaruje se preko motora čija je osovina vezana sa osovinom prese preko frikcione
spojnice. Uprošćeni model opisane
Ekscentrična
čaura prese prikazan je na slici Sl. 2-19.
Na presi radi radnik koji
postavlja komad metala ispod bata,
Glavna
osovina
zatim aktivira presu, sačeka da ona
motora završi jedan krug, izvadi zatvarač i
Osovina
motora stavlja novi komad metala.
Potrebno je napraviti sistem
Frikciona
spojnica Poluga bata koji će pomoću PLC-a upravljati
radom prese. Sistem treba da je
projektovan tako da obezbedi
maksimalnu zaštitu radnika u toku
Bat prese Hod bata rada.
REŠENJE
Polazeći od funkcionalnog
opisa uređaja očigledno je da bi
presom trebalo da se upravlja tako
što će poslužilac prese na neki način
SL. 2-19 ŠEMATSKI PRIKAZ EKSCENTAR PRESE dati znak za pokretanje bata
prese. Tada će frikciona spojnica
spojiti osovinu prese na motor i on će pokrenuti bat. Kada bat napravi jedan puni radni ciklus
(gore→dole→gore), spojnica rastavlja motor od prese i presa se zaustavlja.
Iz navedenog opisa željenog rada prese izvesno je da mora da postoji jedan prekidač
kojim se motor pušta u rad. Pri tome, postoje dve mogućnosti. Ili da se sa svakom aktivacijom
prese motor pokreće i zaustavlja ili da se jedanput pokrenut motor stalno vrti, dok se radom same
prese upravlja isključivo preko spojnice. Imajući u vidu da je proces proizvodnje zatvarača serijski
proces, ovo drugo rešenje je povoljnije. Budući da je brzina motora konstantna za upravljanje je
dovoljan jedan digitalni signal koji ćemo vezati za nulti pin izlaznog dela digitalnog U/I modula u
prvom slotu. Simboličko ime ovog signala je "motor_on". Ovaj motor pokretaće se pritiskom na
jedan poseban taster "start" i zaustavljatipritiskom na taster "stop". Signale sa ova dva tastera
dovodićemo na ulazni deo digitalnog U/I modula i to na pinove 0 i 1.
Radom spojnice upravlja se preko jednog elektromagneta koji, kada ima priključeno
napajanje, aktivira frikcionu spojnicu, čime se obrtni momenat motora prenese na osovinu
ekscentar-prese. Elektromagnet se napaja jednosmernim naponom od 24V. Otuda nam je
neophodan još jedan digitalni izlazni signal. Neka je on vezan za pin 1 izlaznog dela digitalnog U/I
modula u prvom slotu i neka je njegovo simboličko ime "spoj_on".
Da bi presom moglo da se upravlja neophodno je da se raspolaže sa informacijom o
položaju bata. Ovaj problem ćemo rešiti postavljanjem jednog graničnog prekidača na samu presu i
to tako da je on zatvoren kada je presa u gornjem graničnom položaju. Digitalnom signalu sa ovog
prekidača daćemo simboličko ime "swggr_on" i dovešćemo ga na drugi pin ulaznog dela U/I
modula u prvom slotu.
Preostaje još da rešimo način na koji rukovaoc presom pušta presu u rad. Izvesno je da bi
se to moglo rešiti postavljanjem jednog tastera koji se pritisne svaki put kad presa treba da napravi
jedan hod. Međutim, ovo rešenje bi moglo ozbiljno da ugrozi bezbednost radnika. Naime, njegov
radni proces sastojao bi se u tome što on uzme komad metala, stavi ga ispod prese, pritisne taster,
sačeka da presa izvrši jedan puni radni ciklus, izvadi formirani zatvarač i stavi novi komad metala.
U želji da se taj proces odvija što brže, rukovaoc presom bi mogao da odluči da jednom rukom
pritiska taster, a drugom postavlja materijal ispod prese. Jasno je da bi bio dovoljan samo jedan
trenutak nepažnje pa da on ozbiljno povredi ruku. To nadalje znači da je neophodno da se osmisli
takav način puštanja prese u rad da je potpuno izvesno da se u tom trenutku nijedna njegova ruka
ne nalazi ispod bata. Ovako formulisan zahtev prirodno nameće ideju da se presa pušta u rad
pomoću dva prostorno udaljena tastera koji se mogu istovremeno pritisnuti samo sa obe ruke.
Postavićemo zato uz presu dva tastera za desnu i levu ruku i signale sa njih dovešćemo na treći i
četvrti pin ulaznig dela digitalnog U/I modula u prvom slotu. ("taster_lr_on" i "taster_dr_on").
Budući da je osmišljena potrebna oprema (senzori i izvršni organi) može se pristupiti
formiranju samog algoritma upravljanja i pisanju LADDER programa. U tom cilju neophodno je da
se reše dva problema. Prvi, jednostavniji, odnosi se na detekciju trenutka kada je presa završila
puni ciklus. Jasno je da će, kada je poluga bata u gornjem graničnom položaju, granični prekidač
biti pritisnut. Problem je međutim u tome što on to stanje ima i na početku pre bilo kakvog
Plc_leder/39
pomeranja bata i na kraju svakog punog ciklusa. Otuda, samo stanje graničnog prekidača ne
govori o tome da li je pokret izvršen ili ne. Da bi se ovaj problem prevazišao, uvodi se jedna interna
bit promenljiva (u programu označena kao hod) koja se postavlja dok se bat pomera. Na taj način,
kada se ustanovi da je granični prekidač zatvoren, potrebno je proveriti da li je istovremeno i interni
bit (hod) i tek ta dva uslova zajedno ukazuju da je presa završila jedan puni ciklus.
SL. 2-20 LEDER PROGRAM SA TRAJNIM PAMĆENJEM BITA ZA UPRAVLJANJE EKSCENTAR PRESOM
Drugi problem vezan je za ostvarivanje pune zaštite rukovaoca presom. Praksa pokazuje
da postavljanjem dva tastera problem i dalje nije rešen. Naime, može se desiti da rukovaoc,
zanemarujući sopstvenu bezbednost, odluči da mu je lakše i brže da radi tako što će jedan od dva
Plc_leder/40
tastera zaglaviti tako da stalno bude pritisnut, pa će onda jednom rukom pritiskati drugi taster, a
drugom menjati materijal. Naš je zadatak, da algoritam osmislimo tako da nateramo rukovaoca
presom da sa obe ruke istovremeno pritiska tastere. Jedan od načina da se postavljeni problem
reši je da se uslov za aktiviranje spojnice postavi tako da se ona ne sme aktivirati ako je jedan od
tastera stalno pritisnut, odnosno ako između pritiskanja jednog i drugog tastera prođe više od
nekog vremenskog intervala. Recimo da je to 500ms.
Dve varijante LADDER programa kojima se realizuje navedeni algoritam prikazane su na
Sl. 2-20 i Sl. 2-21.
Posmatrajmo kao prvo program koji koristi naredbe za trajno pamćenje bitova (Sl. 2-20). U
toku programskog sken ciklusa obrađuje se rang po rang. Sve dok se ne pritisne "start" taster uslov
u rangu 0 neće biti istinit pa motor neće dobiti pobudu. Otuda je potpuno nebitno šta će se dešavati
u sledećim rangovima jer presa neće raditi. Rang 1 će biti istinit tek kada se pritisne "stop" taster i
tada će motor izgubiti pobudu. U međuvremenu rad prese biće diktiran ostalim rangovima
programa.
Kada se pritisne taster leve ili desne ruke (ili oba) časovnik će početi da meri vreme. Pri
tome, budući da se taster nakon pritiska može i otpustiti, informacija o tome da je on bio pritisnut
pamti se trajno u jednom internom bitu, koji se onda u sledećem rangu (broj 3) koristi kao uslov za
pokretanje časovnika. Ovde je potrebno zapaziti da bi časovnik neprekidno radio kada bi jedan od
tastera bio zaglavljen u pritisnutom položaju, to znači da bi on stalno pokazivao vreme koje je veće
od 500ms.
Sledeći rang (broj 4) služi za aktiviranje spojnice. Uslov da bi se spojnica aktivirila je da su
oba tastera prititsnuta, da od trenutka pritiska prvog od njih nije proteklo više od 500ms, i da se
presa nalazi u gornjem graničnom položaju. Ukoliko je spojnica aktivirana, dolazi do pokreta što
znači da se otvara gornji granični prekidač. Kada su ova dva uslova istovremeno istinita, u rangu
broj 5 će se postaviti indikator pokreta bata . Konačno, ako je došlo do pokreta i pri tome je gornji
granični prekidač zatvoren (hod), u rangu broj 6 se resetuje pobuda spojnice i svi upamćeni bitovi,
čime se omogućava izvršavanje sledećeg ciklusa rada prese. (Podsetimo se da za svaku OTL
naredbu u programu mora da se stavi i OTU naredba koja će pod datim uslovima resetovati trajno
postavljen bit).
Program sa samodržanjem prati istu osnovnu logiku (Sl. 2-21). Razlika je jedino u tome što
se ovde u svakom rangu u kome se postavljaju bitovi, pomoću paralelne grane obezbeđuje da
uslov bude istinit i kada neki od tastera ili prekidača promeni stanje. Pri tome, da bi se obezbedilo
da se ovi bitovi resetuju kada se završi jedan ciklus rada prese uvodi se interna promenljiva "kraj"
koja se postavlja na 1 kada se ciklus prese završi. Posle toga, u sledećem programskom sken
ciklusu uslovi u svim rangovima biće nesitiniti (jer se u njima ispituje promenljiva "kraj").
SL. 2-22 LEDER PROGRAM ZA REGULACIJU PROTOKA VAZDUHA SA TRAJNIM PAMĆENJEM BITA
trajaće dok časovnik GASI ne izmeri zadano vreme (ovde je usvojeno da to bude 1 sec). Kada
protekne 1 sekunda, časovnik GASI je završio rad i njegov DN bit postaje 0. U sledećem sken
ciklusu, uslov u rangu 0 će biti istinit (PALI/EN=1) i aktiviraće se časovnik PALI.
Uslov za rad časovnika GASI je i dalje neistinit, što znači da bi on mogao da radi. Međutim,
kako je on izmerio zadano vreme i kako njegov DN bit nije resetovan (resetuje ga promena uslova
na istinit), to on neće raditi (GASI/TT=0). Uslov u rangu 2 je istinit, te sijalica svetli. Ovakva
situacija ostaće i u svim sledećim sken ciklusima sve dok ne prođe 1 sekunda, kada će da se
postavi PALI/DN bit na 1. Uslov u rangu 1 posstaje istinit što dovodi do resetovanja GASI/DN bita
(postavlja se na 1). Sijalica i dalje svetli. U sledećem sken ciklusu uslov u rangu 0 postaje neistinit
(resetuju se bitovi časovnika
GASI_DN PALI). Zbog toga se u rangu
1 6 11 1 aktivira časovnik GASI
PALI_EN
svetli svetli (GASI/TT=1). Sijalica se gasi
7 10 u rangu 3 i ceo ciklus se
2
2 12 ponavlja.
PALI_TT
1 sec 8 1 sec Potrebno je zapaziti
da se svaki od časovnika
PALI_DN aktivira pomoću DN bita
9 15
3 5 13 drugog časovnika. To je
GASI_EN ujedno i razlog, zašto
4 14 časovnici ne mogu biti istog
tipa (oba TON ili oba TOF).
GASI_TT
1 sec 1 sec Naime, u tom slučaju ne bi
bilo moguće da se otpočne sa
sken
ciklus radom, jer bi na početku oba
DN bita imala istu vrednost (0
SL. 2-25. VREMENSKI DIJAGRAM PROMENE INDIKATORSKIH BITOVA ili 1). Vremenski dijagram
ČASOVNIKA promene odgovarajućih
bitova dat je na Sl. 2-25.
Sve dok se ne dostigne željena temperatura, bit označen kao KRAJ_GREJANJA ima vrednost 0,
što znači da sijalica svetli samo za ono vreme za koje radi časovnik PALI, odnosno za koje je
njegov EN bit postavljen na 1. Kada se dostigne zadana temperatura sijalica će stalno svetleti
zahvaljujući samodržanju u rangu 2.
SL. 2-26 LEDER PROGRAM ZA UPRAVLJANJE MAŠINOM ZA PAKOVANJE KOJA IMA DVA SOLENOIDA SA PO
DVA KRAJA
Kao i kod primera sa upravljanjem ekscentar presom i pri korišćenju solenoida pokazuje se
da testiranje stanja prekidača nije dovoljno da bi se pratio njihov rad. Jasno je da je, kada je
solenoid potpuno uvučen, njegov prekidač na "-" kraju pritisnut, no on to stanje ima i na početku
pre bilo kakvog pomeranja klipa i na kraju svakog punog ciklusa (pomeranje napred – nazad).
Drugim rečima, samo stanje prekidača "-" ne govori o tome da li je pokret izvršen ili ne. Da bi se
ovaj problem prevazišao, uvodi se jedna interna bit promenljiva (u programu označena kao hod
unazad) koja se postavlja dok se klip pomera. Na taj način stanje te promenljive, zajedno sa
stanjem prekidača na "-" kraju solenoida ukazuju na to da li je ciklus završen ili ne.
U drugom rešenju (Sl. 2-27) je predpostavnjeno da je klip A dvosmerni solenoid, dok je klip
B jednosmerni solenoid, koga opruga vraća u početni položaj čim prestane napajanje njegovog
kraja. Pri tome se signali za napajanje vode preko istih pinova kao i u prvom rešenju, s tim što je
pin 3 slobodan (nema napajanja za kraj B-). Granični prekidači oba klipa vezani su na isti način, s
tim što je su prekidači klipa B realizovani kao normalno zatvoreni kontakti. Program je realizovan
pomoću naredbi za trajno pamćenje bitova. Sama logika programa je veoma slična prvom rešenju,
tako da nema potrebe da se posebno komentariše.
Plc_leder/47
SL. 2-27 LEDER PROGRAM ZA UPRAVLJANJE MAŠINOM ZA PAKOVANJE KOJA IMA JEDAN SOLENOID SA DVA
KRAJA I JEDAN SOLENOID SA OPRUGOM
Plc_math/48
istakne da je prvi operand je uvek promenljiva, dok drugi operand može biti ili promenljiva
ili programska konstanta.
postavljen na 1. Pri tome, ako se vrednost bita S:5/0 ne resetuje na nulu, pre završetka
programskog sken ciklusa, operativni sistem će signalizirati da je došlo do popravljive
greške (kod greške 0020). Izraz popravljiva, zapravo označava da neće doći do prekida
rada programa, već se samo korisniku skreće pažnja da negde u zahtevanim
operacijama ima problema, jer rezultati premašuju dozvoljeni opseg brojeva.
IZVOĐENJE OPERACIJA CELOBROJNOG MNOŽENJA I DELJENJA –
MATEMATIČKI REGISTAR S:13 I S:14
Ako su operandi celobrojne promenljive dužine 1 reči (16 bita) i ako se zahteva
njihovo množenje onda
rezultat ima 32 bita. Budući
da rezultat treba da se
upamti, ponovo kao
celobrojna promenljiva,
onda je jasno da se
postavlja pitanje šta raditi
sa eventualnim viškom
bitova koji se nalaze na
pozicijama od 16 pa
naviše. Da bi se omogućio
ispravan rad i u ovom
slučaju, koriste se dve reči
SL. 3-4 REALIZACIJA OPERACIJE MNOŽENJA
datoteke 2 (Status) i to na
S:13 i S:14 koje
predstavljaju 32-bitni matematički registar. Naime, prilikom izvođenja množenja, rezultat
se dobija u matematičkom registru i to tako što reč na adresi S:13 sadrži prvih (manje
značajnih) 16 bitova rezultata, dok S:14 sadrži preostalih (više značajnih) 16 bitova
rezultata. Pri tome, se donji, manje značajni, deo rezultata istovremeno smešta i na
adresu koja je u naredbi navedana kao promenljiva u kojoj se čuva rezultat Sl. 3-4.
Korisnik, tako ima mogućnost da proverom overflow bita V ustanovi da li je prilikom
množenja dobijen rezultat koji veći od 15 bitova, i ako jeste može nekom programskom
naredbom obezbediti da se i sadržaj reči S:14 upamti na nekoj adresi. Naravno, u tom
slučaju korisnik treba da obezbedi i da se resetuje overflow trap bit, jer će u protivnom
dobiti poruku o grešci.
Kod deljenja celih
brojeva neminovno dolazi
do situacije u kojoj se
pojavljuje ostatak deljenja.
Naredba celobrojnog
deljenja izvodi se tako što
se rezultat zaokruži i
smešta u adresu koja je u
naredbi navedena kao
promenljiva u kojoj se čuva
rezultat. Pri tome se
nezaokruženi, ceo deo
rezultata pamti u reči S:14,
SL. 3-5 REALIZACIJA OPERACIJE DELJENJA
dok se ostatak pamti u reči
S:13 (Sl. 3-5).
Sadržaj matematičkog registra ostaje neizmenjen sve do izvođenja sledeće
programske naredbe koja ga koristi.
32-BITNO SABIRANJE I ODUZIMANJE – BIT S:2/14
Procesori SLC 5/02 (počev od serije C) i viši omogućavaju da se realizuje
sabiranje i oduzimanje 32-bitnih podataka. Ovo se ostvaruje postavljanjem bita S:2/14 na
Plc_math/52
vrednost 1.
Kao što je već rečeno, ukoliko kod celobrojnih operacija dođe do prekoračenja
opsega, onda se kao rezultat dobijaju donja ili gornja granica opsega. Međutim, ukoliko je
bit S:2/14 postavljen na 1, onda će detekcija prekoračenja (postavljanje overflow bita na
1) prouzrokovati samo da se prvih, najmanje značajnih 16 bitova rezultata, bez ikakvog
zaokruživanja, prenese na adresu koja je u naredbi označena kao promenljiva za čuvanje
rezultata. Na taj način je korisniku ostavljena mogućnost, da po dve susedne reči koristi
kao jednu jedinstvenu vrednost (jedan podatak) i da odgovarajućim progranskim
naredbama obrađuje deo po deo podatka. Korisnik, takođe mora da vodi računa da pre
isteka sken ciklusa resetuje overflow bit.
O ovoj tehnici biće kasnije više reči kada se bude ilustrovalo korišćenje
matematičkih naredbi.
UNARNE OPERACIJE
vrednosti.
Ova naredba je veoma slična naredbi SCP, jer se i pomoću nje ostvaruje linearno
skaliranje promenljive. Razlika je, zapravo samo u načinu definisanja parametara
skaliranja, odnosno prave linije . Skaliranje ulaza se izvodi prema sledećoj relaciji:
Rate
Dest = × Source + Offset
10000
Prilikom izvođenja naredbe, odnosno izračunavanja izraza postavljaju se sledeći
bitovi:
Plc_math/57
a
y= x+b C – bit je rezervisan za potrebe
10000
y operativnog sistema
V – bit se postavlja na 1 ako je u toku
izračunavanja došlo do prekoraćenja dozvoljenog
rezultat
opsega brojeva.
a=tg Z – bit se postavlja na 1 ako je rezultat
jednak nuli.
S – bit se postavlja na 1 ako je rezultata
x operand negativan.
b
ya
ya
ts t(sec)
⎧ ⎛ t ⎞
2
ts t(sec) ⎪ ( y b − y a ) × 2 × ⎜⎜ ⎟⎟ + y a 0 ≤ t ≤ ts / 2
t ⎪⎪ ⎝ ts ⎠
y = (y b − y a ) × + ya y=⎨
ts ⎡ 2⎤
⎪( y − y ) × ⎢1 − 2 × ⎛⎜ t s − t ⎞⎟ ⎥ + y ts / 2 > t > ts
⎪ b a
⎢ ⎜ t ⎟ ⎥ a
⎪⎩ ⎣ ⎝ s ⎠ ⎦
2 2
⎛ t ⎞ ⎛ t −t⎞
y = ( y b − y a ) × ⎜⎜ ⎟⎟ + y a y = ( y b − y a ) × ⎜⎜1 − s ⎟ + ya
⎝ ts ⎠ ⎝ t s ⎟⎠
Vreme izražava kao multipl osnovne jedinice koja se može definisati kao 0.01 sec
ili 1 sec. Signali ne mogu trajati duže od nekog utvrđenog vremenskog intervala ts.
Naredba se izvršava svaki put kada je uslov istinit. Pri tome se ažurira vrednost
vremena i primenom odgovrajuće relacije odredi vrednost signala na izlazu (y). Kada je
uslov neistinit, vreme se ne ažurira i vrednost izlaza se ne izračunava. Prilikom sledećeg
prelaza uslova sa neistinitog na istinit vreme će biti ažurirano u odnosu na poslednju
vrednost koju je imalo.
Pri svakoj promeni uslova ažuriranje se ostvaruje sa tačnošću od ±1 (jedinica
vremena) ili ±1(vreme
sken ciklusa), ukoliko
je vreme sken ciklusa
veće od jedinice
vremena (0.01sec ili 1
sec). Kao i kod
časovnika i ovde ja za
tačan rad neophodno
da vremenski interval
između dva sken
ciklusa ne bude veći od
1.5 sekunde.
Parametri
SL. 3-14 ZNAČENJE POJEDINIH REČI I BITOVA U UPRAVLJAČKOM BLOKU signala se
specificiraju u
upravljačkom bloku koji je celobrojna datoteka (tip N) dužine sedam elemenata kao što je
to prikazano na Sl. 3-14.
Ova naredba je izuzetno pogodna za generisinje upravljačkog signala kod ručnog
vođenja procesa.
Maskiranim bitovima,
koji se ne prenose u dest u
maski odgovaraju vrednosti 0,
dok nemaskiranim bitovima
odgovaraju vrednosti 1 (Error!
Reference source not
found.). U obe naredbe (MOV i
SL. 3-15 IZVRŠAVANJE MASKIRANE MOVE NAREDBE MVM) bitovi C i V se postavljaju
na 0. Bitovi Z i S se postavljaju na
1 ukoliko je rezultat nula odnosno negativan.
konvertovaće se njegova
apsolutna vrednost.
Postoji mogućnost da se
pomoću TOD i FRD naredbi
konvertuju i celi decimalni
brojevi koji imaju više od 4 cifre
(najveći ceo broj je 32768). U
tom slučaju u naredbi TOD treba
kao adresa rezultata dest da se
stavi matematički registar S:13,
S:14. Prilikom izvršavanja
SL. 3-19 ILUSTRACIJA BCD KODA naredbe dobijeni BCD kod biće
smešten u reči S:13 i u prva
četiri bita reči S:14. Potrebno je da se istakne da će se tom prilikom V- bit postaviti na
vrednost 1.
Kod kontrolera SLC 5/01 dest u BCD naredbi, odnosno source u FRD naredbi
mora biti matematički registar, dok kod ostalih kontrolera to može biti adresa reči bilo koje
datoteke. Po prirodi konverzije, source u BCD naredbi, odnosno dest u FRD naredbi treba
da bude celobrojna promenljiva.
Kod kontrolera SLC 5/01 dest u BCD naredbi, odnosno source u FRD naredbi
mora biti matematički registar, dok kod ostalih kontrolera to može biti adresa reči bilo koje
datoteke. Po prirodi konverzije, source u BCD naredbi, odnosno dest u FRD naredbi treba
da bude celobrojna promenljiva.
Opisani postupak ilustrovan je na primeru učitavanja podatka sa BCD merača čiji se signal
dovodi na reč 0 u slotu 1 (adersa I:1.0, simbolicko ime bcd_merac). Ovaj podatak se pamti u reči
N7:1 (bcd_podatak), koja se u sledećem sken ciklusu poredi sa novo učitanim podatkom. Tek ako
Plc_math/62
su oba podatka identična izvršava se FRD naredba i rezultat se smešta u N7:2 (dec_podatak).
Budući da u prvom sken ciklusu nije moguće poređenje podataka, poređenje se vrši tek od drugog
sken ciklusa. Ovo se postiže ispitivanjem stanja indikatorskog bita u statusnoj datoteci S. Naime,
petnaesti bit prve reči (S:1/15) ima vrednost 1 samo u prvom sken ciklusu. Otuda i potiče njegovo
simboličko ime first_pass (Sl. 3-20).
četiri bita promenljive source, što znači da se preostali bitovi mogu koristiti u bilo koje
druge svrhe.
Ova naredba je pogodna kada se želi multipleksiranje podataka kod uređaja kao
što su višepoložajni prekidač, tastatura i sl.
• Kodiranje 16 – 4 (ENC) je postupak u kome se 16 bitni podatak čiji samo jedan bit
ima vrednost 1, pretvara (kodira) u četvorobitni podatak i to tako što se redni broj bita
čija je vrednost 1, a koji se kreće u opsegu od 0 do 15, zapisuje kao četvorocifreni
binarni broj (Sl. 3-22). Ukoliko
je u promenljivoj source više
od jednog bita postavljeno na
1, kodiranje će se izvršiti
prema bitu koji ima najmanji
redni broj od svih bitova koji
imaju vrednost 1. U tom
slučaju i V – bit će biti
postavljen na 1, ali
SL. 3-22 ILUSTRACIJA DCD I ENC NAREDBE
matematički bit prekoračenja
(S:5/0) neće dobiti vrednost 1.
Ova naredba je pogodna kada se želi multipleksiranje podataka kod uređaja kao
što su višepoložajni prekidač, tastatura i slično.
Ovom naredbom
se zamenjuju vrednosti
prvog i drugog bajta u
reči. Adresa operanda
(source) mora biti
indeksna adresa, dok se
broj reči kojima se
zamenjuju bajtovi
SL. 3-23 ILUSTRACIJA SWAP NAREDBE NA DUŽINI OD JEDNE REČI (length) zadaje kao
celobrojna programska
konstanta. Pri tome broj reči ne može biti veći od dužine elementa. U principu, operandi
mogu biti smešteni u bilo kojoj datoteci, ali se najčešće ova naredba koristi za
manipulaciju nizom podataka (datoteka tipa STRING). Naravno, i ovde je dužina
ograničena veličinom elementa.
Ako je formirana datoteka tipa STRING, dužine elemenata od 6 reči, i ako se
predpostavi da je sadržaj prvog elementa, takav da bajtovi sadrže ASCII kodove prvih 12
slova abecede:
ab | cd | ef | gh | ij |kl
tada će SWP naredba u kojoj se kao source adresira taj elemenat, i koja ima dužinu
(length) jednaku 4 promeniti sadržaj tog elementa u:
ba | dc | fe | hg | ji | lk
Plc_math/64
SL. 3-25 LEDER PROGRAM ZA IZRAČUNAVANJE RASTOJANJA I UGLA KOJI KORISTI ELEMENTARNE NAREDBE
Plc_math/66
REŠENJE
Na osnovu svega što je rečeno o transformacijama ulaznog signala sada se može pristupiti
rešavanju postavljenog zadatka. Ovde su fizičke veličine koordinate objekta h i u, koje radar prati u
opsegu od 250m do 1700m. To znači da su granice fizičkih signala xmin = ymin = 250 i xmax = ymax =
1700. Nadalje, budući da radar generiše strujni signal opsega od 4mA do 20mA to je emin = 4mA, a
Plc_math/68
emax = 20mA. Ako se pogledau karakteristike analognog U/I modula u slotu 3 videće se da on ovaj
strujni signal konvertuje u celobrojne vrednosti opsega od 3277 do 16384. To znači da je cmin =
3277, a cmax =16384. Uzimajući u obzir sve što je rečeno o transformaciji signala, kao i činjenicu da
radar generiše standardni strujni signal čije granice odgovaraju granicama A/D konvertora, fizičke
veličine koje odgovaraju izmerenim koordinatama mogu se odrediti preko relacije
1700 − 250
x= (c x − 3277) + 250 = 0,11c x − 112,53
16384 − 3277
.
1700 − 250
y= (c y − 3277) + 250 = 0,11c y − 112,53
16384 − 3277
gde cx i cy pretstavljaju celobrojne vrednosti koje su dobijene A/D konverzijom i koje su, u toku
ulaznog sken ciklusa smeštene na adresama I:2.0 i I:2.1.
SL. 3-28 LEDER PROGRAM KOJIM SE TRANSFORMIŠU ANALOGNI SIGNALI U FIZIČKE VELIČINE
Obe relacije se mogu realizovati bilo matematičkim naredbama bilo korišćenjem posebne
naredbi za skaliranje. U programu (Sl. 3-28) je korišćena naredba za skaliranje sa parametrima
(SCP). Pri tome, da bi se ilustrovao postupak inicijalizacije promenljivih, minimalna i maksimalna
vrednost celobrojne promenljive definišu se posebnim naredbama u nultom rangu. Samo se po
sebi razume da to nije neophodno i da se one mogu direktno zadati kao konstante u SCP naredbi
kao što je to urađeno sa minimalnom i maksimalnom vrednošću fizičke veličine.
Plc_math/69
• Transformacija fizičke veličine v u električnu veličinu e – ovu transformaciju obavlja sam korisnik
U suštini analogni izlazni signal je najčešće neka fizička veličina koja pretstavlja upravljački
signal u nekom sistemu. Ova veličina je, po pravilu, linearno srazmerna nekom električnom
(strujnom ili naponskom) signalu koji pretstavlja pobudni signal za odgovarajući izvršni organ.
Pretpostavljajući da se fizički signal kreće u opsegu (vmin, vmax), a da je njemu odgovarajući
električni signal u opsegu (emin, emax), fizička veličina v se transformiše u električnu veličinu e
prema relaciji
e − e min
e = max (v − v min ) + emin
v max − vmin
Naglasimo i da se analogni izlazi često definišu kao procenat od maksimalne aktivnosti
izvršnog organa tako da 0% odgovara veličini emin, a 100% odgovara veličini emax. U tom slučaju
transformacija se izvodi prema relaciji
e −e
e = max min (v(%) − vmin (%)) + emin
100 − vmin (%)
• Transformacija električne veličine e u celobrojnu vrednost c– ovu transformaciju obavlja korisnik
Da bi analogni izlazni modul mogao da generiše zahtevani električni signal on mora dobiti
odgovarajuću celobrojnu vrednost. Budući da se za celobrojne vrednosti koje su u opsegu (cmin,
cmax) generišu električni signali u opsegu (umin, umax) očigledno je da će signalu e odgovarati
celobrojna vrednost koja se dobija prema relaciji
Plc_math/70
cmax − cmin
c= (e − u min ) + cmin
u max − u min
Konačno, ukoliko su granice signala e i u jednake, odnosno ako je
umin = еmin < emax = umax
tada se celobrojna vrednost može dobiti direktno iz relacije
c − c min
c = max (v − v min ) + cmin ,
v max − vmin
odnosno
c −c
c = max min (v(%) − vmin (%)) + cmin
100 − vmin (%)
• Transformacija celobrojne vrednosti c u električni signal – obavlja D/A konvertor sam
REŠENJE
Na osnovu svega što je rečeno o transformacijama analognih izlaznoh signala, očigledno
je da je kao prvo potrebno da se odrede granice fizičkih veličina na osnovu kojih se generišu
nanalogni signali.
Polazeći od granica izmerenih pravougaonih koordinata za koje se vrši izračunavanje
rastojanja i ugla
700 ≤ x ≤ 1400, i 700 ≤ y ≤ 1400,
kao i relacija koje povezuju rastojanje i ugao sa pravougaonim koordinatama
⎛y⎞
ρ = x 2 + y 2 ; α = arctg ⎜ ⎟
⎝x⎠
vidi se da su minimalna i maksimalna vrednost rastojanja i ugla
ρmin (m) = x 2min + y 2min , ρmax (m) = x 2max + y 2max
⎛x ⎞ ⎛x ⎞
α min (rad) = arctg ⎜ min ⎟ , α max (rad) = arctg ⎜ max ⎟
⎝ ymax ⎠ ⎝ y min ⎠
Pošto minimalne vrednosti. treba da budu
predstavljene signalima od emin=2V, a maksimalne vrednosti
signalima od emax=8V, sledi da se za vrednost rastojanje ρ(m)
odgovarajući naponski signal može dobiti prema relaciji
8−2
eρ = (ρ − ρmin ) + 2
ρmax − ρmin
S obzirom na prirodu izvršnog organa, veličinu ugla
α(rad) treba prvo pretvoriti u procenat od maksimalne
vrednosti ugla
α
α p (%) = 100
α max
Električni signal koji odgovara vrednosti ugla dobija se
prema relaciji
8− 2
eα = (α p (%) − α p min (%)) + 2
100 − α p min (%)
pre kraja sken ciklusa, javlja se značajna greška. Kada uslov postrane neistinit vrednost
ovog bita se resetuje na nulu.
UL – Unload bit posle pomeranja sadrži poslednji bit početnog niza, kod pomeranja u
levo, odnosno prvi bit kod pomeranja u desno.
S obzirom na način na koji se izvršava ova naredba, očigledno je da se rotacija
niza može ostvariti tako što će se kao bit address stvaiti ili adresa UL-bita, ili adresa prvog
(BSR) odnosno poslednjeg (BSL) bita u nizu.
Ukoliko se želi da se u okviru jednog sken ciklusa izvrši pomeranje za više mesta,
to se može ostvariti pomoću programskog ciklusa, koji će omogućiti da se ista naredba
(pomeranje za jedno mesto) izvrši više puta. O načinu formiranja cilklusa biće kasnije više
reči.
Svaki put kada se uslov menja sa neistinit na instinit, ova naredba se izvršava tako
što se vrednost pointera poveća za 1 i podatak koji je određen kao source prenese u
datoteku file na onu adresu na koju pokazuje pointer. Na taj način se pri svakom
sledećem izvršavanju naredbe menja sadržaj sledeće reči u nizu. Ukoliko se kao source
adresa navede konstanta onda se ceo niz postavlja na istu vrednost. Ako je source
adresa promenljiva (fn:s), onda svaka reč niza dobija vrednost koju promenljiva ima u
trenutku izvođenja naredbe. Međutim, ako se kao source adresa navede datoteka (#fn:s),
onda se ta adresa uzima kao bazna adresa izvorne datoteke, što znači da se pri izvođenju
naredbe podatak uzima sa one adrese na koju u izvornoj datoteci pokazuje pointer. Pri
tome se podrazumeva da obe datoteke imaju istu dužinu, definisanu kao length.
Pri sledećim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost
pointera se ne menja, već se isti, prethodno određeni, podatak prenosi u promenljivu
označenu sa dest.
• SQO – Sequencer output (sekvencijalno upravljanje)
Ako je kao dest navedena datoteka #fn:d onda će se rezultat upisati u onu reč te datoteke
na koju pokazuje pointer (Sl. 4-3). Isto tako, ako je kao mask navedena datoteka #fn:m
onda i maska prestaje da bude fiksna, već se svaki put kao maska uzima ona reč iz
datoteke na koju pokazuje pointer. Potrebno je zapaziti da se u reči koja označena sa
dest menjaju samo oni bitovi koji su nemaskirani (odgovorajući bitovi maske su postavljeni
na 1).
Pri sledećim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost
pointera se ne menja, već se isti, prethodno određeni, podatak prenosi u promenljivu
označenu sa dest.
• SQC – Sequencer compare (sekvencijalno poređenje)
datoteka (brojevi od 9 do 255). Jedan elemenat ove datoteke, koji se odnosi na SQO i
SQC naredbu ima izgled kao na Sl. 4-5.
Bitovi stanja u elementu datoteke R menjaju se na sledeći način:
EN – Enable bit se postavlja na 1 kada uslov prelazi sa neistinit na istinit. Postavljanje
ovog bita prouzrokuje da se izvrši naredba i vrednost pointera poveća za 1. Pri svakom
sledećem prolazu kroz ovaj rang, sve dok je uslov istinit, EN bit ozadržava vrednost 1, ali
se vrednost pointera ne menja, već se naredba izvršava sa istom vrednošću pointera.
Kada uslov postane neistinit, EN – bit se resetuje na 0.
DN – Done bit se postavlja na 1 kada vrednost pointera, posle niza izvođenja SQL, SQO
ili SQC naredbe, dođe do kraja niza u zadanoj datoteci. Ovaj bit će biti resetovan na 0 tek
u onom sken ciklusu u kome uslov, pošto je prethodno postao neistinit, ponovo postaje
istinit (kada se EN-bit ponovo postavi na 1).
ER – Error bit se postavlja na 1 kada se u programu detektuje negativna vrednost
pointera, ili negativna ili nulta vrednost dužine niza. Ako se ovaj bit ne resetuje pre kraja
sken ciklusa nastaće značajna greška.
FD – Found bit se postavlja na 1 ako je rezultat poređenja u SQC naredbi istinit. Drugim
rečima ovaj bit ukazuje na to da su nemaskirani bitovi podataka jednaki odgovarajućim
bitovima u datoteci referentnih vrednosti.
LENGTH I POSITION
Promenljive length se pamti u prvoj reči datoteke R i predstavlja broj reči koji se
nalazi u nizu u jednoj sekvencijalnoj datoteci. Maksimalna vrfednost dužine je 255. Pri
definisanju dužine, potrebno je voditi računa o činjenici da navedena adresa reči w u
datoteci #fn:w zapravo predstavlja nultu, početnu poziciju. To znači da se za datu dužinu
len u datoteci koristi zapravo len+1 reč. Ovo se naravno odnosi i na mask, source i dest
ukoliko su u naredbi specificirane kao datoteke.
Vrednost pointera, označena kao position, pamti se u drugoj reči datoteke R.
Početna vrednost pointera se definiše pri specifikaciji naredbe. Vrednost pointera se kreće
od 1 do len i ukazuje na reči u datoteci od fn:(w+1) do fn:(w+len+1). Kada pointer stigne
do poslednje reči u datoteci, postavlja se DN-bit na 1 i pri tome se u prvom sledećem sken
ciklusu u kome uslov ima prelaz sa neistinit na istinitinit (isiti ciklus u kome se resetuje
DN-bit) vrednost pointera automatski vraća na 1. Pri definiciji početne vrednosti pointera
potrebno je obratiti pažnju na činjenicu da se ona poveća za 1 pre prvog izvođenja
naredbe.
Ako se kao početna vrednost pointera definiše 0, onda će pri izvođenju SQC
naredbe obrada početi od reči u datoteci čija je adresa fn:(w+1). Međutim kod SQO
naredbe način izvođenja operacije zavisi od istinitosti uslova u prvom sken ciklusu. Ako je
uslov istinit naredba se izvršava počev od nulte reči, čija je adresa fn:(w+0). Međutim, ako
je uslov neistinit, izvršavanje naredbe se odlaže sve dok uslov ne postane istinit i tada se
uzima prva reč, čija je adresa w+1.
Konačno, važno je da se istakne da se prilikom eventualne programske promene
dužine i pozicije mora voditi računa da se ne prekorači veličina definisanog niza u
datoteci.
RESETOVANJE PARAMETARA
Ukoliko se iz nekog razloga želi prekinuti
sekvencijalno upravljanje ili poređenje, to se
može ostvariti pomoću RES naredbe u kojoj se
navodi adresa nulte reči elementa datoteke R koji
je vezan za naredbu čiji se rad želi resetovati
Rf:e. RES naredbom se vrednosti svih indikatorskih bitova, izuzev FD-bita, postavljaju na
0. Istovremeno se i vrednost pointera postavlja na 0 (ova vrednost će se povećati na 1 pre
prvog sledećeg izvođenja naredbe).
Plc_flow/81
Ove naredbe se izvršavaju svaki put kada se uslov menja sa neistinit na istinit, i to
tako što se podatak čija je adresa navedena kao source, prenese na položaj u steku koji
je određen pointerom. Nakon toga se vrednost pointera poveća za 1. Ovaj postupak je
ilustrovana na slici
Sl. 4-6 - Ilustracija izvršavanja naredbi LFL i FFL za punjenje steka
Plc_flow/82
, gde su prikazana tri uzastopna izvršavanja bilo koje od ove dve naredbe. Pri
tome je pretpostavljeno da je bazna adresa steka locirana na memorijskoj adresi 200, i da
su u steku, pre izvršavanja ovih naredbi već smeštena dva podatka (a i b).
I ako obe naredbe za punjenje steka rade na isti način, one se mogu koristiti samo
za punjenje odgovarajućeg tipa steka. Drugim rečima ne može se LFL naredbom puniti
FIFO stek i obratno. U principu, kao početna pozicija pointera može da se zada bilo koja
vrednost, ali je prirodno da ona bude nula, odnosno da se stek puni od bazne adrese.
Prilikom izvođenja ovih naredbi menja se sadržaj indeksnog registra S:24 i to tako
što on dobija vrednost pointera pre otpočinjanja izvršavanja naredbe.
PRAŽNJENJE STEKA
Stek
pre posle
dest
prve LFU
naredbe
205
204 e
203 d d
202 c c c
201 b b b
bazna adresa
steka
200 a a a
Ove naredbe se
izvršavaju svaki put kada
Plc_flow/84
se uslov menja sa neistinit na istinit, i to tako što se vrednost pointera smanji za 1 i uzme
podataka sa vrha steka (LFU), odnosno sa dna steka (FFU) i prenese na adresu koja je
navedena kao dest. Ovaj postupak je ilustrovana na Sl. 4-8 i Sl. 4-7, gde su prikazana tri
uzastopna izvršavanja ovih naredbi. Pri tome je predpostavljeno da je bazna adresa steka
locirana na memorijskoj adresi 200.
U toku izvršavanja ovih naredbi menja se vrednost indeksnog registra S:24 i to
tako da on sadrži vrednost koju pointer ima nakon izvršavanja naredbe.
DATOTEKA R – CONTROL
Naredbama za rad sa stekom pridružuju se indikatorski bitovi i upravljački
SL. 4-9 - ELEMENAT R DATOTEKE ZA LFL, FFL, LFU I FFU NAREDBU parametri. Ove
informacije se smeštaju
u upravljačku datoteku tipa R. Pri tome se može koristiti sistemska upravljačka datoteka
broj 6, ili korisnička datoteka (brojevi od 9 do 255). Jedan elemenat ove datoteke, koji se
odnosi na naredbe za rad sa stekom ima izgled kao na slici Sl. 4-9.
Bitovi stanja u elementu datoteke R menjaju se na sledeći način:
EN – Enable bit se postavlja na 1 kada uslov u rangu koji sadrži FFL ili LFL naredbu za
punjenje steka, prelazi sa neistinit na istinit. Postavljanje ovog bita prouzrokuje da se
izvrši naredba. Pri svakom sledećem prolazu kroz ovaj rang, sve dok je uslov istinit,
vrednost EN bita ostaje 1, ali se naredba ne izvršava. Kada uslov postane neistinit, EN –
bit se resetuje na 0.
EU – Enable bit se postavlja na 1 kada uslov u rangu koji sadrži FFU ili LFU naredbu za
pražnjenje steka, prelazi sa neistinit na istinit. Postavljanje ovog bita prouzrokuje da se
izvrši naredba. Pri svakom sledećem prolazu kroz ovaj rang, sve dok je uslov istinit,
vrednost EU bita ostaje 1, ali se naredba ne izvršava. Kada uslov postane neistinit, EU –
bit se resetuje na 0.
DN – Done bit se postavlja na 1 kada vrednost pointera dođe do vrha steka (odnosno
kada on ukazuje na prvu sledeću adresu iznad vrha steka). Ovaj bit indicira da je stek pun
i sve dotle dok je njegova vrednost 1, naredbe za punjenje steka se neće izvršavati, bez
obzira na to što bi prema uslovu u rangu trebalo da se izvrše. Ovaj bit će biti resetovan na
0 tek nakon izvršavanja naredbe za pražnjednje steka, čime u steku ostaje upražnjeno
jedno mesto.
EM – Empty bit se postavlja na 1 kada vrednost pointera ukazuje na dno steka, odnosno
kada je stek prazan. Sve dotle dok je vrednost ovog bita 1, naredbe za pražnjenje steka
se neće izvršavati, bez obzira na to što bi prema uslovu u rangu trebalo da se izvrše.
Plc_flow/85
5.3. POTPROGRAMI
Veoma često u okviru neke aplikacije javlja se potreba da se jedna ista sekvenca
naredbi ponovi više puta na različitim mestima u programu. Nesumnjivo je da se ovo
može rešiti i tako što će se dati niz programskih rangova ponoviti onoliko puta koliko to
aplikacija zahteva, ali će se na taj način nepotrebno zauzimati memorijski prostor. Da bi
se to izbeglo, dati niz rangova formira se samo jedanput kao podprogram (subroutine),
koji se poziva na izvršavanje na više mesta u leder programu.
POZIV POTPROGRAMA
•JSR – Jump to Subroutine (skok na podprogram)
Ova naredba je naredba akcije. Ukoliko je
uslov istinit JSR naredba prouzrokuje prekid u
normalnom izvršavanju leder programa i
ostvaruje skok na podprogram čije je simboličko
ime (broj programske datoteke) naveden kao
adresa u JSR naredbi. Izvršavanje programa
nastavlja se od prvog ranga podprograma.
FORMIRANJE I IDENTIFIKACIJA PODPROGRAMA
• SBR – Subroutine (podprogram)
Potprogram je zasebna celina leder programa koja se mora formirati u okviru
posebne programske datoteke. Broj te datoteke (3 –
255) predstavlja istovremeno i simboličko ime
potprograma. SBR naredba se koristi da bi se
naznačilo da programska datoteka predstavlja
podprogram. Ova naredba formalno pripada
kategoriji naredbi uslova, što znači da se postavlja
na levu stranu ranga. Pri tome ona se mora definisati kao prva naredba, prvog ranga u
programskoj datoteci u okviru koje se definiše potprogram. Budući da SBR naredba
predstavlja identifikator podprograma njoj se ne pridružuju nikakvi bitovi čije bi stanje
određivalo istinosnu vrednost naredbe. Pri izvodjenju programa smatra se da je naredba
uvek istinita.
U principu, u okviru podprograma izdvaja se jedna programska celina (procedura)
koja se ponavlja na više mesta u programu, čime se, kao što je već rečeno, štedi na
potrebnom memorijskom prostoru. Pored toga, kod složenijih aplikacija, pogodno je da se
pojedine logičke celine izdvoje u podprograme, čime se značajno povećava preglednost
programa. i olakšava njegovo testiranje.
Pri korišćenju podprograma treba voditi računa o činjenici da će se svi bitovi
digitalnih izlaza kojima se upravlja u okviru podprograma menjati samo onda kada se
podprogram pozove.
ZAVRŠETAK POTPROGRAMA
• RET – return (povratak)
• END – End (kraj)
Poslednji rang svakog potrpograma, kao i
glavnog programa, sadrži samo jednu naredbu
akcije – END naredbu. Pri tome, u delu za uslov
nema nikakve naredbe, što znači da se ovaj rang
izvršava u svakom programskom sken ciklusu.
Izvršavanje END naredbe u potprogramu ima za
posledicu da se promeni vrednost pointera sledećeg ranga i to tako da on ukazuje na prvi
rang koji se nalazi neposredno iza JSR naredbe kojom je ostvaren skok na ovaj
potprogram.
U nekim aplikacijama potrebno je da potrpogram ima više različitih završetaka u
Plc_flow/87
sistem prestane da radi. Ukoliko je ovakvo kolo vezano za signal prekida koji ima
prioritet nad svim ostalim aktivnostima u računaru, onda ima dovoljno vremena da se
izvrši nekoliko naredbi pomoću kojih se rad procesa kojim se upravlja prekida na neki
predviđeni način.
Realizacija sistema prekida obuhvata detekciju signala prekida, suspenziju
trenutne aktivnosti, pronalaženje uređaja koji je tražio prekid, opsluživanje prekida i
nastavak suspendovane aktivnosti.
SL. 5-3 NAČIN OBRADE SIGNALA PREKIDA U ZAVISNOSTI OD DELA SKEN CIKLUSA U KOME NAILAZI
PR. 5-1
ZADATAK
Potrebno je pratiti nastanak dve vrste grešaka:
• Minor error at the end of scan (kod 0020h), postavljen bit S:5/0
• Negative value in time pre or acc (0034h)
Ukoliko se greška detektuje predviđaju se sledeće reakcije
• Sprečava se reakcija ako je V bit S:5/0 setovan manje od 5 puta, posle toga procesor prekida rad
(odlazi u fault mode)
• Sprečava se reakcija ako je kod časovnika T4:0 acc<0. Pri tome se acc resetuje na nulu i pali se
signalna lampa koja indicira da je akumulirana vrednost bila manja od nule.
Plc_flow/92
REŠENJE
Osnovni servisni potprogram je programska datoteka broj 3 (Sl. 5-4) i taj broj se
mora upisati u statusnu datoteku u reč S:29. Budući da postoje dva tipa grešaka na koje
se očekuje neka reakcija one se zasebno obrađuju u programskim datotekama broj 4 (kod
greške 20h) (Sl. 5-5) i broj 5 (kod grešeke 34h) (Sl. 5-6). To znači da servisni potprogram
mora da obezbedi pozivanje jednog od ova dva potprograma u zavisnosti od koda greške.
SL. 5-5 SERVISNI POTPROGRAM KOJI OBRAĐUJE GREŠKU ČIJI JE KOD 0020H
Plc_flow/94
SL. 5-6 SERVISNI POTPROGRAM KOJI OBRAĐUJE GREŠKU ČIJI JE KOD 0034H
Kada dostigne 0.32767s, časovnik nastavi da meri vreme od 0. U trenutku detekcije DII
prekida vrednost ovog časovnika se upisuje u S:45.
• S:51 – return mask – sadržaj ove reči se ažurira neposredno pre ulaska u DII servisni
potprogram. Ova reč sadrži bit-mapu koja odgovara poslednjem bitu čiji je prelaz doveo
do detekcije događaja. Ako se desila promena više od jednog bita od poslednjeg
očitavanja ulaza, svi promenjeni bitovi će biti smešteni. Ova reč će biti resetovana pri
izlasku iz servisnog potprograma.
Podatak iz reči S:51 može da se koristi u servisnom potprogramu da bi se ustanovio
redosled postavljanja bitova koji čine neki događaj. Isto tako, ovaj podatak se može
koristiti da bi se utvrdilo da je okončana neka aktivnost i da je potrebno preći na sledeći
događaj u sekvenci događaja.
PR. 5-2
ZADATAK
Posmatra se pokretna linija na kojoj
se boce pune nekim sokom i zatim se svaka
boca zatvara. Potrebno je ustanoviti da li se
na svakoj boci nalazi zatvarač. Ukoliko se
ne nalazi, otvaranjem opruge, boca se
izbaciju sa trake.
REŠENJE
Na samoj traci (Sl. 5-9) postavljen
je prekidač koji detektuje prisustvo boce i
koji je vezan za nulti pin ulaznog modula u
slotu 1 (I:1/0). Aktiviranje ovog prekidača
posmatra se kao događaj.
Kada se događaj detektuje poziva
SL. 5-9 ŠEMA VEZIVANJA SENZORA I IZVRŠNOG ORGANA se servisni potprogram koji se nalazi u
programskoj datoteci broj 4. Ovaj
potprogram očitava stanje senzora zapušača koji je vezan za osmi pin ulaznog modula u slotu 1 –
I:1/8. Ukoliko nema zapušača, otvara se opruga koja je vezana za PLC preko nultog pina izlaznog
modula u slotu 2 (O:2/0).
Da bi se omogućio rad DII sistema neophodno je upisati sledeće vrednosti u statusnoj
datoteci
• S: 4 6 = 4 – servisni potprogram je u datoteci broj 4
• S: 4 7 ( S l ot) = 1 – digitalni ulaz je u slotu 1
• S: 4 8 ( M as k ) = 00 0 0 00 01 – testira se bit na nultom pinu
• S: 4 9 ( R ef er e nc a) = 00 00 00 0 1 – događaj nastupa kada je bit na nultom pinu 1
• S: 5 0 ( Pr es et) = 1 – sistem prekida radi kao detektor događaja
• S: 3 3/ 8 = 1 – želi se opsluživanje prekida sa najvećom mogućom brzinom, da se ne bi
propustila nijedna boca
Odgovarajući servisni potprogram prikazan je na Sl. 5-10.
Plc_flow/99
samo na to da li će, kada časovnik imeri zadani interval vremena, biti dozvoljeno
opsluživanje prekida ili ne.
• STD – selectable timed disabled
Ukoliko je uslov istinit ova naredba resetuje
STI enable bit čime se onemogućava izvršavanje
servisnog potprograma. Kada je uslov neistinit
naredba ne menja stanje STI enable bita. Drugim
rečima ukoliko je STI enable bit postavljen na 0, on
će ostati 0 sve dok ga STE naredba ili STS
naredba ne postave na 1.
Parovi STD i STE naredbi mogu se koristiti za izdvajanje zona unutar leder
programa čiji rad se ne može prekidati usled STI prekida.
POSTAVLJANJE INTERNIH INDIKATORSKIH BITOVA I REČI
U toku rada, procesor postavlja niz inidkatorskih bitova vezanih za STI prekid čime
se korisniku omogućava da prati način na koji se prekid opslužuje.
• S:2/0 – STI pending bit – kada je vrednost ovog bita 1, ona ukazuje da je časovnik
izmerio jednu periodu i da servisni potprogram čeka na izvršenje (recimo zato što se
izvršavaju prekidi višeg prioriteta, Fault routine ili DII). Ovaj bit se resetuje kada otpočne
izvršavanje servisnog potprograma ili kada je uslov za STS naredbu istinit. Ova vrednost
ostaje 1 ako je izvršavanje servisnog potprograma onemogućeno.
• S:2/1 – STI enable bit – postavljanjem ovog bita na 1 omogućava se opsluživanje
prekida uz uslov da adresa servisnog potprograma nije 0 i da zadani period nije 0. Ako
je vrednost ovog bita 0, kada se detektuje prekid, servisni potprogram se neće izvršiti,
već će se samo pending bit postaviti na 1.
STI enable bit se automatski postavlja izvršavanjem STE i STS naredbe, i automatski
resetuje izvršavanjem STD naredbe. U tom slučaju, postavljene vrednosti direktno utiču
na opsluživanje prekida. Međutim, ukoliko se vrednost ovog bita promeni pomoću neke
druge naredbe onda će ta promene da ima efekta tek u sledećem sken ciklusu.
Ukoliko je pending bit 1, tada se na kraju sken ciklusa još jedanput ispituje enable bit.
• S:2/2 – STI execution bit – kada je vrednost ovog bita 1, ona ukazuje da je izvršavanje
servisnog potprograma u toku. Kada se servisni potprogram završi bit se resetuje na
nulu.
• S:5/10 – STI timer expires bit – ovaj bit se postavlja na 1 svaki put kad treba da
nastane prekid, a STI servisni potprogram još uvek obrađuje prethodni, ili je izvršavanje
servisnog potprograma onemogućeno. Interni časovnik nastavlja sa radom. Budući da
postavljanje ovog bita prouzrokuje kod za grešku neophodno je da se on resetuje pre
završetka sken ciklusa.
• S:36/9 – STI lost bit – ovaj bit se postavlja ukoliko treba da nastupi prekid, a pri tome
je pending bit postavljen na 1, odnosno kada se čeka na otpočinjanje opsluživanja
prethodnog prekida. U tom slučaju, novo registrovani prekid neće biti opslužen. Ukoliko
se neželi prekid rada usled greške, ovaj bit treba resetovati pre završetka sken ciklusa.
• S:43 – STI Timer – STI interni časovnik se ažurira svaki put kada nastupa prekid.
Vreme se izražava kao multipl od 10μs. To zapravo znači da PLC ima interni časovnik
koji neprekidno radi sa taktom od 10μs tako da meri vreme od 0 do 0.32767s. Kada
dostigne 0.32767s, časovnik nastavi da meri vreme od 0. U trenutku detekcije STI
prekida vrednost ovog časovnika se upisuje u S:43.
Vreme će biti ispravno upisano ako između dva susedna prekida ne prođe više od
0.32767s.
Plc_flow/102
PR. 5-3
ZADATAK
STI prekid treba da radi sa periodom od 10ms. Odrediti vremenski interval koji protekne
između dva poziva servisnog potprograma. Smestiti izmereno vreme u neku datoteku radi kasnijeg
prikazivanja na displeju.
REŠENJE
Proteklo vreme = 32767 - tp + ts Servisni potprogram je formiran u
programskoj datoteci broj 4 (Sl. 5-14). To znači da je
neophodno da se pri inicijalizaciji STI prekida upiše
Interni časovnik (10 s) S:31=4. Budući da STI prekid treba da radi sa
0 32767 periodom od 10ms odabraće se takt od 10ms
(S:2/10=0) i kao period će se upisati 1 (S:30=1).
Ukoliko se u ovaj program ulazi prvi put
Sadašnje Prethodno tada se samo upamti trenutna vrednost časovnika u
vreme (ts<tp) vreme (tp) memorijskoj lokaciji N10:1 i postavi se indikatorski
bit (B3:0/0) koji označava da je prvi prolaz
SL. 5-12 ODREĐIVANJE PROTEKLOG VREMENA završen. U svim sledećim pozivanjima ovog
potprograma oduzima se trenutna vrednost
časovnika (S:45) od prethodne i rezultat se smešta u memoriju na adresu N10:2. Pri tome, ukoliko
je rezultat oduzimanja negativan to znači da je od prethodnog pozivanja interni časovnik napravio
pun krug.(prešao preko 32767) i počeo da broji od 0, tako da se to vreme mora dodati (Sl. 5-12).
U delu glavnog programa koji je ovde prikazan (Sl. 5-13) se u prvom prolazu inicijalizuju
indikatorski bit i vrednost rezultata (postavljaju se na nulu). Uz pomoć samoresetujućeg časovnika
se vrednost izračunata u servisnom potprogramu na svakih pola sekunde smešta na memorijsku
lokaciju N10:3.
Potrebno je zapaziti da se isti program može koristiti za detekciju vremena koje proteklo
između dva DII prekida ili I/O prekida s tim što se umesto adrese časovnika S:43 mora koristiti
adresa časovnika koji odgovara tom prekidu (S:44 za I/O, odnosno S:45 za DII)
Parovi IID i IIE naredbi mogu se koristiti za izdvajanje zona unutar leder programa
čiji rad se ne može prekidati usled I/O prekida.
POSTAVLJANJE INTERNIH INDIKATORSKIH BITOVA I REČI
U toku rada, procesor postavlja niz inidkatorskih bitova vezanih za I/O prekid čime
se korisniku omogućava da prati način na koji se prekid opslužuje.
•S:11 i S:12 – I/O Slots enables – Bitovi S:11/1 do S:11/15 i S:12/0 do S:12/14 se
odnose na slotove od 1 do 30. Kada je vrednost bita 1, ona ukazuje da je odgovarajući
slot aktivan. Ukoliko se pojavi signal prekida sa slota koji nije aktivan, procesor javlja
grešku.
Primedba
I/O Slots enables bitovi (S:11 i S:12) se mogu koristiti i u slučajevima kada se ne
traži prekid. Naime, ukoliko se bilo koji bit postavi na nulu onda se u toku ulaznog i
izlaznog sken ciklusa ne vrši skeniranje slota kome odgovara taj bit (slot nije
aktivan). To nadalje znači da se ni odgovarajući podatak u slici ulaza neće
promeniti, i da se podatak iz slike izlaza neće preneti na izlazni modul.
Pri inicijalizaciji PLCa ovi bitovi s epostavljaju na 1.
• S:25 i S:26 – I/O Interrupt pending bits – Bitovi S:25/1 do S:25/15 i S:26/0 do
S:26/14 se odnos ena slotove od 1 do 30. Ovi bitovi s epostavljaju na 1 ako modul iz
nekog slota traži prekid, a izvršavanje tog prekida nije omogućeno. Bit se restuje na nulu
kada se odgovarajući enable bit postavi na 1
• S:27 i S:28 – I/O Interrupt enables – Bitovi S:11/1 do S:11/15 i S:12/0 do S:12/14 se
odnose na slotove od 1 do 30. Kada je vrednost bita 1, ona ukazuje da je omogućeno
opsluživanje prekida koji dolazi sa odgovarajućeg slota.
• S:32 – I/O Interrupt executing – ova reč sadrži broj slota u komne se nalazi modul koji
je generisao prekid koji se trenutno opslužuje.
Ovaj podatak je veoma koristan kada se više prekida multipleksia u jednom servisnom
potprogramu. koristiti kada se
• S:44– I/O Interrupt Timer – I/O interni časovnik se ažurira svaki put kada nastupa
prekid. Vreme se izražava se kao multipl od 10μs. To zapravo znači da PLC ima interni
časovnik koji neprekidno radi sa taktom od 10μs tako da meri vreme od 0 do 0.32767s.
Plc_flow/106
Kada dostigne 0.32767s, časovnik nastavi da meri vreme od 0. U trenutku detekcije I/O
prekida vrednost ovog časovnika se upisuje u S:44.
• RPI – reset pending interrupts naredba
Ovom naredbom može se promeniti
stanje pending bitova.
Kada je uslov istinit ova naradeba
resetuje pending bitove za prekide koji su
izazvali specijalni moduli koji se nalaze u
slotovima definisanim pomoću promenljive
slots. Pri tome, procesor obaveštava
odgovarajuće specijalne module da prekidi koji
su bili traženi neće biti opsluženi. Posle toga modul može da odluči da li će ponovo da
zatraži prekid ili ne. Kada je uslov neistinit, stanje pending bitova se ne menja.
Plc_PID/107
ako to nije slučaj, skaliranjem će se dobiti ispravna konverzija u fizičke jedinice. Naime,
definisane minimalne i maksimalne vrednosti fizičkih signala PID modul uvek vezuje za
granice svog opsega (0 i 16383), a ne za granice A/D, odnosno D/A konvertora.
SKALIRANJE ULAZNOG (MERNOG) SIGNALA
Izlaz procesa se meri preko nekog instrumenta i dovodi u PLC pomoću A/D
modula. A/D konvertor će u toku ulaznog sken ciklusa obavljati konverziju mernog signala
i generisati celobrojnu vrednost čiji opseg zavisi od tipa ulaznog signala. U principu, ako
su vrednosti koju daje A/D konvertor unutar opsega PID modula, ove vrednosti se mogu
direktno da koriste kao ulaz u PID modul. Međutim, ako su vrednosti koju daje A/D
konvertor izvan opsega PID modula, ili ako se želi da PID obavlja konverziju u fizičke
veličine, neophodne je da se ove vrednosti skaliraju na puni opseg PID modula. Samo
skaliranje se može obaviti pomoću odgovarajućih SCP ili SCL programskih naredbi.
• ulaz naredbe: celobrojna vrednost koju daje A/D konvertor (y)
• izlaz naredbe: celobrojna promenljiva s (PV)
s -s
• SCP naredba s = max min (y - y min ) + smin
y max - y min
Rate
• SCL naredba s= y + offset
10000
Parametri konverzije za standardne tipove strujnih i naponskih ulaznih signala dati
su u tabelama T. 6-1 i T. 6-2.
analogni ulaz analogni izlaz
4 – 20mA 0 – 5V 0 – 10V 4 – 20mA 0 – 5V 0 – 10V
ymin 3277 0 0 cmin 0 0 0
ymax 16384 16384 32767 cmax 16383 16383 16383
smin 0 0 0 umin 6242 0 0
smax 16383 16383 16383 umax 31208 16384 32764
T. 6-1 PARAMETRI ZA SKALIRANJE STANDARDNIH ULAZNIH I IZLAZNIH SIGNALA POMOĆU SCP NAREDBE
T. 6-2 PARAMETRI ZA SKALIRANJE STANDARDNIH ULAZNIH I IZLAZNIH SIGNALA POMOĆU SCL NAREDBE
t -t
t = max min (s - s min ) + t min
s max - s min
Rate
• SCL naredba u= c + offset
10000
Parametri konverzije za standardne tipove strujnih i naponskih izlaznih signala dati
su u tabelama T. 6-1 i T. 6-2.
adresu reči iz koje se dobija podatak za ananalogni izlaz (D/A konvertor) skalira na puni
opseg D/A konvertora.
• Def inisanje načina r ada – Control block Nn:0
Kao što je već rečeno Control block zapravo definiše sve promenljive neophodne
za realizaciju algoritma. On obuhvata 23 reči, od kojih svaka ima jasno definisano
značenje. Strukutra bloka prikazana je u tabeli T. 6-3.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REČ 0 EN DN PV SP LL UL DB DA TF SC RG OL CM AM TM
REČ 1 PID SUB ERROR CODE (MSBYTE)
CELOBROJNA VREDNOST: SMIN DO SMAX ILI 0 DO 16383
REČ 2 SETPOINT SP
(AKO SMIN I SMAX NISU DEFINISANI)
REČ 3 KP INTERPRETIRA SE KAO
CELOBROJNA
VREDNOST: 0 −3276.7 (ZA RG=0) 0 −327.67 (ZA RG=1)
REČ 4 TI (MIN/OBRT)
0 DO 32767
REČ 5 TD (MIN) INTERPERTIRA SE KAO 0 −327.67 MIN (ZA TD)
REČ 7 SETPOINT MAX SCALED (SMAX) CELOBROJNA VREDNOST: −32767 DO 32767 (AKO SE NE
DEFINIŠE SC SE POSTAVLJA NA NULU), KORISTI SE KAD SE
REČ 8 SETPOINT MIN SCALED (SMIN) IZMERNA VREDNOST PRETVARA U FIZIČKE JEDINICE
REČ 11 OUTPUT MAX (CVH) CELOBROJNA VREDNOST: 0 – 100% (OD VREDNOSTI IZLAZA CV)
ZA OL=1 PREKIDA INTEGRACIJU KAD DOSTIGNE LIMIT, POSTAVLJA BIT NA 1,
REČ 12 OUTPUT MIN (CVL) ZA OL=0 NE PREKIDA INTEGRACIJU, ALI POSTAVLJA BIT NA 1
REČ 17 MSW INTEGRAL SUM CELOBROJNA PROMENLJIVA (32 BITA - DVE REČI):
DO ± 2 174 483 648, UKUPNA VREDNOST INTEGRALNOG DEJSTVA,
REČ 18 LSW INTEGRAL SUM AŽURIRA SE AUTOMATSKI PRI RUČNOM UPRAVLJANJU
Ako se definiše skaliranje (zadaju se SMAX i SMIN) onda se sve veličine vezane
za proces (Setpoint, Deadzone, SPV, SE) izražavaju u fizičkim jedinicama.
Pojedini bitovi u prvoj reči bloka služe za definisanje načina rada PIDa, a pojedini
pružaju informacije o radu PIDa.
BITOVI KOJIMA SE DEFINIŠE NAČIN RADA PID-A
• Način pozivanja (obr ade signala) – Bit TM (Nn:0/0)
TM = 1 ⇒ izračunavanje se vrši periodično sa vrednošću definisanom pomoću Loop
Update
TM= 0 ⇒ izračunavanje je kontrolisano pomoću prekida (STI potprogram mora imati isti
period ponavljanja kao i Loop Update koji se mora definisati)
Ključna razlika je u tome što se u prvom slučaju u svakom programskom skenu
obrađuje PID naredba (ako je uslov istinit) i tek se tada ustanovljava da li je vreme da se
izvrši novi algoritamski korak. Međutim, kod korišćenja STI, PID naredba se uopšte ne
obrađuje sve dok se ne aktivira STI servisni potprogram, odnosno sve dok nije vreme za
izvršavanje sledećeg algoritamskog koraka.
• Ručno i automatsko upravljanje – Bit AM (Nn:0/1)
AM = 0 ⇒ automatski način rada, upravljanje se određuje na osnovu algoritma. Čak i
ako bi se vrednost upravljačke promenljive programski promenila, algoritam će ignorisati
ovu promenu.
AM = 1 ⇒ ručno upravljanje, upravljački signal je promenljiva čija vrednost se može
programski menjati. (CV vrednost treba da se zadaje kao celobrojna promenljiva od 0
do 16383). Za vreme ručnog upravljanja, PID algoritam ažurira CVP (reč 16), određuje
grešku i ažurira integralnu komponentu urpavljanja, da bi se sprečio udar pri promeni
režima rada.
Pored eventualnog dovođenja procesa u radnu tačku, ova opcija je korisna u
procesu podešavanja parametara PIDa.
• Greška – Bit CM ( Nn:0/2)
CM = 0 ⇒ signal greške se izračunava kao razlika set-point i vrednosti izlaza procesa
(e = SP − PV)
CM = 1 ⇒ signal greške se izračunava kao razlika vrednosti izlaza procesa i set-point
(e = PV − SP)
•Struktura PIDa – Bit DA (Nn:0/7)
DA = 0 ⇒ diferencijalno dejstvo po izlazu procesa (PV)
DA = 1 ⇒ diferencijalno dejstvo po signalu greške
Postavljanjem diferencijalnog dejstva po izlazu izbegavaju se efekti nagle promene
upravljačkog signala pri promeni zadane vrednosti
• Skalir anje vrednost i parametara K p i T i – Bit RG (Nn: 0/4)
RG = 0 ⇒ vrednosti parametara izračunavaju se deljenjem zadane celobrojne vrednosti
sa 10
RG = 1 ⇒ vrednosti parametara izračunavaju se deljenjem zadane celobrojne vrednosti
sa 100
Ukoliko vrednosti parametara nisu velike (manje od 327.67) korišćenjem ove
opcije (RG=1) ostvaruje se veća preciznost u definisanju parametara (manja razlika
između dve uzsatopne digitalne vrednosti parametara).
Ova opcija nije predviđna za diferencijalno dejstvo zato što njegova vrednost
nikada nije izuzetno velika.
• Kontrola navijanja integratora – Bit OL (Nn:0/3)
OL = 0 ⇒ nema nikakvih ograničenja u pogledu rasta integralnog dejstva, a time i cele
upravljačke promenljive
Plc_PID/113
Kode
Uzrok greške Moguća reakcija da se greška ukloni
grešeke
SLC 5/02 SLC5/03 i više SLC 5/02 SLC5/03 i više
11H 1. T > 255 1. T > 1024
Vrati T u granice
2. T = 0 2. T = 0
12H Kc > 255 ili Kc = 0 Kc < 0 Vrati Kc u granice
13H Ti > 255 Ti < 0 Vrati Ti u granice
14H Td> 255 Td < 0 Vrati Td u granice
21H
Smax> 16383 ili Smax< -16383 Vrati Smax u granice
5/02
22H
Smin> 16383 ili Smin< -16383 Vrati Smin u granice
5/02
22H Smin> Smax Popravi odnos Smin i Smax
Smin> SP> Smax ili SP> 16383
postavi
u prvom prolazu postavi Bit 11
31H Smin < SP< Smax ili (ako se nekoristi skaliranje)
ako se kasnije promeni SP onda javlja kod za grešku,
0 < SP< 16383
ali koristi prethodnu SP
Nije izabrano
Izabrano skaliranje Nije izabrano skaliranje Izabrano skaliranje
skaliranje
41H DB< 0 ili . DB> postavi postavi
Deadband< 0 ili
(Smax –Smin) ili 0 < deadband<(Smax - 0 < deadband<
Deadband> 16383
DB> 16383 (5/02) Smin)< 16383 16383
51H CVH< 0 ili CVH> 100 Vrati CVH u granice
52H CVL< 0 ili CVL> 100 Vrati CVL u granice
53H CVL > CVH Popravi odnos CVL I CVH
SLC 5/02 – PID se prekida po drugi put (PID je Postoje bar tri PIDa u programu (jedan u glavnom programu,
60H bio prekinut nekim signalom U/I prekida, koji je jedan u U/I prekidu i jedan u STI prekidu). Program se mora
onda prekinut pomoću STI prekida) promeniti da bi se izbegle ugneždene PID petlje.
T. 6-4 KODOVI GREŠAKA KOJE MOGU NASTATI PRI KORIŠĆENJU PID MODULA
Plc_PID/115
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DA SC RG OL CM AM TM
REČ 0 EN DN PV SP LL UL DB TF
1 1 1 1 0 0 0
REČ 1 PID SUB ERROR CODE (MSBYTE)
REČ 2 SETPOINT SP 20
REČ 3 KP 500 INTERPRETIRA SE KAO 5
REČ 6 OFFSET 0
Pri radu sa ASCII karakterima mogu se korstiti ASCII datoteka ili String datoteka.
• ASCII datoteka – A (samo SLC 5/04 i 5/05)
Ova datoteka
sadrži elemente dužine
jedne reči koji se mogu
adresirati na nivou
SL. 7-1 ELEMENT ASCII DATOTEKE elementa ili pojedinog bita.
Elemenat sadrži bajtove
ASCII karaktera.
• String datoteka – ST (SLC 5/03, 5/04 i 5/05)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Datoteka sadrži
Reč 0 Dužina niza u datoteci (Length) elemente čija je dužina
Reč 1 Drugi bajt Prvi bajt najviše 42 reči (84
Reč 2 Sledeća dva bajta karaktera, odnosno 84
Reč 3 Sledeća dva bajta bajtova) i može se
. adresirati na nivou
..
elementa, reči ili pojedinih
Reč 42 Poslednja dva bajta bitova u reči.
UPRAVLJAČKA DATOTEKA
ASCII naredbe
koje koje se koriste pri
prenosu podataka
zahtevaju dodatne
informacije koje se
SL. 7-3 IZGLED JEDNOG ELEMENTA UPRAVLJAČKE DATOTEKE ZA ASCII smeštaju u upravljačku R
NAREDBU datoteku čiji element ima 3
reči. R datoteka se
generiše automatski pri kreiranju ASCII naredbi za čiji rad je ona neophodna.
Plc_comnaredbe_SLC/124
PRETRAŽIVANJE I POREĐENJE
•ASC – ASCII string search – traženje
zadatog niza
Ispituje da li se u string elementu
definisanom sa string search nalazi niz
definisan u string elementu na adresi source i
to počev od karaktera čiji je redni broj određen
kao index. (Index=1 ukazuje na prvi levi
karakter u string elementu source).
Ukoliko se pronađe niz u rezultat se
upisuje redni broj karaktera u elementu string search od koga počinje slaganje. Ako se ne
ustanovi slaganje, rezultat je nula.
Error bit se postavlja ako je dužina stringa izvan dozvoljenog opsega ili ako je
indeks izvan opsega ili veći od dužine source stringa. Rezultat se u tom slučaju ne menja.
• ASR – ASCII string compare – poređenje dva niza podataka
Naredba se izvršava tako što se
dva elementa string datoteka porede u
pogledu dužine i sadržaja. ukoliko su svi
elementi identični naredba je istinita.
Nedozvoljena dužina string
elementa postavlja error bit.
je kanal system mode konfigurisan za DH485, ukoliko je UL bit postavljen pre nego što je
naredba počela da se izvršava (izašla iz reda čekanja), ukoliko se izvrši ACL naredba, i
ukoliko se ustanovi da modem nije na vezi (uz uslov da je pri konfiguraciji kanala
odabrana bilo koja opcija izuzev no
handshaking).
• AW A - ASCII Write with Append
U osnovi radi isto kao i AWA
naredba, s tim što se emitovanim
karakterima dodaju dva terminalna
karaktera koja su specificirana pri
konfigurisanju kanala za user mode.
HANDSHAKE
• AHL - ASCII Handshake Lines
Može da radi i u system i u user
mode.
Koristi se za resetovanje RS-232
kanala i to linija DTR (ready line) i RTS
(request to send line). Naredba se izvršava
tako što se, u zavisnosti od bita u masci,
DTR i RTS linije setuju ili resetuju. Obe
maske se specificiraju kao heksadecimalni
podaci pri čemu Bit 0 odgovara DTR liniji,
dok Bit 1 odgovara RTS liniji.
AND maska služi za resetovanje bitova. Ako je odgovarajući bit 1 linija se resetuje,
ako je 0 stanje linije se ne menja.
OR maska služi za postavljanje bitova. Ako je odgovarajući bit 1 linija se setuje,
ako je 0 stanje linije se ne menja.
00 nema greške
07 Ne može da ostvari ASCII prenos jer je konfiguracija kanala promenjena pomoću menija
08 Ne može da ostvari ASCII prenos, jer je drugi ASCII prenos već u toku
0B Zahtevana dužina niza je ili negativna ili veća od 82 (ARD ili ARL naredbe)
0C Zahtevana dužina niza je ili negativna ili veća od 82 (AWA ili AWT naredbe)
Plc_comnaredbe_SLC/129
Maksimalni broj elemenata koji se može preneti, odnosno dužina poruke, određen
je tipom datoteke koja prima podatke. To znači da je kod read naredbe broj elemenata
određen tipom lokalne datoteke, dok je kod write naredbe broj elemenata određen tipom
odredišne datoteke. Ovaj broj zavisi od vrste kontrolera.
• Kontroler SLC5/ 02
Parametri se definišu u prozoru koji je prikazan na Sl. 7-9.
SL. 7-9 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/02 KONTROLERA
U datom primeru (Sl. 7-9) upravljački blok, (definisan u msg naredbi na adresi
N7:0) ima sledeći izgled.
SL. 7-10 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIŠIH KONTROLERA U
LOKALNOJ MREŽI
SL. 7-11 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIŠIH KONTROLERA U
UDALJENOJ MREŽI
sčučaj prenos podataka se neće izvršiti. CIF se formira pomoću odgovarajućeg prozora
(Sl. 7-13).
CIF datotekom se upravlja preko definisanja područja u koje se podaci upisuju i
područja iz koga se podaci očitavaju. Ukoliko se želi informacija o tome da li su se podaci
u CIF datoteci promenili neophodno je da se podacima doda "handshaking" bit.
Potrebno je da se istakne
da nezaštićeni upis i čitanje nisu
baš potpuno slobodni. Naime,
oni su podvrgnuti zaštitnim
tehnikama SLC-a. To nadalje
znači da će prenos podataka biti
odbijen ako se pokuša dok traje
prenošenje programa (download)
ili ako je CIF već otvoren od
strane nekog drugog uredjaja.
Prilikom definisanja
message naredbe u kojoj je kao
ciljni uređaj naznačen 485CIF,
parametri kontrolnog bloka
definišu se u okviru posebnog
prozora kod koga deo koji se
odnosi na odredišni uređaj ima
nešto drugačiji izgled. Naime,
umesto adrese izvorne ili
odredišne datoteke, ovde se
navodi adresa prvog elementa
prostora CIF datoteke u koji se
smeštaju podaci (Data Table
Offset). Ovaj podatak se smešta
SL. 7-13 PROZOR ZA DEFINISANJE CIF PODRUČJA u reč 3 upravljačke datoteke.
SL. 7-14 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/02 PREKO CIF-A I
ODGOVARAJUĆA UPRAVLJAČKA DATOTEKA
Plc_comnaredbe_SLC/140
SL. 7-15 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIŠIH U LOKALNOJ MREŽI
PREKO CIF-A I ODGOVARAJUĆA UPRAVLJAČKA DATOTEKA
SL. 7-16 PROZOR ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI SLC 5/03 I VIŠIH U UDALJENOJ MREŽI
PREKO CIF-A I ODGOVARAJUĆA UPRAVLJAČKA DATOTEKA
Ukoliko je odredišni čvor PLC-5 parametri se definišu na isti način s tim što se kao
adresa odredišnog čvora navodi adresa datoteke u PLC-5 u skladu sa pravilima
adresiranja koja važe za tu vrstu kontrolera.
Plc_comnaredbe_SLC/141
SL. 7-17 PROZORI ZA DEFINISANJE PARAMETARA PRI KOMUNIKACIJI PREKO ETERNET MREŽE
Plc_comnaredbe_SLC/142
Pored statusnih bitova koji služe kao indikatori celokupne komunikacije, svaka
MSG naredba postavlja svoje indikatroske bitove koji se smeštaju u gornji bajt reči broj 0
u upravljačkom bloku. (Donji bajt reči 0 sadrži kod za grešku.)
PRIPREMA ZA PRENOS – RED ČEKANJA I BAFER
• EN - Enable bit (bit 15) – postavlja se kada je u toku izvodjenja programskog skena
uslov u rangu istinit i pri tome ima mesta za poruku bilo u redu čekanja bilo u baferu.
Ovaj bit označava da je poruka u redu čekanja i ostaje postavljen sve dok se ne izvrši
prenos poruke i nakon toga uslov ne postane neistinit. Može se resetovati kada DN bit ili
ER bit budu postavljeni. Time se omogućava da se, ukoliko je uslov u rangu istinit,
ponovi pokušaj izvršavanja msg naredbe.
• EW - Enabled and waiting bit (bit 10) – postavlja se kada je EN bit postavljen i kada
ima mesta u baferu. Postavljanje ovog bita ukazuje da je poruka ušla u bafer.
• W Q – Waiting for queue space (reč 7, bit 0, kontroleri SLC5/3 i viši) – postavlja se na 1
kada je red čekanja pun.
EN=1 - kada počne izvršavanje msg naredbe, informacija se stavlja u FIFO red
Plc_comnaredbe_SLC/143
čekanja (ne sadrži podatke koji učestvuju u prenosu, već samo zaglavlje
naredbe sa pointerima). Ukoliko se radi o write msg naredbi, izvorni podaci
nisu zaštićeni.
EN=1 i EW=1 – kada zahtev ispostavljen msg naredbom uđe u bafer (koji
može da sadrži 4 naredbe). Bafer sadrži kompletnu poruku sa pripadajućim
izvornim podacima (ako je u pitanju write msg naredba)
WQ=1 kada je red (koji može da sadrži najviše 10 msg naredbi pun). Naredba
za koju je EN=1, a koja ne može da uđe u red čekanja će ući u red tek u
nekom sledećem sken ciklusu u kome u redu bude bilo mesta. (Ovo zahteva
da se obezbedi da uslov u rangu za to vreme ostane istinit)
Ukoliko se u toku jednog sken ciklusa konstantno aktivira više msg
naredbi nego što red i bafer mogu da prime, redosled izvršavanja naredbi
zavisi od njihovog mesta u leder programu. To znači da se može očekivati
da če msg naredbe koje se nalaze pri vrhu programa regularno ulaziti u red
čekanja, dok naredbe pri kraju programa mogu da nikada ne uđu u red.
INFORMACIJE O PRENOSU
• DN - Done bit (bit 13) – postavlja se kada je prenos izvršen uspešno. DN bit se
resetuje kada se, posle uspešno izvršenog prenosa, uslov u rangu promeni sa neistinit
na istinit.
• ER - Error bit (bit 12) – postavlja se kada prenos nije uspešno završen. ER bit se
resetuje kada se, posle neuspešno izvršenog prenosa, uslov u rangu promeni sa
neistinit na istinit.
• ST - Start bit (bit 14) – postavlja se kada procesor primi ACK signal od odredišnog
uredjaja. Resetuje se kada je jedan od bitova DN, ER ili TO postavljen.
Kod kontrolera SLC5/05 u eternet komunikaciji (kanal 1), ST bit interno ukazuje
da je primljena naredba i da treba pokušati prenos.
• NR - No response bit (bit 09) – postavlja se kada odredišni uredjaj ne odgovori na prvi
zahtev, odnosno kada odredišni uređaj informiše procesor da ne može da obradi zahtev
(u skladu sa protokolima DH485 i DH+ mreže). Bit se restuje kade je jedan od bitova
DN, ER ili ST postavljen.
• TO - Time out bit (bit 08) – kada je postavljen ukazuje da aktivna MSG naredba treba
da bude uklonjena iz liste komunikacionih zahteva. Svrha ovog bita je da ukaže
procesoru da nema više smisla da se čeka na završetak prenosa, te da prenos treba
označiti kao neuspešan. Kod kontrolera SLC5/02 ovaj bit se mora postaviti pomoću
programske naredbe koju formira sam korisnik. Kod kontrolera SLC5/03 i viših, vrednost
intervala čekanja posle koga se postavlja TO bit se zadaje kao parametar. Interni
program se u tom slučaju stara o postavljanju ovog bita. (Ukoliko se ne želi kotišćenje
internog programa, timeout parametar se postavlja na 0.)
statusne bitove da bi
ustanovio da li je neki od
B ranije započetih prenosa
a
završen i da li ima još
Housekeeping
f
e zahteva u redu čekanja i
S:2/7 = 1 r
na bazi njih odlučuje šta će
ili Red čekanja
S:2/5 = 1
EW = 1 da radi. Ukoliko je neka od
komunikacija završena,
procesor može da servisira
SL. 7-18 FORMIRANJE I OPSLUŽIVANJE REDA ČEKANJA odgovarajuću msg
naredbu (recimo smesti
primljene podatke). Pored toga, ako je neki
od bafera prazan, procesor može da prebaci
naredbe iz reda čekanja u bafere. Broj
ovakvih servisiranja zavisi od bitova statusa.
Ako procesor zaključi da treba da
obavi komunikaciju on uzima zahtev iz reda
čekanja i formira paket (Sl. 7-19). Ako se
paket može uspešno da formira on se stavlja
u predajni bafer. Pri tome ako je msg naredba
bila write u paket se ubacuju i podaci koji se
šalju ka odredišnom čvoru (target). Procesor
tada izlazi iz komuniiacionog ciklusa, dok se
sam prenos podataka obavlja u pozadini,
paralelno sa regularnim sken ciklusom. Ako
SL. 7-19 POSTUPAK FORMIRANJA I SLANJA paket ne može da se formira, postavlja se
PAKETA
Plc_comnaredbe_SLC/145
ER bit.
Nema
Pod uslovom da komunikaciona
odgovora veza i odredišni čvor ispravno
Target čvor (NAK) funkcionišu, on će primiti paket i poslati
U funkciji? Ne
ACK (acknowledgment) signal (Sl.
7-20). Ukoliko se na adresi čvora ne
Da nalazi nikakav uredjaj, ukoliko je paket
pri slanju pokvaren do mere da se ne
Prima paket
može primiti ili ukoliko se odgovor čvora
pokvari pri slanju procesor neće primiti
NAK
nikakav odgovor. Ako je odredišni čvor
Paket ispravan? Ne suviše zauzet ili ako je primio pokvaren
paket on će poslati NAK (not
Da acknowledged) signal. (Procsor
ACK odsustvo bilo kakvog signala tumači isto
kao i prijem NAK signala.) Potrebno je
SL. 7-20 PRIJEM PAKETA I POTVRDA O PRIJEMU zapaziti da čak i kada target čvor
pošalje ACK signal, on još uvek nije
raspakovao paket da vidi da li razume zahtev.
Lokalni čvor Po prijemu ACK
signala procesor postavlja
Da ACK Ne (NAK) ST bit i počinje da čeka
Programski sken
odgovora i javlja da je
EN = 0 došlo do greške u
(ako je uslov
neistinit) prenosu.
Ukoliko, procesor
ne primi ACK signal on će
SL. 7-21 ALGORITAM KOMUNIKACIJE U LOKALNOM ČVORU u sledećem programskom
skenu, kada naiđje na msg
naredbu, inicirati još jedan pokušaj slanja paketa. Ukoliko i drugi pokušaj bude neuspešan
prijavljuje se greška. NR bit služi kao interni brojač za broj pokušaja slanja paketa (u
drugom prolazu kroz MSG naredbu on je 0, a u trećem 1).
Plc_comnaredbe_SLC/146
AIC
Kontrola ispravnosti
prenosa vrši se tako što se
interlock bit u kontroleru
SLC 5/02 postavlja na 1 i
prenosi u SLC 5/01. Zatim
ga SLC 5/01 resetuje, tako
da se pri očitavanju taj bit
vraća sa vrednošću 0. SLC
5/02 proverava vrednost
ovog bita i ukoliko on nije
resetovan u roku od 4
sekunde prijavljuje se
greška u komunikaciji. U
SL. 7-24 DATOTEKA KOJA SE PRENOSI
tom slučaju kontroler čiji
časovnik odbroji 4 sekunde
pali signalnu lampu koja je vezana za digitalni izlaz (O:1/0 za SLC5/02, i O:1/1 zaq SLC5/01).
U skladu sa izloženim reč N7:0
treba da ima vrednost 1 ili 3 za vreme
izvršavanja write naredbe, a 0 ili 2 za
vreme izvršavanja read naredbe.
Za kontrolu vremena odabiranja
koristi se interni časovnik koji je
smešten u datoteci stanja na adresi
S:4/0. Vrednost ovog registra se
SL. 7-25 INTERNI ČASOVNIK postavlja na nulu pri puštanju kontrolera
u rad. Prvih osam bitova ovog registra
(S:4/0 do S:4/7) menjaju se sa učestanostima od 20, 40, 80, 160, 320, 640, 1280, i 2560 ms (Sl.
7-25). Pri tome u prvoj polovini ciklusa bit ima
vrednost 1, a drugoj polovini 0 (Sl. 7-26). To znači da
je za tačno praćenje promene bita neophodno da se
njegova vrednost očitava sa učestanošću koja je
nešto manja od polovine odgovarajuće periode.
Indikator prvog prolaza kroz program je bit
S:1/15, koji početno ima vrednost 1, a zatim se
SL. 7-26 SIGNAL KOJI GENERIŠE INTERNI resetuje na nulu.
ČASOVNIK
Kontroler SLC5/02 - upravljački blok i odgovarajući program prikazani su na Sl. 7-31 i Sl. 7-32.
Kontroler SLC5/03 upravljački blok i odgovarajući program prikazani su na Sl. 7-33 I Sl. 7-34.
8. KOMUNIKACIJA SLC-A
Kontroleri SLC 5/01 i SLC 5/02 imaju samo jedan komunikacioni kanal (Kanal 1)
koji je prilagodjen mreži DH-485 i to SLC 5/01 kao responder, a SLC 5/02 i kao inicijator
komunikacije i kao responder.
Kontroleri SLC 5/03, SLC 5/04 i SLC 5/05 imaju raznovrsnije komunikacione
opcije. Oba kontrolera imaju dva komunikaciona kanala:
• Kanal 0 (RS-232) - koji se može povezati direktno na RS-232 komunikaciju (veza
tačka na tačku) i konfigurisati tako da podržava DF1 ili ASCII protokol, ili na DH-485
Plc_com_SLC/154
(Esc)
• System Mode Char acter – ovaj karakter sledi Mode Attention Character i ukazuje
procesoru da treba da pređe u system mode. Karakter može biti bilo koja
heksadecimalna konstanta ili ASCII karakter. Default vrednost je S.
• User Mode Charact er - ovaj karakter sledi Mode Attention Character i ukazuje
procesoru da treba da pređe u user mode. Karakter može biti bilo koja heksadecimalna
konstanta ili ASCII karakter. Default vrednost je U.
direktno za DH485 port. Oni uredjaji koji nemaju DH485 port vezuju se za AIC modul
preko posebnih modula kao što su PIC (Personal interface converter), BAS (Basic
module) ili NET AIC (Advanced Interface Converter – AIC+) itd (SL. 8-3).
Čvor koji poseduje žeton (token) ima pravo da pošalje bilo koju validnu poruku.
Svakom čvoru kad dobije žeton dozvoljava se slanje određenog broja paketa. Ukupni broj
emitovanja (zajedno sa ponovnim pokušajima ukoliko emisija nije bila uspešna) definiše
se pomoću posebnog parametra (Token hold parameter). Kada čvor završi emisiju, on
šalje tocken pass packet koji treba da primi njegov sukcesor. Ukoliko posle toga ne dodje
do aktivnosti na mreži, što znači da sukcesor nije primio žeton, inicijator šalje još jedan
paket. Posle dva neuspešna pokušaja inicijator pokušava da pronadje sledećeg
sukcesora.
Maksimalna adresa koju će inicijator tražiti pre nego što ponovo počne od nultog
čvora je vrednost parametra maximum node adress. Ovo je konfigurabilni parametar (od
0 do 31). Dozovoljene adrese respondera su od 1 do 31. Očigledno je da ova mreža može
da funkcioniše ukoliko se u njoj nalazi bar jedan inicijator.
Kontroleri SLC tipa ne mogu imati adresu 0. Nulti čvor rezervisan je za operatroski
terminal ili PC na kome se programira kontroler. U skladu sa time dozvoljene adrese
čvorova u kojima se nalaze SLC kontroleri su od 1 do 31.
Inicijalizacija mreže započinje kada period neaktivnosti postane veći od parametra
link dead timeout. U tom
trenutku inicijator koji ima
najmanju adresu uzima žeton.
Formiranje mreže započinje
kada inicijator koji je prvi uzeo
žeton pokuša da ga pošalje
svom sukcesoru. Ovaj proces se
nastavlja sve dok žeton ne
napravi pun krug i vrati se do
prvog inicijatora. U tom trenutku
mreža je u stanju normalnog
rada.
Konfigurisanje kontrolera
koji se nalazi u jednom čvoru
mreže započinje izborom kanala
(0 ili 1) preko koga se vezuje
mreža. Konfiguracija se
SL. 8-4 KONFIGURISANJE DH485 MREŽE
realizuje uz pomoć menija (Sl.
8-4) koji je na raspolaganju
kada se pozove opcija Chanel configuration. U okviru tog menija definišu se sledeći
parametri.
• Max . N od e Adr es s – ovaj parametar definiše najveću adresu koju će mreža tražiti kao
inicijatora, pre nego što token krene ponovo od adrese nula. U principu, što je ovaj broj manji to
je brzina veća, ali se kasnije novi uredjaji ne mogu dodati na mrežu na adrese koje su veće od
ovog parametra. Ovaj broj direktno utiče na prenos podataka izmedju čvorova. Naime, budući da
mreža radi na token-ring principu neophodno je eliminisati sve suvišne čvorove. Maksimalni
dozvoljeni broj čvorova je 32.
• No d e Adr es s - adresa čvora u kome se nalazi kontroler koji se konfiguriše. Najbolja
performansa mreža dobija se ako adrese počinju od nule i redjaju se sekvencijalno. (Kontroleri
SLC 500, ne mogu imati adresu 0).
• B au d r a t e – brzina prenosa. Svi uredjaji moraju biti konfigurisani za istu brzinu.Najbolja
performansa je na najvećoj brzini od 19,200.
• T ok en h o l d fac to r – određuje broj transakcija (između 1 i 4) koje čvor može da izvrši pre
nego što preda žeton. U principu veći broj transakcija povećava propusnu moć kontrolera u tom
čvoru, ali smanjuje propusnu moč ostalih čvorova u mreži.
Plc_com_SLC/157
Informacije o
rezultatima komunikacije
dobijaju se iz datoteke
stanja (SL. 8-5), izborom
odgovarajućeg menija.
Kao što se vidi
informacije se sastoje od
broja ponavljanja
različitih situacija koje
mogu nastati pri slanju
poruke.
SL. 8-5 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIČKE DATOTEKE
DH485 MREŽE
Čvor, koji se isključio sa mreže, se može vratiti u mrežu samo nakon pozivanja.
Naime, u toku slanja žetona ispituju se sve stanice koje nisu aktivne na mreži da bi se
utvrdilo da li neka od njih treba da postane aktivna. Ovaj postupak se odvija sekvencijalno
i to tako što se pri svakom slanju žetona ispituje po jedna stanica. Prozvana stanica se
može uključiti u mrežu. Kada se na ovaj način ispitaju sve stanice, završena je jedna
rotacija (Solicit Rotation) i može da započne druga.
GLOBAL STATUS W ORD AND FILE
U toku slanja žetona procesor može da šalje i global status word (GSW)
koji primaju svi čvorovi u mreži. Ova reč se nalazi u datoteci statusa na adresi
S:99 i može da služi za prenošenje informacija o statusu kao i za sinhrnoizaciju.
Svaki procesor ima jednu tabelu (global status file) koja zauzima 64 reči u
datoteci statusa (adrese od S:100 do S:163). Na ovim lokacijama se smeštaju
GSW koje šalju pojedini čvorovi u mreži.
Slanjem i primanjem GSWa se upravlja pomoću dva bita u datoteci statusa.
Ako je bit na adresi S:34/3 (GSW transmit enable bit) postavljen na 1, procesor će
zajedno sa žeton slati i svoj GSW. Ukoliko je bit S:43/4 (GSW receive enable bit)
postavljen na 1 procesor će pri svakom prolasku žetona primiti GSW koji je poslao
čvor koji šalje žeton i smestiti tu informaciju na odgovarajuću adresu u tabeli.
BOOTP je standardni protokol koji TCP/IP čvorovi koriste pri podizanju mreže. Pri
uključivanju kontrolera koji je povezan na eternet mrežu on, po pravilu, šalje zahtev za
Plc_com_SLC/160
PR. 8-1
Predpostavimo da se želi formirati mreža sa 3 kontrolera kao što je to prikazano na slici.
Neka su adrese kontrolera definisane na sledeći način
PR. 8-2
Posmatra se konfiguracija mreže prikazane na slici.
Leder program
aktivira se
Tabela podataka msg naredba
DF1 drajver
formira paket
SL. 8-12 DIJAGRAM TOKA PROCESA SLANJA ILI PRIJEMA PODATAKA U DF1 PUNOM DUPLEKSU
SL. 8-13 DIJAGRAM TOKA PROCESA SLANJA ILI PRIJEMA PODATAKA U DF1 PUNOM DUPLEKSU
u kojoj se komunikacija u jednom trenutku odvija u samo jednom smeru. Pri tome SLC
kontroleri mogu funkcionisati i kao master i kao slave kontroleri.
Kao master SLC periodično sekvencijalno proziva sve slave uredjaje i od njih
prima podatke. Prozivanje jednog uredjaja realizuje se slanjem "poll packet"-a sa adresom
odgovorajućeg slave uredjaja. Ako uredjaj ima podatke koje treba poslati on to i čini. Ako
nema podataka, on će poslati samo dvobajtni odgovor (DLE EOT) kao indikaciju da je i
dalje aktivan. SLC proziva isti slave uredjaj sve dok on ne indicira da nema više podataka
za slanje. Nakon toga SLC master šalje ovom uredjaju pakete koji su njemu namenjeni.
Na taj način master podržava rutiranje paketa izmedju slave uredjaja ili komunikaciju
izmedju dva slave uredjaja. Kao slave SLC može da komunicira samo ako je prozvan od
strane mastera.
U najvećem broju slučajeva master pamti dve odvojene tabele u kojima se nalaze
adrese aktivnih (on-line) i pasivnih (off-line) slave uredjaja. Aktivni uredjaji se prozivaju sa
datom periodom, dok se pasivni proveravaju povremeno da bi se ustanovilo da li je neki
od njih postao aktivan. Master uređaj omogućava i rutiranje paketa sa jednog slave
uređaja na drugi.
Ovaj protokol podržava najviše 255 slave uredjaja (adrese 0 – 254). Adresa 255
se dodeljuje masteru. Pri komunikaciji preko modema mogu se koristiti i polu-dupleks i
puni dupleks modemi.
U principu master/slave komunikacija podrazumeva da slave sam neće inicirati
slanje poruka, niti da će se komunikacija odvijati između dve slave stanice. Ipak Allen
Bradley DF1 protokol, pod određenim, uslovima omogućava i ovaj vid komunikacije.
o Polled report-by-exception – omogućava slave stanici da inicira slanje poruke u
onim slučajevima u kojima je došlo do izvesne promene podataka, umesto da
master iznova i iznova očitava podatke iz slave stanice, čak i kada se oni nisu
izmenili.
o Slave-to-slave messaging – omogućava razmenu poruka između dve slave
stanice. Naime, ukoliko slave stanica ima podatke koje želi da pošalje nekoj
drugoj slave stanici, ona će jednostavno, u msg naredbi koju šalje na poziv
mastera, kao odredišnu adresu umesto adrese master stanice da stavi adresu
slave stanice kojoj je poruka namenjena. Po prijemu svakog paketa, master
proverava odredišnu adresu i ukoliko ustanovi da je ona različita od njegove
adrese, jednostavno prosleđuje celu poruku adresiranoj slave stanici.
pozvana, i to nezavisno
od položaja stanice
adresirane u msg
naredbi u listi stanica
za pozivanje. Ukoliko
se u jednom
programskom sken
ciklusu aktivira više
msg naredbi, najmanje
četiri poruke mogu biti
SL. 8-14 ILUSTRACIJA KOMUNIKACIJE DF1 POLU-DUPLEKS STANDARD poslane, pre nego što
MESSAGE MODE
se pozove sledeća
slave stanica sa liste. Prenos svake od ovih poruka biće okončan, odnosno slave stanica
će poslati traženi odgovor, kada master stanica, obavljajući pozive prema listi, stigne do
slave stanice koja je adresirana u naredbi. To znači da je redosled okončavanja
komunikacije diktiran položajem stanica u listi, a ne redosledom msg naredbi u programu.
Proces koji se odvija u slave stanici po prijemu pozivnog paketa zavisi od stanja u
redu čekanja za slanje poruka, kao i od izbora konfiguracije mreže. Pre svega, ako slave
stanica ima neku poruku u redu čekanja (ili odgovor na neki ranije primljen zahtev od
mastera, ili poruku koja je inicirana msg naredbom u lokalnom leder programu), ona će
prebaciti tu poruku u izlazni bafer, čime otpočinje njeno slanje. Ukoliko je u konfiguraciji
mreže odabrano single message per scan, onda će master stanica preći na pozivanje
sledeće slave stanice. Međutim, ukoliko je odabran multiple message per scan, master
stanica će nastaviti sa pozivanjem iste slave stanice sve dok se ne isprazni red čekanja,
odnosno dok slave stanica ne pošalje sve svoje poruke. Kao što je već rečeno, slave
stanica označava "kraj emitovanja" slanjem dvobajtnog paketa.
Pri svakom pozivanju, u zavisnosti od toga da li slave stanica odgovara ili ne,
master ažurira listu aktivnih stanica. U tu svrhu, svakoj od mogućih slave stanica (0 do
254) pridružuje se po jedan bit u listi aktivnih stanica. Slanje pozivnog paketa neaktivnim
stanicama obavlja se sa manjom učestanošću od slanja pozivnog paketa aktivnim
stanicama. Ovaj pristup zasniva se na predpostavci da ako jedna stanica nije odgovorila,
ona to neće moći da uradi ni u sledećem pozivu koji će uslediti u veoma kratkom
vremenskom intervalu, što znači da će se samo nepotrebno gubiti vreme na ponavljanju
pokušaja uspostavljanja komunikacije.
U skladu sa izloženim načinom rada očigledno je da se ovaj protokol bira ukoliko
se radi o većim sistemima gde je komunikacija vremenski kritična i gde se želi da se slave
stanice pozivaju u skladu sa korisnički definisanim opsegom pretraživanja i prioriteta.
Pored toga, standardni način je pogodan i u slučajevima kada se očekuje da slave stanica
može sama da inicira slanje poruka, kao i za programiranje slave stanica preko mreže (pri
čemu s ekoristi isti mehanizam kao i pri slave-to-slave komunikaciji).
KONFIGURACIJA KANALA
Specifikacija kanala 0 vrši se pomoću odgovarajućeg menija (SL. 8-15).
• B au d e r a te – izbor jedne od mogućih brzina prenosa 110, 300,600, 1200, 2400, 4800,9600,
19200
• P ar it iy – none ili even
• St o p b its – 1, 1.5 ili 2
• No d e ad dr es s – jedinstvena adresa čvora (0 do 254).
• Co ntr o l L i ne – ako se ne koristi modem odabrati No handshaking, ako se koristi modem
odabrati Full duplex modem. Ako su svi modemi u sistemu poludupleks tipa odabrati Half
Duplex without Continuous Carrier.
• Er r or d et ec t i o n – CRC ili BCC
• P ol l i n g Mod e – ukoliko se želi slanje samo jedne poruke pri prozivanju slave-a odabrati
Standard, single message per scan; ukoliko se želi slanje svih poruka koje slave ima odabrati
Plc_com_SLC/168
Ukoliko je odabran
Half Duplex without
Continuous Carrier onda je
neophodno da se
obezbede vremenska
kašnjenja koja
omogućavaju da se
modem pripremi za
obavljanje traženog
SL. 8-15 MENI ZA KONFIGURACIJU DF1 POLU DUPLEKS STANDARDNOG prenosa (u jednom ili u
MASTER PROTOKOLA drugom smeru). Da bi
se to ostvarilo potrebno
je u meniju definisati i sledeće parametre.
SL. 8-16 DIJAGRAM TOKA PROCESA SLANJA ILI PRIJEMA PODATAKA - DF1 POLU DUPLEKS STANDARD MODE
Plc_com_SLC/169
SL. 8-17 NAČIN POZIVANJA SLAVE STANICA U SKLADU SA PRIROITETOM I STATUSOM STANICE
Plc_com_SLC/170
PR. 8-3
Pretpostavimo da imamo procesor SLC 5/03. Maksimalni paket koji ovaj procesor može da
podrži je 103 reči podataka, odnosno 224 bajtova zajedno sa overhead-om. Predpostavimo nadalje
da imamo 9600 bps modem što znači da on prenosi oko 1 bajt po milisekundi.
U skladu sa raspoloživom opremom najveći paket će se preneti za 224 ms.
Procena trajanja prosečnog programskog sken ciklusa može se dobiti iz menija Processor
status u RSLogix 500 alatu. Pretpostavimo da je ovo vreme 20 ms.
RTS send delay time se određuje iz parametara konfigurisanja procesora. Neka je ovaj
parametar 3. U tom slučaju kašnjenje je 60 ms (parametar se zadaje u inkrementima od 20 ms).
RTS/CTS kašnjenje zavisi od tipa modema. Predpostavimo da je za ovaj tip modema ono 50 ms. U
tom slučaju za nas je relevantan podatak od RTS send delay time jer je on veći.
Na osnovu svega izloženog, minimalni tajmaut jednak je 304 ms (224+20+60). Budući da
se i ovo vreme zadaje u inkrementima od 20 ms izračunato vreme treba da se zaokruži na prvi veći
broj deljiv sa 20, što iznosi 320 ms. U skladu sa time Ack timeout parametar se definiše kao broj
koji nije manji od 16.
DIJAGNOSTIČKA DATOTEKA
SL. 8-18 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIČKE DATOTEKE ZA DF1 POLU DUPLEKS MASTER
KOMUNIKACIJU
SL. 8-19 INFORMACIJE KOJE SE DOBIJAJU IZ DATOTEKE STANJA ZA DF1 POLU DUPLEKS MASTER
KOMUNIKACIJU
• Message, allow slaves to init iate - slave stanica koja je pozvana od mastera,
nakon prijema svih poruka od mastera i slanja poruka koje je master od nje tražio, dobija
pravo da pošalje
masteru i poruku koju
je ona sama kreirala, a
koju on nije tražio.
KONFIGURACIJA KANALA
U ovom načinu
rada ne postoji datoteka
aktivnih čvorova u okviru
koje bi se mogao
posmatrati status
pojedinih stanica. Pored
toga, ne može se
ostvariti prenos poruka
između dve slave
stanice, niti
programiranje slave
stanica.
Konfiguracija
kanala zahteva da se
SL. 8-21 MENI ZA KONFIGURACIJU DF1 POLU DUPLEKS MESSAGE BASED specificra polling
MASTER PROTOKOLA
mode. Kao što je već
rečeno izbor se vrši između Message, allow slaves to initiate i Message, do not allow
slaves to initiate. Napomenimo i da pri izboru ovog načina rada, ne postoji više mogućnost
da se definišu opsezi prioritetnog i normalnog pretraživanja čvorova.
ubrzavanje saobraćaja na mreži može se odabrati da slave stanica ne šalje master stanici EOT
(End – of - transmission) paket. Ukoliko je ova opcija odabrana master stanica, ukoliko joj slave
stanica ne pošalje neku poruku, automatski podrazumeva da slave nema šta da joj pošalje.
Problem je naravno u tome što se u tom slučaju nemože utvrditi koja stanica je aktivna ali nema
šta da pošalje, a koja je neaktivna. Moguća primena ove opcije je u situaciji kada se želi
smanjenje potrošnje radio modema. U tom slučaju on se ne mora uključiti ukoliko nema šta da
pošalje.
• Du p l ic a te pac k e t de t e c t – ukoliko se odabere ova opcija onda procesor upoređuje primeljeni
paket sa poslednjom primljenom i obrađenom porukom. Ukoliko su obe poruke iste, procesor
šalje ACK signal, ali ne obrađuje poruku ponovo.
• P ol l t im e ou t – poseban časovnik prati vreme prozivanja ove stanice. Kada stanica ima poruku
koju treba da pošalje ovaj časovnik se startuje. Ukoliko definisani poll timeout period istekne pre
nego što istekne timeout period definisan u message naredbi, postavlja se MSG error bit i poruka
se izbacuje iz reda čekanja. Ukoliko, međutim, timeout period definisan u poruci istekne pre poll
timeout perioda postavljaju se i message error i message timeout bit.
Ukoliko se kao poll timeout postavi 0, ova opcija je onemogućena.
• Mes s a ge r e tr i es – broj puta ponovljenih pokušaja prenosa poruka ili dobijanja odziva pri
pollingu.
• Pr e Tr ans m it delay – Interval vremena koji prođe od momenta kada čvor ima poruku koju želi
da emituje i utvrđivanja prisutnosti RTS signala.
Pri definisanju
Poll timeout perioda
treba voditi računa o
činjenici da je
maksimalno moguće
vreme čekanja na
prenos jednako
vremenu koje protekne
između dva sukcesivna
prozivanja iste stanice.
To znači da minimalno
poll timeout vreme treba
da bude jednako master
poll sken ciklusu
(zaokruženom na
sledećih 20 ms).
Sl. 8-23 INFORMACIJE KOJE SE DOBIJAJU IZ DIJAGNOSTIČKE DATOTEKE ZA Specifikacija ovog
DF1 POLU DUPLEKS SLAVE KOMUNIKACIJU intervala je potrebna
ukoliko slave u svom
leder programu ima message naredbu.
write naredba da bi se preneo "AT" dial-up string (npr. ATDT 3619 789). Modem lost bit u
statusnoj datoteci (S:5/14)
obezbeđuje povratnu informaciju o
tome da li je veza uspešno
uspostavljena. Ovaj bit je
postavljen na 1 ako ima problema
sa vezom.
Veza se prekida pomoću
ASCII AHL naredbe kojom se
privremeno obara DTR signal.
• Modemi za iznaj mljene
linije (Leased-line modemi)
Ovi modemi se koriste na
iznajmljenim telefonskim linijama.
Pri tome, iznajmljene linije mogu
biti povezane u point-to-point
topologiji u kojoj podržavaju puni
dupleks ili u point-to-multipoint
topologiji u kojoj podržavaju polu
SL. 8-24 POINT-TO-POINT VEZA POMOĆU DIAL-UP MODEMA
dupleks topologiju između tri ili
više modema.
U point-to-point topologiji potrebno je konfigurisati SLC procesor za DF1 full-
duplex protokol, pri čemu će control line parameter biti postavljen kao full duplex modem.
U point-to-multipoint topologiji SLC se konfiguriše za DF1 half-duplex
master or slave protokol, pri čemu će control line parameter biti postavljen kao half
duplex modem without continuous carrier.
• Radio modemi
Radio modemi se mogu koristiti u point-to-point toplogiji koja podržava ili puni
dupleks ili poludupleks komunikaciju. Pored toga, ovi modemi se mogu povezati i u point-
to-multipoint topologiji koja podržava poludupleks komunikaciju.
Ukoliko se koristi point-to-point topologija sa full-duplex radio modemima potrebno
je konfigurisati sve SLC-ove za DF1 full-duplex protocol, pri čemu će control line
parameter biti postavljen kao full duplex modem.
Ukoliko se koristi point-to-point topologija sa half-duplex radio modemima potrebno
je konfigurisati SLC-ove za DF1 half-duplex master ili slave protocol. Ukoliko ovi modemi
zahtevaju RTS/CTS handshaking, konfigurisati control line parameter kao half duplex
modem without continuous carrier.
• Line drivers
Linijski drajveri zapravo ne vrše modulaciju serijskih podataka već prilagođavanje
električnih signala tako da se poveća pouzdanost pri prenosu na veće daljine (više
kilometara).
AB AIC+ (Advanced Interface Convertor) je half-duplex line driver koji konvertuje
jedan RS-232 električni signal u RS-485 električni signal povećavajući tako mogućnost
njegovog prenosa sa oko 15 m na oko 1200 m.
U point-to-point line driver topologiji SLC se konfiguriše za DF1 full-duplex
protokol.
U point-to-multipoint line driver toplogiji SLC se konfiguriše za DF1 half-duplex
protokol. Ukoliko ovi linijski drajveri zahtevaju RTS/CTS handshaking, konfigurisati control
line parameter kao half duplex modem without continuous carrier.
znači da šalju ili primaju poruke preko mreže. Modemi funkcionišu kao data
communication equipment (DCE), što znači da oni obavljaju konverziju i kodiranje signala.
Razmena podataka izmedju DTE i DCE uredjaja obavlja se preko linije prijema
podataka (RXD – receive data line) i linije slanja podataka (TXD – transmit data line).
Pored toga DTE uredjaji imaju i sledeće linije za upravljanje modemima.
• RT S ( R e qu es t t o s e n d ) – izlazni signal koji ukazuje DCE uredjaju da DTE želi da pošalje
poruku.
• DTR ( D a ta t er m in a l r e ady ) – izlazni signal koji ukazuje da je DTE uredjaj spreman za rad.
• CT S ( Cl e ar to s e n d) – ulazni signal koji šalje DCE i koji označava da je DCE spreman da
primi poruku koju DTE uredjaj želi da pošalje preko modemske veze.
• DS R ( D at a s e t r e a dy ) – ulazni signal koji ukazuje da je DCE uredjaj spreman za operaciju
(gubitak ovog signala prouzrokuje “modem-lost” stanje u SLC-u).
• DC D (D at a c arr ier de t ect) – ulazni signal koji ukazuje da je noseći signal primljen i da se
očekuje prijem podataka koji će biti prosledjeni DTE uredjaju.
• Verifikacija uspostavljene veze – veza je uspostavljena kada lost modem bit (datoteka
statusa S2:5/14 pređe sa 1 na 0
• Slanje odgovarajućih poruka – kad je veza uspostavljena kontroler može da inicira niz
msg naredbi za razmenu podataka
• Prekidanje telefonske veze – veza se prekida tako što DTR linija iz stanja 1, pređe u
stanje 0 i ponovo se vrati u 1; ovo se postiže pomoću AHL naredbe.
Bitovi u datoteci statusa koji daju informacije o komunikaciji preko kanala 0 imaju
sledeće značenje
Plc_com_SLC/180
Plc_com_SLC/181
definisati i kao ASCII konstanta). Specificirati \ff ukoliko se ne želi oznaka za kraj linije.
• A pp e nd 1 i 2 – izbor karaktera koji označava kraj linije u ASCII AWA naredbi. Specificirati \ff
ukoliko se ne želi ovaj karakter
• Co ntr o l L i ne – ako se ne koristi modem odabrati No handshaking; ako je master modem full
duplex, a slave modem half duplex odabrati Half Duplex with Continuous Carrier. Ako su svi
modemi u sistemu poludupleks tipa odabrati Half Duplex without Continuous Carrier. Ukoliko se
izabere poludupleks potrebno je definisati i kašnjenja za sinhronizaciju (RTS Off delay i RTS
Send delay)
• RT S O ff d e lay – interval vremena između završetka slanja poruke i prestanka utvrđivanja
prisustva RTS signala (koristi se kao bafer da bi se obezbedila izvesnost da je modem završio
posao, normalno bi trebalo da bude 0)
• RT S S e nd d e l ay – interval vremena između utvrđivanja prisustva RTS signala i otpočinjanja
slanja poruke (ovaj interval obezbeđuje vreme potrebno da se modem pripremi za slanje poruke).
Prenos poruke će uslediti ukoliko je CTS (Clear-to-send) signal na logičkoj jedinici.
• De l et e m o de – specifikacija tretmana karaktera "delete", koji ima efekta samo ako je echo on.
Izbor između:
ignore – ignoriši karakter, odnosno tretiraj ga kao deo teksta,
CRT – ignoriši karakter koji neposredno prethodi delete karakteru i pošalji signal displeju
(CRT) da obriše prethodni karakter,
printer – ignoriši karakter koji neposredno prethodi delete karakteru i pošalji signal printeru
da obriše prethodni karakter
• Ec ho – može se postaviti on ili off
• XO N/ XO F F – izbor softverskog handshakinga
183
DODACI
184
Plc_DA_digUI/185
vezane za oprugu imaju položaj kao na slici, tako da je kontakt označen sa NC zatvoren, a
kontakt označen sa NO otvoren. Kada se zatvori prekidač u kolu relea, u jezgru će se
generisati elektromagnetna sila koja će privući kotve koje su vezane za oprugu. Pri tome oba
kontakta menjaju stanje i to tako što se NC kontakt otvara, a NO kontakt zatvara. Kada se
prekidač u kolu relea otvori, opruga vraća kontakte u početni položaj.
Senzori i kontakti koji se koriste kao ulazni procesni uređaji (šalju signale prema
kontroleru) mogu biti otvarani ili zatvarani kao rezultat dejstva neke mehaničke akcije (npr.
granični prekidači), čoveka (npr. tasteri), prisustvom ili odsustvom nekog objekta (npr. senzori
rastojanja), promenom temperature (npr. temperaturni prekidači) itd. Simboli koji se koriste za
prikazivanje najčešće korišćenih tipova kontakta prikazani su na Sl. A - 2. Potrebno je
zapaziti da se ni relejni namotaj, ni dvopolžajni prekidač, s obzirom na specifičan način
njihovog funkcionisanja, ne mogu klasifikovati ni kao NO ni kao NC.
Izlazni procesni uređaji koji primaju signale iz kontrolera se koriste za pokretanje i
zaustavljanje motora ili promenu smera obrtanja, za aktiviranje i dezaktiviranje signalizacije
alarma, za paljenje i gašenje kontrolnih sijalica, otvaranje i zatvaranje ventila, spajanje i
razdvajanje kvačila, upravljanje releima, solenoidima itd. Osnovni izlazni element je rele, koje
se realizuje kao tranzistorsko rele (za mala opterećenja), elektromehaničko rele (za srednja
Opseg kretanja opterećenja) i kao kontaktor (za velika
- Smer kretanja + opterećenja). Svi ovi uređaji su ekvivalentni u
smislu logičke funkcije koju realizuju, ali se
razlikuju u pogledu električnih karakteristika.
Ukoliko je potrebno da se izvrši prekidanje
a- a+ izuzetno velikih napona ili struja, mogu se
koristiti više stepeni relei. Nezavisno od
realizacije, rele se može posmatrati kao
A- A+ električni prekidač čijim stanjem se upravlja
pomoću drugog prekidača (npr. pomoću
Izlaz
Ulaz
binarnog signala koji dolazi iz kontrolera).
kontrolera Pored relea, često se koristi i solenoid –
kontrolera
još jedan elektromehanički aktuator, čjim
radom se upravlja pomoću elektromagnetne
SL. A - 3 JEDNOSMERNI SOLENOID
sile proizvedene u namotaju. U principu, rad
solenoida zasniva se na struji koja postoji u
namotaju i koja proizvodi magnetno polje. U
zavisnosti od smera struje, menja se i smer sile
magnetnog polja koja privlači gvozdeno jezgro
ka centru namotaja ili ga odbija od centra.
Postoje dva tipa solenoidnih aktuatora:
Jednosmer ni solenoid – koji ima samo
•
jedan izvod za napajanje, tako da struja ima
uvek isti smer, što znači da se i jezgro pod
dejstvom magnetne sile može pomerati samo
u jednom smeru. U odsustvu napajanja
solenoida, mehanička opruga vraća jezgro u
početni položaj (Sl. A - 3).
Potrebno je da se istakne da se uz
SL. A - 4 DVOSMERNI SOLENOID
solenoid po pravilu postavljaju i dva granična
prekidača koji omogućavaju da se detektuje kada jezgro dođe u krajnji desni ili krajnji levi
položaj.
• Dvosmerni solenoid – koji ima dva izvoda za napajanje, tako da smer struje, odnosno
Plc_DA_digUI/187
odgovarajuće magnetne sile zavisi od toga na koji izvod je priključeno napajanje. U skladu
sa time i jezgro se kreće u jednom od dva moguća smera. Ukoliko se napajanje dovede na
oba izvoda, jezgro se neće pomerati, Isto tako, ukoliko ni na jednom kraju nema napajanja,
jezgro će ostati u zatečenom položaju, uz uslov da ne postoji neka mehanička sila (npr. sila
zemljine teže, ako je solenoid u vertikalnom položaju) koja bi izazvala njegovo kretanje.
Drugim rečima, u odsustvu napajanja, solenoid se nalazi u slobodnom stanju (Sl. A - 4).
Plc_ind/188
Plc_mreze/189
• Koaksijalni kabl (Co-ax) – izolovana bakarna žica obmotana čvrstim ili upletenim
metalnim štitom oko koga se nalazi plastični omotač; brzine do 200 Mbps, otporan na
šumove i na većim rastojanjima
• Optički kabl (Fiber- optic) – stotine ili hiljade optičkih vlakana koja prenose
pulsirajući svetlosni signal. Izuzetno otproni na poremećaje, omogućavaju veoma brz
prenos (kabl prečnika 0.12 inča može da podrži
konverzaciju od ¼ do ½ miliona glasova istovremeno).
Najnovija optika dozvoljava brzinu od 1 trilion bps (1
terabit u sekundi).
BEŽIČNE VEZE
Bežični komunikacioni kanali ostvaruju prenos
podataka kroz atmosferu. U zavisnosti od opsega
učestanosti signala koji se prenose razlikuje se više
različitih kanala (Sl. B - 5).
• Radio prenos - Veća grupa bežičnih kanala koristi
radio prenos. U industrijskom okruženju koristi se
prenos na ultrakratkim talasima (UHF), koji je relativno
malog dometa i zahteva da se obezbedi direktna
vidljivost. Osnovne prednosti ovakvog prenosa
ogledaju se u činjenici da je on izuzetno neosetljiv na
šumove koji postoje u industriji. Pored toga, činjenica
da se prenos uspostavlja bez kablova u velikoj meri
olakšava kretanje mašina u proizvodnoj hali.
SL. B - 4 ŠEMATSKI PRIKAZ RADIO I
Mikrotalasni sistemi – su izuzetno dobar prenosni
•
SATELITSKIH VEZA
medijum za veliki obim podataka i velika rastojanja.
Podaci se mogu prenositi preko radio antena ili satelita. Radio prenos zahteva da
prijemnik i predajnik budu direktno vidljivi što se može obezbediti pomoću relejnih
stanica.
• Inf racrveni signali – prenos je ograničen na malu daljinu, i mali ili srednji kapacitet.
Pri tome je potrebno da se obezbedi direktna vidljivost između prijemnika i predajnika.
• Komunikacioni satelit i – korišćenjem geostacionarnih satelita za prenos
mikrotalasnih signala može se prevazići ograničenje koje postavljaj radio prenos.
Zemaljska stanica šalje signale satelitu koji ih pojačava i prosleđuje sledećoj stanici.
Ovaj tip komunikacije je izuzetno brz.
• Mreža mobilne telefonije – se takođe uz korišćenje odgovarajućih modema može
koristiti za razmenu podataka između računara. Osnovna prednost ogleda se u veoma
jednostavnom uspostavljanju komunikacije, koja praktično ne zavisi od rastojanja
između učesnika komunikacije.
B.1.3. PROTOKOL
Uspešna komunikacija podrazumeva da obe strane aktivno učestvuju u njoj i da
pri tome slušaju jedna drugu. Sa gledišta prenosa podataka izmedju računara to znači da
oni moraju biti u stanju da jedan drugom postavljaju pitanja tipa "da li si spreman da primiš
poruku", "da li si dobio moju poslednju poruku", "ima li kod tebe nekih problema", "šaljem
ti sada poruku" itd. Skup proceduralnih pravila i formata koji odredjuju komunikaciono
ponašanje jednog entiteta, omogućavajući na taj način smislenu razmenu informacija
izmedju dva entiteta naziva se protokol. Drugim rečima, protokol je skup pravila i
standarda koji određuju način razmene podataka između hardverskih i softerskih
komponenti u mreži. O poštovanju protokola staraju se poseban mrežni hardver i softver
tako da korisnik mora da vodi računa samo o svojim podacima.
Imajući u vidu da je razmena podataka između dve aplikacije na dva računara
nužno zahtevala posotjanje nekog protokola, razumljivo je da su u prvo vreme
proizvodjači opreme razvijali veoma različite protokole namenjene specifičnim
aplikacijama na posebnoj kategoriji opreme. Otuda su ovi protokoli često nekompatibilni
jedni sa drugim.
Vremenom se iskristalisalo da postoje dve kjlučne oblasti: komercijalne aplikacije i
prikupljanje podataka, koje postavljaju drugačije zahteve u pogledu razmene podataka, pa
su se i protokoli uglavnom usmeravali ka jednoj od te dve vrste aplikacija. Neki od njih,
kao na primer TCP/IP, imaju svoju primenu u obe oblasti.
Tradicionalna obrada podataka u okviru informacionih sistema dovela je do
razvoja niza protokola kao što su Bisync (IBM), Poll Select (Burroughs), SDLC (IBM),
HDLC (ISO), LAPB (CCITT-X.25).
Protokoli razvijeni za potrebe prikupljanja podataka koriste se ili za brzi prenos
podataka u lokalnim mrežama (LAN) ili za mreže širokog dometa (WAN) koje se najčešće
sreću u SCADA aplikacijama. U prvo vreme protokoli za brzi prenos informacija bili su
striktno razvijeni za opremu odgovarajućeg proizvodjača i nisu se mogli koristiti za druge
proizvode. Tako su, na primer, nastali Allen-Bradley Data Highway/Data Highway+, TI
Tiway (Texas Instruments), Square D Synet, MODICON MODBUS+ itd. Kasnije se
pristupilo razvoju "otvorenih" protokola koji mogu da se koriste na opremi različitih
proizvodjača. Takvi su, izmedju ostalih, ControlNet (Allen-Bradley), i niz "fieldbus"
protokola kao što su Profibus, LonWorks, Interbus-S, Device Net, ARCNET, IEC/ISA
SP50, Seriplex itd.
Medju najpopularnijim protokolima za mreže širokog dometa su MODBUS, SCI
RDACS, Control Applications (CA), L&N Conitel, TRW 9550, S70, 2000 itd. Mnogi
proizvodjači koji su razvili protokole za lokalne mreže pokušali su da zadrže istu strukturu i
da je prilagode mrežama šireg dometa. U najvećem broju slučajeva ovaj pristup nije dao
zadovoljavajuće rezultate jer su LAN protokoli po pravilu suviše neefikasni i kompleksni za
WAN primene.
Protokol primeren SCAD-a aplikaciji mora voditi računa o karakteristikama
komunikacionih medija koje se u takvim aplikacijama koriste. Tipičan SCADA
komunikacioni medij radi sa ograničenom brzinom podataka (oko 1200 bps), većom
brzinom prenosa bitova koji su indikatori greške (5 do 10 puta), i vremenskim kašnjenjem
modema (8 – 10 ms). Razvoj primene satelitskih komunikacija u ovim mrežama ubrzano
menja i komunikaciono okruženje za WAN protokole.
U odnosu na strukturu poruke protokoli se dele u četiri kategorije.
• Karakter orijentisani protokoli – (BISYNC, MODBUS ASCII) započinju prenos slanjem
specijalnog znaka (npr "dvotačke" ":")
• Protokoli tipa "broj bajtova" – (DDCMP – DECNET), započinju prenos slanjem karaktera
iza koga sledi broj bajtova poruke koja će biti preneta.
• Bit orijentisani protokoli – (SDLC, HDLC, TCP/IP) mogu slati poruke proizvoljne dužine i
nisu ograničeni na slanje specifičnih karaktera.
• Protokoli posebne namene – svi ostali protokoli koji ne pripadaju ni jednoj od prve tri
kategorije.
Plc_mreže/194
7. Aplikacija
svrha komunikacije (e-mail, prenos datoteka itd.,
Čvor u mrezi interfejs prenosa podataka sa aplikacijom) Čvor u mrezi
6. Prezentacija
Peer-to-Peer
pravila za konverziju podataka
(dekompresija podataka i priprema podataka za
prenos, odnosno za prijem od strane aplikacije)
NetBIOS
Sockets 5. Sesija
TLI Prevođenje imena i adresa, zaštita podataka
start, stop i upravljanje redosledom prenosa
4. Transport
obezbeđivanje isporuke cele poruke
TCP/IP
(deoba poruke na blokove, određivanje krajnjih
SPX/IPX
tačaka rutiranja na pojedinim mrežama)
NetBEUI
3. Mreža (network)
rutiranje podataka na različite mreže
(deoba blokova na okvire)
Token ring
(IEEE 802.5)
2. Veza podataka (data link)
Ethernet
(IEEE 802.3) Adapter prenos podataka od čvora do čvora (upravljanje Adapter
ISDN pristupom mediju, ubacivanje paketa u okvire)
1. Fizički sloj
isključi.
• Switch – povezuje dva ili više računara,
hub-a, segmenta mreže ili više mreža koje
imaju isti standard za prenos podataka.
Switch kreira sesije i obezbedjuje pravilan
redosled u njihovoj realizaciji. Switch
SL. B - 10 LOGIČKI SIMBOL ZA ISDN, ATM I
ispituje adresu destinacije paketa i
WORKGROUP SWITCH
prosledjuje ga direktno (bez izmene) ka toj
destinaciji. Switch se može programirati
tako da se pojedini delovi mreže koje on
povezuje izdvoje kao logičke celine. U tom
smislu switch se može posmatrati kao
"inteligentan" hub.
• Bridge –je kolo za spregu (interfejs) koji
povezuje segmente mreže istog tipa. Bridge
Bay Networks
radi na dva najniža sloja OSI modela,
obezbedjujući povezanost fizičkog sloja i
sloja veze podataka. To znači da on
SL. B - 11 LAN MREŽA SA SWITCH-EM prebacuje saobraćaj sa jednog segmenta
mreže na drugi na osnovu
adresa paketa. Bridge takodje
ima i bafere za privremeni
smeštaj paketa. Paketi se
čuvaju kada dodje do
zagušenja u mreži, da bi se
naknadno kad se mreža
rastereti prosledili dalje.
• Router – je "inteligentan"
uredjaj koji podržava vezu SL. B - 13 VEZA DVA SEGMENTA LAN MREŽE POMOĆU BRIDGE-A
izmedju sličnih, ali i različitih
LAN-ova, kao i vezu LAN-a sa
WAN-ovima i MAN-ovima koji
koriste isti mrežni protokol.
Ruteri rade na najniža tri sloja
OSI modela, što znači da oni
3 Com
vide celu mrežu (za razliku od
bridge-a koji vidi samo svoju
vezu). Kada primi jedan paket,
ruter analizira adresu njegovog
krajnjeg odredišta i odredjuje
najbolju putanju u mreži koja
vodi ka tom odredištu. On tada
menja okruženje paketa (ali ne i
SL. B - 12 POVEZIVANJE RAZLIČITIH MREŽA KOJE KORISTE njegov sadržaj) tako da adresira
ISTI PROTOKOL POMOĆU ROUTER-A sledeći ruter koji se nalazi na
odredjenoj putanji prema krajnjem cilju.
• Gateway – se koristi za prenos podataka izmedju
dve mreže koje koriste različite veze podataka i
standarde mreže. On prima podatke sa jedne
mreže, obradjuje ih da bi ih prilagodio formatu druge
SL. B - 14 SIMBOLIČKE OZNAKE mreže i šalje ih preko te druge mreže. Neki
gateway-i ovu operaciju izvode čisto hardverski
Plc_mreze/199
(veoma brzo), dok neki koriste i odgovarajući softver što usporava njihov rad. Gateway
radi na svih sedam slojeva OSI modela.
K L I J E N T - S E R V E R LAN
Ova vrsta mreže se sastoji od uredjaja koji traže neke podatke – klijenti i uredjaja
koji im pružaju podatke – serveri. Otuda se, od servera očekuje da ima WEB platformu,
baze podataka i odgovarajući alat za rad sa njima, itd, dok klijent raspolaže sa nekim Web
browserom, GUI-em i slično. Softver koji povezuje rad servera i klijenta se označava kao
middleware. U zavisnosti od informacija ili usluga koje server pruža on može biti: file
server, database server, print server, mail server, fax server, communication server etc.
MASTER-SLAVE LAN
Filozofija rada master-slave mreže zasniva se na prepuštanju potpune kontrole
master čvoru. On periodično poziva svaku od slave stanica i od nje traži podatke ili joj
šalje podatke. U principu, slave sam nije u mogućnosti da inicira komunikaciju. Otuda je
veza, po pravilu, poludupleks tipa. Ukoliko slave ne odgovara na poziv mastera, master
ponavlja zahtev nekoliko puta, a zatim obaveštava da je slave "van funkcije" i prelazi na
komunikaciju sa sledećom stanicom.
Osnovne prednosti ovakvog načina komuniciranja su jednostavnost, a time i
pouzdanost komunikacionog softvera, jednostavnost detekcije neispravnosti rada slave
čvora i nemogućnost kolizije poruka u toku komunikacije. To znači da je protok podataka
predvidiv i konstantan.
Ključni nedostatak master-slave tehnike komuniciranja je nemogućnost slave
čvora da traži prekid i hitno uspostavljanje komunikacije ukoliko se za time ukaže potreba.
Pored toga, ne postoji način da se komunikacija sa pojedinim slave čvorovima primeri
obimu podataka koje oni šalju ili primaju i učestanosti sa kojom se podaci menjaju. To
znači da ovakve mreže, ukoliko se u nekim čvorovima podaci sporo menjaju, mogu da
budu nepotrebno spore i neefikasne. Konačno, ukoliko postoji potreba da se razmene
podaci između dve slave stanice to je moguće učiniti isključivo preko master stanice.
P E E R - TO - P E E R LAN
Peer-to-peer1 komunikacija označava mrežu uredjaja koji su potpuno ravnopravni
u smislu komunikacija i koji koriste isti mrežni protokol za razmenu podataka. Pri tome
svaki od uredjaja može započeti komunikaciju. U realizaciji ovog tipa mreža koristi se
nekoliko metodologija kojima se zapravo utvrđuje način komunikacije i način sprečavanja
kolizija poruka.
1
Peer – drug, ravnopravni partner
Plc_mreze/201
koje rade na takozvanom principu rotirajućeg žetona ("passing token"). To zapravo znači
da kroz mrežu putuje "žeton" od čvora do čvora. Čvor koji primi žeton, započinje
komunikaciju i šalje jednu ili više poruka. Teorijski svi čvorovi u mreži primaju tu poruku,
no pošto ona sadrži i adresu primaoca, samo onaj kome je upućena će je zadržati,
raspakovati, pročitati i uraditi ono što se porukom od njega zahteva.
Osnovna odlika ovog tipa mreža sastoji se u tome što se sa velikom preciznošću
može odrediti u kojim vremenskim trenutcima će koji čvor imati pravo komunikacije. Iz tog
razloga ovaj tip mreže se naziva mreža sa determinističkim pristupom.
Drugi način da posmatrana grupa ljudi reši problem komunikacije sastojao bi se u
tome da svako od njih kada ima potrebu da progovori kaže jednu reč i osluškuje da li se u
tom trenutku u sobi čuje samo to što je on rekao ili se čuje još neki drugi glas. Ukoliko je
on jedini koji je počeo da govori, on dobija pravo na komunikaciju i niko ga ne može
prekinuti dok ne završi (svi ostali moraju da ćute). Kad on završi, bilo ko drugi može da
pokuša da započne komunikaciju. Ukoliko se, međutim, kad je on izgovorio reč, čuje i neki
drugi glas, tada svi prisutni ućute, sačekaju neki period vremena i ponovo pokušavaju da
progovore. Ovaj princip komunikacije se koristi u mrežama sa višestrukim emitovanjem
("multi-cast" ili "multi-drop"). To zapravo znači da u ovim mrežama nema žetona koji bi
bilo kom čvoru garantovao pravo na slanje poruka. Svaki čvor kada treba da pošalje
poruku pušta je u mrežu i zatim osluškuje da li će se kao eho vratiti ista poruka. Ako se to
dogodi, to znači da je on u tom trenutku jedini emitor na mreži i on dobija pravo da završi
započetu komunikaciju (ostali čvorovi čekaju dok on ne završi). Ukoliko se, međutim, kao
eho poslate poruke javi izmenjena poruka, to znači da se ona sudarila sa porukom nekog
drugog čvora. U tom slučaju, oba čvora prekidaju emitovanje, čekaju neko vreme (svaki
čvor čeka neki drugi interval vremena) i onda pokušavaju ponovo da započnu emisiju.
Očigledno je da se u ovoj tehnici pristupa mreži nijednom čvoru ne može
garantovati da će u nekom određenom vremenskom intervalu dobiti pravo na slanje
poruka. Otuda se ove vrste mreža označavaju kao mreže sa slučajnim (stohastičkim)
pristupom.
Plc_mreže/202
Plc_ind_mreze/203
Radna stanica PC
PC
više od 30 različitih proizvođača, koji
gotovo uopšte nisu bili u stanjau da
Lokalna mreža
međusobno komuniciraju. Otuda nije
ni čudo što je baš iz GM-a potekla
Ćelija prva ideja o formiranju
standardizovanog protokola za
Ćelijski kontroler komunikacije. Naime, kada su
Ćelijski kontroler
ustanovili da je sa finansijske tačke
gledišta gotovo nemoguće da se
Mašina
angažuju stručnjaci koji bi formirali
odgovarajući softver koji bi omogućio
komunikaciju različith uređaja, oni su
0
pokrenuli inicijativu za formiranje MAP
Uređaj protokola (Manufacturing Automation
Protocol – protokol za
automatizovanu proizvodnju).
SL. C - 2 VEZIVANJE UREĐAJA PO "MASTER/SLAVE"
Osnovna ideja je bila da će kada budu
PRINCIPU
postojali jasno definisani standardi i
kada korisnici budu insistirali da se oni poštuju,računarska industrija biti prinuđena da ih
prihvati. Kao rezultat te inicijative nastao je, već pomenuti, sedmoslojni OSI model.
Veoma brzo se, takođe, pokazalo da je rukovodstvo GM-a bilo u pravu. Računarska
industrija je prihvatila nametnute standarde i počela da proizvodi opremu za komunikaciju
u skladu sa njima.
Sa razvojem tehnologije, uređaji su postepeno dobijali namenske mikroprocesore
koji su omogućavali daleko jednostavniju kontrolu komunikacije. Time je proširena gama
uređaja koja ima sposobnost komunikacije, što znači da se može povezati u jedinstvenu
mrežu. Tako se gotovo potpuno izgubila potreba za mrežama na nivou ćelije jer su one
mogle da se uključe u lokalnu mrežu (Sl. C - 2). Međutim, na nivou mašina i uređaja i
nadalje je preovladavalo vezivanje u zvezdu, sa "master/slave" metodom prenosa
podataka. Logično je da je sa proširenjem prostora na kome se prostire postrojenje koje
se automatizuje, kao i sa povećanim zahtevima u pogledu funkcionalnosti, ova arhitektura
postaje neadekvatna.
Kao što je već rečeno, savremeni sistemi upravljanja su modularni sa
decentralizovanim upravljanjem. To zapravo znači da se od računarske mreže koja
podržava rad takvog sistema očekuje da omogući jednostavnu izmenu strukture sistema
(dodavanje ili promenu modula), kao i distribuciju obrade podataka po pojedinim
modulima. Sa druge strane, i sami uređaji koji su elementi sistema imaju svoje procesore i
odgovarajuće komunikacione sposobnosti. Otuda se ne vidi ni jedan razlog zašto bi oni i
dalje radili u "master/slave" arhitekturi mreže. Polazeći od ove činjenice razvijena je nova
arhitektura industrijske računarske mreže NCS (Networked Control System) čija je
osnovna odlika zajednička magistrala. Pored niza drugih prednosti ovaj pristup dovodi do
malog obima žičenja. Umesto da se svaki uređaj posebnim kablom vezuje na "master"
ovde se kroz ceo pogon položi samo jedan kabl (magistrala) za koji se direktno vezuje
svaki pojedini uređaj (Sl. C - 3).
Plc_ind_mreže/206
Najveći broj NCS mreža koristi sposobnosti procesiranja u svakom čvoru. Na taj
način omogućena je i funkcionalna modularnost sistema tako što se odlučivanje i
upravljanje distribuira između kontrolera u mreži. Nadalje, ovaj pristup omogućava i
definisanje standardizovanih sistema za spregu pojedinih elemenata na magistralu..
PROFIBUS FMS
InterBus-S
DeviceNet
magistrale postoji čitav niz protokola, odnosno tipova mreža koji se mogu formirati (Sl. C -
4). Pri tome, sve savremene industrijske mreže imaju otvorene protokole, što znači da se
na njih može vezati oprema različitih proizvođača. Takođe, za čitav niz uređaja
namenjenih mrežama sa zatvorenim protokolima, razvijeni su posebni uređaji za spregu
koji omogućavaju da se oni vežu i u drugačije mreže od onih za koje su bili prvobitno
projektovani. Jednom rečju, danas se svaki proizvođač trudi da obezbedi da se njegovi
uređaji mogu povezati u bilo koju industrijsku mrežu.
Napomenimo na kraju da je kod industrijskih mreža vreme u kome se prenosi
poruka izuzetno značajno. Otuda se često prednost daje determinističkim tehnikama
pristupa (na principu rotirajućeg žetona). Ukoliko, se međutim, želi koristiti tehnika
višestruke emisije, onda je neophodno da se obezbedi da mreža ima izuzetno veliku
brzinu prenosa, čime se povećava verovatnoća da se poruka prenese u traženom
vremenskom periodu.
Pri slanju poruke master upisuje adresu slave čvora kome je poruka namenjena.
Prilikom slanja odgovora, slave u isto polje upisuje svoju adresu, tako da master zna od
kog čvora je poruka stigla. Slave čvorovi imaju adrese od 1 do 247. Ukoliko master u
adresno polje upiše adresu 0, to znači da je poruka namenjena svim slave čvorovima i da
oni na nju ne odgovaraju (broadcast message).
Kod za funkciju označava operaciju koju slave čvor treba da obavi, kao što su
očitavanje stanja digitalnih ulaza ili registara, upisivanja vrednosti na digitialne izlaze ili u
registre itd. Ukoliko je zahtevana operacija uspešno obavljena, pri slanju odgovora slave
čvor ostavlja ovo polje neizmenjeno. Ukoliko je došlo do neke greške, slave čvor menja
originalni kod funkcije tako što najznačajniji bit postavlja na logičku jedinicu.
Polje sa podacima sadrži dodatne informacije neophodne za obavljanje zahtevane
operacije, kao što su adrese registara ili digiatlnih U/I sa kojih se uzimaju podaci ili u koje
se upisuju podaci i slično. Za svaki kod funkcije definisan je niz i redosled podataka
kojima se operacija specificira. Ukoliko se zahteva očitavanje podataka slave čvor će
poslati poruku sa traženim podacima u utvrđenom redosledu koji odgovara primljenom
kodu funkcije. Ukoliko je, međutim, tražena operacija upisivanja podataka, slave čvor će
poslatiporuku koja je identična onoj koju je primio i time signalizirati master čvoru da je
operacija obavljena. Ako pri obavljanju operacije dođe do neke greške, slave čvor će
poslati kod greške na osnovu koga će master da odredi sledeću operaciju koja treba da
se izvrši.
Tačnost prenetih podataka proverava se pomoću CRC (Cyclic Redundancy
Check) ili LRC (Longitudinal Redundancy Check) koda. Ovaj podatak izračunava master i
uključuje u poruku. Kada slave čvor primi poruku, on na osnovu primlejnih podataka
ponovo izračunava CRC ili LRC kod. Ukoliko se izračunati podatak ne slaže sa
primljenim, slave čvor neće poslati odgovor master čvoru. Ukoliko master ne primi
odgovor do isteka tajmaut intervala to je znak da prenos podataka nije uspešno obavljen.
nje skidati.
Vreme rotacije žetona (TRT – Token Rotation Time) određuje NUT interval
(Network Up-date Time). Ovaj interval se deli na tri dela:
• Scheduled – prenos vremenski kritičnih poruka; u ovom intervalu svaki čvor dobije
žeton i prenosi one poruke koje imaju taj nivo prioriteta.
• Unscheduled – svi čvorovi imaju priliku da emituju po "round-robin" principu, sve dok
ne istekne taj vremenski interval.
• Guardband – svi čvorovi prekidaju emitovanje; moderator (čvor sa najmanjim MAC_ID
emituje poruku za sinhronizaciju (maintenance message) pomoću koje svi ostali čvorovi
sinhronizuju tajmere. Ako se moderator ne oglasi u dva sukcesivna NUTa, čvor sa
sledećim najmanjim MAC_ID preuzima ulogu moderatora.
Na Sl. C - 9 ilustrovan je rad mreže sa 7 čvorova. U okviru jednog NUT intervala
svih sedam čvorova dobija određeno vreme da emituje vremenski kritične poruke. Zatim u
preostalom vremenu čvorovi redom dobijaju dobijaju pravo da emituju i preostale poruke.
Oni čvorovi koji, usled isteka raspoloživog vremena, ne dobiju pravo emitovanja, dobiće
ga u nekom od sledećih NUT interrvala.
ControlNet mreža podržava do 100 čvorova na maksimalnom rastojanju od 1000
m. Mreža prenosi 5 Mb/s, pri čemu je trajanje jednog bita 0,2 μs. Ovaj tip mreže ima
veoma dobru propusnu moć i veliku efikasnost za veliko opterećenje mreže, dok je pri
malom saobraćaju neefikasan.
2
М2М – Маchine-to-machine (veza mašine sa mašinom) u pitanju je igra reči, jer se u engleskom
jeziku broj 2 (two) i predlog "ka" (to) izgovaraju na isti način
Plc_ind_mreže/214
3
Intenzivan razvoj tehnologije u oblasti mobilnih komunikacija dovodi neprekidno do uspostavljanja novih
servisa. U periodu od 1999. do 2010. godine planiran je prelaz na treću generaciju tehnologije, tzv. 3G mreža i
odgovarajući 3G servisi, koji nude širi opseg usluga i veću propusnu moć zahvaljujući boljem korišćenju
spektra. Planirano je da GSM standrad bude zamenjen sa UMTS (Universal Mobile Telecomunications
System) standardom.
Plc_ind_mreze/215
internet
Firewall TCP/IP
LAN mreža
GSM modem
PC sa
GSM Control
ili WAP
GSM mreža
SMS
GSM-data
GPRS
OPLC
sa GSM portom operater
GSM modem
DH-485 mreža
SL. C - 12 ŠEMATSKI PRIKAZ ELEMENATA GSM MREŽE I NJENOG POVEZIVANJA SA DRUGIM MREŽAMA
Plc_ind_mreže/216
217/SCADA_uvod
radio signale sa mernih instrumenata, ali im sama nije slala nikakve podatke.
Paralelno sa razvojem radio telemetrije i žična telemetrija je ušla u novu fazu. Umesto
da se koncentrišu na poboljšanje tačnosti i pouzdanosti prenosnog medijuma, inžinjeri su
prepoznali potrebu za ostvarivanjem dvosmerne komunikacije. Na taj način, stvorena je
mogućnost da se ne samo iz daljine nadzire kretanje vozova, već i da se slanjem
odgovarajućih signala upravlja eletromagnetnim skretnicama. Ovo rešenje upravljanja
privuklo je kompanije koje su se bavile prenosom električne energije i gasa, koje su rešavale
sličan transportni problem. Razlika je bila samo u tome što su se njihovi prekidači i ventili
kojima bi trebalo upravljati nalazili na udaljenim, često nepristupačnim lokacijama. Oni su
početkom šezdesetih godina prošlog veka, već imali instalirane sisteme za nadzor opreme,
ali upravljanje i dalje nije bilo moguće.
Vremenom dalji razvoj radio komunikacija omogućio je uspostavljanje dvosmerne
komunikacije i tako je došlo do instaliranja čitavog niza radio telemetrijskih sistema koji su
mogli da ostvare i nadzor i upravljanje. Imajući u vidu da je polaganje telefonskih kablova u
udaljenim lokacijama veoma skupo, nije ni čudno da je sredinom sedamdesetih godina radio
postao osnovni komunikacioni kanal za najveći broj instaliranih dvosmernih telemetrijskih
sistema.
Nema nikakve sumnje da je implemetacija telemetrijskih sistema u velikoj meri
doprinela povećanju efikasnosti procesa, no ona je istovremeno otvarala i niz novih
problema. Sa praktične tačke gledišta, veliki broj senzora dovodio je do gotovo
nepremestovih teškoća pri žičenju. Pored toga, svako dodavanje novih senzora ili potreba za
rekonfigurisanjem sistema zahtevalo je da se sistem formira gotovo iz početka. Nadalje,
prikupljanje podataka o procesu, prirodno je dovelo i do ideje da se oni upotrebe za analizu i
nmodeliranje procesa, što bi u krajnjoj liniji dovelo i do poboljšanja upravljanja. I ovde je
telemetrijski sistem pokazivao određene nedostatke i to pre svega u pogledu skladištenja
prikupljenih podataka koji bi se kasnije obrađivali. Konačno, ne treba zanemariti ni činjenicu,
da je telemetrijski sistem zahtevao neprekidno prisustvo operatera u dispečerskom centru
gde se sakupljaju sve informacije i odakle se vrši upravljanje procesom. Drugim rečima,
koliko god da je sama koncepcija telemetrijskog sistema u velikoj meri unapredila kvalitet
rada procesa, toliko je postalo jasno da je neophodno da se razmišlja o drugačijoj tehnološkoj
osnovi za njegovu realizaciju.
Imajući u vidu da su prikupljanje i obrada podataka osnovne funkcije svakog
telemtrijskog sistema, čini se da je bilo prirodno da se pažnja usmeri prema digitalnim
računarima čiji je razvoj vremenski pratio razvoj radio industrije. Na potrebu procesne
industrije, računarska industrija odgovara proizvodnjom odgovarajućih industrijskih
miniračunara koji se smeštaju u dispečerski centar i postaju sastavni deo telemetrijskog
sistema. Početkom sedamdesetih godina prošlog veka, polako prestaje da se govori o
telemetrijskim sistemima i uvodi se novi pojam SCADA (Supervisory Control And Data
Acquisition – sueprvajzorsko upravljanje i akvizicija podataka). Teško je reči šta je tačno
motivisalo ovu promenu naziva. Moguće je da se želelo posebno istaći da se više ne radi
samo o prikupljanju podataka sa udaljenih lokacija i izdavanju komandi, već i o veoma
sofisticiranoj obradi prikupljenih podataka čiji rezultati u velikoj meri olakšavaju rad dispečera.
Drugim rečim, SCADA je u istinu novi koncept u odnosu na telemetrisjke sisteme.
Tokom poslednjih trideset godina razvoj SCADA-e je prirodno pratio razvoj
komunikacionih i računarskih tehnolologija. Danas je SCADA postala sastavni deo gotovo
svake industrijske aplikacije. Ona se realizuje u okviru računarske mreže i po pravilu nadzire
rad jednog broja lokalnih stanica u mreži koje obavljaju akviziciju podataka, i izvršavaju
direktno digitalno i sekvencijalno upravljanje procesima.
Dodajmo na kraju da savremena SCADA može da razmenjuje podatke i preko
interneta. Time je omogućeno da se stanje na nekom procesu prati praktično sa bilo koje
tačke zemljine kugle.
219/SCADA_uvod
50
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48
1 3 5 7 9 11 13 15 17 19 21 23 25 2 7 29 31 33 35 37 39 41 43 45 47
S TATU S
AU X
PSI R PS U 49 50
1 0/10 0/100 E THE RNE T
LAYE R 3S WIT CH
Gledano potpuno opšte sistem koji poseduje sve opisane komponente i u kome se
obavaljaju navedeni zadaci predstavlja nadzorno-upravljački sistem ili SCADA sistem. Za
postojanje jednog ovakvog sistema apsolutno je nebitno koja oprema je upotrebljena niti na
koji način su realizovane pojedine softverske funkcije. Ipak, nesumnjivo je da se ovde radi o
izuzetno složenim sistemima u kojima se obavlja mnoštvo raznorodnih funkcija, što znači da
njihovo projektovanje može da bude veoma zametno. Sa druge strane, očigledno je da je
čitav niz funkcija sistema vezanih za prikupljanje, prenos i prikazivanje podataka, zapravo
tipiziran i da ne zavisi bitno od same aplikacije. Ova činjenica dovela je do ideje da se razvije
poseban aplikativni softver - SCADA softver - koji bi olakšao projektovanje SCADA sistema.
U projektovanju savremenih sistema za upravljanje i nadzor procesima uobičajeno je
da se izdvoje tri celine
• SCADA hardver – obuhvata zapravo opremu koja se koristi pri formiranju sistema za
nadzor. Ovde se pre svega, misli na senzore, pretvarače i izvršne organe, udaljene stanice
koje prikupljaju ove signale, opremu neophodnu za komunikaciju sa drugim stanicama,
centralnu stanicu i eventualno na poslovni informacioni sistem.
• SCADA softver – softverski alat koji omogućava jednostavno specificiranje svih
elemenata sistema, kao i jednostavno projektovanje operatorskog interfejsa u dispečerskim
stanicama.
Scada_uvod/222
da ne moraju da se vezuju u sistem preko neke udaljene stanice, već se mogu priključiti i
direktno na mrežu. U tom slučaju i oni se mogu posmatrati kao svojevrsne udaljene stanice.
Konačno, samo postojanje udaljene stanice podrazumeva da je ona sposobna za
komunikaciju sa centralnom stanicom. To znači da ona mora imati i neophodne elemente za
komunikaciju. Pored toga, da bi se obezbedio nezavistan rad stanice, ona po pravilu ima i
nezavisno napajanje (UPS).
Tipičan izgled jedne udaljene stanice je prikazan na Sl. D - 2.
U principu konfigurisanje i programiranje udaljene stanice može da se obavi na dva
načina: preko centralne stanice ili pomoću operatorskog terminala koji se nalazi u samoj
udaljenoj stanici.
Tipična udaljena stanica treba da zadovolji sledeće specifikacije.
Hardver
• Modularnost, robusnost i skalabilnost – standardizovani i lako zamenljivi moduli,
nezavistan rad pojedinih modula, mogućnost povećanja broja modula;
• Dijagnostika – jasna indikacija stanja pojedinih komponenti (led diode), mogućnosti lokalne
i udaljene dijagnostike;
• Mala potrošnja, malo zagrevanje, mogućnost rada u zadanom opsegu temperature i
vlaćnosti, otpornost na vibracije, prašinu i druge soljne uticije, a u zavisnosti od
ambijentalnih uslova u kojima se stanica nalazi.
Softver
• Pamćenje evidencije o svim greškama prouzrokovanim spoljnjom opremom ili internim
elementima;
• Postojanje alata za konfiguraciju i dijagnostiku pri inicijalnom postavljanju stanice,
programiranju i u toku normalnog rada;
• Podrška konfigurisanju i programiranju preko centralne stanice ili operatorskog terminala
koji se nalazi u udaljenoj stanici.
Iako se udaljene stanice prave kao nezavisni uređaji, sve češća je praksa da se one
realizuju pomoću PLC-ova. Njihobvom korišćenjem se, zapravo, značajno proširuju
mogućnosti udaljene stanice.
Imajući u vidu značaj koji centralna stanica ima za rad celog nadzorno-upravljačkog
sistema čest je slučaj da se u centralnoj stanici nalaze zapravo dva računarska sistema
(SCADA servera) od kojih je jedan aktivan, a drugi služi kao podrška u slučaju otkaza prvog.
Tipičan izgled jedne centralne stanice prikazan je na Sl. D - 3.
D.4.3. KOMUNIKACIJA
Komunikacioni sistem treba da ostvari vezu između centralne i udaljenih stanica. Ova
225/SCADA_uvod
oprema uključuje sve elemente koji se koriste u formiranju industrijskih računarskih mreža.
Prenos informacija se može ostvariti žičnim ili bežičnim putem, ili kombinacijom
različitih prenosnih medija. U principu moguće je koristiti žične ili optičke zemaljske veze,
radio veze, satelitske, ili usluge GSM mreže. Pored toga, formiranje mreže zahteva da izvrši
izbor topologije mreže, prenosnih medija, načina komunikacije i protokola.
Nema nikakve sumnje da je izbor komunikacione opreme izuzetno važan za efikasan
rad celog sistema. Ovaj izbor zavisi od vrste i obima informacija koja se želi preneti, ali i od
rastojanja i konfiguracije terena na kome se nalaze udaljene stanice. Samo se po sebi
razume da sve stanice u mreži moraju podržavati odabran tip komunikacije.
U principu u okviru jednog sistema može postojati više mreža, pri čemu je jedna
glavna dok ostale služe kao rezerva u pojedinim, kritičnim, delovima sistema.
operaterim i tehnolozima definisao na koji način će se obavljati nadzor nad radom sistema i
koje vrste komanda se žele zadavati.
Na tom nivou od SKADA alata se očekuje da omogući jednostavno specificiranje svih
elemenata sistema, kao i jednostavno projektovanje operatorskog interfejsa u udaljenim
stanicama. Samo definisanje aplikacije podrazumeva specifikaciju načina komunikacije (tip
mreže, komunikacioni drajver i sl.), čvorova u mreži, vreme skeniranja pojedinih stanica itd.
Kada je specificiran ceo sistem, razvoj SCADA-e započinje kreiranjem baze podataka
koji se prate i obrađuju. Da bi se to ostvarilo neophodno je da se sastavi spisak svih
ulazno/izlazni promenljivih, da im
se pridruže simbolička imena i da
se za svaku od njih ustanovi sa
kog čvora u mreži dolazi, i sa
koje adrese u tom čvoru.
Istovremeno se utvrđuje i kog je
tipa (digitalna ili analogna), da li
postoje ograničenja koja treba
pratiti na nivou alarma, kojom
brzinom se menjaju, odnosno
kojom brzinom treba da se
skeniraju, i da li se promena
njihovih vrednosti prikazuje
grafički, ili se arhivira. U tom
smislu, od SCADA alata se
očekuje da omogući jednostavno
definisanje simboličkih imena
promenljivih i svih njihovih
SL. D - 4 SCADA EKRAN ZA PRAĆENJE RADA HEMIJSKOG
parametara. U SCADA alatima
REAKTORA
promenljive se nazivaju "tagovi"
("tag").
Uporedo sa popisivanjem
promenljivih koje čine bazu
podataka, započinje se i sa
osmišljavanjem izgleda grafičkih
prikaza podataka pomoću kojih će
se vršiti nadzor nad radom
sistema. U načelu, prikazivanje
stanja na procesu ostvaruje se
preko niza grafičkih slika "ekrana"
koji se aktiviraju u toku rada
sistema. Na svakom ekranu nalazi
se šematski prikaz dela procesa.
Tako na primer, ako se radi o
hemijskom reaktoru, onda se na
jednom od ekrana može prikazati
šema reaktora sa rezervoarima u
kojima se nalaze komponente
smeše (Sl. D - 4). Pri tome
SL. D - 5 GRAFIČKI PRIKAZ PROMENLJIVIH VELIČINA pojedini elementi (crteži) na ovim
šemama predstavljaju promenljive
koje se mere u udaljenim stanicama. Na osnovu rezultata merenja ovi elementi se mogu
pomerati, menjati boju ili dimenzije i time ukazivati na stvarno stanje na procesu. U
227/SCADA_uvod
4
U praksi se često koriste sledeće skraćenice: MMI – Man Machine Interface ili HMI – Human Machine
Interface
229/SCADA_uvod
pravilu, ima mogućnost da isprogramira više različitih tipova tabelarnih prikaza podataka i da
ih pomoću odgovarajućih tastera poziva u toku rada kontrolera. Pozivanjem jedne tabele,
aktivira se komunikacija između terminala i kontrolera za koji je on vezan, preuzmu se
vrednosti podataka koji su navedeni u tabeli i prikažu na ekranu.
Za programiranje ovakvih terminala razvijeni su posebni programski paketi koji zavise
od vrste i tipa terminala. U principu, radi se o veoma jednostavnom skupu naredbi koje se
mogu zadati bilo preko samog terminala, bilo preko posebnog programskog paketa koji
omogućava da se program razvije na standardnom PC računaru i zatim unese u terminal.
• Grafički operatorski terminal
Grafički operatorski terminal, se od alfanumeričkog razlikuje po tome što omogućava i
grafički prikaz podataka u formi dijagrama ili na neki drugi način (npr. promenom boje ako se
meri temperatura ili dimenzija ako se meri nivo itd.).
Istovremeno, grafički terminali veoma često umesto
tastature, ili uz tastaturu, imaju i ekran koji je osetlljiv
na dodir ("touch screen"), što znači da operator može
da zadaje komande kontroleru i pritiskom na određene
delove ekrana. Ovo svakako podrazumeva da se
prethodno isprogramira odgovarajući izgled ekrana i
da se pojedini njegovi segmenti povežu sa grupom
podataka koja se želi prikazati.
Kao i kod alfanumeričkih terminala, proizvođači
su razvili i posebne programske pakete za
programiranje grafičkih terminala.
• PC kao operatorski terminal
Ako je bilo moguće da se isprojektuje poseban
uređaj pomoću koga će operater komunicirati sa
terminalom, onda je izvesno da je bilo moguće da se
ta vrsta komunikacije uspostavi i preko standardnog
PC računara. Nesumnjivo je da ova vrsta sprege pruža
daleko veće mogućnosti od bilo kog operatorskog
terminala, ali je naravno i značajno skuplja. Otuda je
prihvaćeno, da se PC koristi kao terminal samo na
onim mestima u sistemu gde je neophodno da se
ostvari širok repertoar različitih prikaza stanja procesa i
da se, sa druge strane, pruži mogućnost za
raznovrsno zadavanje komandi samom procesu.
Pored toga PC se koristi i za formiranje i testiranje
programa PLC-a.
prikazan je na Sl. D - 9.
Za OPLC terminale proizvodi se i poseban softverski alat koji olakšava njihovo
programiranje.