You are on page 1of 9

Univerzitet u Sarajevu

Elektrotehnički fakultet u Sarajevu

Sekvencijalni funkcijski
dijagrami

Materijal pripremio:
Josip Franjić

Sarajevo, Juli 2020


1 Sekvencijalni Funkcijski Dijagrami
U ovom potpoglavlju opisati će se sekvencijalni grafički blokovi, objasniti šta
koji blok radi te ilustrirati kroz nekoliko primjera.
Programiranje sa SFC blokovima je zgodan alat, posebice u slučajevima
kada se problemski zadatak može predstaviti kao mašina konačnih stanja.
U takvim slučajevima najjednostavnija izrada zadatka se ostvaruje upravo
korištenjem SFC blokova. SFC može imati nekoliko stanja a trenutno ak-
tivno je ono koje trenutno posjeduje ”žeton”. Prilikom pokretanja programa
žeton će se nalaziti u inicijalizacijskom bloku. Sve dok se žeton nalazi u tom
bloku na izlazu tj. na desnoj strani inicijalnog bloka će egzistirati logička
jedinica. Na lijevoj strani SFC blokova se može imati jedan ili više digitalnih
ulaza. Ako se na taj ulaz dovede logička jedinica žeton će ”propasti” i otići
u naredni blok.

1.1 Osnove sekvencijalnih funkcijskih dijagrama u Ze-


lioSoftu
Prikaz SFC liste u ZelioSoft-u je dat na slici 1. U ovom poglavlju obraditi će
se osnovne funkcije pojedinačnih blokova kao i njihove primjene.

Slika 1: Izgled SFC liste.

• Reset-init - Prvi blok po redu je ”Reset-init”. Ovaj blok ima 2 digi-


talna ulaza. Prvi blok služi za re-inicijalizaciju. Kada se na ovaj ulaz
dovede log 1 u ovom i u svakom drugom bloku koji se nalaze u istoj
grani ”stvori” žeton te na izlazu svakog bloka u toj grani je log 1. Drugi
ulaz je tranzicijski ulaz. Ako je na njega dovedena log 1 tada će žeton
propasti. U jednom programu može postojati samo jedan Reset-init,

1
• Init-step - Inicijalizacijski blok, svaki program mora imati jedan ini-
cijalizacijski blok. Optimalno je imati samo jedan jer u slučaju više
njih može doći do konflikta. Prilikom pokretanja programa žeton će
se pojaviti u inicijalizacijskom bloku te će na svom izlazu generirati
logičku jedinicu. Init-step blok posjeduje samo jedan digitalni ulaz za
propuštanje žetona,

• Step - Ovaj blok služi za jednosmjerno slanje žetona. Ako se žeton


nade u ovom bloku na izlazu generira logičku jedinicu. Žeton ostaje u
bloku sve dok se na ulaz ne dovede log 1,

• Div-OR - Blok koji služi za grananje žetona. Blok posjeduje 2 dig-


italna ulaza. Prvi digitalni ulaz, žeton šalje na lijevu stranu ako je
na njegov ulaz dovedena logička jedinica dok drugi digitalni ulaz žeton
šalje na desnu stranu ako je na njegov ulaz dovedena logička jedinica.
Na izlazu se generira logička jedinica ako se u bloku nalazi žeton,

• Conv-OR - Blok koji služi da se više različitih grana kroz koje može
proći žeton, šalje u jedan blok. Obično se koristi ako je program podjel-
jen na mnogo grana sa ”Div-OR” i kada je potrebno blokove ponovno
vratiti u jedan blok, budući da standardno blok ima samo 2 ”žeton
ulaza” u tom slučaju je potrebno koristiti ”Conv-OR”,

• Div-AND - S ovim blokom je moguće jedan žeton podjeliti u 2 žetona.


Ako u ovaj blok ude žeton, na oba izlaza se šalje po jedan žeton.
Najčešće se koristi u kombinaciji sa ”Conv-AND” blokom kako bi se
provjerila 2 uslova,

• Conv-AND - Blok koji služi za primanje 2 različita žetona. Ima jedan


ulaz za propuštanje žetona. Kod ovog bloka žeton neće propasti ako se
oba žetona nisu pojavila u bloku tj. žeton neće propasti sve dok se oba
žetona ne pojave. Postoje 2 digitalna izlaza. Prvi daje logičku jedinicu
ako je u blok ušao prvi žeton dok drugi izlaz daje logičku jedinicu ako
je u blok ušao drugi žeton.

2
1.2 Primjeri zadataka sa sekvencionalnim funkcijskim
dijagramima u ZelioSoftu
U ovom potpoglavlju će se objasniti kako koristiti SFC blokove za rješavanje
problema. SFC blokovi se najčešće kombiniraju sa običnim FBD blokovima.

Primjer 1

Potrebno je pomoću tastera ”start” i ”stop” upravljati pokretanjem i zaus-


tavljanjem mašine. Prilikom aktivacije ”start” tastera mašina se pokreće
istog trenutka. Prilikom aktivacije ”stop” tastera mašina se zaustavlja istog
trenutka. Lista signala i način povezivanja je dat u tabeli 1.

Naziv Oznaka Tip signala


start I1 digitalni ulaz
stop I2 digitalni ulaz
mašina Q1 digitalni izlaz

Tabela 1: Lista signala za prvi primjer.

U prvom primjeru će se pokazati korištenje ”Init-step” i ”Step” blokova.


Kao što se može uočiti sa slike 2 zadatak je rješen kao konačni automat sa
2 stanja. U prvom (inicijalnom) bloku mašina nije aktivna dok je u drugom
bloku mašina aktivna. Zelio folder ovog zadatka je dat u prilogu u folderu
”SFC” pod nazivom ”SFC1”.

