Ćwiczenie 3.

 

SYSTEMY SCADA

 

Celem ćwiczenia jest  ogólne poznanie filozofii  tworzenia i funkcjonowania aplikacji wizualizacji i sterowania przebiegiem procesów technologicznych z pomocą systemów SCADA, na przykładowych aplikacjach zrealizowanych z pomocą oprogramowania Wizcon 7.5.

 

1. Wprowadzenie

Komputerowe systemy nadzorowania, monitorowania i sterowania procesów przemysłowych przeżywają obecnie bardzo burzliwy rozwój. Ich powszechnie stosowana nazwa – SCADA pochodzi od pierwszych liter angielskiego określenia – Supervisory Control and Data Acquisition). Systemy te dają prostą możliwość współpracy ze sterownikami PLC, regulatorami mikroprocesorowymi i innymi urządzeniami tzw. centralnej części komputerowego systemu automatyki różnych producentów. Pozwalają na realizację zdecentralizowanych systemów automatyki przemysłowej, głównie dla średnich i małych instalacji technologicznych. Cenną zaletą tego typu systemów jest większa otwartość. Jest to jednak okupione brakiem integracji oprogramowania wizualizacyjnego i sterującego. Poszczególne rozwiązania różnią się zakresem i sposobem realizacji poszczególnych funkcji. Do czołowych reprezentantów należą tutaj In Touch, FIX, Wizcon, WinCC.

Wymaga się aby nowoczesny system SCADA realizował następujący zestaw głównych funkcji:

-         komunikację z aparaturą sterującą i stacjami operatorskimi,

-         przetwarzanie zmiennych procesowych,

-         oddziaływanie na proces (sterowanie, regulacja),

-         kontrolę procesu i sygnalizację alarmów,

-         raportowanie i archiwizacje danych,

-         wizualizację graficzną przebiegu procesu na schematach, wykresach, itp.,

-         konfigurowanie struktur algorytmicznych i obrazów synoptycznych,

-         wymianę danych z innymi systemami poprzez sieci FAN, LAN, WAN itd.

Zaawansowane rozwiązania systemów SCADA powinny posiadać następujące cechy charakterystyczne:

-         Wielozadaniowy system operacyjny z wywłaszczaniem,

-         Praca w strukturze sieciowej,

-         Możliwość ewolucyjnej rozbudowy,

-         Możliwość rozszerzania i modyfikacji w trybie on-line,

Otwartość i skalowalność (wykorzystanie standardowego systemu operacyjnego i oprogramowania sieciowego, wykorzystanie standardowego sprzętu, możliwość opracowania przez użytkownika oprogramowania komunikacyjnego do nietypowych urządzeń lub szeroka dostępność driverów komunikacyjnych, możliwość wymiany danych z bazami danych i innymi systemami z pomocą standardowych mechanizmów np. DDE, OLE, OPC itp.)

-         Projektowany stopień niezawodności i zabezpieczenie dostępu.

 

Systemy SCADA są to więc złożone systemy komputerowe do zastosowań automatyki przemysłowej, zrealizowane na bazie oprogramowania SCADA (wizualizacyjnego), które może być kupione z „półki”. Umożliwia ono realizację dopasowanego do istniejącego procesu systemu automatyki za stosunkowo niewielkie pieniądze.

 

2. System Wizcon

2.1. Ogólna charakterystyka systemu.

Wizcon jest zaawansowanym systemem sterowania nadrzędnego i akwizycji danych (SCADA) umożliwiającym integratorom systemów tworzyć wyrafinowane aplikacje sterująco-monitorujące dla wszystkich gałęzi przemysłu.

Wizcon jest generatorem aplikacji. Oznacza to, że wszystkie funkcje sterowania i monitorowania są już wbudowane w system, natomiast projektant musi tylko zaprojektować aplikację. Wymagane są jedynie minimalne umiejętności w zakresie programowania i obsługi komputera.

Wizcon wykorzystuje wielozadaniowość i wszystkie potężne cechy systemów operacyjnych Windows 95/98 i Windows NT oraz ma wbudowany mechanizm zdarzeniowy (event-driven), umożliwiający osiągnięcie wysokiej sprawności pracy i utrzymania integralności danych. Także graficzny interfejs użytkownika systemu Wizcon zapewnia przejrzystość i wydajność procesu wizualizacji danych technologicznych.

Wizcon dla Windows i Intemetu umożliwia integrację aplikacji z siecią Inernet/Intranet. Teraz do nadzoru i sterowania wykorzystuje się grafikę czasu rzeczywistego i kierowane zdarzeniowo aktualizacje informacji, a wszystko w dowolnym systemie operacyjnym. Łączy w tym rozwiązaniu zalety systemów SCADA, Javy, HTML i Internetu.

Praca z aplikacjami Wizcon dla Internetu nie wymaga żadnego dedykowanego oprogramowania ani żadnych dodatków. Monitorować i sterować danymi z hali produkcyjnej można teraz z poziomu zwykłej przeglądarki internetowej. Można również przeglądać dane ogólnofirmowe przy użyciu tego samego interfejsu, z dowolnego stacjonarnego lub przenośnego komputera

