KONFIGURACJA EKRANÓW PROCESOWYCH
Rys. 1.
Ekrany procesowe to główne elementy projektu. Przedstawiają one proces w postaci symbolicznych grafik, pozwalają na wizualizację oraz sterowanie procesem. Do konfiguracji ekranów procesowych można użyć edytora "Graphics Designer". Edytor ten jest komponentem konfiguracyjnym systemu graficznego w WinCC. Każdy ekran procesowy składa się z kilku obiektów:
- obiekty statyczne pozostające niezmienione w trybie Runtime,
- obiekty dynamiczne zmieniające się zgodnie z indywidualnymi wartościami procesu; przykładem obiektu dynamicznego jest pasek - długość paska będzie zależeć od bieżącej wartości temperatury,
- obiekty sterowalne pozwalające na wywieranie wpływu na proces - obejmują one przyciski, suwaki lub pola we/wy wykorzystywane do wprowadzania konkretnych parametrów procesu.
Projekt zazwyczaj zawiera kilka ekranów procesowych. Każdy ekran procesowy pokazuje inny etap procesu lub wyświetla specjalne dane procesowe.
System graficzny zajmuje się następującymi zadaniami:
- wyświetla obiekty statyczne oraz sterowalne, takie jak tekst, grafika czy przyciski,
- aktualizuje obiekty dynamiczne, np. modyfikuje długość paska postępu w zależności od wartości procesu,
- reaguje na czynności operatora, np. naciśnięcie przycisku lub wprowadzenie tekstu w polu wejściowym.
Rys. 2.
Nowe, puste ekrany mogą być utworzone za pomocą "Graphics Designer" lub WinCC Explorer. Jeśli ekran ma być uruchomiony bezpośrednio, najlepiej utworzyć go za pomocą edytora "Graphics Designer". Jeśli jest potrzeba utworzenia wszystkich ekranów procesu, a następnie wypełnienia ich obiektami, zalecane jest utworzenie ich poprzez WinCC Explorer.
Ekran procesowy tworzymy przez wybór opcji New Picture po kliknięciu prawym klawiszem myszy na moduł Graphics Designer. Następnie dwukrotnie klikamy na utworzony ekran, którego nazwa pojawiła się po prawej stronie WinCC Explorer. Po otwarciu utworzonego ekranu uruchomiony zostaje moduł Graphics Designer przedstawiony na rysunku 1.
W otwartym oknie wokół obszaru roboczego znajdują się standardowe narzędzia:
- przybornik kolorów/opcje powiększenia (zaznaczone na rys. 1 na fioletowo),
- pasek menu opcji systemowych (zaznaczone na żółto),
- paleta obiektów graficznych Standard (zaznaczone na niebiesko):
- Standard Objects - obiekty graficzne, takie jak linia
, koło
, łuk
czy tekst statyczny
, - Smart Objects - obiekty funkcyjne, przykładowo pole I/O
, wskaźnik słupkowy
, pliki graficzne
czy wyświetlanie statusu
, - Windows Objects - elementy obsługi okien oraz funkcji, jak na przykład przycisk
, pole wyboru
, wybór opcji
czy suwak
, - Tube objects - elementy ułatwiające graficzną prezentację rur/przewodów,
- Standard Objects - obiekty graficzne, takie jak linia
- paleta kontrolek Controls (zaznaczone na niebiesko) - elementy umożliwiające przykładowo wyświetlanie statusu/wartości zmiennych graficznie na wykresach (OnlineTrendControl
) lub w tabelach (OnlineTableControl
), a także konfigurację alarmów (AlarmControl
) czy archiwizację zmiennych (UserArchiveControl
), - paleta stylów linii (zaznaczone na czerwono),
- Dynamic Wizard (zaznaczone na zielono) - zapewniający szeroką gamę predefiniowanych akcji C wypełniających funkcje często powtarzających się procesów. Rozszerzony opis funkcji można odnaleźć w plikach pomocy WinCC.
Głównym źródłem symboli graficznych obiektów jest biblioteka WinCC. Biblioteka jest komponentem edytora "Graphics Designer". Komponent ten jest uniwersalnym narzędziem do przechowywania oraz zarządzania obiektami graficznymi. Biblioteka jest podzielona na dwa obszary - ogólna (Global library) i biblioteka projektu (Project library). Obszar Global library tworzy strukturę drzewa. Oferuje różnorodność gotowych obiektów graficznych, takich jak maszyny oraz elementy systemu, urządzenia pomiarowe, kontrolki oraz budynki.
W obszarze Project library można przechowywać własne projekty obiektów. Bibliotekę otwieramy przez pasek menu View -> Library. Na rysunku 2 przedstawiono przykładowy obraz procesowy utworzony za pomocą modułu WinCC Graphics Designer.
Wykorzystano w nim elementy graficzne z biblioteki globalnej, teksty statyczne, pola I/O, przyciski czy zawory. Nadanie dynamiki wybranym elementom sprowadza się do przypisania im odpowiednich zmiennych procesowych. W tym celu klikamy prawym klawiszem myszy w obiekt i wybieramy opcję Properties. Po wykonaniu powyższych czynności można przejść do trybu pracy wizualizacji WinCC Runtime.
METODY DYNAMIZACJI OBIEKTÓW GRAFICZNYCH
Rys. 3.
Jedną z głównych zalet nowoczesnych systemów wizualizacji jest duże podobieństwo graficznego przedstawienia obiektu przemysłowego na ekranie stacji operatorskiej. Aby możliwie wiernie odwzorować proces czy strukturę zakładu produkcyjnego, warto poznać możliwości dynamizacji obiektów graficznych wywoływane przez zmiany stanu zmiennych procesowych w trybie Runtime. Istnieje kilka metod animacji elementów graficznych - poniżej przedstawione zostały te z nich, które znajdują najczęstsze zastosowanie w praktyce. W WinCC istnieje wiele metod przypisywania zmiennych do właściwości graficznych obiektów w celu ich dynamizacji:
Configuration Dialog
Jest to szybki sposób definiowania niektórych parametrów (również dynamicznych) dla wybranych obiektów (np. z grup Smart czy Windows Objects). Umieszczenie na ekranie obiektu z taką właściwością powoduje automatyczne otwarcie okna Objects Configuration. Przykładowo dla obiektów I/O Field czy Bar możliwe jest bezpośrednie przypisanie zmiennej, której wartość będzie wyświetlana w obiekcie. Opcja ta właściwa jest tylko niektórym obiektom.
Przykładowo dla pola I/O Field zdefiniować można zmienną, której wartość będzie wyświetlana/ wprowadzana, przy czym ustawić można czas odświeżania i wielkość czcionki (patrz rys. 3). Warto zwrócić uwagę na czas odświeżania wartości procesowych. Jednym ze sposobów osiągnięcie szybkiej pracy aplikacji RT jest korzystanie z jednego rytmu wyzwalającego odświeżanie wartości zmiennych.
Im jest on wolniejszy (a czasami w zupełności wystarczy np. kilka sekund), tym działanie wszystkich składowych aplikacji jest efektywniejsze. Wykorzystanie kilku rytmów odświeżania wartości zmiennych bardzo spowalnia pracę całej aplikacji. Domyślny cykl odświeżania można ustawić z poziomu Graphics Designer menu Tools -> Settings... -> Default Objects Settings -> Default trigger.
Dynamic Wizard
Rys. 4.
Ułatwia realizację typowych, nieco bardziej złożonych funkcji dynamizacji, zwłaszcza wykorzystanie różnych funkcji systemowych. Unikamy dzięki niemu konieczności pisania niektórych obszernych skryptów. Narzędzie umożliwiające dołączenie do wybranych obiektów określonych akcji dynamicznych. Wizard w kilku kolejno wyświetlanych oknach wymaga podania potrzebnych parametrów. Parametry te są wstawiane do właściwości obiektów i mogą być potem modyfikowane innymi metodami.
Wynikiem działania Dynamic Wizard jest skrypt w języku C. Wizard uruchamiany jest po wybraniu obiektu, do którego chcemy dodać odpowiednią funkcjonalność, poprzez dwukrotne kliknięcie odpowiedniej pozycji w polu Dynamic Wizard. Dzięki funkcjom systemowym (System Functions) można w szybki sposób stworzyć przycisk do zamykania trybu RT lub całego systemu WinCC, zmienić język czy uruchomić inną aplikację.
Przydatne są również funkcje z grupy Standard Dynamics, dzięki którym przykładowo można przypisać poszczególne bity zmiennej analogowej do obiektu wywołującego zmianę wartości wybranego bitu, co pozwala oszczędzić ilość wykorzystanych zmiennych ograniczonych licencyjnie (opcja Setting/Resetting bits).
Tag Connection
Jeśli obiekt korzysta wprost z wartości zmiennej, możliwe jest jej bezpośrednie dowiązanie do niego. W tym celu klikamy obiekt prawym klawiszem myszy i wybieramy opcję Properties. Następnie w zakładce Properties wybieramy odpowiednią cechę obiektu i w kolumnie Dynamic klikamy prawym klawiszem, wybierając opcję Tag...
Przykładowo możemy przypisać zmienną bitową do cechy obiektu Circle wywołującej jego miganie w wybranych barwach (patrz rys. 4). Innym przykładem może być przypisanie wartości odpowiednio wyskalowanej zmiennej analogowej wysokości obiektu graficznego (np. wysokość płomienia w zależności od wartości mierzonej temperatury).
Dynamic Dialog
Rys. 5.
Najbardziej efektywny (z punktu działania RT) i wygodny sposób uzależniania własności obiektu od zdefiniowanych przez użytkownika funkcji bazujących na wartościach wybranych zmiennych. Dzięki Dynamic Dialog można:
- sprawdzić przynależność zmiennych do ustalonych przedziałów wartości,
- wykonywać obliczenia,
- porównywać wartości,
- uruchamiać funkcje (utworzone w Global Script Editor),
- monitorować połączenia komunikacyjne.
Okno konfiguracyjne otwieramy podobnie jak przedstawiono w punkcie wyżej, z tym że w końcowym kroku wybieramy opcję Dynamic Dialog... W otwartym oknie w polu Expression/Formula należy określić funkcję dynamizacji (z ewentualnymi nazwami potrzebnych zmiennych - przycisk z trzema kropkami) lub jedynie zmienną, a także sposób interpretacji wartości funkcji (pole opcji Data Type).
Istnieje również możliwość skorzystania z szerokiej gamy funkcji systemowych oraz matematycznych i graficznych (dostępnych również z poziomu skryptów) umożliwiających m.in. różnorodne modyfikacje obiektów, obsługę zmiennych czy pracy aplikacji. W przykładowej konfiguracji kolor tła obiektu Circle uzależniony został od wartości zmiennej "Temperatura" (patrz rys. 5).
Direct Connection
Jest to akcja, która polega na przekazaniu wartości (stała, określona wartość wybranego obiektu, zmienna) do bieżącego okna, obiektu graficznego lub zmiennej (np. położenie X obiektu do zmiennej lub odwrotnie). Jest to również bardzo efektywna metoda dynamizacji obiektów.
Przykładowo do obiektu typu przycisk przypisano funkcję wpisującą wartość 100 bezpośrednio do zmiennej "Poziom" (patrz rys. 6). Można również przepisać wartość zmiennej do innej zmiennej lub do parametru obiektu graficznego, itp.
Events - Action
Rys. 6.
Definiowane w oknie Objects Properties w zakładce Events w kolumnie Action akcje zachodzące w wyniku zdarzeń mogą być rezultatem parametryzacji okna Direct Connection lub (w bardziej złożonych przypadkach) działania skryptów zaprogramowanych w języku C lub Visual Basic Script. Odświeżanie zachodzi w wyniku zmiany wartości zdynamizowanego parametru lub w reakcji na operacje wykonane myszką lub na klawiaturze.
VBS i C
W skryptach pisanych w językach C i VBS dostępne są wszystkie zmienne i wszystkie własności wszelkich obiektów projektu, a także wszystkie funkcje systemowe. Umożliwia to programowanie złożonych zachowań elementów projektu, pozwala również programować akcje niezależne od jakiegokolwiek obiektu (Global Script Editor). Skrypty mogą mieć również dostęp do innych modułów WinCC (raporty, alarmy). Dodatkowe informacje można znaleźć w plikach pomocy pod hasłami: Performance, Action Configuration.
WIĘCEJ O SKRYPTACH W JĘZYKU C
Rys. 7.
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
Rys. 8.
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
Rys. 9.
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