Professional Documents
Culture Documents
i Inynierii Biomedycznej
____________________________________
Projekt:
Wielopoziomowe struktury
sterowania i systemy SCADA
_____________________________________
Piotr Smaro
Jerzy Lasyk
Rafa Patek
Prowadzcy:
Prof. dr hab. in Witold
Byrski
Mgr. in Andrzej Latocha
Krakw, stycze 2014
1. Cel projektu
Podstawowym celem projektu jest wykonanie w oprogramowaniu zenon aplikacji
przedstawiajcej sterowanie produkcj z wykorzystaniem systemu zarzdzania recepturami.
Wykonana aplikacja powinna w peni wykorzystywa dostpne w programie zenon narzdzia,
suce do pracy z recepturami. Poza aplikacj efektem projektu powinno by take
dokumentacja dziki, ktrej inni uytkownicy tego oprogramowania bd mogli zdoby
potrzeb wiedz do budowy wasnych aplikacji. W ramach projektu przedstawiona zostanie
take strona teoretyczna zwizana z produkcj wsadow (batch production).
istnieje
moliwo
wykorzystania
rnych
mie
moliwo
uruchomienia
produkcji
na
rnych
instalacjach
przemysowych
nie ma moliwoci na budow specjalizowanej linii produkcyjnej dla kadego
z wytwarzanych produktw
wytwarzane s produkty sezonowe
3. Oprogramowanie zenon
W
projekcie
wykorzystane
zostao
zenon Logic system programistyczny dla sterownikw PLC zgodny z IEC 61131-3
zenon Operator sucy do obsugi maszyn oraz urzdze sterujcych
Cechy zenona w wersji 7.10 [6]:
ulepszony modu Batch Control technologia dotykowa, integracja w Report Viewer
Report Viewer pene i wszechstronne raportowanie produkcji
ochrona elementw aplikacji w zenon Editor niektre elementy mog zosta
zablokowane dla pewnych uytkownikw
import zmiennych z SIMANTIC STEP 7
aplikacje na urzdzenia przenone
specjalizowane wersje dla sektora energetyki (zenon Energy Edition) oraz przemysu
farmaceutycznego (zenon Pharma Edition)
Tworzona funkcja moe wpisa wartoci z receptury do aktualnych zmiennych, moe rwnie
odczyta wartoci zmiennych i zapisa je do receptury, tym samym nadpisujc j, dostpna
jest take opcja wykonania duplikatu receptury.
Jeli chcemy utworzy ekran do zarzdzania procedurami, moemy to zrobi dodajc
nowy screen i wybierajc dla niego Screen type Standard recipes. Do tak utworzonego
ekranu moemy dodawa rnego rodzaju elementy suce do zarzdzania procedurami.
Znajduj si one w Control elements, moemy dziki temu doda m.in. takie elementy jak
przyciski New Recipe, Edit Recipe, Add Variable, All Value--, Save Recipe. Jest take
moliwo skorzystania z gotowego szablonu ekranu do zarzdzania procedurami. Aby
z niego skorzysta naley wybra Control elements Insert templete.. Aby podczas dziaania
aplikacji w zenon Runtime mie dostp do receptur utworzonych w projekcie naley
udostpni je poprzez wprowadzenie odpowiednich zmian w ustawieniach projektu.
Rys. 4.7 Ustawienie funkcji zwizanych z recepturami na pocztku i kocu przedziau czasu
wcinicie
kombinacji
klawiszy
ALT+M.
Ta
moliwo
rwnie
zostaa
Okno procesu
W oknie procesu moemy wyrni elementy zarwno statyczne jak i dynamiczne.
Gwnymi elementami s dwa zbiorniki, przeznaczone dla 2 etapw powstawania produktu.
Poczone s ze sob rurocigiem, na ktrym umieszczone s dwa zawory oraz pompa. Jeden
z zaworw kontroluje odpyw mieszanki z pierwszego zbiornika, natomiast drugi z zaworw
otwiera lub zamyka wlot mieszanki do drugiego zbiornika. Pompa obrazuje element
pompujcy mieszank z pierwszego zbiornika do drugiego. Od wlotu pierwszego zbiornika
odchodz 3 rury, przez ktre transportowane s nastpujce skadniki: woda, cukier
i dwutlenek wgla. Skadniki te prezentowane s tak, e na kocu kadej rury znajduje si
strzaka, poprzedzona cyfrowym wywietlaczem wartoci objtoci kadego ze skadnikw
uywanego w procesie. W przypadku wody uyto dodatkowego zbiornika, symbolizujcego
kontener z wod, za ktrym znajduje si zawr sucy do odcicia przepywu wody.
Dodatkowo nad pierwszym zbiornikiem umieszczony zosta motor, ktrego wyprowadzone
mieszado koczy si w rodku zbiornika. Na zbiorniku umieszczony zosta wskanik
poziomu wypenienia. Zosta on odpowiednio przeskalowany do pojemnoci zbiornika, tj. od
0 do 1500 litrw. U wejcia drugiego zbiornika, oprcz rurocigu doprowadzajcego
mieszank z pierwszego zbiornika, znalazy si silnik oraz dwa rurocigi doprowadzajce
tauryn oraz kofein do rodka. Na zbiorniku umieszczono rwnie symbol grzaki,
wskazujcej temperatur, w jakiej bdzie odbywao si mieszanie skadnikw. Rwnie na
tym zbiorniku umieszczono odpowiednio przeskalowany wskanik wypenienia. Dodatkowo
pod grzak znajduje si wskanik aktualnej temperatury cieczy. Z drugiego zbiornika
wychodzi rura zakoczona zaworem. Kady obiekt (poza strzakami i rurami) zosta opisany
tekstowo.
Start procesu odbywa si poprzez nacinicie przycisku Start, umieszczonego na lewo od
pierwszego zbiornika. Podczas dziaania, proces mona zatrzyma, naciskajc na ten
przycisk.
poziomu
wypenienia.
Zostay
do
nich
przypisane
zmienne
Cay program zosta pomylany jako maszyna stanu, gdzie poszczeglne stany opisuj
zachowanie dynamicznych elementw w kolejnych, nastpujcych po sobie krokach. Kod
znajduje si w funkcji Task_Main(), w funkcji Task_Init() umieszczone zostay jedynie dwa
przypisania zmiennych, natomiast funkcja Task_Exit() jest nieuywana.
Poszczeglne stany przedstawiaj si nastpujco:
1. przygotowanie do startu zaadowanie receptur,
2. odczekanie chwili na start procesu,
3. napenienie pierwszego zbiornika skadnikami,
4. mieszanie zawartoci pierwszego zbiornika,
5. przelanie zawartoci pierwszego zbiornika do drugiego zbiornika,
6. dodanie pozostaych skadnikw do drugiego zbiornika,
7. podgrzewanie zawartoci drugiego zbiornika,
8. mieszanie skadnikw w drugim zbiorniku,
9. wypuszczenie gotowego zbiornika,
10. przejcie do pocztku programu.
Maszyna stanu zrealizowana zostaa za pomoc instrukcji Select Case, ktra cyklicznie
realizowaa dany stan, okrelony w zmiennej o tej samej nazwie stan. Opnienia
w programie realizowane byy przez inkrementacj jednej ze zmiennych do odpowiedniej
wartoci. Skonfigurowany Task w edytorze VB znajduje si na Rys. 5.4.
Uwagi kocowe
Podczas projektowania aplikacji okazao si, e rozoenie elementw w trybie edycji okna
i trybie dziaania aplikacji jest rne cz elementw po przejciu w tryb Runtime zostaa
przesunita.
Debugowanie programw napisanych w edytorze VB jest utrudnione z tego powodu,
e kompilator podaje bardzo mao informacji istniejcych w programie bdach.
Task.Value(nazwa
zmiennej),
natomiast
odwoania
do
zmiennych
Task.Value("Motor[1]") = false
licznik = 0
stan = 5
End If
Case 5 'Przelanie zawartosci zbiornika
Task.Value("Valve[1]") = true
Task.Value("Pump") = true
Task.Value("Valve[2]") = true
If Task.Value("Tank[1].Fill level") > 0 Then
Task.Value("Tank[1].Fill level") = Task.Value("Tank[1].Fill
level") - 10
Task.Value("Tank[2].Fill level") = Task.Value("Tank[2].Fill
level") + 10
Else
stan = 6
End If
Case 6 'Dodanie do 2 zbiornika skladnikow
Task.Value("Valve[1]") = false
Task.Value("Pump") = false
Task.Value("Valve[2]") = false
If licznik < 300 Then
licznik = licznik + 1
Else
Task.Value("Tank[2].Fill level") = Task.Value("Tank[2].Fill
level") + aromaR+taurineR
licznik = 0
stan = 7
End If
Case 7 'Podgrzewanie
'Zwiekszanie temperatury odbywa sie z czestotliwoscia
'dwukrotnie mniejsza od trwania cyklu
If licznik/2 < temperatureR Then
Task.Value("currTemperature") = licznik/2
licznik = licznik + 1
Else
licznik = 0
stan = 8
End If
Case 8 'Mieszanie skladnikow w drugim zbiorniku
Task.Value("Motor[2]") = true
If licznik < 500 Then
licznik = licznik + 1
Else
licznik = 0
Task.Value("Motor[2]") = false
stan = 9
End If
Task.Value("Tank[2].Fill
uruchomieniu
aplikacji
widzimy
dwa
okna:
gwne
okno
procesu,
save
zapisanie
aktualnej
receptury.
Przydatne
przy
tworzeniu/modyfikowaniu receptur.
Import recipe suy do importowania wczeniej zdefiniowanego i zapisanego na
dysku pliku z recepturami.
Export recipe suy do eksportowania aktualnie wywietlanej receptury do pliku.
Okno gwne programu
W oknie tym przedstawiony zosta proces produkcji napojw energetycznych.
Niektre elementy (zawory, silniki) bd zmieniay swoje stany podczas dziaania procesu.
Pola numeryczne wywietlaj aktualne wartoci receptur i zmiennych. Na zbiornikach
umieszczone zostay wskaniki poziomu wypenienia, ktre rwnie zmieniaj si w trakcie
dziaania programu. W tym oknie jedynym aktywnym przyciskiem jest przycisk Start/Stop
umieszczony po lewej stronie pierwszego ze zbiornikw. Przy uruchamianiu programu
przycisk ten wywietla napis Start i ma kolor zielony, po jego naciniciu kolor zmienia si na
czerwony a napis na Stop.
Uruchamianie programu
Aby uruchomi program, najpierw naley przej do okna receptur. W tym celu naciskamy
przycisk Recipes, umieszczony w panelu nawigacyjnym. W grnym lewym rogu umieszczone
zostay predefiniowane receptury. Po wybraniu jednej z nich, klikamy na przycisk Write
Values, znajdujcy si po prawej stronie. Sprawi to, e wybrane przez nas wartoci zmiennych
zapisanych w recepturze przepisane zostan do zmiennych zdefiniowanych w programie.
Nastpnie przechodzimy do gwnego okna procesu, naciskajc na przycisk Main Window
znajdujcy si na panelu nawigacyjnym. Moemy teraz zauway, e pola numeryczne,
podpisane H2O, Sugar, C2O itd. bd wywietlay wartoci zapisane w recepturze.
Naciskamy na przycisk Start wwczas uruchomiony zostanie cay proces. Podczas jego
dziaania program bdzie przechodzi przez nastpujce kroki:
1. przygotowanie do startu zaadowanie receptur,
2. odczekanie chwili na start procesu,
3. napenienie pierwszego zbiornika skadnikami,
4. mieszanie zawartoci pierwszego zbiornika,
8. Bibliografia
[1] http://en.wikipedia.org/wiki/Batch_production
[2] http://www.biap.com.pl/pl/products/12/show/11/Produkcja_wsadowa,_batching
[3]
http://www.bbc.co.uk/schools/gcsebitesize/business/production/methodsofproductionrev1.sht
ml
[4]
http://cache.automation.siemens.com/media/60237473_SIMATIC_BATCH_en_web/start.htm
[5] http://pl.wikipedia.org/wiki/Oprogramowanie_Zenon
[6] http://copa-data.automatykab2b.pl
[7] Training Material ZENON BASIC TRAINING
[8] zenon material Programming Interfaces, v.7.00
[9] Pomoc programu zenon