upravljanje proizvodnih faz po standardu...
TRANSCRIPT
UNIVERZA V LJUBLJANI
Fakulteta za elektrotehniko
Jožef Vidergar
UPRAVLJANJE PROIZVODNIH FAZ PO STANDARDU ANSI/ISA-88
DIPLOMSKO DELO UNIVERZITETNEGA ŠTUDIJA
Mentor: doc. dr. Boštjan Murovec
Ljubljana, september 2008
Zahvala
Zahvaljujem se mentorju doc. dr. Boštjanu Murovcu za pomoč, strokovne nasvete ter njegovo
potrpežljivost pri pregledovanju diplomskega dela. Zahvala gre tudi sodelavcem v podjetju
Sinabit, d.o.o, kjer sem pridobil bogate izkušnje na področju avtomatike.
Posebno pa bi se rad zahvalil svojim staršem, ki so mi omogočili študij ter me pri tem
podpirali.
Povzetek V diplomski nalogi je predstavljeno programiranje proizvodnih faz po standardu ANSI/ISA
S88 na krmilni enoti družine Siemens. Standard je razvit za vodenje industrijskih procesov v
procesni avtomatiki.
V prvem delu diplomske naloge bralca seznanimo s standardom S88 in njegovo uvedbo v
industrijski proces (modeli in terminologija standarda, povezave med modeli, ukazi ter stanja
po standardu, uvedba standarda v proces). Standard postavlja temelje tako za programsko kot
strojno opremo. V procesni avtomatizaciji je pomembna proizvodnja različnih izdelkov v
sprejemljivem času. Uporaba standarda prinaša mnoge prednosti zaradi prilagodljivosti
sistema, preprostega spreminjanja vhodno/izhodnih parametrov, itd. Najnižji nivo standarda
S88 so proizvodnje faze, s katerimi upravlja krmilna enota.
V drugem delu diplomske naloge je predstavljen program za vodenje faz po standardu S88
tako na krmilniškem (PLC) nivoju kot tudi na nadzornem (SCADA) sistemu. Za PLC nivo je
uporabljen krmilnik družine Siemens (S300/CPU315), nadzorni sistem pa je izdelan s
programskim paketom iFix 3.5. Predstavljen je tudi koncept programiranja v programskem
paketu STEP7 (krmilni nivo) ter iFix 3.5 (nadzorni nivo).
Ključne besede: standard S88, proizvodne faze, STEP7, iFix 3.5, funkcionalna specifikacija
Abstract
The thesis presents programming of production phases according to standard ANSI/ISA S88
on Siemens family of programmable logic controllers. S88 standard was developed for
industrial process control in process automation.
In the first part of the thesis a reader is introduced to S88 standard and its implementation into
industrial process (models and terminology, linkage between models, commands and states
according to standard and integration of standard into process). Standard sets both software
and hardware fundamentals. In automation process control it is essential to make many
different products in acceptable time frame. The standard offers many advantages within the
scope of adaptation of a system, simple modification of it's input/output parameters, etc. The
lowest level of the standard consists of production phases, which are controlled by
progammable logic controler (PLC).
The second part of the thesis presents application for phase control according to S88 standard
on PLC and on supervisory control sistem (SCADA). For process control level of application,
PLC is using central processing unit type S300/CPU315 from Siemens PLC family.
Supervisory system is built on Intellution's iFix version 3.5. Concept of programming is also
presented in both PLC and SCADA, using STEP7 software for PLC and iFix 3.5 for SCADA.
Keywords: standard S88, production phases, STEP7, iFix 3.5, functional specification
i
Kazalo
1 Uvod ............................................................................................................................1 1.1 Tema diplomskega dela ................................................................................................2
2 Opis standarda S88.....................................................................................................3 2.1 Modeli in terminologija standarda S88 ........................................................................4
2.1.1 Fizični model ..........................................................................................................4 2.1.1.1 Podjetje (ang.: Enterprise): ..............................................................................5 2.1.1.2 Podružnica (ang.: Site) ....................................................................................5 2.1.1.3 Obrat (ang.: Area)............................................................................................5 2.1.1.4 Procesna celica (ang.: Proces cell) ..................................................................6 2.1.1.5 Enota (ang.: Unit) ............................................................................................6 2.1.1.6 Moduli opreme (ang.: Equipment moduls) .....................................................6 2.1.1.7 Modul vodenja (ang.: Control modul).............................................................6
2.1.2 Postopkovni model .................................................................................................7 2.1.2.1 Posopek (ang.: Procedure)...............................................................................7 2.1.2.2 Postopek enote (ang.: Unit procedure) ............................................................7 2.1.2.3 Operacija (ang.: Operation) .............................................................................7 2.1.2.4 Faza (ang.: Phase)............................................................................................8
2.2 Povezave med modeli...................................................................................................8 2.3 Ukazi ter stanja po standardu S88 ................................................................................9
2.3.1 Ukazi po standardu S88........................................................................................10 2.3.1.1 Start (ang.: Start) ...........................................................................................10 2.3.1.2 Stop (ang.: Stop) ............................................................................................10 2.3.1.3 Zadrži (ang.: Hold) ........................................................................................10 2.3.1.4 Nadaljuj (ang.: Restart)..................................................................................10 2.3.1.5 Prekini (ang.: Abort)......................................................................................10 2.3.1.6 Reset (ang.: Reset).........................................................................................11 2.3.1.7 Pavziraj (ang.: Pause) ....................................................................................11 2.3.1.8 Obnovi (ang.: Resume)..................................................................................11
2.3.2 Stanja po standardu S88 .......................................................................................11 2.3.2.1 Začetno (ang.: Idle)........................................................................................11 2.3.2.2 Obratovanje (ang.: Running) .........................................................................11 2.3.2.3 Zaključeno (ang.: Complete) .........................................................................12 2.3.2.4 Pavziranje (ang.: Pausing) .............................................................................12 2.3.2.5 Pavzirano (ang.: Paused) ...............................................................................12 2.3.2.6 Zadržanje (ang.: Holding)..............................................................................12 2.3.2.7 Zadržano (ang.: Held)....................................................................................12 2.3.2.8 Nadaljevanje (ang.: Restarting) ....................................................................12 2.3.2.9 Ustavljanje (ang.: Stopping) ..........................................................................13 2.3.2.10 Ustavljeno (ang.: Stopped) ............................................................................13 2.3.2.11 Prekinjanje (ang.: Aborting) ..........................................................................13 2.3.2.12 Prekinjeno (ang.: Aborted) ............................................................................13
2.3.3 Uvedba standarda S88 v proces............................................................................13 2.3.3.1 Uvedba standarda S88 ...................................................................................13 2.3.3.2 Primer uvedbe standarda v proces (fizični model) ........................................14
3 Realizacija funkcij ....................................................................................................17 3.1 Step7 ...........................................................................................................................17
3.1.1 SIMATIC Manager ..............................................................................................17
ii
3.1.2 Konfiguracija strojne opreme ...............................................................................18 3.1.2.1 Uporabljena strojna oprema...........................................................................20
3.1.3 Programsko orodje v SIMATIC MANEGERJU..................................................21 3.1.3.1 Organizacijski bloki (OB) .............................................................................22 3.1.3.2 Funkcijski bloki (FB) ..................................................................................23 3.1.3.3 Funkcije (FC)................................................................................................23 3.1.3.4 Podatkovni bloki (DB) ..................................................................................23 3.1.3.5 Sistemski funkcijski bloki (SFB)................................................................24 3.1.3.6 Sistemske funkcije (SFC) ..............................................................................24 3.1.3.7 Sistemski podatkovni bloki (SDB)................................................................24
3.1.4 Programiranje v STEP7........................................................................................24 3.1.4.1 Funkcijski blokovni diagram.........................................................................25 3.1.4.2 Lestvični diagram ..........................................................................................25 3.1.4.3 Strukturiran tekst ...........................................................................................26 3.1.4.4 Grafični sekvenčni diagram...........................................................................26 3.1.4.5 Višjenivojski programski jezik......................................................................27
3.2 iFix 3.5........................................................................................................................27 3.2.1 Delovno okolje iFix 3.5........................................................................................28
3.2.1.1 Intellution iFix Workspace ............................................................................28 3.2.1.2 Intellution iFix Database ...............................................................................31 3.2.1.3 Povezava med enoto CPU ter sistemom SCADA .........................................32
3.3 Programiranje (razvoj) faz na CPU enoti ...................................................................33 3.3.1 Uporabljeni ukazi v lestvičnem diagramu............................................................33 3.3.2 Uporabljeni ukazi v strukturiranem tekstu ...........................................................36 3.3.3 Vmesnik za delo s fazami (ang.: Phase Logic Interface) .....................................36
3.3.3.1 Kreiranje funkcij ter spremenljivk.................................................................38 3.3.3.2 Opis posameznih spremenljivk......................................................................40
3.3.4 Programska koda vmesnika za delo z fazami.......................................................45 3.3.4.1 Opis posameznih sklopov programa: ............................................................46
3.3.5 Programska koda faz ............................................................................................50 3.4 Uporabniški vmesnik na sistemu SCADA .................................................................50
3.4.1 Primer uporabniškega vmesnika...........................................................................52
4 Zaključek...................................................................................................................55
5 LITERATURA..........................................................................................................57
iii
Kazalo slik
Slika 1: Fizični model................................................................................................................5
Slika 2: Postopkovni model .......................................................................................................7
Slika 3: Preslikave med modeli .................................................................................................8
Slika 4: Ukazi ter stanja po standardu S88, preslikano iz [2]..................................................9
Slika 5: Zalogovnik hladne vode, preslikano iz [2] ...............................................................14
Slika 6: Določitev modula opreme, preslikano iz [2]..............................................................16
Slika 7: Simatic maneger ........................................................................................................18
Slika 8: Orodna vrstica v Simatic Manegerju ........................................................................18
Slika 9: Dostop do orodja za konfiguracijo strojne opreme...................................................19
Slika 10: Nastavitve konfiguracije ..........................................................................................19
Slika 12: Programsko orodje v okolju Step7 ..........................................................................22
Slika 13: FBD diagram ...........................................................................................................25
Slika 14: Lestvični diagram.....................................................................................................25
Slika 15: Strukturiran tekst .....................................................................................................26
Slika 16: Grafični sekvenčni diagram ....................................................................................27
Slika 17: Višjenivojski programski jezik.................................................................................27
Slika 18: Ittelution iFix workspace.........................................................................................29
Slika 19: Dinamične lastnosti objektov...................................................................................30
Slika 20: Podatkovna baza ......................................................................................................32
Slika 21: Programski paket SI7 Power Tool .........................................................................33
Slika 22: Ukaz zaokroži ...........................................................................................................33
Slika 23: Primerjava celoštevilske vrednosti ..........................................................................34
Slika 24: Ukaz prepiši..............................................................................................................34
Slika 25: Vpis vrednosti ena v spremenljivko tipa BOOL......................................................34
Slika 26: Izhodni kontakt ........................................................................................................34
Slika 27: Primerjava spremenljivk z plavajočo vejico ............................................................35
Slika 28: Delovni kontakt ........................................................................................................35
Slika 29: Mirovni kontakt........................................................................................................35
Slika 30: Resetiraj....................................................................................................................35
Slika 31: Klic posameznih faz .................................................................................................37
Slika 32: Funkcija FC1000.....................................................................................................38
Slika 33: Kreiranje nove funkcije ...........................................................................................38
iv
Slika 34: Podatkovni blok DB1000 .........................................................................................40
Slika 35: Diagram programske kode ......................................................................................45
Slika 36: Inicializacija.............................................................................................................47
Slika 37: Obdelava stanja zadržano........................................................................................48
Slika 38: Prehodi med stanji ...................................................................................................48
Slika 39: Prehod v stanje zadrževanje ....................................................................................49
Slika 40: diagram programske kode - faze .............................................................................50
Slika 41: uporabniški vmesnik na SCADA sistemu ...............................................................51
Slika 42: Visibility Exspert ......................................................................................................52
Slika 43: Uporabniški vmesnik – mešanje z mešalom............................................................53
v
Kazalo tabel
Tabela 1: Spremenljivke faze ..................................................................................................39
Tabela 2: Vrednost spremenljivke Status ...............................................................................42
Tabela 3: Ukazi kodirani s spremenljivko Ukaz.....................................................................43
Tabela 4: Vrednost spremenljivke Številka koraka ................................................................43
vi
1
1 Uvod
Leta 1995 je ISA (Instrument Society of America [18]) predstavila standard S88.01 (SIST EN
61512-1:2001), skrajšano S88 ali paketni protokol (ang.: batch protocol) [1]. Standard je razvit za
vodenje industrijskih procesov v procesni avtomatiki. Industrijski proces je po standardu definiran
kot »Zaporedje kemičnih, fizikalnih ali bioloških aktivnosti, pri katerih se pretvarjajo,
transponirajo ali shranjujejo materiali ali energija« [2]. V procesni avtomatiki se uporablja
raznolik nabor strojne in programske opreme od enostavnih senzorjev, aktuatorjev in
programirljivih krmilnikov do informacijskih sistemov, ki upravljajo podatkovno bazo ter izvajajo
različne poslovne funkcije.
Standard S88 povezuje programsko in strojno opremo v procesne postopke. Ločimo fizični model
ter proceduralni model (sekcija 2.2). Prvi korak izvedbe zahtevanega projekta v procesni
avtomatiki je realizacija tehnoloških zahtev. Zahteve so navadno zapisane v dokumentu FDS –
funkcionalna specifikacija (ang.: Functional design specification). Če želimo procesni sistem
realizirati po standardu S88, morajo pri izvedbi sodelovati strokovnjaki različnih področij,
običajno inženirji avtomatizacije ter procesni inženirji.
V procesni avtomatizaciji je pomembna proizvodnja različnih izdelkov v sprejemljivem času.
Uporaba standarda prinaša mnoge prednosti zaradi prilagodljivosti sistema (posledično
prihranimo denar), preprostega spreminjanja vhodno/izhodnih parametrov, itd. (povzeto po: [2] in
[3]).
2
1.1 Tema diplomskega dela
Podjetje Sinabit, d.o.o. je v letu 2006 razvilo program @Batch, ki je programska rešitev,
namenjena avtomatiziranemu vodenju procesne proizvodnje. Zasnovana je v skladu z
mednarodnim standardom za šaržne procese ISA S88-01 in omogoča elektronsko vodenje in
razpisovanje receptur. Programska rešitev @BATCH podpira elektronski in digitalni podpis
(Elektronski podpis pomeni kakršnekoli oznake, narejene z elektronskimi mediji, z namenom,
da označijo nek dokument ali datoteko. Digitalni podpis pa je elektronski podpis, narejen z
uporabo kriptografije.). Podjetju omogoča elektronski način dokumentiranja proizvodnih
operacij, arhiv, zgodovino in popolno sledljivost. @Batch je integralni del sistema vodenja in
proizvodnje in se lahko povezuje z vsemi drugimi informacijskimi sistemi v podjetju [5].
Tema diplomskega dela je razvoj določenega dela programske opreme, ki se izvaja na
krmilniškem nivoju, konkretno na krmilniku Siemens S7 CPU300 [19]. Program @Batch
preko OPC–ja (mednarodni standard za komunikacijo [20]) komunicira s krmilnikom,
nadzoruje proces, izdeluje poročila, krmilnik pa vodi proces in upravlja z senzorji ter
aktivatorji. Izdelana programska oprema na krmilniku bo služila za izvedbo projektov v
procesni avtomatiki po smernicah standarda S88. S tem bomo dosegli hitro in učinkovito
implementacijo sistema @Batch v procesno avtomatiko, saj bodo funkcije univerzalne.
3
2 Opis standarda S88
Standard S88, imenovan tudi batch protokol, je zelo razširjen in uporabljen v procesni
avtomatiki. Postavlja temelje in izhodišča za programsko in strojno opremo na določenem
procesu. Standard S88 podaja definicijo fizičnega modela ter definicijo (določitev) postopkov
in receptov (ang.: recipe). Prvi korak realizacije projekta v procesni avtomatiki je določitev
(definicija) zahtev, ki so potrebne za implementacijo določenega procesa.
Zahteve so tipično zapisane v funkcionalni specifikaciji (ang.: Functional design specification
– FDS). Za uspešno izvedbo projekta v procesni avtomatiki je napisana in potrjena
funkcionalna specifkacija, v kateri so zapisane zahteve avtomatizacije. To je nujen dokument,
ki je izdelan, preden se začne s programiranjem logičnega krmilja. Zahteve morajo biti
podane tudi, če nimamo podane funkcijske specifikacije in želimo rešiti zastavljen problem v
avtomatizaciji. Zahteve, ki so zapisane v FDS, so običajno izpeljene iz tehnoloških zahtev.
Procesni inženirji, ki določijo tehnologijo izvajanja na procesu, tehnološke parametre
(temperature v reaktorjih, kemijske reakcije, regulacije tlakov itd.), podajo zahteve inženirjem
avtomatike. Procesni inženirji tipično niso specializirani za uporabo standarda S88, zato je
zelo pomembno sodelovanje z inženirji avtomatike, da skupaj zgradijo koncept, ki deluje po
standardu. Nadalje je zelo pomembna proizvodnja različnih izdelkov v spremenljivem času,
kar nam standard tudi omogoča.
Uporaba standarda pomeni mnoge prednosti, kot so [5]:
• enostavno in hitro prilagajanje posebnostim posameznih proizvodnih procesov,
• prihranek časa in denarja, ker je batch prilagodljiv,
• preprosto spreminjanje proizvodnih receptur,
• preprosto upravljanje procesne proizvodnje,
• ponovljivost proizvodnjih procesov,
• popolna sledljivost in
• optimizacija proizvodnje.
4
Funkcionalna specifikacija, v nadaljevanju FS, definira, kaj oziroma kako procesni sistem
deluje. FS je osnovana na uporabniških zahtevah. Za razvijalce programske opreme je
funkcionalna specifikacija osnova za realizacijo projekta; definira, kaj sistem počne oziroma
kako deluje, ne pa na kakšen način. FS pogosto postane pogodbeni dokument, ki definira
področje realizacije projekta (kaj moramo realizirati). Dokumenti, dodani kot priloga, oziroma
že sama funkcionalna specifikacija vsebuje opis procesa, diagram razporejenih elementov,
seznam potrebnih inštrumentov (merilnikov) in ostale proizvodnje resorje. Rezultat slabo
definirane ali nepopolne funkcionalne specifikacije, povzroči ogromno število nepotrebnih ur
dela in potencialno vodi v nestabilno ter nevarno izvedbo projekta s stališča ekonomske ter
fizične varnosti.
Standard S88 je bil sprejet leta 1995 in predpisuje modele ter terminologijo, ki jo inžinir
uporablja pri specifikaciji zahtev v modularni obliki. V nadaljevanju predstavljamo module
standarda S88 in njegovo terminologijo.
2.1 Modeli in terminologija standarda S88
Standard podaja dve razdelitvi, fizični ter postopkovni model, ki sta opisana v nadaljevanju.
2.1.1 Fizični model
Fizični model opisuje dejansko opremo in je oblikovan hierarhično. Vsak nivo vsebuje enega
ali več elementov nižjega nivoja (slika 1).
5
Slika 1: Fizični model
2.1.1.1 Podjetje (ang.: Enterprise):
sestavljeno je iz ene ali več podružnic podjetja. Lahko vsebuje podružnice, obrate,
procesne celice, enote, module opreme in module vodenja. Določa, kateri izdelki se
proizvajajo in v kateri podružnici podjetja ter v splošnem tudi, kako se bodo
proizvajali.
2.1.1.2 Podružnica (ang.: Site)
je fizična, geografska ali logična razvrstitev, določena s strani podjetja. Lahko
vsebuje obrate, procesne celice, enote, module opreme in module vodenja.
2.1.1.3 Obrat (ang.: Area)
je fizična, geografska ali logična razvrstitev, določena s strani sedeža podjetja.
Vsebuje lahko procesne celice, enote, module opreme in module vodenja.
6
2.1.1.4 Procesna celica (ang.: Proces cell)
vsebuje celotno opremo, ki je potrebna za izdelavo ene ali več šarž. Sestavljena je iz
enot, modulov opreme in modulov vodenja. Procesne celice lahko glede na število
produktov klasificiramo na eno produktne ali več produktne. Pri enoproduktnih
celicah se v vsaki šarži proizvaja isti produkt, možne so le variacije postopkov in
procesnih parametrov. V več produktnih celicah se proizvajajo različni produkti na
več načinov – z različnimi vhodnimi materiali in parametri ali z različnimi postopki.
2.1.1.5 Enota (ang.: Unit)
je sestavljena iz modulov opreme in modulov vodenja, ki skrbijo za izvajanje ene ali
več samostojnih procesnih aktivnosti, kot so reakcija, kristalizacija, priprava
raztopine, filtriranje, ... Enota lahko deluje na največ eni šarži hkrati.
2.1.1.6 Moduli opreme (ang.: Equipment moduls)
so funkcionalne skupine naprav, ki opravljajo manjše procesne aktivnosti, kot se
mešanje, tehtanje, ... Moduli opreme lahko vsebujejo module vodenja in druge
module opreme. Lahko so deli enote ali samostojne skupine naprav znotraj procesne
celice.
2.1.1.7 Modul vodenja (ang.: Control modul)
izvaja manipulacijo z regulacijskimi napravami, drugimi osnovnimi napravami, kot
so regulatorji, senzorji, aktivatorji, ventili, črpalke, ter ostalimi moduli vodenja, ki v
smislu procesnega vodenja nastopajo kot en objekt.
Prvi trije nivoji fizičnega modela (Podjetje, Podružnica, Obrat) so običajno definirani
v poslovnih sistemih
7
2.1.2 Postopkovni model
Postopkovni model določa, na kakšen način pridemo z uporabo elementov fizičnega nivoja do
produkta. Vsebuje elemente, ki vodijo in usmerjajo izvajanje procesno usmerjenih akcij v
urejenem vrstnem redu (Slika 2).
Slika 2: Postopkovni model
2.1.2.1 Posopek (ang.: Procedure)
je najvišji nivo v hierarhiji postopkovnega modela in določa strategijo za izvedbo
pomembnih procesnih aktivnosti znotraj procesne celice. Sestavlja urejeno zaporedje
enega ali več postopkov enote.
2.1.2.2 Postopek enote (ang.: Unit procedure)
je sestavljen iz urejene množice zaporednih operacij znotraj ene enote. Hkrati se sme
izvajati več postopkov, vendar v različnih enotah. Postopek enote sestoji iz ene ali
več operacij.
2.1.2.3 Operacija (ang.: Operation)
je algoritem, potreben za zagon, organizacijo in nadzor posameznih faz. Operacija
običajno pripelje do spremembe fizičnega ali kemičnega stanja obdelovanega
materiala in se mora izvesti v celoti v isti enoti. Sestavljena je iz posameznih faz.
8
2.1.2.4 Faza (ang.: Phase)
predstavlja najnižji nivo v postopkovnem modelu in je najmanjši element, ki lahko
izvrši procesno orientirano aktivnost (mešanje, temperiranje, polnjenje, ...). Fazo
sestavljajo posamezni koraki, ki izvajajo procesno orientirane akcije s pošiljanjem
ukazov osnovnemu vodenju, ki je vsebovan v fizičnem modelu. Faza lahko pošilja
ukaze tudi elementom postopkovnega modela, na primer drugi fazi. Faze pri uporabi
sistema vodenja sestavljamo v hierarhično višje elemente postopkovnega modela.
2.2 Povezave med modeli
Postopek, realiziran na določeni opremi, rezultira v proces. Od tod izhajajo preiskave med
modeli, ki so hierarhično organizirani. Izvajanje faze (faza je element postopkovnega modela)
na ustreznem modelu opreme daje procesno funkcionalnost za izvedbo procense akcije
(entiteta procesnega modela). Elementi postopkovnega modela pošiljajo ukaze osnovnemu
vodenju (vsebovano v entitetah fizičnega modela). Na sliki 3 so prikazane preslikave med
postopkovnim modelom in spodnjimi štirimi sloji fizičnega modela.
Postopek
Postopek enote
Operacija
Faza
Postopkovni model
Faza
Procesna celica
Enota
Enota
Modul vodenja
Modul opreme
Fizični model (prvi spodnji štirje nivoji)
Slika 3: Preslikave med modeli
9
2.3 Ukazi ter stanja po standardu S88
Standard za elemente postopkovnega modela priporoča nabor ukazov ter stanj, predstavljenih
na sliki 4. Vsak element se lahko nahaja v enem izmed desetih stanj. Stanja elementov
postopkovnega modela se delijo na končna stanja (ang.: final states), mirujoča stanja (ang.:
quiescent states) in prehodna stanja (ang.: transient states). Ob zaključku predhodnega stanja
se samodejno izvedejo prehodi v končna stanja. Iz končnega stanja pridemo v začetno stanje
eksplicitno z ukazom reset. Postopkovni model se lahko v končnem stanju nahaja poljubno
dolgo.
PREKINJENO
USTAVLJENO
ZAČETNO
PREKINJANJE
ZADRŽANJEReset
Prekini
PrekiniPrekini
Prekini
Stop
Prekini
StopUSTAVLJANJEOBRATOVENJE
Reset
Reset
KONČANO
ZADRŽANO NADALJEVANJE
Stop
Slika 4: Ukazi ter stanja po standardu S88, preslikano iz [2]
10
2.3.1 Ukazi po standardu S88
Po standardu je definiranih osem ukazov: start, stop, nadaljuj, pavziraj, zadrži, prekini,
resetiraj ter obnovi.
2.3.1.1 Start (ang.: Start)
Ukaz start postopkovnemu elementu omogoča začetek izvajanja algoritma stanja
Obratovanje. Postopkovni element mora biti v stanju začetno, če želimo uporabiti
ukaz start.
2.3.1.2 Stop (ang.: Stop)
Ukaz stop postopkovnemu elementu omogoča začetek izvajanja algoritma stanja
Ustavljanje. Postopkovni element mora biti v stanju obratovanje, pavziranje,
pavzirano, zadržanje, zadržano ali nadaljevanje, če želimo uporabiti ukaz stop.
2.3.1.3 Zadrži (ang.: Hold)
Ukaz zadrži postopkovnemu elementu omogoča začetek izvajanja algoritma stanja
Zadržanje. Postopkovni element mora biti v stanju obratovanje, pavziranje, pavzirano,
ali nadaljevanje, če želimo uporabiti ukaz zadrži.
2.3.1.4 Nadaljuj (ang.: Restart)
Ukaz nadaljuj postopkovnemu elementu omogoča začetek izvajanja algoritma stanja
Nadaljevanje za varno vrnitev v stanje obratovanje. Postopkovni element mora biti v
stanju zadržano, če želimo uporabiti ukaz nadaljuj.
2.3.1.5 Prekini (ang.: Abort)
Ukaz prekini postopkovnemu elementu omogoča začetek izvajanja algoritma stanja
Prekinjanje. Postopkovni element je lahko v vseh stanjih razen v stanju začetno,
zaključeno, prekinjanje ali prekinjeno, če želimo uporabiti ukaz prekini.
11
2.3.1.6 Reset (ang.: Reset)
Ukaz reset postopkovnemu elementu omogoča prehod v stanje Začetno. Postopkovni
element mora biti v stanju zaključeno, prekinjeno ali ustavljeno,če želimo uporabiti
ukaz reset.
2.3.1.7 Pavziraj (ang.: Pause)
Ukaz pavziraj postopkovnemu elementu omogoča prehod v stanje Pavziranje v
naslednji predprogramirani točki znotraj algoritma staja Obratovanje. Postopkovni
element mora biti v stanju obratovanje, če želimo uporabiti ukaz pavziraj.
2.3.1.8 Obnovi (ang.: Resume)
Ukaz obnovi postopkovnemu elementu omogoča obnovitev izvrševanja – vrnitev v
stanje obratovanje. Postopkovni element mora biti v stanju Pavziranje, če želimo
uporabiti ukaz obnovi.
2.3.2 Stanja po standardu S88
Po standardu je defeniranih dvanajst stanj, ki so opisana v nadaljevanju (povzeto po [1], [2],
[3], [4]).
2.3.2.1 Začetno (ang.: Idle)
Postopkovni element v stanju začetno čaka na ukaz start, le ta pa povzroči prehod v
stanje obratovanje.
2.3.2.2 Obratovanje (ang.: Running)
Stanje normalnega delovanja.
12
2.3.2.3 Zaključeno (ang.: Complete)
Postopkovni element preide v stanje zaključeno po normalnem zaključku stanja
obratovanje in čaka na ukaz reset, ki bo povzročil prehod v stanje začetno.
2.3.2.4 Pavziranje (ang.: Pausing)
Stanje, v katerega bo v naslednji predprogramirani točki znotraj algoritma
obratovanje prešel postopkovni element po danem ukazu pavziraj.
2.3.2.5 Pavzirano (ang.: Paused)
Stanje, v katerega preide postopkovni element samodejno po zaključku izvajanja
algoritma stanja pavziranje.
2.3.2.6 Zadržanje (ang.: Holding)
Stanje, v katerega preide postopkovni element po danem ukazu zadrži. Algoritem
stanja postavi postopkovne elemente in entitete opreme v varna reverzibilna stanja.
2.3.2.7 Zadržano (ang.: Held)
Stanje, v katerega preide postopkovni element samodejno po zaključku izvajanja
algoritma stanja zadržanje. Stanje je reverzibilno, v njem pa postopkovni element
čaka na nov ukaz.
2.3.2.8 Nadaljevanje (ang.: Restarting)
Stanje, v katerega preide postopkovni element iz stanja zadržano ob danem ukazu
nadaljuj. Algoritem stanja zagotovi pravilno vrnitev postopkovnega elementa v
stanje obratovanje. Po zaključku algoritma postopkovni element samodejno preide v
stanje obratovanje.
13
2.3.2.9 Ustavljanje (ang.: Stopping)
Stanje, v katerega preide postopkovni element po ukazu stop. Algoritem stanja
zagotavlja nadzorovano zaustavitev.
2.3.2.10 Ustavljeno (ang.: Stopped)
Stanje, v katerega preide postopkovni element samodejno po zaključku izvajanja
algoritma stanja ustavljanje. V tem stanju postopkovni element čaka na ukaz reset, ki
povzroči prehod v stanje začetno.
2.3.2.11 Prekinjanje (ang.: Aborting)
Stanje, v katerega preide postopkovni element po ukazu prekini. Algoritem stanja
prekinjanje zagotavlja hitro, ne pa tudi nujno nadzorovano zaustavitev, ko regulirane
sekvence ustavljanja ni mogoče izvesti.
2.3.2.12 Prekinjeno (ang.: Aborted)
Stanje, v katerega preide postopkovni element samodejno po zaključku izvajanja
algoritma stanja prekinjanje. V tem stanju postopkovni element čaka na ukaz reset,
ki povzroči prehod v stanje začetno.
2.3.3 Uvedba standarda S88 v proces
Za uvedbo standarda S88 v proces, je potrebno vključiti zahteve procesne avtomatike v
terminologijo modelov standarda. Potrebno je definirati fizični ter postopkovni model.
2.3.3.1 Uvedba standarda S88
Modela definiramo s pomočjo diagrama, kjer je prikazana inštalacija cevovodov,
merilnih inštrumentov, aktuatorjev ter uporabniških zahtev samega procesa.
Implementacija standarda poteka na naslednji način [2]:
14
• definiramo meje med posameznimi moduli,
• osredotočimo se na same module ter preverimo, če ti ki smo jih definirali,
vsebujejo ustrezno opremo za izvedbo predvidene funkcije na modulu,
• preverimo, v kakšni povezavi je modul z ostalimi in ali pripada enoti ali celo
večim enotam,
• definiramo katere informacije se morajo podajati med posameznimi moduli,
• organiziramo module v hierarhijo, ki definira odvisnost med posameznimi
moduli.
2.3.3.2 Primer uvedbe standarda v proces (fizični model)
Uvedba standarda je prikazana na primeru, prikazanem na sliki 5, ki zagotavlja
zalogo hladne vode.
Slika 5: Zalogovnik hladne vode, preslikano iz [2]
15
2.3.3.2.1 Določitev meje med posameznimi enotami
V našem primeru celotna oprema pripada eni enoti. Meja je označena z modrim
okvirjem. Enota zagotavlja hladno vodo, katero lahko uporabljamo v drugih enotah
tovarne.
2.3.3.2.2 Določitev modulov vodenja
Priporočeno je, da module vodenja definiramo pred modulom opreme. V našem
primeru so moduli vodenja vsi posamezni ventili, mešalo, črpalka za mešanje ter
analogni indikatorji. Na sliki so moduli vodenja označeni z zeleno elipso.
2.3.3.2.3 Določitev modula opreme
Module opreme razdelimo na sledeče nivoje (Slika 6):
• modul polnjenja: vsebuje dva ventila, ventil za doziranje vode ter ventil za čiščenje
cevovodov ter zalogovnika. Ventila morata biti med seboj blokirana,
• modul regulacije tlaka: vsebuje ventil za dotok zraka, ventil za odduhe, merilnik
tlaka ter filter zraka,
• modul izpusta: vsebuje ventile za kroženje medija, črpalko za kroženje medija ter
izpustni ventil,
• modul regulacije temperature: vsebuje regulacijski ventil za odtok hladne vode iz
plašča zalogovnika, indikator temperature ter merilni pretvornik temperature.
16
Slika 6: Določitev modula opreme, preslikano iz [2]
17
3 Realizacija funkcij
Za realizacijo funkcij potrebujemo krmilno enoto, ki izvaja logični program po standardu S88
ter povezavo med krmilno enoto ter uporabnikom (ang.: Human machine interface – HMI).
Pri izvedbi funkcije za delo z fazami po standadu S88 je uporabljena sledeča programska
oprema:
• Step 7,
• iFix 3.5. [17]
Programski paket Step 7 (opisan v poglavju 3.1) je orodje za programiranje ter konfiguriranje
centralne procesne enote CPU (ang.: central processing unit; CPU) enot SIEMENS družine
S300/400. Povezava med enoto CPU ter uporabnikom je realizirana s programskim paketom
iFix3.5, proizvajalca Ge Fanuck (opisano v poglavju 3.2).
3.1 Step7
Programski paket Step7 vsebuje sledeče osnovne komponente [6]:
• Simatic manager – oblikovanje projekta kot celote,
• Hardware configuration – konfiguracija strojne opreme,
• Program editor – programiranje funkcij,
• Symbol editor – opis globalnih spremenljivk,
• Net Pro – nastavitve komunikacij.
3.1.1 SIMATIC Manager
SIMATIC Maneger (slika 7) je osnova programskega paketa STEP 7. Programsko orodje nam
iz večih aplikacij zbere podatke, ki so potrebni za oblikovanje projekta na krmilni enoti. Od
tu dostopamo do posameznih komponent, ki so namenjene programiranju, parametriranju in
povezovanju, kot so »Hardware configuration«, »Program editor«, ...
18
Slika 7: Simatic maneger
Na sliki 8 je prikazana orodna vrstica SIMATIC Manegerja z razlago zavihkov.
Slika 8: Orodna vrstica v Simatic Manegerju
3.1.2 Konfiguracija strojne opreme
V orodju »Hardware Configuration« določimo strojno opremo krmilnika. Orodje aktiviramo s
klikom na gumb »hardware«, prikazanim na sliki 9. Najprej je potrebno izbrati vodilo za V/I
module nato se dodajo ustrezni vhodno/izhodi ter komunikacijski moduli. Na tem mestu se
ime projekta
družina krmilnikov
enota CPU
komunikacijski vmesnik (Etherneth)
19
nastavijo tudi parametri posameznih modulov, kot so etherneth naslov krmilnika (če imamo
etherneth komunikacijo), nastavitve krmilne enote itd.
Slika 9: Dostop do orodja za konfiguracijo strojne opreme
Na sliki 10 so prikazane nastavitve strojne opreme za realizacijo funkcij po standardu S88. Na
desni strani poiščemo tip krmilne enote ter pripadajočo komunikacijsko kartico. Na levi strani
se nahaja naša konfiguracija, ki jo gradimo. Od tod tudi dostopamo do raznih parametrov
posameznih modulov.
Slika 10: Nastavitve konfiguracije
Moduli za izdelavo konfiguracija
Sestavljena konfiguracija
20
3.1.2.1 Uporabljena strojna oprema
Pri razvoju funkcij (faze po standardu S88) je uporabljena sledeča strojna oprema:
• napajalnik SIEMENS PS 307 10A,
• centralno procesna enota SIEMENS CPU 315-2 DP,
• profilna letev – vodilo za V/I module,
• komunikacijski Etherneth modul SIEMENS CP343-1
S pomočjo centralne procesne enote CPU 315-2 DP se realizirajo različna programska
opravila, ki zajemajo enostavne operacije, kot so zajemanje podatkov iz merilnih senzorjev do
realizacije kompleksih regulacijskih sistemov. Na vodilo za V/I module lahko priklopimo
različne module za zajemanje podatkov iz merilnih senzorjev, module za oddajanje podatkov
(digidalni/analogni moduli), komunikacijske module itd.
Osnovne karakteristike uporabljene enote CPU 315-2 DP so:
• 128 kB RAM pomnilnika,
• razširljiv zunanji pomnilnik za MMC pomnilniške kartice,
• čas obdelave ukaza je 0,1 µs,
• Profibus-DP in MPI vmesnik,
• do 32768 digitalnih kanalov za vhode ali izhode,
• do 2048 analognih kanalov za vhode ali izhode.
Na sliki 11 je prikazana čelna stran procesorja CPU 315-2 DP. Na CPU enoti se nahaja
preklopno stikalo za določitev režima delovanja. Na voljo imamo tri režime:
• M-RES: reset pomnilniške kartice (ang.: memory reset),
• STOP: ustavitev izvajanja programske kode,
• RUN: normalno delovanje CPU enote (izvajanje programske kode).
LED diode nam prikazujejo status in napake CPU enote (obratovanje, stop, skupna napaka,
napaka na bateriji, napajanje, forsiranje vhodov ali izhodov preko testne funkcije). Na enoti se
nahajata dva komunikacijska vmesnika: MPI - večtočkovni vmesnik (ang.: multi point
21
interface) za priklop prosto programabilne naprave ter profibus vmesnik za povezovanje enote
CPU z zunanjimi napravami, kot so frekvenčniki, dajalniki položaja, tehtnice, itd.
Pomnilniška kartica MMC (ang.: micro memory card) se vstavi v režo, ki se nahaja na čelni
strani procesorja.
Slika 11: CPU 315-2 DP
V enoti CPU se izvaja uporabniški program. Le-ta se prenese v CPU iz računalnika, kjer je
aplikacija prevedena v krmilniku razumljiv jezik. Program se naloži v pomnilnik RAM, vsi
podatkovni bloki pa se lahko prenesejo tudi na MMC pomnilniško kartico. Če pride do izpada
napajanja, prenese krmilnik vse podatke, ki so se mu pri tem izbrisali, iz pomnilniške kartice
MMC v RAM. (povzeto po [11])
3.1.3 Programsko orodje v SIMATIC MANEGERJU
Slika 12 prikazuje programsko orodje v okolju STEP7, ki je razdeljeno na tri dele:
• viri (ang.: Sources): vsebuje izvorne datoteke,
• bloki (ang.: Blocks): vsebuje organizacijske bloke, funkcijske bloke, funkcije (opisano
v nadaljevanju),
• tabela z simboli (ang.: Symbols): tabela za opis vhodno izhodnih spremenljivk, imena
funkcij, imena blokov, itd.
22
Slika 12: Programsko orodje v okolju Step7
Uporabniški program je razdeljen na bloke, ki so samostojni deli programa. Ločimo sedem
tipov blokov, ki se med seboj razlikujejo po svoji prioriteti, funkciji ter nalogi. Tipi blokov:
• organizacijski bloki (ang.: Organization Blocks - OB),
• funkcijski bloki (ang.: Function Blocks - FB),
• funkcije (ang.: Functions - FC),
• podatkovni bloki (ang.: Data Blocks - DB),
• sistemski funkcijski bloki (Sinstem Functions Blocks – SFC),
• sistemske funkcije (Sistem Functions – SFC),
• sistemski podatkovni bloki (Sistem Data Blocks - SDB).
3.1.3.1 Organizacijski bloki (OB)
Organizacijski bloki se izvajajo na enoti CPU ciklično (določitev v strojni konfiguraciji) in
imajo določeno prioriteto po stopnjah. V našem primeru uporabljamo OB1 (organizacijski
blok 1) iz katerega se kličejo podfunkcije sistema. OB1 je edini organizacijski blok, ki se
izvaja ciklično. Zato je programska koda, ki se mora izvajati ciklično, zapisana v OB1. Ostali
bloki se izvajajo prekinitveno (napake na vodilu, napake na vhodno/izhodnih modulih,
izvajanje na 100 ms, itd.).
23
3.1.3.2 Funkcijski bloki (FB)
Funkcijski bloki vsebujejo tehnološke funkcije. Imajo rezerviran del pomnilnika za
shranjevanje lokalnih spremenljivk, do katerih lahko dostopamo neposredno. Vsakemu
funkcijskemu bloku pripada svoj podatkovni blok (lokalne spremenljivke so shranjene v
podatkovnem bloku). Primerni so za programiranje obširnih funkcij, ki so pogosto
uporabljene.
3.1.3.3 Funkcije (FC)
Funkcije se od funkcijskih blokov razlikujejo po tem, da nimajo pomnjenja lokalnih
spremenljivk ter s tem nimajo pripadajočega podatkovnega bloka. Funkcije so primerne za
programiranje pogosto uporabljenih funkcij, ki ne potrebujejo shranjevanja podatkov lokalnih
spremenljivk.
3.1.3.4 Podatkovni bloki (DB)
Podatkovni bloki so namenjeni shranjevanju podatkov. Podatki, shranjeni v podatkovni blok,
so na voljo vsem delom programa. Omogočajo tudi strukturno shranjevanje podatkov. Na
voljo imamo različne formate hranjenja podatkov. Navedimo najbolj pogosto uporabljene:
• BOOL: logična spremenljivka ki ima lahko vrednost 0 ali 1. Dolžina spremenljivke je
1 bit,
• BYTE: šestnajstiško število, dolžine osmih bitov,
• WORD: šestnajstiško število, dolžine šestnajstih bitov,
• DWORD: šestnajstiško število, dolžine dvaintrideset bitov,
• INT: predznačeno celo število, dolžine 16 bitov,
• DINT: predznačeno celo število, dolžine 32 bitov,
• REAL: število s plavajočo vejico (decimalno število), dolžine 21 bitov
• STRING: alfanumerični znak, poljubne dolžine.
24
3.1.3.5 Sistemski funkcijski bloki (SFB)
Sistemski funkcijski bloki so že integrirani v operacijskem sisemu enote CPU in so tako na
voljo za uporabo. Podobno kot pri funkcijskih blokih, imajo tudi SFB bloki pripadajoči
podatkovni blok.
3.1.3.6 Sistemske funkcije (SFC)
Razlika v sistemskih funkcijah ter sistemskih funkcijskih blokih je v tem, da sistemske
funkcije nimajo pripadajočih podatkovnih blokov. Funkcije so že integrirane v operacijski
sistem, zato jih uporabnik lahko le uporablja, ne mora pa jih spreminjati.
3.1.3.7 Sistemski podatkovni bloki (SDB)
Sistemski podatkovni bloki vsebujejo podatke za nastavitev sistema. Bloke enota CPU
generira sama (podatki o stojni opremi, nastavitve komunikacij, itd) [7].
3.1.4 Programiranje v STEP7
V programskem jeziku STEP 7 programiramo z več različnimi metodami. Metode so opisane
v standardu IEC 1131-3 in so značilne za programiranje pomnilniških programirljivih krmilij.
Programski jezik omogoča:
• funkcijski blokovni diagram (ang.: function block diagram - FBD),
• lestvični diagram (ang.: ladder diagram - LAD),
• strukturiran tekst (ang.: statement list languge - STL),
• grafični sekvenčni diagram (ang.: graphics diagram - GRAPH),
• višjenivojski programski jezik (ang.: structured control language).
25
3.1.4.1 Funkcijski blokovni diagram
Ukaze v FBD programskem jeziku vnašamo z grafično metodo. Na sliki 13 je prikazan
preprost primer programiranja v FBD diagramu. Spremenljivka M2.2 ima vrednost ena, če je
katerakoli iz med spremenljivk M1.1 ali M1.2 ali M1.3 enaka ena.
Slika 13: FBD diagram
Uporabljamo bloke, znane iz Boolove algebre. Programski jezik je uporaben za kompleksne
funkcije, ni pa primeren za programiranje zahtevnejših računalniških operacij. Enostavno je
tudi opazovanje dejanskega delovanja programa na krmilniku, saj lahko v programu
neposredno opazujemo stanja spremenljivk [12].
3.1.4.2 Lestvični diagram
Na sliki 14 je prikazan lestvični diagram in preprosta funkcija iz poglavja 3.1.4.1. Lestvični
diagam prav tako predstavlja grafično programiranje, kjer pa simboli izhajajo iz kontaktne
logike [14].
Slika 14: Lestvični diagram
26
3.1.4.3 Strukturiran tekst
Na sliki 15 je prikazan strukturiran tekst (ang.: Statement list programming language) in
preprosta funkcija iz poglavja 3.1.4.1. V STL vnašamo ukaze v tekstovni obliki. STL je
sestavljen iz zaporedja ukazov za izvajanje in je podoben strojnemu jeziku.
Vsak ukaz ustreza koraku procesorja skozi program. Prednost je v hitrem izvajanju programa,
ker sta optimizirana čas obdelave podatkov ter lokacija pomnilnika. V samem urejevalniku
nam je delo še dodatno olajšano, saj lahko uporabljamo simbolično opisovanje, možne pa so
tudi funkcije za iskanje ter sprotno preverjanje pravilnosti vnosa. Urejevalnik omogoča
shranjevanje večkrat uporabljenih programskih delov v standardno programsko knjižnico, s
čimer se omogoči njihova kasnejša ponovna uporaba. Vsak ukaz je sestavljen iz operacije in
operanda. Operand se dalje deli na označbo operanda in parameter. Dodatno je možno pred
ukazom vpisati oznako, ki se uporabi pri skokih. V urejevalniku je možno tudi vpisovanje
komentarjev za lažje razumevanje programa [9].
Slika 15: Strukturiran tekst
3.1.4.4 Grafični sekvenčni diagram
Na sliki 16 je prikazan grafični sekvenčni diagram. Metoda programiranja je primerna za
koračno izvajanje postopkov. Pred vsakim stanjem se nahajajo pogoji za prehod med stanji. V
našem primer je pogoj za prehod med stanjem 1 ter stanjem 2 logično stanje ena spremenlivke
M1.1 [15].
27
Slika 16: Grafični sekvenčni diagram
3.1.4.5 Višjenivojski programski jezik
Višjenivojski programski jezik bazira na programskem jeziku Pascal in je primeren za
programiranje kompleksnih algoritmov, procesiranje velike količine podatkov ter izvajanje
zahtevnejših matematičnih izrazov. Na sliki 17 je prikazan preprost primer iz poglavja 3.1.4.1
[16].
Slika 17: Višjenivojski programski jezik
3.2 iFix 3.5
Za nadzor krmilne enote potrebujemo programski paket, imenovan sistem za nadzor
proizvodnjih procesov (ang.: Supervisory control and data acquistion - SCADA). Osnovne
funkcije SCADA sistem so poleg krmiljenja proizvodnje tudi arhiviranje podatkov ter
28
prikazovanje alarmnih sporočil. Na voljo imamo množico programskih orodij za razvoj
SCADA sistemov, v diplomski nalogi pa smo izbrali programski paket iFix 3.5, proizvajalca
Ge Fanuck [17].
iFIX je programsko orodje z vsemi funkcijami za nadzor in vodenje procesov (SCADA).
Uporabnikom omogoča natančno spremljanje in nadzor vseh operacij v proizvodnjem
procesu. Prednosti programskega orodja iFIX se odražajo v njegovi odprtosti, povezljivosti,
robustnosti in enostavni uporabi. Razširjena možnost sledenja dogodkov in elektronski podpis
potrjujeta uporabnost programskega orodja iFix tudi v regulirani (farmacevtski in
prehrambeni) industriji. Programsko orodje iFix se uporablja v vseh industrijskih panogah,
kar dokazuje tudi njegova razširjena uporaba po celem svetu [17].
3.2.1 Delovno okolje iFix 3.5
Najbolj pomembna orodja programskega paketa iFix 3.5 sta Intellution iFix workspace
(delovno okolje) ter podatkovna baza, imenovana Intellution iFix database.
3.2.1.1 Intellution iFix Workspace
Osnovno orodje programskega paketa iFix 3.5 za razvoj SCADA sistema je okolje Intellution
iFix Workspace, prikazan na sliki 18. Na voljo imamo grafično orodje za izdelavo slik
nadzonega sistema, v ozadju pa deluje program, katerega osnova je programsko orodje VBA
(Visual Basic for Applications). Osnovna funkcija VBA programskega jezika v SCADA
sistemih je oblikovanje dodatnih funkcij, izvajanje akcij v skladu z zahtevami FS. Tako
objekti dobijo funkcionalne in dinamične lastnosti (prikazovanje meritev, akcije ob kliku na
gumb, itd.), pri čemer so nam v pomoč uporabniški vmesiki.
29
Slika 18: Intelution iFix workspace
Za izdelavo slik uporabljamo orodno vrstico Toolbar, na kateri se nahajajo orodja za risanje
raznovrstnih objektov (štirikotnik, elipsa, črta, itd.), lahko pa uvozimo slike tipa bitmap tudi iz
drugih grafičnih orodij . V orodni vrstici se nahajajo tudi objekti za prikazovanje vrednosti iz
podakovne baze (opisano v poglavju 3.3.1.2), prikazovanje časa ter datuma, prikazovanje
grafov, itd.
Objekti, ki jih kreiramo, imajo določene lastnosti, kot so: ime objekta, barve, pisave, pozicija
kjer se nahaja, velikost, dinamično spreminjanje lastnosti glede na spremenljivke v
podatkovni bazi, itd.
Ob dvojnem kliku na objekt se nam prikaže uporabniški vmesnik Basic animation dialog, s
pomočjo katerega objektu določimo dinamične in funkcionalne lastnosti, kar je prikazano na
sliki 19. Na uporabniškem vmesniku lahko nastavimo spreminjanje barve ob različnih
vrednostih spremenljivke, spreminjanje pozicije (vertikalno in/ali horizontalno), objektu lahko
določimo, da je za določeno vrednost spremenljivke viden, za določeno vrednost pa ne (ang.:
Visible). Objektu lahko določimo tudi razne akcije ob kliku na objekt, kot so
orodna vrstica Toolbar
30
odpirane/zapiranje določene slike na SCADA sistemu, zapisovanje vrednosti v spremenljivke,
klic določene programske kode, sprogramirane v okolju VBA, itd.
Slika 19: Dinamične lastnosti objektov
V polju »command« določimo aktivnosti, ki se zgodijo ob kliku z miško na objekt. Osnovne
aktivnosti so:
• zapis vrednosti v spremenljivko (ang.: write value to tag) ... ukaz ob kliku na gumb
zapiše vrednost, ki jo določimo v spremenljivko,
• vpis vrednosti ena v spremenljivko tipa DR (ang.: close digital tag) ... ukaz ob kliku na
gumb zapiše v DR register vrednost ena,
• vpis vrednosti nič v spremenljivko tipa DR (ang.: open digital tag) ... ukaz ob kliku na
gumb zapiše v DR regiser vrednost nič,
• odpiranje slike (ang.: open picture) ... ukaz ob kliku na gumb odpre določeno sliko,
• zapiranje slike (ang.: close picture) ... ukaz ob kliku na gumb zapre določeno sliko.
ime objekta
določanje dinamičnih lastosti
ukazi ob kliku na objekt
31
3.2.1.2 Intellution iFix Database
V orodju iFix database, prikazanem na sliki 20, so shranjene vse spremenljivke, ki jih
potrebujemo za realizacijo SCADA sistema. Spremenljivkam med drugimi lastnostmi
določimo ime (ang.: Tag name), tip spremenljivke (ang.: Type), opis spremenljivke (ang.:
Description), naslov na krmilni enoti (ang.: I/O Addr). Osnovni tipi podatkov v podatkovni
bazi so:
• DI ... logična spremenljivka, ki ima vrednost 0 ali 1 in omogoča le branje podatka iz
podatkovne baze,
• DR ... logična spremenljivka, ki ima vrednost 0 ali 1 in omogoča poleg branja tudi
spreminjanje vrednosti v bazi iz SCADA sistema,
• AI ... logična spremenljivka, ki ima zvezno vrednost in omogoča le branje vrednosti iz
podatkovne baze,
• AR .. logična spremenljivka, ki ima zvezno vrednost in omogoča branje ter pisanje
podatka iz podatkovne baze.
32
Slika 20: Podatkovna baza
3.2.1.3 Povezava med enoto CPU ter sistemom SCADA
Podatki, ki se nahajajo na enoti CPU, se prenesejo v podatkovno bazo s pomočjo V/I
gonilnika SI7 Power tool. To je programski paket, namenjen prenašanju podatkov med
krmilniki družine Siemens ter programskim paketom iFix 3.5.
Na sliki 21 je prikazan programski paket SI7 Power Tool. Osnovni parametri, ki jih
nastavljamo na gonilniku, so podatkovni bloki, ki jih prenašamo ter dolžina prenešenih
podatkov. Podatke lahko prenašamo iz več enot CPU hkrati. Gonilniku je potrebno tudi
nastaviti tip komunikacije med enoto CPU ter gonilnikom. V našem primeru je tip
kominikacije industrijski Etherneth.
ime spremenljivke
tip spremenljivke
opis spremenljivke
33
Slika 21: Programski paket SI7 Power Tool
3.3 Programiranje (razvoj) faz na CPU enoti
Za razvoj faz po konceptu standarda S88 smo uporabili lestvični diagram (opisan v pogljavju
3.1.4.2) ter strukturiran tekst (opisan v poglavju 3.1.4.3).
3.3.1 Uporabljeni ukazi v lestvičnem diagramu
Uporabljeni ukazi v programski kodi:
• zaokroži (ang.: Round) ... ukaz je prikazan na sliki 22. Na vhod IN pripeljemo
spremenljivko, ki jo ukaz zaokroži na celoštevilsko vrednost (izhod OUT),
Slika 22: Ukaz zaokroži
podatkovni blok
dolžina podatkov
ime krmilne enote
34
• primerjava celoštevilske vrednosti (ang.: compare integer)... ukaz je prikazan na sliki
23.Primerja dve spremenljivki med seboj na vhodu IN1 ter IN2. Če je spremenljivka
na vhodu IN1 večja od spremenljivke IN2 je pogoj izpolnjen,
Slika 23: Primerjava celoštevilske vrednosti
• prepiši (ang.: Move) ... ukaz je prikazan na sliki 24. Ukaz prepiše vrednost iz
spremenljivke na vhodu (IN) v spremenljivko na izhodu (OUT),
Slika 24: Ukaz prepiši
• Vpis vrednosti ena v spremenljivko tipa BOOL (ang.: Set) ... ukaz je prikazan na sliki
25. Ukaz postavi spremenljivko na logično ena,
Slika 25: Vpis vrednosti ena v spremenljivko tipa BOOL
• izhodni kontakt (ang.: Output coil) ... ukaz je prikazan na sliki 26. Ukaz postavi
spremenljivko na logično ena. V primeru da pogoji niso več izpolnjeni, spremenljivko
postavi na logično nič,
Slika 26: Izhodni kontakt
• primerjava spremenljivk z plavajočo vejico (ang.: Compare Real) ... ukaz je prikazan
na sliki 27. Primerja dve spremenljivki med seboj na vhodu IN1 ter IN2. Če je
spremenljivka na vhodu IN1 večja od spremenljivke IN2 je pogoj izpolnjen,
35
Slika 27: Primerjava spremenljivk z plavajočo vejico
• delovni kontakt (ang.: Normaly open contact). ... ukaz je prikazan na sliki 28. Če ima
logična spremenljivka vrednost ena, je pogoj izpolnjen,
Slika 28: Delovni kontakt
• mirovni kontakt (ang.: Normaly closed contact). ... ukaz je prikazan na sliki 29. Če
ima logična spremenljivka vrednost nič je pogoj izpolnjen,
Slika 29: Mirovni kontakt
• resetiraj (ang.: Reset) ... ukaz je prikazan na sliki 30. Ukaz postavi spremenljivko na
logično nič.
Slika 30: Resetiraj
36
3.3.2 Uporabljeni ukazi v strukturiranem tekstu
Uporabljeni ukazi v programski kodi:
• L - Naloži (ang.: Load) ... ukaz shrani vrednost iz določenega registra v akumulator
krmilnika
Primer 1
Napišimo program, ki naloži vrednost 300 v akumulator CPU enote.
L 300
• T - Prenos (ang.: Transfer) ... ukaz shrani vrednost iz akumulatorja krmilnika v
poljubno destinacijo
Primer 2
Napišimo program, ki prenese vrednost iz akumulatorja enote CPU v lokalno spremenljivko
LW0.
T LW 0
• Klic funkcije (ang.: Call) ... ukaz z ukazom Call pokličemo določeno funkcijo s
pripadajočimi parametri.
3.3.3 Vmesnik za delo s fazami (ang.: Phase Logic Interface)
Za prehod med posameznimi stanji v fazah, opisano v poglavju 2.3.2, je potrebno izdelati
uporabniški vmesnik, imenoven vmesnik za delo s fazami (ang.:Phase logic interface – PLI).
PLI vodi fazo med posameznimi stanji (končano, obratovenje, zadržano, itd.). PLI smo
sprogramirali s pomočjo lestvičnega diagrama (LAD) (opisano v poglavju 3.1.4.2) ter
strukturiranega teksta (STL) (opisano v poglavju 3.1.4.3).
37
PLI je univerzalna funkcija, saj so prehodi med stanji v posameznih fazah enaki. Vsaka
tehnološka faza (mešanje, doziranje, vzdrževanje temperature, itd.) ima poleg uporabniškega
vmesnika pripadajočo funkcijo, v kateri je realizirano delovanje določene faze (vzdrževanje
temperaure, nadtlaka, mešanje, itd.).
Slika 31 shematsko prikazuje klic funkcij ter pripadajočega podatkovnega bloka za delo s
fazami. Funkcija FC1000 predstavlja izvorno kodo uporabniškega umesnika PLI, kjer so
sprogramirani prehodi med posameznimi stanji v fazah. Podatki, ki so potrebni za posamezno
fazo, se nahajajo v podatkovnem bloku DB1000. OB1 se izvaja ciklično (opisano v poglavju
3.1.3.1), od tod pa kličemo funkcijo FC1000 ter funkcije posameznih faz.
OB1
FC1000(PLI)
DB1000
FC xxx (faze)
Slika 31: Klic posameznih faz Zaradi hitrejšega izvajanja programske kode smo naredili optimizacijo programa tako, da na
začetku programske kode spremenljivke faze prenesemo v lokalne spremenljivke in šele nato
operiramo z njimi. Na koncu izvajanja funkcije pa spremenljivke zopet prenesemo nazaj v
podatkovni blok. (prikazano na sliki 32).
38
FC1000(PLI)
DB1000
PREKINJENO
USTAVLJENO
ZAČETNO
PREKINJANJE
ZADRŽANJEReset
Prekini
PrekiniPrekini
Prekini
Stop
Prekini
StopUSTAVLJANJEOBRATOVENJE
Reset
Reset
KONČANO
ZADRŽANO NADALJEVANJE
Stop
prenos v lokalne spremenljivke
Izvajanje programske kode
prenos v podatkovni blokDB1000
Slika 32: Funkcija FC1000
3.3.3.1 Kreiranje funkcij ter spremenljivk
Vmesnik smo kreirali z uporabo funkcije FC ter podatkovnega bloka DB, kjer so shranjene
spremenljivke faz. V tabeli 1 je prikazana struktura spremenljivk, uporabljenih za eno fazo ter
opis posamezne spremenljivke. Kreirali smo funkcijo FC1000, ki je univerzalna funkcija za
vodenje faz. Novo funkcijo dodamo v Simatic maneger meniju: insert; S7-block; Function
(prikazano na sliki 33). Podobno kreiramo tudi podatkovni blok.
Slika 33: Kreiranje nove funkcije
39
V tabeli 1 so prikazane vse spremenljivke faze, podane v podatkovnem bloku DB1000 (slika
34). V prvem stolpcu se nahaja ime spremenljivke, v drugem tip spremenljivke, v tretjem
solpcu pa opis spremenljivke.
ime spremenljivke
tip spremenljivke
opis spremenljivke
AD BOOL prekinitev AG BOOL prekinjanje AC BOOL prekinitev končana C BOOL končano HD BOOL faza zadržana HG BOOL zadržanje faze HC BOOL zadržanje faze končano I BOOL začetno stanje faze RG BOOL obratovanje faze RC BOOL končano obratovanje faze SG BOOL ustavljanje faze SD BOOL faza ustavljena SC BOOL ustavljanje faze končano KONT BOOL kontunuirna faza BLOK BOOL blokada faze Status INT status faze COMM INT ukaz Failure INT napaka faze Sindex INT številka koraka v fazi BStepIndex INT številka koraka v fazi (predhodnja vrednost) PAR1 REAL 1. parameter faze PAR2 REAL 2. parameter faze PAR3 REAL 3. parameter faze PAR4 REAL 4. parameter faze PAR5 REAL 5. parameter faze PAR6 REAL 6. parameter faze PAR7 REAL 7. parameter faze PAR8 REAL 8. parameter faze PAR9 REAL 9. parameter faze REP1 REAL 1. poročilo faze REP2 REAL 2. poročilo faze REP3 REAL 3. poročilo faze REP4 REAL 4. poročilo faze REP5 REAL 5. poročilo faze REP6 REAL 6. poročilo faze REP7 REAL 7. poročilo faze REP8 REAL 8. poročilo faze REP9 REAL 9. poročilo faze
Tabela 1: Spremenljivke faze
40
Slika 34: Podatkovni blok DB1000
3.3.3.2 Opis posameznih spremenljivk
Prekinitev (ang.: Aborted – AD)
Spremenljivka prekinitev ima vrednost ena, ko faza preide v stanje prekinjeno.
Prekinjanje (ang.: Aborting – AG)
Spremenljivka prekinjanje ima vrednost ena v času, ko poteka prekinjanje faze. V tem času se
izvaja program prekinjanja faze.
ime spremenljivke
tip spremenljivke
Začetna vrednost spremenljivke
komentar
41
Prekinjanje končano (ang.: Aborting complete – AC)
Ko je prekinjanje faze končano, spremenljivka prekinjanje končano dobi vrednost ena.
Končano (ang.: Complete – C)
Spremenljivka končano dobi vrednost ena, ko je delovanje faze končano.
Faza zadržana (ang.: Held – HD)
Spremenljivka faza zadržana ima vrednost ena, ko faza preide v stanje zadržano.
Zadržanje faze (ang.: Holding – HD)
Spremenljivka zadržanje faze ima vrednost ena v času, ko poteka zadržanje faze. V tem času
se izvaja program zadržanja faze.
Zadržanje faze končano (ang.: holding complete – HC)
Ko je zadržanje faze končano, spremenljivka zadržanje končano dobi vrednost ena.
Začetno stanje (ang.: Idle – I)
Spremenljivka začetno stanje ima vrednost ena, ko je faza v začetnem stanju.
Obratovanje (ang.: Runing – RG)
Spremenljivka obratovanje ima vrednost ena, ko je faza v stanju obratovenje.
Končano (ang.: Runing Complete – RC)
Spremenljivka končano ima vrednost ena, ko je faza v stanju končano.
42
Ustavljanje faze (ang.: Stopping – SG)
Spremenljivka ustavljanje faze ima vrednost ena, ko je faza v stanju ustavljanja.
Ustavljanje faze končano (ang.: Stopping Complete – SC)
Spremenljivka ustavljanje faze končano ima vrednost ena, ko je faza v stanju ustavljeno.
Kontinuitna faza
Določene faze se med posameznimi koraki v recepurnem sistemu ne smejo končati (mešanje,
vzdrževenje temperature, itd.). Če ima spremenljivka Kontinuirna faza vrednost ena, pomeni
da gre lahko recepturni sistem v naslednji korak, klub temu da faza ni v stanju začetno ali
končano.
Status faze (ang.: Status)
Status faze je spremenljivka tipa INT, katere vrednost je odvisna od stanja, v katerem se faza
nahaja.
vrednost spremenljivke
stanje
10 prekinjeno 20 zadržano 30 ustavljeno 50 obratnovanje 90 restartano
100 začetno
Tabela 2: Vrednost spremenljivke Status
Ukaz (ang.: Command)
S pomočjo spremenljivke ukaz, ki je tipa INT, faza prehaja med posameznimi stanji. V tabeli
3 je prikazan prehod med posameznimi stanji ob različnih vrednostih ukazne spremenljivke.
43
Pri tem je potrebno tudi zagotoviti, da so možni le prehodi med stanji, določenimi po
standardu S88.
vrednost spremenljivke
PLI ukaz
10 prekini 20 zadrži 30 ustavi 40 resetiraj 90 restart
100 start
130 brisanje registra napake faze
Tabela 3: Ukazi kodirani s spremenljivko Ukaz
Napaka faze (ang.: Phase Failure)
V primeru, da se na sistemu pojavi napaka (napaka mešala, previsoka temperatura, itd.) v
spremenljivko vpišemo določeno vrednost večjo od nič in faza mora iti v stanje zadržano (v
ukazno spremenljivko višemo vrednost 20).
Številka koraka v fazi (ang.: Step Index)
Določene faze se morajo izvajati po korakih. Vsako stanje faze ima rezerviran določen nabor
vrednosti spremenljivke zaradi boljše preglednosti, katere uporabljamo za izvajanje večih
korakov v posameznem stanju.
vrednost spremenljivke Stanje faze
0 začetno 1000 do 1999 prekinjanje 2000 do 2999 zadržanje 3000 do 3999 ustavljanje
10000 do 12999 obratovanje
Tabela 4: Vrednost spremenljivke Številka koraka
44
Številka koraka v fazi – predhodnje stanje (ang.: Bufferd Step Index)
V primeru, da gre faza v stanje zadržano, moramo ob nadaljevanju faze zagotoviti, da faza
nadaljuje v tistem koraku, kjer se je nahajala pred zadržanjem. V spremenljivko shranimo
številko koraka. Ob nadaljevaju faze shranjeno stanje koraka obnovimo v dejansko stanje.
Parametri faze
V spremenljivkah parametri faze določimo parametre, ki jih je potrebno v posamezni fazi
spreminjati (želena temperatura v reaktorju, želen čas vzdrževanja temperature, želeni vrtljaji
na mešalu, itd.).
Poročilni parametri faze
V spremenljivkah poročilni parametri faze se ob končanju faze shranijo vrednosti, katere
predhodno določimo (dejanska količina doziranja medija, dejanska temperatura v reaktorju ob
koncu vzdrževanja temperature, dejanski vrtljaji na mešalu itd.)
45
3.3.4 Programska koda vmesnika za delo z fazami
FC1000(PLI)
DB1000
6. prenos v podatkovni blokDB1000
2. inicializacija
1. prenos v lokalne spremenljivke
3. obdelava stanj po standardu S88
4. preverjanje pravilnosti prehodov
med stanji
5. prehodi med stanji, če je prehod
dovoljen
Slika 35: Diagram programske kode Na sliki 35 se nahaja diagram poteka programske kode v funkciji FC1000 (PLI). Program je
razdeljen v šest sklopov:
• prenos podatkov iz podatkovnega bloka v lokalne spremenljivke,
• vzpostavitev začetnega stanja (inicializacija),
• obdelava stanj po standardu S88,
• preverjanje pravilnosti prehodov med stanji,
• prehodi med stanji ob določenih ukazih,
• prenos podatkov iz lokalnih spremenljivk v podatkovni blok.
46
3.3.4.1 Opis posameznih sklopov programa:
Prenos podatkov iz podatkovnega bloka v lokalne spremenljivke
Programska koda:
1 L P##FAZA_P //struktura faze v podatkovnem bloku
2 T LD 6
3 L W#16#1002
4 T LW 0
5 L 85 //dolžina structure v bytih
6 T LW 2
7 L #datablok //data block kjer se nahaja dotična struktura faze
8 T LW 4
9 CALL SFC 20
10 SRCBLK :=#source
11 DSTBLK :=P#L 12.0 BYTE 85
Razlaga programa:
Za prenos spremenljivk uporabimo sistemsko funkcijo (opisano v poglavju 3.1.3.6) SFC 20,
namenjeno prenosu podatkov. Funkcija ima dva parametra; izvorno območje (ang.: source
area) ter ciljno območje (ang.: destination area). V programski vrstici 9 kličemo funkcijo s
pripadajočima parametroma. Izvorno območje se pri nas spreminja, ker je funkcija FC1000
univerzalna za vse faze, zato v vrsticah od 1 do 8 kreiramo pravo vrednost spremenljivke
source (izvorno področje). V prvi vrstici preberemo vrednost kazalca, ki kaže na strukturo v
podatkovnem bloku. Spremenljivka FAZA_P je tudi vhodni parameter funkcije, saj se
spreminja odvisno od faze, katero PLI izvaja. V vrsticah od 2 do 8 določimo tip prenosa
podatkov (byte), dolžino prenešenih podatkov ter izvorni podatkovni blok (spremenljivka
datablok). Spremenljivke, ki so določene za delovanje faze (opisane v poglavju 3.3.3.3),
prenesemo v lokalne spremenljivke z identično strukturo kot jih imajo tiste v podatkovnem
bloku.
47
Inicializacija:
Ko kreiramo podatkovni blok, imajo vse spremenljivke začetno vrednost enako nič. Zato je ob
prvi uporabi funkcije potrebno zagotoviti začetno stanje. Začetno stanje (opisano v poglavju
2.3.2.1) vzpostavimo z vpisom vrednosti 100 v spremenljivko status (tabela 3) ter postavitev
spremenljivke I (začetno stanje) na vrednost ena. Po tabeli 4 (poglavje 3.3.3.2) v
spremenljivko številka koraka (ang.: stepindex) vpišemo vrednost 0. Programska koda je
prikazana na sliki 36.
Slika 36: Inicializacija
Obdelava stanj:
V programski kodi obdelave stanj v odvisnosti od delovanja faze postavljamo vrednost
spremenljivk. Spremenljivke prekinjanje končano, zadržanje faze končano, obratovanje
končano, ustavljanje faze končano se spreminjajo v programu faz, ko so določene operacije
končane. V programu obdelava stanj zagotovimo da dobi faza ustrezen status.
Na sliki 37 je prikazana programska koda za stanje zadržano. Ko se faza konča, programska
koda zadržanje faze (zapiranje ventilov, ustavitev mešala, ...) vpiše vrednost ena v
spremenljivko zadržanje končano. PLI mora nato zagotoviti ustrezen status faze, v našem
primeru preide faza v stanje zadržano.
48
Slika 37: Obdelava stanja zadržano
Preverjanje pravilnosti prehoda med stanji:
Po standardu S88 niso možni prehodi med vsemi stanji. Na sliki 5 (poglavje 2.3) so prikazani
prehodi med posameznimi stanji. Zato ob določenem ukazu iz ukaznega registra najprej
preverimo, če je prehod iz enega v drugo stanje dovoljen. V primeru da je prehod med stanji
mogoč, postavimo vrednost spremenljivke »stanje dovoljeno« na ena.
Na sliki 38 je prikazano preverjanje pravilnosti prehoda v primeru ukaza zadrži. Po standardu
S88 gre lahko faza v stanje zadržano le v primeru če obratuje. Po ukazu zadrži (vrednost
ukaznega registra je 20) moramo najprej preveriti stanje faze. Če je prehod med stanji
dovoljen (vrednost spremenljivke obratovanje je ena), dobi spremenljivka »stanje dovoljeno«
vrednost ena.
Slika 38: Prehodi med stanji
49
Prehodi med stanji ob določenih ukazih:
V progamski kodi obdelujemo prehode med posameznimi stanji. Če je prehod med stanji
dovoljen (spremenljivka stanje dovoljeno ima vrednost ena), PLI ustrezno spremeni vrednost
spremenljivk.
Na sliki 39 je prikazan prehod iz stanja obratovanje v stanje zadrži. Če je prehod dovoljen
(obdelano v progamu preverjanja pravilnosti prehoda med stanji), fazo postavimo v stanje
zadrževanje; vpis vrednosti ena v spremenljivko zadrževanje faze, shranitev vrednosti številke
koraka v prejšnjo vrednost ter vpis vrednosti 2000 v spremenljivko številka koraka (tabela 4).
Slika 39: Prehod v stanje zadrževanje
Prenos podatkov iz lokalnih spremenljivk v podatkovni blok
Po obdelavi programske kode v funkciji FC1000 (PLI), je potrebno narediti prenos podatkov
iz lokalnih spremenljivk v podatkovni blok. Za prenos spremenljivk uporabimo sistemsko
funkcijo (opisano v poglavju 3.1.3.6) SFC 20, namenjeno prenosu podatkov. Za razliko od
prenosa iz podatkovnega bloka v lokalne spremenljivke, sta med seboj le zamenjana izvorni
ter ciljni parameter funkcije.
CALL "SFC 20"
SRCBLK :=P#L 12.0 BYTE 85
50
DSTBLK :=#source
3.3.5 Programska koda faz
Slika 40: diagram programske kode - faze
Vmesnik za delo z fazami opisan v poglavju 3.3.4 skrbi za pravilen prehod med stanji po
standardu S88, v programski kodi faz pa se nahajajo ukazi, ki so predpisani določeni fazi
(vklop mešala, odpiranje ventilov, itd.). Na sliki 40 je prikazan diagram poteka programske
kode faz.
Vsaki fazi pripada funkcija, v kateri se izvaja program po katerem mora faza delovati.
3.4 Uporabniški vmesnik na sistemu SCADA
Za razvoj uporabniškega vmesnika na sistemu SCADA je uporabljen programski paket iFix
3.5, opisan v poglavju 3.2. Uporabniški vmesnik je namenjen upravljanju faze po standardu
S88 (prehodi med stanji).
51
Na sliki 42 je prikazan uporabniški vmesnik. Na desni strani se nahajajo gumbi za upravljanje
s fazo (start, zadrži, nadaljij, ustavi, reset), ne levi pa je prikazano stanje faze (obratovanje,
končano, zadržano, ustavljeno).
Slika 41: uporabniški vmesnik na SCADA sistemu
Ob kliku na določen gumb se v ukazni register vpiše določena vrednost (tabela 2). Za
zapisovanje vrednosti v ukazni register uporabimo ukaz »WriteValue "xxx", "comm"«, pri
čemer je xxx vrednost ki jo vpišemo v ukazni register (tabela 2).
Prikazovanje stanja, v katerem se faza nahaja, je dinamično izvedeno z barvanjem ozadja.
Stanje v katerem se faza nahaja je zapisano v spremenljivki status faze. Na podlagi vrednosti
spremenljivke s pomočjo uporabniškega vmesnika Visibility Expert, prikazanega na sliki 36,
določimo vidnost obarvanih objektov. V polju »Data Source« vpišemo ime spremenljivke ter
njeno vrednost, v polje »Condition for Visibility« pa pogoj, kdaj je spremenljivka vidna. Na
sliki 41 je prikazen primer obarvanja ozadja »obratovanje« z zeleno barvo. V primeru da ima
status faze vrednost 50, je zeleni pravokotnik na sistemu SCADA viden (ozadje se obarva
zeleno).
52
Slika 42: Visibility Exspert
3.4.1 Primer uporabniškega vmesnika
Mešanje z mešalom, ki mu lahko spreminjamo vrtljaje
Na sliki 43 je prikazan uporabniški vmesnik za fazo mešanja z mešalom, ki mu lahko
spreminjamo število vrtljajev. Parametri faze so:
- PARAMETER1 .... Željeni vrtljaji mešala (obr/min)
- PARAMETER2 .....Čas za doseganje željenih obratov iz dejanskih (min)
- PARAMETER3......Način doseganja obratov
1.) takojšnja nastavitev obratov (PARAMETER1)
2.) spreminjanje (povečevanje ali zmanjševanje obratov po izračunani premici
do končne vrednosti)
- PARAMETER4 .....čas delovanja faze (ura)
- PARAMETER5 .....čas delovanja faze (min)
Poročilni parametri faze:
- POROČILO1 – dejanski čas delovanja faze (ura)
- POROČILO2 – dejanski čas delovanja faze (min)
53
Slika 43: Uporabniški vmesnik – mešanje z mešalom
54
55
4 Zaključek
V diplomski nalogi smo podrobno predstavili standard S88, uvedbo standarda v proces ter
razvili univerzalno funkcijo za delo s fazami imenovano vmesnik za delo s fazami (PLI).
Faze, ki so načrtovane po standardu S88 imajo enaka stanje ter enake prehode med stanji, zato
je funkcija univerzalna.
Za izvedbo funkcije na krmilnem nivoju je uporabljen krmilnik družine Siemens CPU315.
Izdelali smo tudi grafični vmesnik za delo z fazami, ki služi vodenju faz s pomočjo
nadzornega (SCADA) sistema.
56
57
5 LITERATURA
[1] ISA (ANSI/ISA-S88.01.1995), Standard Batch Control; Part 1: Models and
Terminology, Instrument Society of America, 1995
[2] Cristie Deitz, Todd Ham, Steve Murray, Writing a functional specification for an S88
batch project, Chemical engineering, August 2003, http://www.s88ce, dostopnost
preverjena februarja 2008
[3] Gregor Kandre, Računalniško podprto načrtovanje programske opreme za postopkovno
vodenje s programirljivimi logičnimi krmilniki, doktorska disertacija, Fakulteta za
elektrotehniko Ljubljana, maj 2004
[4] Darrin W. Fleming, Velumani A. Pillai, S88 Implementation guide, McGraw-Hill
Professional Publishing (October 1, 1998)
[5] @Batch, http://sl.kolektorsinabit.si/resitve/proizvodno-informacijske-resitve/batch/,
dosotopnost preverjena februar 2008
[6] http://www.automation.siemens.com/simatic/industriesoftware/html_76/produkte/
software-produkte.htm, dostopnost preverjena marec 2008
[7] Step 7, verzija 7.4, help
[8] http://www.metronik.si/index.php?stran=oprema_ge_fanuc_software#ifix, dostopnost
preverjena junij 2008
[9] Berger Hans, Automating with STEP 7 in STL and SCL: programmable controllers
SIMATIC S7-300/400, 2. izdaja, MCD, 2001
[10] Avtomatizacija v industriji in gospodarstvu : Zbornik pete konference AIG'99, 22. in
23.april 2007, Društvo avtomatikov Slovenije, Maribor, Slovenija, 1999,
[11] Working with STEP 7, Siemens AG, NÜRNBERG GERMANY, C79000-P7076-C48-
01 Siemens
[12] Function Block Diagram (FBD) for S7-300 and S7-400 Programming, Edition 03/2006
A5E00706955-01
[13] Function Block Diagram (FBD) for S7-300 and S7-400 Programming, Edition 03/2006
A5E00706955-01
[14] Ladder Logic (LAD) for S7-300 and S7-400 Programming, Edition 03/2006
A5E00706949-01
58
[15] SIMATIC S7-GRAPH for S7-300/400 Programming Sequential Control Systems
Getting Started, Edition 02/2004
[16] SIMATIC S7-SCL V5.3 for S7-300/400, Edition 01/2005 A5E00324650-01 [17] http://www.metronik.si/index.php?stran=oprema_ge_fanuc_software#ifix, dostopnost
preverjena julija 2008
[18] http://www.isa.org/, dostopnost preverjena julija 2008
[19] http://mall.automation.siemens.com/SI/guest/index.asp?
aktPrim=0&nodeiD=10012935&lang=en, dostopnost preverjena februarnja 2008
[20] http://www.opcfoundation.org/Default.aspx/01_about/01_whatis.asp, dostopnost
preverjena julija 2008
59
Izjava
Izjavljam, da sem diplomsko delo izdelal samostojno pod vodstvom mentorja doc. dr.
Boštjana Murovca, univ. dipl. inž. el. Izkazano pomoč drugih sodelavcev sem v celoti navedel
v zahvali.
Jožef Vidergar