3
Slika 2: Primjer 1 SFC.

Primjer 2

Potrebno je pomoću 2 tastera omogućiti pokretanje dviju mašina.


Funkcionalnosti koje se trebaju ispuniti su slijedeće:

• ako je prvi taster aktiviran pokrenuti će se prva mašina,

• ako je drugi taster aktiviran pokrenuti će se druga mašina,

• obje mašine ne smiju biti aktivne u istom trenutku,

• u slučaju da je aktivan taster ”stop” potrebno je zaustaviti mašinu


koja je trenutačno aktivna.

Lista signala i način povezivanja je dat u tabeli 2.

Naziv Oznaka Tip signala


taster1 I1 digitalni ulaz
taster2 I2 digitalni ulaz
stop IC digitalni ulaz
mašina1 Q1 digitalni izlaz
mašina2 Q3 digitalni izlaz

Tabela 2: Lista signala za drugi primjer.

4
U drugom primjeru će se predstaviti blokovi: ”Div-OR” i ”Conv-OR”.
Zadatak koji je potrebno rješiti ima sljedeću postavku:
Potrebno je pomoću 2 tastera pokrenuti dvije mašine. Ako je prvi taster ak-
tiviran pokrenuti će se prva mašina. Ako je drugi taster aktiviran pokrenuti
će se druga mašina. Dok se obe mašine zaustavljaju na taster ”zaustavi”.
Rješenje zadataka je prikazano na slici 3. Specifičnost ovog zadatka jeste
činjenica da token ne može proći i lijevo i desno nego se može zateći samo
u jednom od dva moguća stanja. U ovom zadatku je pokazano kako se
sa logičkim ”ILI” blokom može dva različita signala dovesti na ulaz. U
izloženom primjeru nije bilo potrebe koristiti ”Conv-OR” budući da su pos-
tojala samo dva moguća stanja u kojima se žeton mogao nalaziti. Zelio folder
ovog zadatka je dat u prilogu u folderu ”SFC” pod nazivom ”SFC2”.

Slika 3: Primjer 2 SFC.

5
Primjer 3

Za potrebe pokretanja mašine iz sigurnosnih razloga mašina se može


pokrenuti jedino ako su pritisnuta oba tastera za pokretanje (ne nužno u
isto vrijeme). Mašina se zaustavlja tasterom za gašenje.
Lista signala i način povezivanja je dat u tabeli 3.

Naziv Oznaka Tip signala


taster1 I1 digitalni ulaz
taster2 I2 digitalni ulaz
stop IC digitalni ulaz
mašina Q1 digitalni izlaz

Tabela 3: Lista signala za drugi primjer.

U trećem primjeru će se pokazati korištenje ”Div-AND” i ”Conv-AND”


blokova.
Rješenje zadataka je prikazano na slici 4. ”Div-AND” blok se koristi kako bi
se žeton podijelio na dva dijela tj. kako bi se provjerili uslovi da su oba tastera
aktivirana. Mašina se pokreće ako su oba žetona došla u ”Conv-AND”. Zelio
folder ovog zadatka je dat u prilogu u folderu ”SFC” pod nazivom ”SFC3”.

Slika 4: Primjer 3 SFC.

6
Primjer 4

Kada se mašina želi pokrenuti, iz sigurnosnih razloga, to nije moguće dok se


prethodno u za to predvidenom polju ne unese šifra za pokretanje (prikaz
ekrana na slici 5). Šifra se unosi korištenjem 4 tastera na PLC-u. Svaki
pojedinačni taster predstavlja jedan broj od 1-4 s lijeva na desno respektivno.
U slučaju da je šifra unešena pogrešno, unos se blokira 30 sekundi prije nego
što se može unijeti ponovo (prikaz ekrana na slici 7). Šifra ima 4 cifre i za
potrebe zadataka će biti 1234. U slučaju da se šifra tačno unese mašina se
otključa i potrebno je da ekran izgleda kao na slici 6. Prilikom unosa na
ekranu je potrebno ispisivati sve korake.
Lista signala i način povezivanja je dat u tabeli 4.

Naziv Oznaka Tip signala


taster1 I1 digitalni ulaz
taster2 I2 digitalni ulaz
taster3 I3 digitalni ulaz
taster4 I4 digitalni ulaz
mašina Q1 digitalni izlaz

Tabela 4: Lista signala za drugi primjer.

Način na koji je moguće riješiti zadatak jeste da se kreiraju 2 glavne SFC


grane. Prva grana je grana u kojoj je šifra i dalje tačna. U slučaju da se
unese pogrešna cifra na pogrešno mjesto žeton iz lijeve (tačne) grane, koja
vodi do otključavanja mašine, se prebacuje u desnu (netačnu) granu koja vodi
do zaključavanja unosa šifre sljedećih 30 sekundi. Potrebno je napomenuti
da u ovom slučaju jedan prelazak reagira na pozitivnu i negativnu ivicu. Na
ovaj način žeton može proći u sljedeći blok tako što jedan veliki blok čini blok
”Div-OR” i ”Step” gdje ”Div-OR” propušta na pozitivnu ivicu signala dok
”Step” propušta na negativnu ivicu. Ako bi bio samo jedan ”Div-OR” kao
jedan blok onda bi prilikom jednog pritiska na taster žeton propao do kraja.
Zelio folder ovog zadatka je dat u prilogu u folderu ”SFC” pod nazivom
”SFC4”.

7
Slika 5: Izgled ekrana kada je potrebno unijeti šifru.

Slika 6: Izgled ekrana kada je šifra dobro unesena.

Slika 7: Izgled ekrana kada je šifra pogrešno unesena.

You might also like