Aplikacje systemu Wizcon komunikują sie z urządzeniami obiektowymi, takimi jak sterowniki PLC, instrumenty pomiarowe i inne. Ponieważ wszystkie dane są monitorowane i zapisywane, system Wizcon szybko reaguje na zaistniałe sytuacje zgodnie z zaprogramowaną procedurą i żądaniami operatora.

 

Rys.1. Typowa konfiguracja Wizcon SCADA.

 

2.2. Otwarcie systemu Wizcon

W celu uruchomienia systemu Wizcon należy:  kliknąć przycisk Start na panelu i wybrać Programy, WizFactory, a następnie Wizcon. Klikając na Wizcon otworzy się Asystent uruchomienia systemu Wizcon. Po wybraniu typu aplikacji (w zależności od potrzeb: nowa lub istniejąca ), pojawi się Pasek szybkiego dostępu:

 

 

Na pasku tym znajdują się przyciski umożliwiające uaktywnianie różnorodnych okien dialogowych. Atrybuty paska można dostosowywać, w zależności od potrzeb, dla poszczególnych grup użytkowników. Możliwości wykonywania zadań przy użyciu paska są wtedy dostępne tylko dla użytkowników należących do odpowiednich grup autoryzacji.

Pasek szybkiego dostępu systemu Wizcon zapewnia możliwość wykonywania takich operacji, jak:

- Pokaż Studio

- Otwórz układ

-  Przechwyć układ

- Otwórz obraz

- Otwórz wykres

- Otwórz analizę

- Otwórz recepturę

- Zapisz recepturę

- Zadajnik wartości

- Logowanie

- Wylogowanie

- Zakończ Wizcona

 

Kliknięcie na przycisk Pokaż Studio spowoduje otwarcie Studia aplikacji Wizcona. Studio (patrz rys. 2). jest interfejsem podobnym do Eksploratora Windows, który zapewnia operatorowi pełną kontrolę (i dostęp) nad wszystkimi elementami aplikacji. Studio stanowi obszar roboczy systemu. Studio aplikacji Wizcona  składa się z następujących elementów:

1. Pasek menu

Główny pasek menu systemu Wizcon zawiera następujące menu: Plik, Widok, Projekt, Sieć, Narzędzia i Pomoc.

2. Pasek narzędzi

3. Lista drzewa kontenerów

Znajduje się po lewej stronie okna Studio aplikacji Wizcona - jest to lista w formie drzewa, której elementy reprezentują różne składniki systemu. Obszar drzewa kontenerów składa się z dwóch głównych grup: Pliki i Obiekty. Każdy element jest zbiorem obiektów lub plików. Pozycją główną drzewa jest nazwa stacji lub nazwa aplikacji. Kliknięcie pozycji znajdującej w strukturze drzewa powoduje wyświetlenie zawartości kontenera po prawej stronie Studia. Kliknięcie prawym przyciskiem myszy dowolnego elementu w drzewie powoduje wyświetlenie menu rozwijanego, w którym są dostępne opcje odpowiednie dla wybranego elementu. Dla wszystkich list są dostępne następujące wspólne funkcje:

· Kliknięcie prawym przyciskiem myszy otwiera menu podręczne.

· Kolumny list mogą być dostosowywane do potrzeb użytkownika przy użyciu elementu menu podręcznego Ustawienia.

· Listy mogą być sortowane według dowolnej kolumny poprzez kliknięcie nagłówka listy.

· Każda lista może zostać powielona (zduplikowana) w osobnym oknie (w celu ułatwienia obsługi) przy użyciu elementu menu podręcznego Duplikat.

 

  Rys. 2. Studio aplikacji Wizcona

 

a)      Listy plików

W gałęzi drzewa o nazwie Pliki znajdują się elementy Wizcona będące plikami. Są to okna, obrazy, wykresy, dzienniki alarmów, analizy, receptury, układy i raporty. Istnieje możliwość dodawania okien (jako obrazów) do odpowiedniej listy poprzez przeciąganie i upuszczanie plików z okna Eksploratora Windows. Dwukrotne kliknięcie okna znajdującego się na liście powoduje jego otwarcie. Aby otworzyć nowe okno, należy użyć elementu menu podręcznego Nowy.

 

b)      Listy obiektów

W gałęzi Obiekty znajdują się listy bramek, alarmów i makr. Dwukrotne kliknięcie dowolnego obiektu powoduje wyświetlenie okna jego właściwości – istnieje wtedy możliwość zmodyfikowania właściwości obiektu i zapisania zmian. Aby zdefiniować nowy obiekt, należy użyć elementu menu podręcznego Nowy.

 

4. Panel sterowania

Jeśli wybrana jest pozycja główna drzewa, na liście po prawej stronie są wyświetlane ikony reprezentujące elementy systemu, które nie pojawiają się w drzewie. Są to: Język Wizcon, Drivery komunikacyjne, Wartość bramki, Zadajnik wartości bramek oraz takie elementy ustawień, jak Autoryzacja i Sieć.

 

5. Pasek stanu

Pasek stanu znajduje się w dolnej części okna Studia; są na nim wyświetlane informacje tymczasowe i krótkie komunikaty Pomocy, a także nazwa użytkownika i status klawiszy NumLock, Caps Lock i Scroll Lock.

 

