Instrukcja
In touch
Proces Wizualizacji Procesu Napełniania Cysterny w rafinerii
Tworząc wszystkie części tej aplikacji wykorzystujemy polecenie rysowania, tak powstają w tej aplikacji wzory pomp, zaworów, zbiornika, rur, sygnalizacji lub cysterny. Aplikacja utworzona jest w jednym oknie o nazwie Main Window.
Tworzymy okno główne klikając na New Window, nazwa okna Main Window, typ zamień, styl pojedyńcza, pasek tytułowy i zmiana wymiarów, położenie poz 69, poł pion 55, szerokość okna 732, wysokość okna 457.
Tworzymy linię przed i za obiektem 1.Połączenia animacyjne - inne - miganie -klikamy- wyrażenie V1 - atrybuty migania - kolor tekstu - cz - linii - nieb - wypełnienia - cz, miganie szybkie.
Obiekt 1 Pompa , Rysujemy koło z dwoma liniami skierowanymi pod kątem do siebie. Połączenia animacyjne - przyciski - dyskretny klikamy - zmienna P1 - sposób działania przełączanie. Kolor wypełniania - dyskretne - wyrażenie P1 - wł - ziel- wył - szary.
Obiekt 2 - zawór. Rysujemy 2 trójkąty skierowane wierzchołkami do siebie. Połączenia animacyjne - przyciski- dyskretny klikamy - zmienna v1, sposób działania przełączanie. Kolor wypełniania - dyskretny - wyrażenie V1, kolory - wł - zielony, wył - szary.
Linia - przed wlotem do zbiornika - połączenia animacyjne - kolor linii - dyskretny - wyrażenie V1- wł - niebieski, wył szary. Inne miganie - wyrażenie V1, atrybuty migania tak jak poprzednio, miganie szybkie.
Obiekt 3 - zbiornik rysujemy wybierając opcje prostokąt z zaokrąglonymi rogami.
Obiekt 4 - wskaźnik poziomu w zbiorniku - połączenia animacyjne - wypełnienie pionowe - wyrażenie level, właściwości maks 100, maks % 100, min 0, min % 0, kierunek do góry.
Linię przed obiektem 5 jak też i za tym obiektem definiujemy tak jak linie przed i za obiektem 1, zmieniając jedynie w wyraniu wpisujemy V2 zamiast vl. Tak samo postępujemy przy obiektach 5 i 6, definiujemy je tak samo jak obiekty 1 i 2 tylko, że w wyrażeniach przy literach stawiamy cyfrę 2 a nie 1. Analogicznie postępujemy z wylotem z zaworu 2 w wyrażeniu wstawiając V2.
Obiekt 7. Cysterna. Połączenia animacyjne - położenie - poziome - wyrażenie position, właściwości: wartość - przy przem lewym 0, przy przem prawym 800, przemieszczenie poziome: skrajne lewe 0, skrajne prawe 731.
Obiekt 8 sygnalizator poprawnego ułożenia cysterny. Powstał z polecenia rysowania: prostokąt, dwa koła wewnątrz, oraz podstawy. Określenie zmiennej : nazwa in position, typ discrete.
Obiekt 9- Przycisk opróżnij cysternę - wybieramy z bocznego menu opcję przycisk nastepnie po wciśnięciu cntrl+t zmieniamy tekst na właściwy klikamy na niego i połączenia animacyjne - piszemy skrypt akcji wpisując wyrażenie Cysterny = 0
Przycisk nalej cysterne - tworzymy tak jak obiekt 9 wpisując odpowiedni tekst a następnie połączenia animacyjne - przyciski - dyskretny - zmienna V2 , sposób działania ustawienie .Inne - deaktywacja - wyrażenie InPosition==1 AND Volume >=zadana, dostępność niedostępny.
Skrypty
Tworzymy skrypt dla okna Main Window, ustawiamy typ warunku na Podczas działania, a parametr CO na wartość 500. Treść skryptu jest następująca :
IF P1 ==1 THEN
Flow1_k = 2;
ELSE
Flow1_k = 1;
ENDIF;
IF P2 == 1 THEN
Flow2_k = 1;
ELSE
Flow2_k = 0.5;
ENDIF;
IF V1 == 1 THEN
Level = Level + Flow1_k;
ENDIF;
IF V2 == 1 THEN
Level = Level - Flow2_k;
ENDIF;
Volume = Level * 500;
IF V2 == 1 THEN
Vcysterny = Vcysterny + Flow2_k*500;
ENDIF;
IF Vcysterny >= Vzadana THEN
V2 = 0;
P2 = 0;
ENDIF;
IF Level < 10 THEN
LL = 1;
V1 = 1;
P1 = 1;
ELSE
LL = 0;
ENDIF;
IF Level < 20 THEN
L = 1;
ELSE
L = 0;
ENDIF;
IF Level > 80 THEN
H = 1;
P1 = 0;
ELSE
H = 0;
ENDIF;
IF Level > 90 THEN
HH = 1;
V1 = 0;
ELSE
HH = 0;
ENDIF;
Skrypty “Zmiany wartości zmiennych”
Zmienna Position. Tekst skryptu:
IF Position >= 458 AND Position <= 460 THEN
InPosition = 1;
ELSE
InPosition = 0;
ENDIF;
Definiowanie zmiennych
Za pomocą opcji z menu Special/ Tagname Dictionary wywołaj okno deklaracji
zmiennych (opis okna deklaracji zmiennych znajdziesz na rysunku na nastepnej stronie)
i zdefiniuj następujące zmienne wymienione poniżej
Lp. |
Nazwa zmiennej |
Typ zmiennej |
Wartość początkowa |
Minimalna wartość |
Maksymalna wartość |
|
1 |
Pompa 1 |
Memory discrete |
wył |
- |
- |
|
2 |
Pompa 2 |
Memory discrete |
wył |
- |
- |
|
3 |
Zawór 1 |
Memory discrete |
wył |
- |
- |
|
4 |
Zawór2 |
Memory discrete |
wył |
|
|
|
5 |
cysterna |
Memory real |
0 |
-32768 |
32767 |
|
6 |
Ilość zadana |
Memory real |
0 |
-32768 |
32767 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|