PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGI … · 2020. 1. 30. · Črpalka 1: ELKO...

47
Matjaž Medved PROJEKTNI RAZVOJ PROGRAMSKE OPREME ZA PROGRAMABILNE LOGIČNE KRMILNIKE Diplomsko delo Maribor, september 2010

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

II

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

Projektni razvoj programske opreme za PLK 37

Projektni razvoj programske opreme za PLK 38

Projektni razvoj programske opreme za PLK 39