2.3. Projektowanie aplikacji

Uważnie zaprojektowana aplikacja umożliwia użytkownikowi łatwe, wydajne sterowanie i nadzór nad przebiegającym procesem technologicznym. Przed rozpoczęciem projektowania własnej aplikacji, należy zapoznać się ze specyfikacją procesu, dla którego tworzymy tę aplikację, tzn:

- uzyskać listę zmiennych, których system Wizcon będzie używał do czytania i zapisywania z/do sterowników PLC (lista we/wy lub lista bramek),

- przejrzeć schematy technologiczne, aby dowiedzieć się jakie wyposażenie jest używane,

- przejrzeć plany fabryki, w celu określenia rozkładu hali produkcyjnej, dla której projektuje się system,

- dowiedzieć się, jaki typ raportów wymagany jest przez użytkowników i kierowników, w jakim ma być formacie i jakie informacje ma zawierać,

- dowiedzieć się jakiego typu sieć jest używana, czy wykorzystuje protokół NetBIOS czy TCP/IP i jakie nazwy mają stacje sieciowe,

określ wszystkich użytkowników,

określić ustawienia sterowników PLC, takie jak: bloki i adresy.

Kiedy już zdobyte zostaną wszystkie potrzebne informacje, można przystąpić do budowania aplikacji. Proces wizualizacji dokładnie odzwierciedla działający proces produkcyjny, umożliwiając użytkownikowi wyraźne zrozumienie stanu procesu w każdej chwili.

Przy tworzeniu aplikacji powinny być wykonane następujące kroki:

 

 

2.4. Drivery komunikacyjne

Drivery komunikacyjne są używane do obsługi komunikacji z urządzeniami zewnętrznymi, takimi jak sterowniki PLC, urządzenia i przyrządy stosowane w przemyśle, zdalne komputerowe stacje robocze i stacje sieciowe. Drivery komunikacyjne funkcjonują w systemie jako oddzielne pliki programów zwanych sterownikami i są kopiowane do katalogu systemu Wizcon podczas jego instalacji. Każdy driver komunikacyjny jest identyfikowany dwuliterowym kodem widocznym w nazwie pliku sterownika jako VPIWN??.DLL, gdzie ??jest kodem identyfikacyjnym driyera.

Można zdefiniować bloki komunikacyjne, aby zwiększyć wydajność driverów, podczas pracy z dużą ilością bramek. Bloki te umożliwiają transfer dużych bloków informacji zamiast indywidualnych elementów danych.

Pierwszym krokiem w projektowaniu aplikacji systemu Wizcon jest zdefiniowanie driverów i bloków komunikacyjnych.

Uwaga: W komputerach z układem 16550 UART (układ scalony interfejsu szeregowego), ustawienia domyślne Windows 95 mogą powodować błędy driverów komunikacyjnych. Aby rozwiązać ten problem, należy metodą prób i błędów zmniejszyć rozmiar bufora UART w następujący sposób: Start => Ustawienia => Panel sterowania => System => Urdzenia => Porty => Port komunikacyjny 1.4 => Ustawienia Portu => Zaawansowane

 

2.5. Budowanie obrazu aplikacji

Obrazy Wizcona są dynamicznymi grafikami reprezentującymi przebiegi procesów technologicznych. W procesach tych bramki są reprezentowane przez obiekty obrazu, a obiekty mogą reprezentować wartości występujące w czasie trwania procesu, co prowadzi do graficznego i dynamicznego obrazowania jego przebiegu.

Okno obrazu (patrz rys. 3) jest standardowym oknem Wizcona, w którym można tworzyć, edytować i przeglądać obrazy. Okna obrazów mogą być przenoszone, można zmieniać ich rozmiar i manipulować nimi przy użyciu standardowych technik stosowanych w odniesieniu do okien. Aby otworzyć okno obrazu:

-         kliknij na ikonie Nowy obraz znajdującej się na pasku narzędziowym Studia aplikacji, lub

-          kliknij prawym przyciskiem myszy plik Obrazy znajdujący się w drzewie kontenerów, a następnie wybierz opcję Nowy obraz.

Rys. 3. Okno obrazu

 

Menu okna obrazu oprócz standardowych elementów Windows’a jak: Plik, Edycja i Widok zawiera:

-         Warstwy – operacje na warstwach obrazu,

-         Klastry – operacje na biblitekach gotowych obiektów,

-         Opcje –

-         Tryby - ustawienie okna obrazu w jednym z następujących trybów pracy:

a)                      Podgląd - aby oglądać i monitorować obraz (tryb domyślny),

b)                      Nawigacja - aby poruszać się po całym obrazie, bez jego edycji,

c)                      Edycja - aby projektować i edytować obraz.

Wybór trybu edycja powoduje również wyświetlenie pasków narzędzi obrazu . Paski narzędzi zawierają ikony, które po wciśnięciu wykonują operacje graficzne i projektowe obrazu. Obrazy mogą być projektowane, modyfikowane i podglądane przy pomocy właściwych narzędzi tego okna.

Rys. 4. Główny pasek narzędzi obrazu.

 

