PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGI … · 2020. 1. 30. · Črpalka 1: ELKO...
Transcript of PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGI … · 2020. 1. 30. · Črpalka 1: ELKO...
Matjaž Medved
PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGIČNE KRMILNIKE
Diplomsko delo
Maribor, september 2010
I
Diplomska naloga univerzitetnega študijskega programa
PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGIČNE KRMILNIKE
Študent: Matjaž Medved Študijski program: Univerzitetni, Gospodarsko Inženirstvo Smer: Elektrotehnika – Avtomatika in robotika Mentor: Dr. Marjan Golob (FERI) Mentor: Dr. Anton Hauc (EPF) Lektorica: Maja Lamut
Maribor, september 2010
III
ZAHVALA 1 Zahvaljujem se mentorjema za pomoč in vodenje pri opravljanju diplomskega dela. Posebna zahvala velja staršem, ki so mi omogočili študij. Punci za podporo, ter Maji za lekturiranje.
IV
PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGIČNE KRMILNIKE
Ključne besede: PLK, SCADA, Profibus, CAN, IEC 61131-3, Stroški razvoja programske
opreme
UDK: 621.38:004.43(043.2)
Povzetek:
V diplomski nalogi je predstavljen razvoj programske opreme programabilnih logičnih
krmilnikov (PLK) na primeru tipičnega projekta s področja avtomatizacije procesov. PLK se
lahko uporabljajo na različnih uporabnih tehničnih sistemih v industriji kot tudi pri nadzoru
stavb. Razvoj programske opreme je potrebno obravnavati kot projekt. Za uspešno izvajanje
projekta je pomembno interdisciplinarno znanje in uspešno projektno vodenje.
V
PROJECT DEVELOPMENT FOR PROGRAMMABLE LOGIC CONTROLLERS SOFTWARE
Key Words: PLC, SCADA, Profibus, CAN, IEC 61131-3, Software development costs
UDK: 621.38:004.43(043.2)
Abstract:
This thesis presents the development of software programmable logic controllers (PLC) in the
case of a typical project in the field of automation processes. PLC can be used in a variety of
useful technical systems in the industry as well as in the control of buildings. Software
development should be viewed as a project. The successful implementation of the project is
an important interdisciplinary expertise and successful project management.
VI
Kazalo
1. Uvod ....................................................................................................................................... 1
2. Obstoječe stanje opreme......................................................................................................... 3
2.1 Krmilnik ........................................................................................................................... 5
2.2 Vhodno – izhodni elementi sistema vodenja.................................................................... 7
2.3 Varnostna veriga ............................................................................................................. 11
3 Komunikacijski protokoli...................................................................................................... 12
3.1 ProfiBus.......................................................................................................................... 12
3.2 Can.................................................................................................................................. 13
3.3 Tokovna zanka 4–20 mA................................................................................................ 14
4. Programiranje krmilnika ...................................................................................................... 15
4.1 Programsko okolje Xsoft................................................................................................ 15
4.2 Standard IEC 61131-3 .................................................................................................... 18
5. SCADA ................................................................................................................................ 21
6. Ekonomski in drugi učinki uporabe PLK............................................................................. 24
6.1 Možni kupci.................................................................................................................... 24
6.2 Stroški razvoja programske opreme ............................................................................... 27
6.3 Ekonomski in drugi učinki ............................................................................................. 28
7. Projektni razvoj programske opreme za PLK ...................................................................... 29
7.1 Izvajanje projekta ........................................................................................................... 29
7.2 Način dela....................................................................................................................... 32
8. Sklep..................................................................................................................................... 34
9. Viri........................................................................................................................................ 35
10. Priloga ................................................................................................................................ 36
VII
Uporabljeni simboli, kratice in tujke
PLC (PLK) – Programmable Logic Controller (Programabilni Logični Krmilnik)
Profibus – Proces Field Bus
CAN – Controller Area Network
HMI – Human – Machine Interfence
IEC – International Electrotechnical Commission
CPU – Control Process Unit
I/O (V/I) – Input/Output (vhod/izhod)
SCADA - Supervisory control and data acquisition
CMI – Common Information Model
V – Volt
A – Amper
Hz – Hertz
n – število obratov
Projektni razvoj programske opreme za PLK 1
1. Uvod
Programabilni logični krmilniki (PLK) so že dobra štiri desetletja nepogrešljiv člen
krmiljenja industrijskih procesov. So cenovno dostopni, preizkušeni, zanesljivi in
prilagodljivi, zato niso več v uporabi zgolj v industrijskih procesih, ampak tudi pri nadzoru in
krmiljenju stavb, strojev, ladij … Omogočajo kombiniranje s široko paleto razširitvenih
modulov, so primerni za uporabo v praktično vseh okoljih in za skoraj vse probleme
krmiljenja. Proizvajalci upoštevajo stroge varnostne smernice, ki jih predpisujejo standardi.
Izbiramo lahko med široko paleto proizvajalcev, kot so na primer Siemens, Muller, Hitachi,
Motorola in drugi. Omogočajo programiranje v več programskih jezikih.
PLK je v osnovi digitalni računalnik, ki je v uporabi za avtomatizacijo elektromehanskih
procesov v industriji. Za razliko od navadnih računalnikov je PLK prirejen za več vhodne in
več izhodne povezave, odporen je na tako zelo visoke kot tudi izjemno nizke temperature,
vibracije in udarce. PLK je sistem v realnem času, saj mora biti sposoben izjemno hitrih
reakcij med vhodi in izhodi.
SCADA pa kot izjemno napredno nadzorno in krmilno okolje omogoča komunikacijo med
''človekom in strojem'' (HMI - Human – Machine Interfence), oddaljen nadzor, predvsem pa
sodoben in pregleden način za upravljanje s procesi, v katerih sami oblikujemo uporabniške
vmesnike ''človek-stroj''.
Za uspešno izvajanje projekta, razvoja programske opreme za programabilne logične
krmilnike, je potrebno interdisciplinarno znanje, zelo dobro poznavanje programskih okolij
kot tudi strojnega dela procesa. Potrebno je tudi upoštevanje varnostnih načel in predpisanih
standardov kot na primer mednarodni standard za PLK programske opreme IEC 61131-3.
Cilji diplomskega dela so predstaviti razvoj programske opreme za PLK pri različnih
uporabah, definirati strojne in programske module ob upoštevanju standardov, integracij
razvojnih rezultatov, testiranja in nujno potrebnega dokumentiranja.
Projektni razvoj programske opreme za PLK 2
Diplomsko delo je razdeljeno na šest večjih poglavij:
• V drugem poglavju je opisano obstoječe stanje opreme, krmilnikov in mehanskih
komponent. Opisan je način vodenja hidravličnega procesa. Zapisana pa je tudi
varnostna veriga.
• V tretjem poglavju so opisani komunikacijski protokoli Profibus, CAN in Tokovna
zanka 4–20 mA.
• V četrtem poglavju je opisano orodje za programiranje Mullerjevih krmilnikov Xsoft
ter standard IEC 61131-3.
• V petem poglavju je predstavljena nadzorno-krmilna programska oprema SCADA.
• V šestem poglavju so predstavljeni ekonomski in drugi učinki uporabe PLK-jev.
Predstavljeni so možni tehnološki procesi, ki jih lahko z manjšimi modifikacijami
krmilimo s programom, razvitim za ta hidravlični proces. Predstavljen pa je tudi
izračun stroškov razvoja programske opreme za to rešitev.
• V sedmem poglavju je predstavljen projektni razvoj programske opreme za PLK,
postopki izvajanje projekta ter načini dela.
Projektni razvoj programske opreme za PLK 3
2. Obstoječe stanje opreme
Hidravlični sistem v Laboratoriju za procesno avtomatizacijo je sestavljen iz zbirne
posode, ki je nameščena na vrhu sistema. Pod njo sta dve merilni posodi, v katerih sta
nameščena senzorja nivoja tekočine. Na dnu sta odtočni cevi, preko katerih črpalki vodo
črpata nazaj v zbirno posodo. Frekvenčna pretvornika določata vrtljaje in tako (FP1 in FP2)
skrbita za pravilno delovanje črpalk, ki sta gnani preko motorjev. Na odtočnih ceveh so
nameščeni še štirje merilniki tlaka (PI1, PI2, PI3, PI4).
Slika 2.1: Laboratorijski hidravlični sistem
Projektni razvoj programske opreme za PLK 4
Opis vodenja sistema
Sistem omogoča tako ročno kot tudi avtomatsko vodenje.
Po preklopu iz avtomatskega v ročni način je sistem mogoče voditi s pomočjo stikal na
krmilni omari.
Avtomatski način pa je izveden preko krmilnikov ter daljinsko nadzorovan in krmiljen preko
CitectSCADA sistema. Na krmilniku 1 pa je naložena tudi spletna aplikacija, ki omogoča
vodenje sistema preko oddaljenega računalnika.
Proces je navidezno ločen na dva dela, desnega in levega. Vsak del procesa poteka
avtonomno, saj ga krmili svoj krmilnik.
Krmilnik 1 je primarni krmilnik in je preko Ethernet povezave povezan v omrežje.
Krmilnik 2 je s Krmilnikom 1 povezan preko Profibus DP komunikacije, preko katere
krmilnik 2 pošilja svoje procesne vrednosti. Krmilnik Easy/MFD je povezan na krmilnik 2
preko CANOpen povezave. Krmilnik 1 nastavlja želene vrednosti krmilniku 2 in krmilniku
Easy/MFD.
Krmilnik 2 s frekvenčnim pretvornikom regulira nivo tekočine v posodi 1.
V posodi 2 se regulacija nivoja lahko izvaja preko frekvenčnega pretvornika ali krmilnega
ventila. V primeru regulacije s frekvenčnim pretvornikom sta v posodi 2 realizirani navadna
in kaskadna regulacija, kjer se pri kaskadni v notranji zanki izvaja regulacija pretoka.
Regulacija s krmilnim ventilom se izvaja na krmilniku Easy/MFD pri konstantnih obratih
črpalke.
Projektni razvoj programske opreme za PLK 5
2.1 Krmilnik
Slika 2.2: Krmilnik1 (levo) in krmilnik 2 (desno)
Krmilnik 1
Modularni krmilnik tipa Moeller XC-CPU-201-EC512-8DI-6DO-XV. Cpu enota vsebuje:
- 512 kByte-ov programskega spomina in 512 Kbyte-ov podatkovnega spomina;
- 8 digitalnih vhodov;
- 6 digitalnih izhodov;
- priključek za RS232/ethernet komunikacijo;
- priključek za CANopen komunikacijo;
- integriran web strežnik.
Razširitveni moduli:
- XIOC-NET-DP-S modul za profibus DS Slave komunikacijo;
- XIOC-4AI-2AO-U1-I1 analogni modul s 4 analognimi vhodi in 2 analognima
izhodoma.
Krmilnik 2
Modularni krmilnik tipa Moeller XC-CPU-201-EC512-8DI-6dO:
- 512 kByte-ov programskega spomina in 512 kByte-ov podatkovnega spomina;
- 8 digitalnih vhodov;
- 6 digitalnih izhodov;
- priključek za RS232/ethernet komunikacijo;
- priključek za CANopen komunikacijo;
- integriran web strežnik.
Razširitveni moduli:
- XIOC-SER modul za serijsko RS232/RS485 komunikacijo;
Projektni razvoj programske opreme za PLK 6
- XIOC-NET-DP-M modul za profibus DP Master komunikacijo;
- XIOC-4AI-2AO-U1-I1 analogni modul s 4 analognimi vhodi in 2 analognima
izhodoma.
Slika 2.3: Modul Easy
Krmilno relejni modul Easy/MDF
Nameščen je na vratih razdelilne omare, ki vsebuje:
- CPU enoto CP8-NT;
- MFD-TA-17 razširitvena enota, ki vsebuje 12 digitalnih vhodov, 4 digitalne izhode, 4
analogne vhode 0–10V in 1 analogni izhod 0–10V;
- MDF-80-B prikazovalnik z upravljalnimi tipkami;
- EASY 221-CO razširitveni modul za CAN open komunikacijo. [1]
Projektni razvoj programske opreme za PLK 7
2.2 Vhodno – izhodni elementi sistema vodenja 2.2.1 Senzorji:
Slika 2.4: Merilnik tlaka
1. Merilnik tlaka: ELTRA DMT 200L, ki ima območje delovanja od 0 do 3 bar-e. Meri
tlak v pretočnih ceveh, napaja se z napetostjo 24 V, informacijo o izmerjenem tlaku pa
daje s tokovnim signalom 4–20 mA. Tlak prikazuje z digitalnim prikazovalnikom.
Slika 2.5: Merilnik pretoka
2. Merilnik pretoka: VORTEX 2A9512 meri pretok tekočine v ceveh. Informacije o
pretoku daje s tokovnim signalom 4–20 mA. Ima linearno karakteristiko.
Merilnika sta nameščena pred in za črpalko, tako lahko izmerimo tlačno razliko ∆p na
črpalki.
Slika 2.6: Merilnik nivoja 1
3. Merilnik nivoja 1: Eckardt LI 166 je merilnik nivoja s plovcem in se nahaja nad
posodo 1. Informacije o nivoju podaja s tokovnim signalom 4–20 mA. Ima linearno
karakteristiko.
Projektni razvoj programske opreme za PLK 8
Slika 2.7: Merilnik nivoja 2
4. Merilnik nivoja 2: Eckardt SILICON CP 160 je tlačni merilnik nivoja, ki meri nivo
tekočine v posodi 2. Informacije o nivoju daje preko p/I pretvornika s tokovnim
signalom 4–20 mA.
Slika 2.8: Inkrementalni dajalnik
5. Inkrementalni dajalnik: Omron E6B2 – CWZB5 je nameščen na osi motorja, ki
poganja črpalko. Na izhodu daje tri signale z resolucijo 100 pulzov/obrat. Napaja se z
napetostjo 12–24 V DC. Omogoča priključitev priključnega kabla do 100 m.
2.2.2 Aktuatorji:
Slika 2.9: Krmilni ventil
1. Krmilni ventil: tipa IMP RV 2 25 odpira oziroma zapira motorni pogon, ki je voden
preko dveh relejev. Pomik relejev odpre ali zapre ventil. Informacijo o odprtosti
ventila dobimo v obliki napetostnega signala 0–10 V, karakteristika je linearna.
Projektni razvoj programske opreme za PLK 9
Slika 2.10: Pnevmatski ventil
2. Pnevmatski ventil: sestavljajo pnevmatski položajni regulator Eckardt SRP 981, I-p
pretvornik in pnevmatski pogon. Ventil je pri tokovnem signalu 4 mA popolnoma
zaprt, pri tokovnem signalu 20 mA pa popolnoma odprt. Pomik ventila je glede na
tokovni signal linearen. I-p pretvornik pretvori tokovni signal v tlačnega. Povratne
informacije o dejanskem položaju ventila ni.
Slika 2.11: Črpalka 1
3. Črpalka 1: ELKO Elektrokovina VC 55 T3 je centrifugalna črpalka. Nazivni podatki:
P1 = 1,4 kW, 0.5–1.5 Vs, 30 –55 m, n=2820min-1, 50 Hz, Y380 V.
Slika 2.12: Frekvenčni pretvornik 1
4. Frekvenčni pretvornik 1: Telemecaniqua Altivar 58. Nazivni podatki 2.2 kW/3 HP,
380/500 V, 50/60 Hz, izhodna frekvenca 0.1–500Hz, izhodni tok 5.8 A. Frekvenčni
pretvornik vodi črpalko 1.
Projektni razvoj programske opreme za PLK 10
Slika 2.13: Črpalka 2
5. Črpalka 2: ELKO Elektrokovina VCV 50/4 T. Nazivni podatki P1 = 1.4 kW, 0.5–1.5
I/s, 50 Hz, 10 A, 220/380 V, 4.2/2.45 A.
Slika 2.14: Frekvenčni pretvornik 2
6. Frekvenčni pretvornik 2: Omron Sysodrive 3G3IV. Nazivni podatki 2.2 kW,
300–460V, 50/60 Hz, vhodni tok 5.9 A in izhodni tok 5.4 A.
Projektni razvoj programske opreme za PLK 11
2.3 Varnostna veriga
Varnostno verigo je potrebno načrtovati že v samem začetku projektiranja, tako
strojnega kot programskega dela sistema. Namenjena je varovanju ljudi, ki upravljajo s
procesom kot tudi varovanju naprav, okolja in seveda procesa samega.
Varnostni elementi morajo biti izbrani tako, da tudi ob okvari teh elementov ali prekinitvi
povezave med njimi nastopi varnostni režim. Večji sistemi pa uporabljajo posebne varnostne
krmilnike.
Slika 2.16: Končno stikalo
Slika 2.15: Glavno stikalo in zasilni izklop
Glavno stikalo je namenjeno izklopu stroja/ustavitvi procesa v času vzdrževanja, čiščenja,
menjavi elementov, ko je ta že ustavljen. Glavno stikalo ni namenjeno ustavljanju
stroja/procesa, ampak izključitvi glavnega napajanja. Mora omogočati zaklep z obešanko v
času izklopa. Deli glavnega napajanja morajo biti jasno označeni in pokriti z ustrezno
izolacijo. (Izjema je notranja osvetlitev omarice za elektriko in posebna vtičnica, namenjena
vzdrževalcem.)
Zasilni izklop naredimo s tipko, rdečo gobico na rumeni podlagi, ki mora biti nameščena na
vidnem in lahko dostopnem mestu v delavnem okolju upravljavca stroja/procesa. Zasilni
izklop mora varno ustaviti stroj/proces, pri tem pa ne sme ogrožati delavcev ali povzročiti
škode na stroju/procesu. Tipka se ob rabi zaskoči, deblokada je možna z zasukom ali s
ključem, ki ga ima pooblaščena oseba. [7]
Varnostna veriga je od krmilnikov neodvisna. Uporaba končnih stikal ali drugih
senzorjev je namenjena varovanju in ugotavljanju napak. Krmilnik mora v primeru napak
preiti v varnostni način. Določene dele procesa mora tako ustaviti, določene pa še dodatno
pognati (npr. razlitje tekočine, zaprtje glavnega ventila dotoka in vklop črpalk za črpanje
vode…).
Projektni razvoj programske opreme za PLK 12
3 Komunikacijski protokoli
Postaja je enojen komunikacijski element v mreži. Preko nje dostopa vsak uporabnik
do omrežnih zmogljivosti. Implementiran ima nek OSI mrežni referenčni model.
3.1 ProfiBus (Process Field Bus)
Doseg Št. postaj Bitna hitrost Št. žic Prenosni medij
Topologija
9600m 126 12 Mbit/s 2 STP D-C
Profibus je omrežno področno vodilo, eno izmed treh, ki jih standardizira Evropski standard
EN 50 170 – Volume 2 in je pod nadzorom organizacije Profibus Trade Organisation.
Vsebuje tri podmreže:
- Profibus – DP (Distributed Periphery) je narejena posebej za področne naprave
(senzorje in aktuatorje) na vhodno-izhodnem (I/O) nivoju. Namenjena je hitri
izmenjavi podatkov med krmilniki in periferijo do 12 Mbit/s. Promet v mreži se izvaja
ciklično, kjer nadrejeni krmilnik (master) ciklično komunicira s periferijo (slave).
Profibus sporočilo pa vsebuje CRC za detekcijo napak. Zaradi hitrega razvoja in
potreb so bile povezave že dvakrat nadgrajene. Tako DP V0 omogoča ciklično
izmenjavo podatkov, DP V1 omogoča aciklično, ki poteka vzporedno s ciklično
izmenjavo podatkov, DP V3 pa nudi že direktno 'slave to slave' komunikacijo brez
nadrejene 'master' enote;
- Profibus – PA (Process Automation) omogoča instaliranje na zelo varen način, ki
omogoča varno delovanje tudi v eksplozivno nevarnem ali tveganem okolju.
Uporablja specialno specifikacijo fizičnega nivoja pod IEC 1158-2 standardom.
Uporablja dvožično prepleteno parico, ki prenaša tako napajanje kot podatke s 31.25
kbit/s;
- Profibus – FMS (Field Messaging Specification) predstavlja najvišji nivo
implementacije, ki se uporablja za povezavo regulatorjev v tovarni. [3]
Projektni razvoj programske opreme za PLK 13
3.2 Can (Control Area Network)
Doseg Št. postaj Bitna hitrost Št. žic Prenosni
medij Topologija
450m 64 1 Mbit/s 4 2-STP T-B
CAN je omrežna tehnologija podatkovno povezovalne (2.) plasti, razvita s strani korporacije
Robert Bosch. Standardiziran je z ISO 11898. Vezja so dostopna kot ločeni CAN-krmilniki ali
kot CAN-krmilniki, integrirani v mikroprocesorjih. Uporablja se lahko več različnih fizičnih
plasti, kot so prepletena parica, optično vlakno, brezžični radio-frekvenčni prenosni medij. Za
CAN je bil razvitih tudi veliko protokolov aplikacijske plasti, kot so CANOpen, Device Net,
SMart Distributed System. [3]
CANOpen definira samo 1. in 2. plast OSI modela, ki sta definirana že s strojno opremo.
Višje nivojski protokol omogoča podporo opremi različnih proizvajalcev.
Aplikacijska plast vsebuje servise in protokole, ki jih uporabljajo enote na vodilu.
Komunikacijski profil definira opremo, podatke in prenose podatkov med opremo. Profili
opreme pa definirajo opremo.
CAL (CAN Aplication Layer) vse skupaj opisuje, na njem je zasnovan CANOpen protokol in
profili, ki jih definira. Vsebuje štiri servise aplikacijske plasti:
- CMS (CAN-based Message Specification);
- NMT (Network ManagemenT);
- DBT (DistriButoR);
- LMT (Layer ManagemenT).
CAL vsebuje mrežne distribucijske servise in protokole, vendar ne definira vsebine CMS
objektov oziroma objektov, ki komunicirajo. CANOpen protokol stoji na vrhu CAL plasti in
uporablja CAL servise in protokole. CANOpen temelji na slovarju opisov objektov . To je
urejena razvrstitev objektov, v kateri ima vsak objekt svoj 16-bitni indeks. Za dostop do
posameznih elementov struktur pa je v uporabi tudi 8-bitni podindeks. Za vsako enoto na
mreži obstaja slovar opisov objektov s parametri, ta je lahko v datotečni obliki ali na papirju.
Komunikacijski profil vsebuje opis osnovne oblike slovarja opisov objektov, komunikacijske
parametre in opise CANOpen komunikacijskih enot. Profil pripada vsem CANOpen enotam.
CANOpen komunikacijski model:
- Administrativni paket – inicializacija nastavitev in nadzor omrežja;
Projektni razvoj programske opreme za PLK 14
- SDO (Service Data Object) – omogoča dostop odjemalcem do vpisov v slovarju
opisov objektov strežnika z uporabo indeksa in podindeksa objekta slovarja opisov
objektov v prvih nekaj bitih CANOpen komunikacijskega paketa;
- PDO (Process Data Object) – v uporabi za prenos podatkov v realnem času. Podatki se
prenašajo od enega pošiljatelja k enemu ali več prejemnikom;
- vnaprej definirani paketi ali objekti s posebnimi funkcijami:
o sinhronizacija (SYNC) – za sinhronizacijo med nalogami na mreži, kjer pri
'Master-Slave' konceptu gospodar pošlje periodični SYNC objekt, sužnji pa od
njegovem prejemu izvedejo nalogo;
o časovna značka, ki prenaša časovno referenco;
o zasilni paket, ki se generira ob notranji napaki na enoti;
o 'Node/Life Guarding' – NMT prikazuje stanje enote (node guarding), enota
prikazuje NMT gospodarja (life guarding);
o 'Boot-up' – enota pošlje paket gospodarju, ko je prešla iz stanja inicializacije v
stanje pripravljenosti.
Za prenos podatkov sta namenjena dva tipa komunikacijskih objektov:
- SDO – v uporabi za nastavitev enot na CANOpen mreži, prenos večje količine nizko
prioritetnih podatkov;
- PDO – v uporabi za hiter prenos podatkov v osmih byte-ih ali manj in brez zaglavja
protokola. [1]
3.3 Tokovna zanka 4–20 mA
Tokovna zanka 4–20 mA je široko uporabljena metoda za prenos informacij med
oddajnikom in sprejemnikom. Deluje v temperaturnem območju od 0 do 100 °C. Sistem
omogoča le dve postaji, povezava pa poteka preko dveh žic. Oddajnik vsili določen tok v
zanko, sprejemnik pa meri padec napetosti na uporu v zanki. Metoda je neobčutljiva na
potencialne razlike, saj uporablja tokovno namesto napetostnega signaliziranja. Metoda ni
primarno digitalna, merjenje veličine se lahko zvezno spreminja v območju 4–20 mA.
Preverjamo pa lahko tudi zaključenost zanke, saj tok za neprekinjeno delovanje ne sme pasti
pod 4 mA. Če se tok približa 0 mA, sprejemnik zazna napako oz. morebitno prekinitev
povezave.
Ta vrsta komunikacije spada med enosmerne oz. pol-dvosmerne povezave. [3]
Projektni razvoj programske opreme za PLK 15
4. Programiranje krmilnika
4.1 Programsko okolje Xsoft
Slika 4.1: Program Xsoft
Xsoft professional je programsko orodje podjetja Moeller, ki se uporablja za
programiranje Moeller-jevih krmilnikov. Za programiranje se uporablja programski jezik, ki
je v skladu z IEC 61131-3 standardom, saj je programirni sistem CoDeSys-ov 3S.
CoDeSys je eden najboljših IEC 61131-3 programskih orodij za programiranje krmilnikov.
Podpira vseh pet z IEC standardom podprtih jezikov, skupaj s programskimi jeziki, kot sta ''C''
ali Pascal.
Podprti programski jeziki:
- instrukcijska lista (IL);
- tokovna shema (LD);
- funkcijski bloki (FBD);
- strukturirani tekst (ST);
- sekvenčni funkcijski diagram (SFC);
- diagram poteka (CFC).
Projektni razvoj programske opreme za PLK 16
Slika 4.2: Pisanje kode v programu Xsoft
Razhroščevanje in zagon
Xsoft Professional omogoča več pomembnih funkcij za hitro in učinkovito razvrščanje PLK
aplikacij za testiranje in zagon. Te funkcije so na voljo takoj po prijavi v krmilnik (Online).
Simulacija
Programsko okolje Xsoft omogoča testiranje programa brez povezave na krmilnik, saj ima
Xsoft integrirano simulacijsko orodje, ki omogoča iste funkcionalnosti kot povezani krmilnik.
Večopravilnost
Program je strukturiran tako, da podpira večopravilnost in lahko optimizira zahtevnejša
opravila. Omogoča nastavitev prioritete aplikacijam z delitvijo procesorske moči.
Projektni razvoj programske opreme za PLK 17
Fieldbus konfigurator
Xsoft strojni konfigurator prikazuje vse lokalne I/O in deljene zunanje naprave (Profibus ali
CANOpen) na enem nivoju. Programerju to omogoča, da nastavi vhode in izhode direktno, da
dodeli njihove parametre in simbolna imena. To onemogoča pojavljanje napak med periferijo
in na IEC temeljnim programom. Omogoča pa tudi testiranje spremenljivk v mrežnem
delovanju.
Omogoča tudi številna orodja, ki olajšajo in skrajšajo delo programerja:
- Offline simulacijski program brez priključitve na krmilnik;
- barvno označitev tokovnih vej, ki so pod napajanjem;
- postavitev spremenljivk na želeno vrednost;
- beleženje vrednosti v realnem času;
- analiza programa po korakih;
- spreminjanje programa med delovanjem;
- vsebuje tudi dodatne knjižnice s področja regulacij in pozicioniranja.
Projektni razvoj programske opreme za PLK 18
4.2 Standard IEC 61131-3
IEC 61131 je IEC standard za programabilne logične krmilnike (PLK). Prvotno se je
imenoval IEC 1131. [4]
Standard IEC 61131 je razdeljen na več enot:
- enota 1: Splošne informacije;
- enota 2: Zahteve opreme in testi;
- enota 3: Programski jezik;
- enota 4: Uporabniška navodila;
- enota 5: Specifikacije sporočilnega servisa;
- enota 6: Komunikacija preko protokola Fieldbus;
- enota 7: Programiranje 'mehkega nadzora' (Fuzzy logic);
- enota 8: Smernice za aplikacije in inplementacijo programskega jezika.
IEC 61131-3 je standard, ki definira programski jezik za programiranje PLK-jev.
Je prvi neodvisni standardiziran programski jezik za industrijsko avtomatizacijo. Ustanovljen
je s strani IEC. Standard je že zelo dobro uveljavljen v Evropi in uspešno pridobiva na
popularnosti tudi v Severni Ameriki in v Aziji.
Uporaba tega standarda v industriji je posledica vedno kompleksnejših nadzornih in
avtomatizacijskih zahtev. Uporaba standardiziranega programskega jezika ima pozitiven vpliv
na življenjsko dobo programske opreme, ki vključuje zahteve analize, načrtovanja, izdelave,
potrditve, namestitev, delovanje in vzdrževanje.
Standard IEC 61131-3 v kombinaciji z novimi, močnimi 'Freescale' čipi omogoča, da je
celoten krmilnik vgrajen v eni napravi. Nadzorni programi lahko tako tečejo samostojno in
neodvisno od večjih krmilnikov. Za kompleksne avtomatizacijske procese tako ni več
potrebno, da nadzorni program z večjim številom vrstic kode teče v enem krmilniku. Takšen
način povečuje učinkovitost, izboljšuje zanesljivost in programe poenostavlja.
Projektni razvoj programske opreme za PLK 19
Standard zagotavlja podporo več programskim jezikom v okviru nadzornega programa.
Programer lahko tako izbere programski jezik, ki je za določeno nalogo najprimernejši in tako
povečuje produktivnost. S standardiziranim programskim vmesnikom, ki je popolnoma
neodvisen od strojne platforme, lahko podjetja znižajo stroške vzdrževanja programov in
stroške usposabljanja za delo z njim.
Standard IEC 61131-3 je strojno neodvisen. Izboljšana je možnost prenosa programskih
rešitev iz ene platforme na drugo. Tako imajo sedaj uporabniki možnost ponovno uporabiti
program na drugem PLK-ju. Standard povečuje učinkovitost in hitrost implementacije novih
rešitev v avtomatizaciji z uporabo nadzornih komponent, ki so že na voljo v drugih projektih
in pri drugih razvijalcih.
Podjetja, ki so se odločila za implementacijo standarda IEC 61131-3, so ugotovila, da so
zmanjšali stroške usposabljanja kadrov, odprave napak in povečali produktivnost ter ponovno
uporabo rešitev.
Standard ima definirana dva grafična in dva tekstovna programska jezika za PLK: [5]
- lestvični diagram (LD) – grafični;
- funkcijski bloki (FBD) – grafični;
- strukturiran tekst (ST) – tekstovni;
- seznam navodil (IL) – tekstovni.
Podatkovni tipi
Podatkovni tipi so skupni element standarda z namenom, da se preprečijo napake že v
razvoju. Opredeljuje vrste parametrov, ki bodo v uporabi in se poskuša izogniti napakam, kot
so določanje datuma s tipom Integer. Ostali podprti podatkovni tipi so Boolean, Integer, Real,
Byte, Word, Date, Time-Of-Day in String. Standard omogoča uporabnikom, da kreirajo svoje
lastne spremenljivke. Na ta način lahko inženir definira analogni vhod kot podatkovni tip in
ga ponovno uporabi v programu.
Spremenljivke so dodeljene samo na izrecne naslove strojne opreme ali ekskluzivne vhode in
izhode. IEC 61131 sistem je povsem neodvisen in je sposoben delovati tudi brez ukazov iz
zunanjega omrežja.
Projektni razvoj programske opreme za PLK 20
Obseg spremenljivke je omejen na organizacijsko enoto, kateri so dodeljene. Prednost te
funkcije je, da so lahko imena spremenljivk ponovno uporabljena v drugih delih programa, ne
da bi prišlo do konfliktov, izločevanja virov ali napak. Spremenljivke so lahko definirane tudi
globalno. Parametrom se lahko dodeli začetna vrednost ob zagonu ali ponovnem zagonu.
Konfiguracija in Opravila
Na najvišji ravni je vsa programska oprema potrebna za reševanje določenega problema lahko
oblikovana kot konfiguracija. Ta je posebna za vsak tip nadzornega sistema, vključno z
ureditvijo strojne opreme, tj. procesni viri, naslov pomnilnika za I/O kanale in sistemske
zmogljivosti.
Opravila nadzoruje izvajanje več programov in/ali funkcijskih blokov. Ti se lahko izvedejo
periodično ali pa jih sproži posebno stanje.
POU (Program organizations units)
V IEC 61131-3 so programi, funkcijski bloki in funkcije poimenovane programske enote.
Standard vključuje nekatere primere funkcij, kot so ADD, ABS, SQRT, SIN in COS.
Uporabnik pa lahko naredi svoje funkcijske bloke in jih večkrat uporabi.
Funkcijski bloki so programski objekti, ki predstavljajo raven bolj podrobnega nadzora.
Lahko vsebujejo tako podatke kot algoritme. Kot programski objekti lahko imajo dobro
definiran vmesnik ali pa delujejo v ozadju. S temi lastnostmi, funkcijami in funkcijskimi bloki
so najbolj uporabni v objektno orientiranem programiranju.
Funkcijski bloki so lahko napisani v kateremkoli programskem jeziku, ki ga podpira IEC, celo
v ''C''. Programi lahko uporabljajo katerega koli od zgoraj navedenih osnovnih blokov.
Sekvenčni funkcijski načrt (SFC) se uporablja za nadzor sekvenčnega obnašanja nadzornega
programa in podpira sinhronizacijo in vzporedno delovanje.
Programski jeziki
Standard IEC 61131-3 podpira sintakso in semantiko za pet standardnih programskih jezikov.
Ko jih osvojiš, lahko uporabiš široko paleto sistemov, ki temeljijo na tem standardu.
Končni uporabnik lahko sam izbere jezik, ki mu najbolj ustreza. [6]
Projektni razvoj programske opreme za PLK 21
5. SCADA
Supervisory Control And Data Acquisition
Slika 5.1: Osnovna slika sistema v Scadi
SCADA je industrijski nadzorni sistem, ki omogoča nadzor in upravljanje z oddaljenim
sistemom. Je sistem za vodenje, arhiviranje in nadzor:
- industrijskih procesov, kot so proizvodnja, proizvodnja električne energije, tekstilni
industriji;
- infrastrukturnih procesov, kot so oskrba s pitno vodo, zbiranje odpadnih voda, nadzor
plinovodov in prenos električne energije
- stavb kot so letališča, ladje…
Sistemske komponente:
- HMI (Human-machine Interfance) – komunikacija človek-stroj;
- RTUs (Remote terminal unit) – oddaljen nadzor in vodenje;
- PLCs – delo s PLK-ji;
- komunikacija z oddaljenimi enotami.
Projektni razvoj programske opreme za PLK 22
Slika 5.2: Prijavno okno v sistem SCADA
SCADA je stabilna in prilagodljiva programska oprema, ki omogoča nadgradnje in
širjenje sistema brez posega v obstoječ sistem. Omogoča tudi ''Plug and Play'' funkcijo, saj pri
priklopu nove strojne opreme sistema ni potrebno ugašati ali ponovno zagnati. V mrežo je
lahko povezanih več računalnikov s sistemom SCADA, kjer imajo porazdeljene naloge na
strežnike in cliente. Omogoča pet ločenih opravil: Prikaze, I/O, Alarme, Poročila in prikaze.
Zaradi zagotavljanja višjega nivoja neprekinjenega delovanja SCADA omogoča redundanco,
to je podvajanje, potrojevanje ali celo več sistemov, ki opravljajo isto nalogo in prevzamejo
breme v primeru izpada katerega od sistemov. Za razliko od ''backup-a'' redundanca teče v
realnem času. Število računalnikov glede na kupljeno licenco ni omejeno, omejena je le
hkratna raba sistema.
SCADA je povezljiva tako s krmilniki, regulatorji in drugimi strojnimi komponentami kot
tudi s poslovnim sistemom podjetja (CIM – izmenjava informacij z drugimi programi, MES –
povezovanje poslovnega in proizvodnega okolja).
Grafika omogoča izgradnjo uporabniškega vmesnika, podprtega z objekti (narišemo lahko
sliko procesa) in jih povežemo na spremenljivke ter tako dinamiziramo.
Točke (Tags) so spremenljivke, posebne spremenljivke in definirani trendi. Spremenljivke so
lahko zunanje (PLK) ali interne. Vrednosti spremenljivk je po potrebi mogoče arhivirati,
komentirati in skalirati. Trendom je mogoče nastaviti ime in lokacijo datoteke, kjer se naj
definirajo.
Projektni razvoj programske opreme za PLK 23
Slika 5.3: Seznam alarmov v Scadi
Alarmom je mogoče določiti privilegije, tako da je potrjevanje mogoče samo za določeno
skupino uporabnikov. Alarmi so lahko javljeni na več načinov: na alarmnih straneh, z
zvočnim signalom ali z utripanjem mesta v alarmu na grafični strani procesa. Omogočeno je
tudi filtriranje alarmov po prioriteti, času, kategoriji …
Omogoča digitalne alarme, alarme s časovno značko, napredne alarme, digitalne in analogne
alarme s časovno značko in kategorije alarmov.
Sistem omogoča ustvarjanje poročil. Ta lahko nastanejo na zahtevo, ob dogodku ali po
časovniku. Prikažejo se lahko na zaslonu, lahko se natisnejo ali shranijo v datoteko.
Definirajo se uporabniki in pravice. Tako so lahko nastavljeni posamezni nivoju, kjer ima
uporabnik s svojim uporabniškim imenom še pravice po upravljanju s sistemom, ali pa je
odgovoren za odpravo napak javljenih z alarmi, ki nastanejo na njegovem nivoju.
Web strežnik postavljen na sistemski strani in Web Client na uporabniški strani omogočata
spremljanje in nadzor sistema z enakimi funkcijami, kot jih omogoča SCADA na strežniku s
pomočjo brskalnika. Tako je mogoče sistem nadzorovati od praktično kjerkoli, možen je
dostop do interneta. Podatki se osvežujejo v realnem času. [16]
Projektni razvoj programske opreme za PLK 24
6. Ekonomski in drugi učinki uporabe PLK
Za uspešno prodajo programske storitve je potrebno najti potencialne kupce in
tehnološke rešitve, ki jih takšna programska oprema lahko krmili. Ker gre za hidravlični
sistem, je možnosti uporabe ogromno. Sistem v laboratoriju omogoča krmiljenje dveh ločenih
hidravličnih procesov. Strojna oprema, predvsem krmilnika, bi omogočala še večje
obremenitve in dodatne funkcije.
6.1 Možni kupci
Potencialni kupci programske rešitve za PLK so podjetja, ki se ukvarjajo z
dejavnostmi, pri katerih se pojavi potreba po uporabi hidravličnega sistema. To so lahko
sistemi hlajenja, ogrevanja, čiščenja, merjenja nivoja, dodajanja aditivov, mešanja …
Navedenih je nekaj primerov uporabe hidravličnega sistema.
Vodno hlajenje
Vodno hlajenje je metoda odvajanja toplote od komponent. Uporablja se za hlajenje motorjev
z notranjim izgorevanjem in velikih transformatorjev.
Večji industrijski sistemi uporabljajo rečno vodo kot vir sveže hladilne tekočine. Hladilna
tekočina kroži skozi hladilne bloke, kjer absorbira toploto. Odvečna toplota pa se odvaja v
obliki vodne pare. [10]
Sistem daljinskega ogrevanja.
Slika 6.1: Daljinsko ogrevanje
Projektni razvoj programske opreme za PLK 25
Daljinsko ogrevanje je sitem ogrevanja stavb, kjer toploto prenašamo k porabniku po cevnem omrežju. Prenos toplote od centralne kotlovnice ali toplarne poteka najpogosteje preko vodnega ali parnega sistema. S tem načinom ogrevanja nadomestimo manjše ogrevalne
sisteme v stavbah.
Daljinsko ogrevanje omogoča večji izkoristek pri uporabi goriv, ki v manjših kuriščih slabše
izgorevajo (premog, komunalni odpadki). Omogoča tudi uporabo odpadne toplote iz
termoelektrarn ali industrijskih obratov, kjer toplota nastane kot stranski produkt.
Slabosti takšnega ogrevanja so visoki začetni stroški. [11]
Oljno hlajenje
Slika 6.2: Sistem oljnega hlajenja
Pri oljnem hlajenju toplota prehaja iz hlajenega objekta na hladno olje, ki teče skozi reže
hladilnega radiatorja. Ohlajeno olje se ponovno uporabi za hlajenje objekta.
Prednosti sistema so v višji točki vrelišča olja in v električni izolaciji, zato je lahko v
neposrednem stiku s komponentami, ki so pod napetostjo.
Slabost pa je zamaščenost komponent pri popravilu ali menjavi. [12]
Hlajenje pri rezanju kovine
Dotok tekočine pod nizkim pritiskom je neposreden na mesto rezanja kovine s krožnim
rezilom. Hladila tekočina ima tako več nalog; ohlajuje obdelovanca in orodje, preprečuje
Projektni razvoj programske opreme za PLK 26
iskrenje in nastajanje dima. Hladilna tekočina odteka preko filtrov v zbirno posodo, kjer se
zbira in ohlaja. Črpalka pa jo pošilja nazaj na mesto uporabe. [13]
Čiščenje vode v bazenu
Črpalka vodo poganja preko filtrov, kjer se odlagajo trdni delci. Vodi se nato dodajo klor in
drugi aditivi ter se vrne nazaj v bazen.
Čistilne naprave
Prva stopnja prečiščevanja je mehansko čiščenje, kjer s precejevalniki in filtri odstranjujemo
trdne odpadke. Ponavadi je ta stopnja izvedena z nekim sitom, ki zadrži vse delce, ki so večji
od 5 mm. Od tam gre umazana voda v bazen, kjer poteka biološko čiščenje. Gre za
razgrajevanje organskih snovi. V tem bazenu so posebni mikroorganizmi (aktivno blato), ki se
prehranjujejo z umazanijo in jo tako razgradijo. V bazen dovajamo tudi precejšnjo količino
zraka, v katerem je tudi kisik, ki še dodatno pospeši delovanje mikroorganizmov. Drugi bazen
pa se imenuje usedalnik, kjer se voda še dodatno prečisti s posedanjem. Od tu pa je prečiščena
voda speljana v reko ali kam drugam nazaj v naravo. [15]
Merjenje nivoja tekočine
Izvedeno v LPA in predstavljeno v tej nalogi.
Projektni razvoj programske opreme za PLK 27
6.2 Stroški razvoja programske opreme Programiranje krmilnika:
- Definiranje vhodov/ izhodov (simbolni opis) cca. 3ure
- Definiranje baz cca. 1ura
- Definiranje spremenljivk cca. 1ura
- Pisanje glavnega programa in funkcij z dokumentiranjem cca. 40ur
= 45ur
SCADA:
- Nastavitev omrežja, povezav cca. 8ur
- Definiranje tag-ov cca. 4ure
- Risanje procesa s programiranjem dinamičnih točk cca. 16ur
- Risanje menijev in podmenijev cca. 8ur
- Definiranje uporabnikov in pravic cca. 3ure
- Alarmi in opozorila cca. 8ur
- Arhiviranje cca. 4ure
=51ur
Dokumentacija:
- Izdelava navodil cca. 8ur
= 8ur
Licence:
- SCADA (real time z mySql) cca. 2100€
- OPC Server cca. 450€
- Windows XP Professional cca. 150€
- Antivirus (Nod32) (2leti) cca. 67€
Projektni razvoj programske opreme za PLK 28
Skupaj:
Ure programiranja: 104ure * 30€ = 3120 €
Licence: 2767 €
Skupaj: 5887 €
Cena programiranja je zelo odvisna od težavnosti projekta, obsežnosti projekta, pogodbe …
Urna postavka v Sloveniji se giblje med 25 in 40 €. Za ta primer je uporabljena vmesna tarifa
30 €.
Opcije / dodatne storitve, ki so lahko omogočene v Scadi:
- samostojna izdelava poročila;
- statistični izračuni;
- integracija v poslovne sisteme (CIM);
- obveščanje;
- jezik / prevodi;
- WEB klient;
…
6.3 Ekonomski in drugi učinki
Izvedbo projekta pogojujejo določena finančna sredstva, ki so potrebna za kritje
stroškov projekta. To so stroški materiala, dela, opreme, transporta, montaže in testiranj.
Stremimo k donosnosti projektov, saj z vsakim projektom pričakujemo povrnitev vloženih
sredstev in ustvarjanje prihodkov.
Pri razvoju programske opreme govorimo o projektih z neposrednimi ekonomskimi učinki.
Projekti v eksploataciji zagotavljajo povračilo vloženih sredstev in nadaljnje prihodke. V
večini primerov se programska oprema proda znanemu naročniku, saj je zaradi specifičnosti
proizvodnih procesov potrebno prirejanje programa in po želji naročnika tudi dodajanje
dodatnih funkcij obstoječi programski rešitvi .
Projektni razvoj programske opreme za PLK 29
7. Projektni razvoj programske opreme za PLK
Projektni način dela omogoča delitev dela med razvijalci, njegovo skrbno načrtovanje,
delitev odgovornosti in nadzor kvalitete opravljenega dela.
Projekt je enkratna, zahtevna in kompleksa skupina nalog. Končana mora biti v določenem
roku, z določenimi ali kasneje odkritimi cilji in upoštevanjem vseh podanih in kasneje
odkritih omejitev. Zahtevno vsebino običajno obvladamo z manjšo skupino strokovnjakov.
Projekt je sestavljen iz navidez samostojnih, v resnici pa med seboj povezanih delov.
Razpoložljive zmogljivosti, aktualnost naloge in motiviranost tima zelo vplivajo na časovni
termin končanja projekta.
Ustrezna izbira ciljev je pogoj za uspešno in ustrezno reševanje problemov, ki so pogojili
projekt. Če cilji niso določljivi, ali pa jih naročnik ne pozna, potem projekt ni pravilno izbran
ali pa je celo nepotreben.
Tako načrtovalci kot tudi snovalci projekta so pri svojem delu omejeni in morajo upoštevati
določena pravila, predpise, standarde, strojno in programsko opremo, razpoložljive kadre,
jezikovno in splošno kulturo, poslovno filozofijo in razpoložljiva sredstva.
Učinki morajo biti višji od stroškov, sicer je projekt narobe zastavljen.
7.1 Izvajanje projekta Začetek načrtovanja projekta se začne pri načrtovanju varnostne verige.
Nato sledi izbira krmilnikov in določitev števila modulov. Krmilniki imajo običajno omejeno
podporo za komunikacijo na ethernet, Profibus, CAN ali katero drugo.
Sledi izbira ostalih strojnih komponent, črpalk, krmilnikov, napajalnikov, ventilov itd.
Določi se komunikacija za povezavo med PC in PLK. Ta je lahko na primer ethernet ali
Profibus.
Sledi programiranje krmilnika in nadzornega sistema, Scade.
Programiranje krmilnika:
- definiranje vhodov/izhodov (simbolni opis);
- merjenje karakteristik posameznih strojnih elementov;
- definiranje spremenljivk;
- pisanje glavnega programa in funkcij (glavni cikel);
- ročni/avtomatski režim delovanja;
- definiranje baz.
Projektni razvoj programske opreme za PLK 30
Način postavitve sistema v Scadi:
- nastavitev omrežja in povezav, povezav med krmilniki, komunikacija z nadzornim sistemom
…;
- definicija tag-ov;
- risanje zaslonske slike, risanje procesa in dinamizacija osnovne slike (proces, nastavitve,
grafi, alarmi). Risanje procesa z dinamičnimi točkami;
- risanje menijev in podmenijev, dinamizacija;
- nastavitve regulatorje PD, PID …;
- definiranje uporabnikov, gesel in pravic. Omejiti je tako možno pravice, ki jih ima pri
upravljanju in nadzoru posamezen uporabnik. Preko tega sistema je možno tudi slediti
ukazom, ki jih izvršijo posamezni uporabniki;
- alarmi in opozorila: Visok nivo = rumen; Previsok nivo = rdeč; Sistemske napake = črn;
- arhiviranje, priprava za pisanje v bazo, določitev časa vzorčenja (glede na zahteve po hitrosti
osveževanja);
- dokumentiranje.
Primeri dodatnih možnosti Scade:
- avtomatsko generiranje poročil;
- avtomatski statistični izračuni (učinkovitost, poraba …);
- možnost integracije s poslovnim sistemom (CIM);
- obveščanje, hierarhično, določitev naslovnika glede na vrsto napake, čas …
- jeziki, prevajanje v tuje jezike;
- web klient;
- KKS številke opreme;
- primer alarma: KKS, naprava, dogodek, področje.
Projektni razvoj programske opreme za PLK 31
Faza intenzivnega testiranja, kjer je potrebno predvideti vse možne dogodke, ki se lahko
pojavijo pri delu s sistemom. Odprava še zadnjih pomanjkljivosti
Pred predajo je potrebno pridobiti še vsa potrebna obratovalna dovoljenja in certifikate, če je
to za dovoljenje obratovanja potrebno.
Pomemben del projekta sta tudi izdelava navodil in dokumentacije.
Predaja projekta.
Projektni tim
Za uspešno izvajanje projekta je pomembno interdisciplinarno znanje in uspešno projektno
vodenje. Za izvedbo projekta bi zadostovala manjša skupina programerjev. To pa bi
omogočalo tudi boljšo komunikacijo, koordinacijo dela in boljši nadzor trenutnega stanja
projekta.
Delo bi bilo razdeljeno po segmentih in bi lahko teklo vzporedno.
Projektni razvoj programske opreme za PLK 32
7.2 Način dela
Razvijalci programske opreme so prevzeli izkušnje in prakso iz drugih področij,
predvsem gradnje strojne opreme.
Ocenjevanje stroškov je zaradi pretežno intelektualnega dela težko meriti. Zato podamo le
grobo oceno, ki pa jo kasneje dopolnjujemo. Ponavadi je v uporabi metoda števila
programskih vrstic ali funkcijskih točk (tag-ov).
Za izdelavo projektnega načrta moramo najprej dobro vedeti, kaj so zahteve oz. cilji, nato pa
moramo oceniti zmogljivosti. Tipična delitev dela pri razvoju programske opreme je 40 %
analize in načrtovanja, 20 % kodiranja in 40 % testiranja.
Kvaliteto programske opreme lahko le ocenimo, saj je težko izmerljiva:
- transcedalna definicija govori o notranji kvaliteti. Po njej merijo kvaliteto predvsem
izkušeni poznavalci;
- uporabniška definicija govori o uporabnosti sistema in prijaznosti do uporabnika, je
predvsem subjektivna;
- definicija na osnovi produkta zahteva lastnosti programske opreme, uporablja jo
večina sistemov za opredeljevanje kvalitete;
- definicija na osnovi specifikacije testiramo s sistemskim testom in preverjamo
ujemanje s specifikacijo;
- ISO, mednarodna organizacija za standarde je izdala več standardov, predvsem
družine ISO 9000. Standard serije ISO 9001: Modeli kvalitete – model za
zagotavljanje kvalitete v načrtovanju, razvoju, izdelavi, instalaciji in servisiranju.
Standardi serije ISO 9000 niso namenjeni posebej razvoju programske opreme, kot na
primer zgoraj omenjena družina standardov IEC 61131, ki zadeva krmilnike.
Orodja za razvoj programske opreme
Prva orodja, ki so podpirala predvsem fazo kodiranja, so bili prevajalniki, razhroščevalniki in
urejevalniki, kasneje so se pojavili prevajalniki za višje programske jezike. Postopno pa so
bili razviti še drugi programi za mrežno planiranje, analizo in testiranje. Danes pa se aktivno
razvijajo nova orodja, ki skrbijo za konsistentnost vseh faz v razvoju in s svojo enovitostjo
vsiljujejo potrebno metodologijo in sistematizacijo.
Projektni razvoj programske opreme za PLK 33
Mrežno načrtovanje je analitično orodje za spremljanje in kontrolo projektov. Mrežni načrt
omogoča jasen pregled strukture projekta, racionalno rabo zmogljivosti, časa in stroškov
projekta.
Analiza strukture projekta: cilj je narediti mrežni načrt z vsemi aktivnostmi za dosego cilja
projekta. Projekt razdelimo na aktivnosti, funkcijsko in objektno strukturiranje. Funkcijsko se
izvede glede na vrsto dela (projektiranje, priprava,izdelava), objektno pa se izvede glede na
objekt (podatkovne zbirke).
Časovna analiza; določa čas trajanja vsake aktivnosti. Časa trajanja ne moremo natančno
določiti, lahko pa ga ocenimo. Pri časovni analizi dogodkovnih mrež najprej določimo čas
trajanja celotnega projekta in nato določimo kritične poti in časovne rezerve. Pri časovni
analizi za aktivne mreže pa najprej izračuna najzgodnejši rok začetka aktivnosti in
najzgodnejši rok zaključka aktivnosti ter časovne rezerve.
Aanaliza zmogljivosti: tu aktivnosti razporedimo tako, da so optimalno razporejene
zmogljivosti, kot so človeški viri in čas. Zaradi omejenih zmogljivosti je potrebno aktivnosti
prerazporediti. Vedno se iščejo približno optimalne rešitve.
Aanaliza stroškov: izhodišče planiranja stroškov vseh aktivnosti so ure, ki so predvidene za
izvajanje aktivnosti in stroški za eno uro dela. Ločimo direktne stroške (dnevnice, prevozi,
izobraževanje …) in indirektne stroške (osebni dohodki, prispevki …). Pomagamo pa si tudi z
računalniškimi programi, kot so Super Project ali Microsoft Project. Poznamo direktne
prihranke, ki nastanejo zaradi natančnejšega ocenjevanja zmogljivosti in stroškov, posredne
prihranke, ki nastanejo zaradi zmanjšanja kapitalskih stroškov in boljše izkoriščenosti naložb,
ter težko merljive prihranke zaradi boljše kvalitete projektov in večjega zadovoljstva strank.
[8,9]
Projektni razvoj programske opreme za PLK 34
8. Sklep V laboratoriju za procesno avtomatizacijo je postavljen hidravlični sistem, na katerem smo
prikazali princip projektnega vodenja razvoja programske opreme za programabilne logične
krmilnike.
Pri izvedbi projekta je bilo potrebno spoznati in opisati vso pripadajočo strojno opremo, vso
programsko opremo za programiranje krmilnikov in vmesnikov za oddaljen nadzor ter vso
pripadajočo komunikacijo med komponentami.
Za prikaz izvedbe razvoja smo uporabili že izveden projekt Porazdeljenega vodenja
hidravličnega sistema, kateremu smo opisali korake razvoja programske opreme. Dotaknili
smo se tudi razvoja celovitega sistema in predstavili vse potrebne korake za uspešno izvajanje
projekta.
Poiskali smo tudi realne primere, kjer bi lahko takšno programsko rešitev ob manjših
modifikacijah tudi uporabili, saj bi bila lahko takšna podjetja tudi naši potencialni kupci.
Pripravili smo tudi informativni izračun cene za našo programsko rešitev. Ta vsebuje
predvideno število ur dela vzpostavljanja povezav med komponentami in programiranje
krmilnikov. Programiranje in delo v okolju SCADA, ki zajema risanje grafičnega okolja
procesa, menijev in podmenijev, regulacij, kreiranja uporabnikov in nastavitvi alarmov. Pri
postavljanju cene smo kot osnovo uporabili ure programiranja, pri nakupu licenc pa število
Tag-ov za nakup Scade ter licence za operacijski sistem Windows XP pro, OPC strežnik in
antivirusni program.
Poleg ocenjevanja stroškov pa smo predstavili tudi načine ocenjevanja kvalitete izvedene
programske rešitve.
Glede na število predvidenih programskih ur ugotavljamo, da bi bila lahko programska
oprema testirana in pripravljena za uporabo v dveh do treh tednih.
Projektni razvoj programske opreme za PLK 35
9. Viri
[1] Andrej Zeme, Porazdeljeno vodenje hidravličnega sistema – komunikacije in programska
oprema, diplomsko delo, Maribor 2007
[2] Aleš Zupanc, Distribuirano vodenje procesa regulacije nivoja tekočine, diplomsko delo,
Maibor 2006
[3] http://www.sparc.uni-mb.si/Komunikacijeva/literatura/Mreže-z%20direktno-povezavo.pdf
[4] http://en.wikipedia.org/wiki/IEC_61131
[5] http://en.wikipedia.org/wiki/IEC_61131-3
[6] http://www.rtaautomation.com/iec61131-3/
[7] www.elektronik.si
[8] www.cek.ef.uni-lj.si/magister/absec274.pdf
[9] www.ro.feri.uni-mb.si/predmeti/prog_in/.../projektno_vodenje.pdf
[10] http://en.wikipedia.org/wiki/Water_cooling
[11] http://sl.wikipedia.org/wiki/Daljinsko_ogrevanje
[12] http://en.wikipedia.org/wiki/Oil_cooling
[13] http://www.osha.gov/SLTC/metalworkingfluids/metalworkingfluids_manual.html
[14] http://www.faweb.net/us/opc/price.html
[15] http://sl.wikipedia.org/wiki/Čistilna_naprava
[16] Aleš Lepoša, Porazdeljeno vodenje hidravličnega sistema daljinski nadzor in tehnologije,
diplomsko delo, Maribor 2007
Projektni razvoj programske opreme za PLK 36
10. Priloga Kazalo slik:
Slika 2.1: Laboratorijski hidravlični sistem ............................................................................... 3
Slika 2.2: Krmilnik1 (levo) in krmilnik 2 (desno) ..................................................................... 5
Slika 2.3: Modul Easy ................................................................................................................ 6
Slika 2.4: Merilnik tlaka............................................................................................................. 7
Slika 2.5: Merilnik pretoka......................................................................................................... 7
Slika 2.6: Merilnik nivoja 1........................................................................................................ 7
Slika 2.7: Merilnik nivoja 2........................................................................................................ 8
Slika 2.8: Inkrementalni dajalnik ............................................................................................... 8
Slika 2.9: Krmilni ventil............................................................................................................. 8
Slika 2.10: Pnevmatski ventil..................................................................................................... 9
Slika 2.11: Črpalka 1 .................................................................................................................. 9
Slika 2.12: Frekvenčni pretvornik 1........................................................................................... 9
Slika 2.13: Črpalka 2................................................................................................................ 10
Slika 2.14: Frekvenčni pretvornik 2......................................................................................... 10
Slika 2.16: Končno stikalo ...................................................................................................... 11
Slika 2.15: Glavno stikalo in zasilni izklop.............................................................................. 11
Slika 4.1: Program Xsoft .......................................................................................................... 15
Slika 4.2: Pisanje kode v programu Xsoft................................................................................ 16
Slika 5.1: Osnovna slika sistema v Scadi ................................................................................. 21
Slika 5.2: Prijavno okno v sistem SCADA .............................................................................. 22
Slika 5.3: Seznam alarmov v Scadi .......................................................................................... 23
Slika 6.1: Daljinsko ogrevanje ................................................................................................. 24
Slika 6.2: Sistem oljnega hlajenja ............................................................................................ 25