Podsumowanie
| TechnikaWinCC firmy Siemens to systemem SCADA, którego wstępny opis przedstawiony został w zeszłym miesiącu. Omówiono wtedy również możliwe konfiguracje pod względem architektury systemu, sposoby tworzenia projektu oraz parametryzację połączenia z systemem automatyzacji i diagnostykę. W bieżącym artykule przedstawiamy opis kolejnych funkcji systemu. Skrótowo zaprezentowana została konfiguracja ekranów procesowych przy wykorzystaniu edytora graficznego oraz różnorodne możliwości animacji obiektów graficznych, a także sposoby poruszania się po projekcie w trybie jego pracy. Omówiony został również tryb Runtime i możliwości symulacji mającej na celu testowanie projektu.
WIĘCEJ O SKRYPTACH W JĘZYKU C
Oczywiście opisanie nawet części możliwości języków programowania zajęłoby wiele czasu oraz miejsca, dlatego też w publikacji skupiono się na omówieniu najbardziej istotnych możliwości związanych z przetwarzanie danych, zmiennych oraz właściwości obiektów graficznych WinCC poprzez proste skrypty języka programowania C. Skrypty znajdują najczęstsze zastosowanie jako reakcja na zdarzenia wywołane przez użytkownika - np. akcja myszką lub przyciśnięcie klawisza na klawiaturze.
W celu przypisania skryptu C (C-Action) do dowolnego obiektu w projekcie należy przejść w jego właściwości (Properties), a następnie zakładkę Events. Po kliknięciu prawym klawiszem myszy w wiersz z odpowiednim zdarzeniem, wybieramy opcję C-Action. Otworzy się kompilator języka C (patrz rys. 7). W lewej części okna edytora znajduje się wykaz dostępnych funkcji. W grupie Standard functions znajdują się ogóle funkcje systemowe umożliwiające przykładowo dostęp do archiwów użytkownika, obsługę alarmów czy raportów.
Natomiast w Internal functions umieszczone są funkcje wewnętrzne (z punktu widzenia użytkownika WinCC najbardziej przydatne) ułatwiające przetwarzanie zmiennych procesowych czy właściwości obiektów. Można znaleźć tam procedury matematyczne, elementy pozwalające na obsługę odczytywania oraz zapisywania zmiennych czy właściwości obiektów. Stosunkowo łatwo jest ustalić działanie funkcji na podstawie jej nazwy.
Najwygodniej jest używać odpowiednich funkcji, wybierając je dwukrotnym kliknięciem myszy z grupy funkcji, a następnie podając parametry (ekran procesowy, nazwa obiektu oraz jego właściwość, zmienna) w oknie parametryzacji (Assigning Parameters).
Przetwarzanie zmiennych projektu
Bardzo przydatnym przykładem zastosowania skryptów jest matematyczne przeliczanie zmiennych projektu. Aby to wykonać, wykorzystać należy funkcję odczytywania i zapisywania wartości zmiennej (SetTagxxx/GetTagxxx) oraz potrzebne funkcje matematyczne. Przykładowy skrypt wykonujący taką operacją przedstawiono na listingu 1.
Listing 1 |
|
(...) float val; float res; val = GetTagFloat(„NewTag_1”); res = 15.0*pow(val, 2); SetTagFloat(„NewTag_2”,res); (...) |
//deklaracja zmiennych //odczytanie wartości zmiennej procesowej NewTag_1 //kalkulacje matematyczne //przypisanie obliczonej wartości do zmiennej NewTag_2 |
Modyfikacja właściwości graficznych obiektów
Kolejną przydatną opcją, jaką umożliwiają skrypty, jest dynamiczna zmiana właściwości rozmaitych obiektów w reakcji na ingerencję użytkownika. Aby to uczynić, najlepiej wykorzystać funkcje wewnętrzne Graphics -> get/set -> geometry -> get/set radius (patrz rys. 8). Przykładowy skrypt przypisany do akcji myszą na obiekcie typu Button zwiększa promień obiektu Circle1 znajdującego się na obrazie procesowym NewPdl.pdl (patrz listing 2).
Listing 2 |
|
(...) long int rad; rad = GetRadius(„NewPdl.pdl”,”Circle1”); rad = rad + 2; SetRadius(„NewPdl.pdl”,”Circle1”,rad); (...) |
//deklaracja zmiennych //odczytanie wartości promienia obiektu Circle1 //zwiększenie wartości odczytanej właściwości //przypisanie nowej wartości do cechy obiektu |
NAWIGACJA POMIĘDZY EKRANAMI PROCESOWYMI
Podczas rozbudowy projektu na więcej niż jeden ekran procesowy istotną kwestią jest poruszanie się pomiędzy nimi w trybie Runtime. WinCC daje wiele możliwości wykonania takiego zabiegu - od przypisania funkcji przyciskom, przez tworzenie spersonalizowanych pasków menu czy wykorzystanie obiektów dedykowanych. Jedną z wygodniejszych metod z punktu widzenia operatora jest stworzenie pasków menu na dole oraz u góry ekranu procesowego, które widoczne będą bez względu na aktualnie wyświetlany ekran.
Przykładowo u dołu ekranu umieścić można przyciski kierujące użytkownika bezpośrednio na odpowiedni ekran, natomiast u góry ekranu umieścić można przyciski standardowe do nawigacji pomiędzy ekranami (ekran startowy, poprzedni, następny, zegar, itd.). Obszar roboczy pokazanego na rysunku 9 okna, w którym wyświetlane będą ekrany procesowe, wydzielony jest przez obiekt Picture Window (z menu Smart Objects).
Odpowiednie ustawienia tego obiektu pozwalają na wywołanie go jako całkowicie autonomiczne okna podczas trybu RT. Górny oraz dolny pasek menu jest prostym obszarem graficznym z naniesionymi przyciskami, który jest niezmienny i niezależny od wyświetlanego ekranu. Aby przyciski menu dolnego ekranu przenosiły użytkownika w odpowiednie miejsce, należy przypisać im odpowiednią funkcję.
Wykonujemy to, klikając prawym klawiszem myszy przycisk Properties -> zakładka Events -> Mouse Action -> Action (Direct Connection). W omówionym wcześniej oknie Direct Connection wprowadzamy dane: obszar Source: <nazwa ekranu docelowego>, obszar Target: Objects In Picture -> Objects <nazwa obiektu picture window> -> Property (Picture Name). Po takim przypisaniu po naciśnięciu przycisku w obiekcie Picture Window wyświetlony zostanie wskazany ekran procesowy. Kroki te należy powtórzyć dla wszystkich przycisków paska menu dolnego.
Przyciski menu górnego (wstecz, do przodu, ekran startowy) są natomiast predefiniowane i dostępne z biblioteki globalnej View -> Library -> Global Library -> Operation -> Screen Navigation. Nie wymagają one dodatkowej konfiguracji i odnoszą się do zawartości obiektu Picture Window. Przycisk Exit RT skonfigurować można np. poprzez Dynamic Wizard, co zostało opisane wcześniej. Zegar czasu systemowego można wstawić jako kontrolkę ActiveX -> WinCC Digital/Analog Clock Control.
TRYB RUNTIME - DEFINICJA WŁASNOŚCI
Ostatnim istotnym krokiem przed uruchomieniem aplikacji jest zdefiniowanie odpowiednich właściwości trybu Runtime w WinCC. Właściwości trybu RT WinCC definiuje się w WinCC Explorer, klikając prawym klawiszem myszy w Computer (drzewo projektu), a następnie wybierając opcję Properties. Istotnymi ustawieniami są:
- zakładka General -> Computer Name zgodne z nazwą stacji lokalnej,
- zakładka Startup - w zależności od wykorzystywanych funkcji należy aktywować odpowiednie moduły, w przypadku projektu testowego jest to jedynie Graphics Runtime,
- zakładka Graphics Runtime ->Start Picture - należy dokonać wyboru ekranu procesowego, który zostanie uruchomiony jako ekran główny przy starcie aplikacji.
Tryb Runtime uruchamiamy, klikając ikonę lub z pasku menu File -> Activate z poziomu WinCC Explorer lub z poziomu Graphics Designer (wtedy uruchomiony zostanie aktualnie edytowany ekran).
TESTOWANIE PROJEKTU - TAG SIMULATOR
Symulator WinCC Tag Simulator pozwala na testowanie projektu, który jest w fazie budowy. Podczas testowania sprawdzić można, jak zachowa się projekt podłączony do systemu automatyki. Można w nim symulować wartości zmiennych wewnętrznych - WinCC Tag Simulator przypisuje różne wartości do zmiennych w zależności od wybranej opcji.
WinCC Tag Simulator uruchamiamy, wybierając Menu Start -> Simatic -> WinCC -> Tools -> Tag Simulator. Obsługa narzędzia do symulacji zmiennych jest intuicyjna - określamy zmienną, którą chcemy zasymulować z Menu Edit -> New Tag, a następnie wybieramy typ oraz parametry symulacji w zakładce symulatora Properties. Końcowym etapem jest uruchomienie symulacji przez Start Simulation.
PODSUMOWANIE
Poznając oprogramowanie WinCC oraz rozwijając umiejętności poruszania się po projekcie, warto w pierwszej kolejności zwrócić uwagę na elementy narzędziowe znajdujące najczęstsze zastosowanie w aplikacjach przemysłowych. W artykule omówiono elementy składowe edytora graficznego oraz możliwości konfiguracji ekranów procesowych i większość metod dynamizacji obiektów graficznych. Pokazany został również symulator zmiennych, który może się okazać przydatnym narzędziem podczas tworzenia oraz testowania projektu w trybie Runtime.
W kolejnym artykule z tego cyklu przedstawione zostaną możliwości archiwizacji zmiennych procesowych i ich przetwarzania. Omówione będą też funkcje wyświetlania danych archiwalnych w różnej postaci, a także zaprezentowane zostaną opcje tworzenia meldunków oraz system raportowania.
Radosław Krzyżanowski