Rys. 5. Pasek narzędzi Rysowanie

 

 

 

Rys. 6. Pasek narzędzi Wyrównywanie

Rys. 7. Pasek narzędzi Operacje

 

Rys. 8. Pasek narzędzi Obiekty

 

Rys. 8. Pasek narzędzi Czcionki

 

2.6. Bramki

Termin 'Bramka' w systemie Wizcon odnosi się do wartości sterujących monitorowanych przez system. Wartości te są podobne do zmiennych w języku programowania (np., Basic, Pascal lub C) lub do nazw rejestrów w PLC. Każda wartość jest identyfikowana przez unikatową nazwę i może być wyrażona jako, np. liczba całkowita, liczba rzeczywista lub wartość logiczna (Boolean). Bramki różnią się od innych zmiennych tym, że mogą być powiązane z urządzeniami zewnętrznymi takimi, jak rejestry, wejścia/wyjścia w PLC, czy adresami pamięci w zdalnych urządzeniach. Wartość bramki reprezentuje wartość w składniku zewnętrznym lub urządzeniu w taki sposób, że odwołania do bramki są równoważne odwołaniom do takiego elementu lub urządzenia.

Bramkę można dodać na wiele sposobów:

a) Przy użyciu pliku Bramki znajdującego się w drzewie kontenerów

* Wybierz plik Bramki.

* Kliknij plik prawym przyciskiem myszy.

* Z menu wybierz opcję Dodaj bramkę.

b) Przy użyciu menu podręcznego dostępnego w strefie listy

* Wybierz plik Bramki.

* Kliknij prawym przyciskiem myszy w obszarze strefy listy.

* Z menu wybierz opcję Dodaj bramkę.

c) Przy użyciu menu Projekt

* Wybierz menu Projekt.

* Wybierz element Dodaj obiekt, a następnie Bramka.

d) Przy użyciu paska menu Studia

* Kliknij przycisk Dodaj bramkę.

 

Po wykonaniu którejś z powyższych czynności pojawi się okno dialogowe (patrz rys. 9). W oknie tym można manipulować istniejącymi bramkami lub definiować nowe. Jest w nim wyświetlona lista nazw zdefiniowanych bramek wraz z opisami.

a) Nazwa bramki - Unikatowa nazwa identyfikująca bramkę i jej wartość. Nazwa nie powinna się powtarzać i może się składać z maksymalnie 32 znaków.

b) Opis - Krótki opis bramki, który można dodać lub zmodyfikować istniejący opis.

c) Grupy - Daje użytkownikowi możliwość definiowania grup operatorów upoważnionych do dokonywania zmian wartości bramek. Do dowolnej z tych grup mogą być następnie dodawani operatorzy, w taki sposób, aby zapewnić im dostęp do odpowiednich składników systemu Wizcon (takich jak: bramki, menu, elementy menu, itp.). W systemie dostępne są 32 grupy funkcyjne. Każdej grupie można przypisać unikatową nazwę poprzez usunięcie domyślnej nazwy widocznej w linii i wprowadzenie innej.

 

Rys. 9. Okno dialogowe definiowania nowej bramki

Przykład zastosowania autoryzowania grupy: jeśli operator jest przypisany do grup Inżynier i Operator, a warstwie są przypisane grupy Inżynier i Menedżer, operator ten będzie miał dostęp do warstwy obrazu. Jednak w przypadku, gdy ten sam operator został przypisany do grup Operator i Obsługa nie będzie on miał dostępu do tej warstwy.

d) Źródło bramki -  Istnieje możliwość wybrania opcji źródła, które mają być używane. Dokonany wybór będzie miał wpływ na sekcję parametrów źródeł.

Dostępne są następujące opcje:

-         PLC - Bramki skojarzone z urządzeniami zewnętrznymi i posiadające swoje odwzorowania w jego zmiennych (np. rejestr PLC). Wizcon skanuje te bramki co pewien okres czasu poprzez VPI (Virtual PLC interface - interfejs wirtualnego PLC) przesyłając zmiany wartości w urządzeniu zewnętrznym do bramki skojarzonej z tym urządzeniem. Zmiana wartości bramki PLC w Wizconie jest jednocześnie rozpoznawana przez urządzenie zewnętrzne.

-         Własna - Bramki reprezentujące zmienne wewnętrzne i są używane przy różnorodnych obliczeniach, do obsługi sterowania i do innych celów związanych z obsługą aplikacji. Aktualizacja bramek własnych następuje w wyniku interwencji użytkownika lub w wyniku zmian dokonanych przez inne moduły. W czasie inicjowania pracy systemu wartości tych bramek są ustawiane na 0.

-         Złożona - Bramki, których wartości są obliczane automatycznie zgodnie ze wzorem zdefiniowanym przez użytkownika.

e) Typ bramki - Pole podzielone na dwie sekcje: opcje typów i parametry. Parametry będą się zmieniać w zależności od wybranego typu (Analogowa, Cyfrowa, Tekstowa).

Dostępne są następujące możliwości wyboru:

-         Analogowa - Bramki, których wartości są reprezentowane w różnych formatach (np. wartość całkowita bez znaku lub ze znakiem, wartość zmiennoprzecinkowa, wartość w kodzie BCD).

-         Cyfrowa - Dyskretne bramki logiczne, które mogą przyjmować wartości TRUE (1 - PRAWDA) lub FALSE (0 - FAŁSZ).

-         Tekstowa - Bramki, które mogą przyjmować wartości będące ciągami znaków alfanumerycznych.

f) Tolerancja - Określa minimalną wielkość, o jaką musi się zmienić wartość bramki, w stosunku do ostatniej zmiany, aby nastąpiło rozpoznanie zdarzenia. Wartość wyrażona w jednostkach miary urządzenia zewnętrznego (źródłowe jednostki PLC), a nie w jednostkach inżynierskich (patrz Konwersja).

g) Dolna/Górna granica - Pola określają górną i dolną granicę wartości bramki. W przypadku określenia dolnej granicy jako większej od górnej, wartość dolnej granicy będzie wartością minimalną, a górnej wartością maksymalną - obie wyrażone w jednostkach inżynierskich zgodnie z typem PLC.

h) Konwersja - Urządzenia zewnętrzne zwykle generują wartości zgodnie z własnym, wewnętrznym formatem przy dążeniu do uzyskania maksymalnej dokładności.

 

Uwagi:

*Jeśli liczba bramek w polu listy przekroczy liczbę bramek, która może być wyświetlana w tym polu, jako ostatnia pozycja na liście pojawią się trzy kropki (...) - podwójne kliknięcie tych kropek spowoduje wyświetlenie następnej grupy bramek.

* Nowe bramki są zawsze dodawane na koniec listy.

* Okno dialogowe Definicja bramki może pozostać otwarte, co umożliwia wykonywanie innych operacji. Zmiany wprowadzone w tym oknie zostaną natychmiast uwzględnione w innych modułach systemu Wizcon - jest to dokonywane bez konieczności zamykania okna dialogowego. Naciśnięcie dowolnego przycisku dostępnego w oknie (z wyjątkiem przycisku Usuń) powoduje wyświetlenie innego okna dialogowego. W następnych rozdziałach zamieszczono opisy tych przycisków i związanych z nimi okien dialogowych. Dodawanie, modyfikowanie i usuwanie bramek

* Przed rozpoczęciem dokonywanie zmian definicji bramek w oknie Definicja bramki należy zdać sobie sprawę, że wszystkie ew. modyfikacje będą natychmiast uwzględniane w innych modułach systemu Wizcon. Aby usunąć bramkę, należy wybrać ją z listy bramek i kliknąć przycisk Usuń. Nastąpi usunięcie bramki z listy.

* Aby zmienić atrybuty bramki znajdującej się na liście w oknie Definicja bramki, należy ją wybrać i kliknąć przycisk Zmień. Aby dodać nową bramkę do listy, należy kliknąć przycisk Dodaj. Użycie przycisku Zmień lub Dodaj spowoduje wyświetlenie okna dialogowego Parametry bramki, w którym można zmodyfikować atrybuty bramki (dla operacji Zmień) lub zdefiniować nowe atrybuty dla nowej bramki (dla operacji Dodaj).

 

2.7. Animacja obrazu

Animacja obrazu jest procesem łączenia obiektów obrazu, stworzonych przy pomocy edytora obrazu, z kontrolowanym procesem poprzez bramki.

Istnieją dwie drogi stworzenia animacji:

Obiekty dynamiczne  - obiekty w obrazie skojarzone są z bramkami. Każda zmiana wartości bramki powoduje graficzną zmianę wyglądu obiektu..

Aktywatory  - Obiekty w obrazie są asygnowane jako aktywatory. Kiedy tylko obiekty te zostaną aktywowane, wykonane zostaną operacje takie jak: zmiana wartości bramek, a przez to zmieni się graficzna prezentacja obrazu.

Obiekty dynamiczne są elementami reagującymi na zmiany, jakie zachodzą w bramkach. Gdy zmienia się wartość bramki, właściwości obiektu takie jak: położenie, rozmiar, kolor i orientacja, zmieniają się odpowiednio (jest 12 różnych właściwości obiektów). Ostatecznie może zostać osiągnięta dynamiczna graficzna ilustracja procesu w fabryce. Każdy obiekt w obrazie może być animowany dynamicznie, włączając w to komunikaty procesu. Dodatkowo, komunikaty te, mogą zmieniać się (tekstowo) zgodnie ze zmianami wartości bramek. Wartości mogą być prezentowane numerycznie lub też każdej specyficznej wartości bramki może odpowiadać predefiniowany tekst. W celu stworzenia animacji obiektu, zakresy wartości bramki oznaczone są przez wartości początkowe i końcowe. Bieżący stan obiektu odpowiada wartości początkowej i końcowemu stanowi obiektu. Po zmianach, odpowiada wartości końcowej. Dlatego obiekt będzie zmieniał się okresowo (przez liniową interpolację lub ekstrapolację) w czasie zmian wartości bramki. Wartości bramek mogą następnie być podzielone na wartości, kontrolujące różne atrybuty wyświetlania, takie jak kolory, wzory wypełniania.

 Aby stworzyć obiekt dynamiczny w obrazie wybierz obiekt graficzny, który ma się składać na definicję dynamiczną, a następnie wykonaj jedno z:

- kliknij na narzędziu Definicja obiektu dynamicznego znajdującego się na pasku narzędziowym Obiekty.

- kliknij obiekt prawym przyciskiem myszy i wybierz opcję Definicja obiektu dynamicznego

- z menu Edycja wskaż na Operacje, a następnie wybierz Obiekt dynamiczny.

 

 

2.8. Język Wizcon

Język Wizcon jest prostym ale bardzo wydajnym narzędziem usprawniającym korzystanie z urządzeń (np. PLC) współpracujących z Wizconem, a także umożliwiającym obsługę komunikacji systemu z aplikacjami zewnętrznymi. Programy w języku Wizcon są pisane jako sekwencje instrukcji. Polecenia te składają się z dwóch elementów:

a) Warunek - Oparty na wyrażeniach arytmetycznych i algebry Boole’a przy wykorzystaniu określonych wartości lub zmiennych systemowych.

b) Operacja - Zestaw operacji zdefiniowanych w języku.

Instrukcje języka są skanowane okresowo przez system. Odpowiednia operacja jest uruchomiana, jeśli jest spełniony warunek.

 

Uaktywnienie języka Wizcon polega na:

* Skonfigurowaniu języka parametrów wykonania

* Zdefiniowaniu instrukcji

Język Wizcon można skonfigurować w następujący sposób:

- Kliknij menu Projekt (znajdujące się na pasku menu okna Studio aplikacji Wizcona for Windows and Internet).

- Wybierz element Język Wizcon (umożliwi to uzyskanie dostępu do dwóch dalszych elementów menu).

- Wybierz element Ustawienia (przesuń wskaźnik myszy i podświetl element kolorem niebieskim).

Pojawi się okno dialogowe (patrz rys.10), w którym można określić sposób działania języka Wizcon. W polu Okres powtarzania należy określić okres (w sekundach), po którym nastąpi wykonanie programu w języku Wizcon. Program będzie uruchamiany okresowo, po upływie określonego czasu (pod warunkiem, że poprzednia sesja została zakończone). Wprowadzenie w tym polu wartości 0 oznacza, że program nie ma być wykonywany. Jest to przydatne w celach testowych i podczas programowania lub gdy nie zdefiniowano żadnego programu w języku Wizcon.

Rys. 10. Okno dialogowe konfiguratora języka Wizcon

.

W cel zdefiniowania programu (instrukcji) w języku Wizcon należy wywołać okno języka Wizcon (patrz rys. 11). Można to zrobić na dwa sposoby:

1. W strefie listy w oknie Studio aplikacji Wizcona for Windows and Internet kliknij ikonę Język Wizcon.

2. Przy użyciu menu Projekt:

- Kliknij menu Projekt (dostępne na pasku menu okna Studio aplikacji Wizcona for Windows and Internet).

- Wybierz element Język Wizcon (umożliwi to uzyskanie dostępu do dwóch dalszych elementów menu).

- Wybierz element Definicja (przesuń wskaźnik myszy i podświetl element kolorem niebieskim).

 

Rys. 11. Okno języka Wizcon

Instrukcja jest określana przez składniki w polach definicji.

 

Pole Polecenie nr - Wyświetla automatycznie numer definiowanego polecenia. Kolejnością numerów poleceń zarządza system.

 

Pole Opis - Umożliwia wprowadzenie krótkiego opisu polecenia.

 

Pole grupy Poprzedni stan - Należy wybrać jedną z następujących opcji:

- Nieważny - Polecenia będą wykonywane tak długo, jak długo będzie spełniony warunek.

- Wykonaj przy zmianie - Polecenie zostanie wykonane tylko raz, gdy warunek ulegnie zmianie (z FAŁSZ na PRAWDA).

 

Instrukcje Jeżeli/To składają się z dwóch elementów: Warunki i Operacje.

- Element Warunki (podokno Jeżeli) zawiera wyrażenia, które mogą przyjmować wartość Prawda (nie zero) lub Fałsz (zero).

- Element Operacje (podokno To) może zawierać kilka poleceń oddzielonych średnikami.

 

Obszar definicji programu (po prawej stronie okna dialogowego) W tym miejscu wyświetlana jest sekwencja instrukcji. Instrukcja zostanie wyświetlona, jeśli po jej zdefiniowaniu zostanie użyty przycisk Dołącz. Oprócz tego, istnieje możliwość wybierania instrukcji w tym polu za pomocą kliknięcia. Spowoduje to, że instrukcja zostanie automatycznie wyświetlona w obszarze definicji (Jeżeli i To).

 

Przyciski operowania na instrukcjach:

- Dołącz - Umożliwia dołączenie bieżącej instrukcji na koniec programu.

- Zmień - Umożliwia zmianę definicji instrukcji w programie

- Wstaw - Umożliwia wstawienie instrukcji do programu (po wybranej na liście).

- Usuń - Umożliwia usunięcie wybranej instrukcji z programu.

- Szukaj - Umożliwia wyszukanie określonego tekstu w instrukcjach Jeżeli/

To i częściach opisowych programu.

 

Instrukcje języka Wizcon mogą się składać z następujących podstawowych składników:

-         Zmienne: bramka lub wartości systemowe,

-         Stałe: dowolna dodatnia wartość liczbowa,

-         Operatory: symbole arytmetyczne lub logiczne (Boole'owskie),

-         Wyrażenia: kombinacja zmiennych, stałych i operatorów przyjmujących wartości.

-         Polecenia: symbole reprezentujące operacje.

 

Bramki:

Bramka jest reprezentowana przez swoją nazwę poprzedzoną symbolem (@).

 

Przykład: @POWER

 

Aby wskazać stację sieciową Wizcon, do której należy bramka, po symbolu @ wystarczy wprowadzić nazwę stacji, za którą należy umieścić dwukropek (:), a następnie podać nazwę bramki.

Przykład: @STATION!:ANA01 - odnosi się do bramki o nazwie ANA01 na stacji o nazwie STATION!.

Polecenia przypisań wymuszają przypisanie nowych wartości zmiennym bramek (pod warunkiem, że zmienne te mogą być modyfikowane). Podstawowym poleceniem przypisania jest znak równości (=). Bramka znajduje się po lewej stronie znaku, a wyrażenie po prawej stronie znaku.

Na przykład:

  @Bramka1 = @Bramka2

W tym przykładzie bramce o nazwie Bramka1 jest przypisana wartość bramki o nazwie Bramka2. Niektóre operacje sterujące przypisań posiadają specjalne polecenia. Zawierają one polecenie INC (zwiększ wartość bramki).

Przykład:

INC @Bramka jest równoznaczne z @Bramka = @Bramka + 1

DEC - Zmniejsza wartość bramki. Na przykład: DEC @Bramka jest równoznaczne z @Bramka = @Bramka - 1

SET - Ustawia wartość bramki na 1. Na przykład: SET @Bramka jest równoznaczne z @Bramka = 1

RESET - Ustawia wartość bramki na 0. Na przykład: RESET @Bramka jest równoznaczne z @Bramka = 0

 

Zmienne systemowe:

Zmienne kontrolowane przez system Wizcon. Ten typ zmiennych jest reprezentowany przez nazwę poprzedzoną symbolem $, np. $TIME. Wartości zmiennych systemowych mogą być tylko odczytywane i nie mogą być modyfikowane.

 

$ALARMS - Liczba niepotwierdzonych alarmów w systemie.

$TIME - Czas; na wydruku pojawi się w formacie Godziny.Minuty.Sekundy.

$DATE - Data; na wydruku pojawi się w formacie Dzień.Miesiąc.Rok.

$HOUR - Bieżąca godzina.

$MINUTE - Bieżąca minuta.

$SECOND - Bieżąca sekunda.

$DAY - Bieżący dzień.

$MONTH - Bieżący miesiąc.

$YEAR - Bieżący rok.

$WEEKDAY - Bieżący dzień tygodnia, gdzie 0 = Niedziela, 6 = Sobota.

$NEWMIN - Zmienna jest ustawiana na 1 za każdym razem, gdy program zostaje wykonany po minucie. Następnie przyjmuje wartość 0.

$NEWHOUR - Zmienna jest ustawiana na 1 za każdym razem, gdy program zostaje wykonywany po godzinie. Następnie przyjmuje wartość 0.

$NEW DAY - Zmienna jest ustawiana na 1 za każdym razem, gdy program zostaje wykonany po 24 godzinach. Następnie przyjmuje wartość 0.

$OPERATOR - Nazwa bieżącego operatora.

$GROUP - Grupa skojarzona z bieżącym operatorem.

$DISKFULL - Procent zajętego miejsca na dysku.

$INTIME - Czas w minutach od północy. Wartość stosowana przy definiowaniu i porównywaniu bramek.

$INDATE - Czas w dniach od 1 stycznia 1980 roku. Ta wartość jest również używana przy definiowaniu i porównywaniu bramek.

$BACKUP - Status stacji rezerwowej. Wartość 1 zmiennej oznacza pracę systemu w trybie biernym. Wartość 0, oznacza pracę systemu w trybie aktywny stacji rezerwowej lub brak stacji rezerwowej.

 

Operatory:

Można wykorzystać operatory arytmetyczne, trygonometryczne, itp. Każdemu operatorowi zostaje przypisana wartość priorytetu, aby w przypadku, gdy wyrażenie zawiera kilka operatorów umożliwić systemowi ustalenie, który z nich powinien być obliczony najpierw.

 

Priorytet 1:

(,) - Nawiasy otwierające i zamykające.

 

Priorytet 2:

SIN, COS - Sinus i cosinus (w radianach).

FLOOR - Zaokrąglanie w dół.

SiGN - Znak wartości (zwraca 1, -1 lub 0).

ABS - Wartość bezwzględna.

LOG - Logarytm o podstawie 10.

LN - Logarytm naturalny.

DAYOF - Wydzielanie dnia z wartości typu data.

MONTHOF - Wydzielanie miesiąca z wartości typu data.

YEAROF - Wydzielanie roku z wartości typu data.

 

Priorytet 3:

~ - Bitowe NIE

BIT - Wydzielanie wartości podanego bitu w bramce analogowej.

 

Priorytet 4:

^ - Potęga (np. @Gate^2).

 

Priorytet 5:

 

*, / - Mnożenie i dzielenie.

% - Reszta z dzielenia (np. 5%2=1).

 

Priorytet 6:

+, - - Dodawanie i odejmowanie.

MIN, MAX : Porównanie dwóch wartości; zwrot odpowiednio większej lub mniejszej.

 

Priorytet 7

<<, >> - Przesunięcie bitowe w lewo i w prawo. Wartości bitów są przesuwane w lewo lub w prawo o określoną liczbę miejsc (np., wyrażenie @BRAMKA>>3 przesuwa wartość każdego bitu o 3 miejsca w prawo). Bity znajdujące się na końcu zostają pominięte, a nowe bity przyjmują wartość 0.

 

Priorytet 8:

& - Bitowe I.

 

Priorytet 9:

| - Bitowe LUB.

BXOR - Bitowe XOR (np. 3 BXOR 5 zwraca 6).

 

Priorytet 10:

= - Równość.

><, <> - Nierówność.

>, < - Większe/mniejsze niż.

>=, <= - Większe/mniejsze lub równe.

 

Priorytet 11:

NOT - NIE Boolean.

 

Priorytet 12:

AND - I Boolean.

 

Priorytet 13:

OR - LUB Boolean.

 

Uwagi:

Dzielenie przez zero zwraca wartość 0.

Pomiędzy poleceniami nie są wymagane twarde znaki podziału wierszy. Jeśli wyrażenie określone w warunkach przyjmuje wartości Prawda, wykonywane są odpowiednie polecenia określone w operacjach. Jeśli wyrażenie przyjmuje wartość Fałsz, polecenia są ignorowane i program przechodzi do następnej instrukcji. Należy zauważyć, że element Warunki może być pusty, co spowoduje, że w dowolnym przypadku będą wykonywane Operacje.

 

Przykłady:

IF ($HOUR = 18) AND @DONE

THEN RLOAD "NIGHT.1"

IF @LEVEL >= @SETP

 

THEN RESET @PUMP;

SET @MIXER;

PRINT$E "Start miksera"

Komentarze       Instrukcje mogą zawierać komentarze, które będą ignorowane podczas pracy programu. Komentarze należy umieszczać w nawiasach klamrowych {}.

 

Przykład: IF @LEVEL >= @SETP

THEN RESET @PUMP; { SET @MIXER; }

PRINT$E "Początek miksowania"

 

Grupy instrukcji

Istnieje możliwość zgrupowania kilku instrukcji w jeden warunek. Zostaną one wykonane, jeśli warunek przyjmie wartość Prawda. Jeśli warunek przyjmie wartość Fałsz, cała grupa zostanie zignorowana (łącznie ze wszystkimi warunkami i poleceniami). Grupy umieszcza się pomiędzy dyrektywami BEGIN i END, które służą tylko jako elementy grupujące. Dyrektywa BEGIN musi być pierwszym elementem grupy, natomiast END ostatnim.

Przykład:

IF $NEW HOUR

THEN BEGIN;

SET @STORE;

SET @MOVE

IF

THEN SAVE "PROD."$HOUR SHELL "FILET RAN PROD."$HOUR

IF @COUNT < @CHIN

THEN PRINT$A "Licznik zbyt mały: "@COUNT

IF @COUNT > @COAX THEN

PRINT$A "Licznik zbyt duży: "

@COUNT; END

 

W powyższym przykładzie, instrukcje są wykonywane tylko na początku każdej godziny. Należy zauważyć, że warunek drugiej instrukcji jest pusty i jest ona wykonywana tylko wtedy, gdy wykonywana jest cała grupa. Grupy instrukcji mogą być zagnieżdżane. Oznacza to, że jedna grupa może zostać dołączona do innej.

 

Przykład:

IF $NEW HOUR THEN

BEGIN;;

SET @MOVE; @TOTAL = @TOTAL + @!COUNT

IF

THEN SAVE "PROD."$HOUR SHELL "SEND FILE PROD."$HOUR

IF @CHANGE

 

THEN BEGIN; SHELL "GET FILE ORDER.NEW"

IF SET @STORE

THEN RLOAD "ORDER.NEW"

IF @PASS

THEN RESET @WAIT;

SET @GO;

END

IF @COUNT < @CHIN

THEN PRINT$A "Licznik zbyt mały: "@COUNT

IF @COUNT > @COAX

THEN PRINT$A "Licznik zbyt duży: "@COUNT;

END

 

 

3. Instrukcja wykonania ćwiczenia

 

            1. Zapoznać się z programem Wizcon 7.5

 

2. Dokonać próby stworzenia aplikacji (obrazu) monitorującego pracę sygnalizacji świetlnej na przejściu dla pieszych..

 

3.      Opracować  sprawozdanie podając w nim efekty pracy i wnioski.

 

 

 

LITERATURA:

 

1.Jan Maciej Kościelny: Systemy nadzorowania i wizualizacji procesów przemysłowych – wymagania, kryteria oceny. PAK 3/1998

2.Czasopisma: "Pomiary - Automatyka - Kontrola" i "Pomiary - Automatyka - Robotyka"