Professional Documents
Culture Documents
Apa 02.2011
Apa 02.2011
KĄCIK PRAKTYKA
58 lu t y 20 1 1
technika
KĄCIK PRAKTYKA
ne, np. modyfikuje długość paska – paleta obiektów graficznych wtarzających się procesów. Rozsze-
postępu w zależności od wartości Standard (zaznaczone na niebie- rzony opis funkcji można odnaleźć
procesu, sko): w plikach pomocy WinCC.
– reaguje na czynności operato- • Standard Objects – obiekty gra- Głównym źródłem symboli gra-
ra, np. naciśnięcie przycisku lub ficzne, takie jak linia , koło ficznych obiektów jest biblioteka
wprowadzenie tekstu w polu wej- , łuk czy tekst statyczny WinCC. Biblioteka jest komponen-
ściowym. , tem edytora „Graphics Designer”.
Nowe, puste ekrany mogą być • Smart Objects – obiekty funk- Komponent ten jest uniwersalnym
utworzone za pomocą „Graphics cyjne, przykładowo pole I/O narzędziem do przechowywania oraz
Designer” lub WinCC Explorer. Je- , wskaźnik słupkowy , zarządzania obiektami graficznymi.
śli ekran ma być uruchomiony bez- pliki graficzne czy wyświe- Biblioteka jest podzielona na dwa ob-
pośrednio, najlepiej utworzyć go za tlanie statusu , szary – ogólna (Global library) i bi-
pomocą edytora „Graphics Designer”. • Windows Objects – elementy blioteka projektu (Project library).
Jeśli jest potrzeba utworzenia wszyst- obsługi okien oraz funkcji, jak Obszar Global library tworzy struk-
kich ekranów procesu, a następnie na przykład przycisk , pole turę drzewa. Oferuje różnorodność
wypełnienia ich obiektami, zalecane wyboru , wybór opcji czy gotowych obiektów graficznych, ta-
jest utworzenie ich poprzez WinCC suwak , kich jak maszyny oraz elementy sys-
Explorer. • Tube objects – elementy uła- temu, urządzenia pomiarowe, kon-
Ekran procesowy tworzymy przez twiające graficzną prezentację trolki oraz budynki. W obszarze
wybór opcji New Picture po klik- rur/przewodów, Project library można przechowywać
nięciu prawym klawiszem myszy na – paleta kontrolek Controls (za- własne projekty obiektów. Bibliotekę
moduł Graphics Designer. Następ- znaczone na niebiesko)– ele- otwieramy przez pasek menu View
nie dwukrotnie klikamy na utwo- menty umożliwiające przykłado- -> Library.
rzony ekran, którego nazwa poja- wo wyświetlanie statusu/wartości Na rysunku 2 przedstawiono przy-
wiła się po prawej stronie WinCC zmiennych graficznie na wykre- kładowy obraz procesowy utwo-
Explorer. Po otwarciu utworzonego sach (OnlineTrendControl ) rzony za pomocą modułu WinCC
ekranu uruchomiony zostaje moduł lub w tabelach (OnlineTableCon- Graphics Designer. Wykorzystano
Graphics Designer przedstawiony trol ), a także konfigurację w nim elementy graficzne z biblio-
na rysunku 1. alarmów (AlarmControl ) czy teki globalnej, teksty statyczne, pola
W otwartym oknie wokół obsza- archiwizację zmiennych (UserAr- I/O, przyciski czy zawory. Nadanie
ru roboczego znajdują się standardo- chiveControl ), dynamiki wybranym elementom
we narzędzia: – paleta stylów linii (zaznaczone na sprowadza się do przypisania im
– przybornik kolorów/opcje powięk- czerwono), odpowiednich zmiennych proceso-
szenia (zaznaczone na rys. 1 na fio- – Dynamic Wizard (zaznaczone na wych. W tym celu klikamy prawym
letowo), zielono) – zapewniający szeroką klawiszem myszy w obiekt i wybie-
– pasek menu opcji systemowych gamę predefiniowanych akcji C ramy opcję Properties. Po wykona-
(zaznaczone na żółto), wypełniających funkcje często po- niu powyższych czynności można
lu ty 2 0 1 1 59
technika
KĄCIK PRAKTYKA
Rys. 4
Rys. 3 Przykładowo dla pola I/O Field Wizard uruchamiany jest po wy-
zdefiniować można zmienną, któ- braniu obiektu, do którego chcemy
przejść do trybu pracy wizualizacji rej wartość będzie wyświetlana/ dodać odpowiednią funkcjonalność,
WinCC Runtime. wprowadzana, przy czym ustawić poprzez dwukrotne kliknięcie od-
można czas odświeżania i wielkość powiedniej pozycji w polu Dynamic
METODY DYNAMIZACJI czcionki (patrz rys. 3). Warto zwró- Wizard. Dzięki funkcjom systemo-
OBIEKTÓW GRAFICZNYCH cić uwagę na czas odświeżania war- wym (System Functions) można
Jedną z głównych zalet nowoczes- tości procesowych. Jednym ze spo- w szybki sposób stworzyć przycisk
nych systemów wizualizacji jest duże sobów osiągnięcie szybkiej pracy do zamykania trybu RT lub całe-
podobieństwo graficznego przed- aplikacji RT jest korzystanie z jed- go systemu WinCC, zmienić ję-
stawienia obiektu przemysłowego nego rytmu wyzwalającego odświe- zyk czy uruchomić inną aplikację.
na ekranie stacji operatorskiej. Aby żanie wartości zmiennych. Im jest Przydatne są również funkcje z gru-
możliwie wiernie odwzorować pro- on wolniejszy (a czasami w zupeł- py Standard Dynamics, dzięki któ-
ces czy strukturę zakładu produk- ności wystarczy np. kilka sekund), rym przykładowo można przypisać
cyjnego, warto poznać możliwości tym działanie wszystkich składo- poszczególne bity zmiennej ana-
dynamizacji obiektów graficznych wych aplikacji jest efektywniejsze. logowej do obiektu wywołującego
wywoływane przez zmiany stanu Wykorzystanie kilku rytmów od- zmianę wartości wybranego bitu,
zmiennych procesowych w trybie świeżania wartości zmiennych bar- co pozwala oszczędzić ilość wyko-
Runtime. dzo spowalnia pracę całej aplikacji. rzystanych zmiennych ograniczo-
Istnieje kilka metod animacji ele- Domyślny cykl odświeżania moż- nych licencyjnie (opcja Setting/Re-
mentów graficznych – poniżej przed- na ustawić z poziomu Graphics setting bits).
stawione zostały te z nich, które Designer menu Tools -> Settings…
znajdują najczęstsze zastosowanie -> Default Objects Settings -> Tag Connection
w praktyce. W WinCC istnieje wie- Default trigger. Jeśli obiekt korzysta wprost z war-
le metod przypisywania zmiennych tości zmiennej, możliwe jest jej bez-
do właściwości graficznych obiektów Dynamic Wizard pośrednie dowiązanie do niego.
w celu ich dynamizacji: Ułatwia realizację typowych, nie- W tym celu klikamy obiekt prawym
co bardziej złożonych funkcji dy- klawiszem myszy i wybieramy opcję
Configuration Dialog namizacji, zwłaszcza wykorzysta- Properties. Następnie w zakładce
Jest to szybki sposób definiowa- nie różnych funkcji systemowych. Properties wybieramy odpowiednią
nia niektórych parametrów (rów- Unikamy dzięki niemu konieczno- cechę obiektu i w kolumnie Dynamic
nież dynamicznych) dla wybranych ści pisania niektórych obszernych klikamy prawym klawiszem, wybie-
obiektów (np. z grup Smart czy skryptów. Narzędzie umożliwiające rając opcję Tag… Przykładowo mo-
Windows Objects). Umieszczenie dołączenie do wybranych obiektów żemy przypisać zmienną bitową do
na ekranie obiektu z taką właściwo- określonych akcji dynamicznych. cechy obiektu Circle wywołującej
ścią powoduje automatyczne otwar- Wizard w kilku kolejno wyświetla- jego miganie w wybranych barwach
cie okna Objects Configuration. nych oknach wymaga podania po- (patrz rys. 4). Innym przykładem
Przykładowo dla obiektów I/O Field trzebnych parametrów. Parame- może być przypisanie wartości od-
czy Bar możliwe jest bezpośrednie try te są wstawiane do właściwości powiednio wyskalowanej zmiennej
przypisanie zmiennej, której war- obiektów i mogą być potem mody- analogowej wysokości obiektu gra-
tość będzie wyświetlana w obiekcie. fikowane innymi metodami. Wyni- ficznego (np. wysokość płomienia
Opcja ta właściwa jest tylko niektó- kiem działania Dynamic Wizard jest w zależności od wartości mierzonej
rym obiektom. skrypt w języku C. temperatury).
60 lu t y 20 1 1
technika
KĄCIK PRAKTYKA
Rys. 5 Rys. 6
lu ty 2 0 1 1 61
technika
KĄCIK PRAKTYKA
Rys. 7 Rys. 8
Otworzy się kompilator języka C funkcji, a następnie podając parame- piej wykorzystać funkcje wewnętrz-
(patrz rys. 7). try (ekran procesowy, nazwa obiek- ne Graphics -> get/set -> geometry ->
W lewej części okna edytora znaj- tu oraz jego właściwość, zmienna) get/set radius (patrz rys. 8). Przykła-
duje się wykaz dostępnych funkcji. w oknie parametryzacji (Assigning dowy skrypt przypisany do akcji my-
W grupie Standard functions znaj- Parameters). szą na obiekcie typu Button zwiększa
dują się ogóle funkcje systemowe promień obiektu Circle1 znajdu-
umożliwiające przykładowo dostęp Przetwarzanie zmiennych jącego się na obrazie procesowym
do archiwów użytkownika, obsłu- projektu NewPdl.pdl (patrz listing 2).
gę alarmów czy raportów. Natomiast Bardzo przydatnym przykładem
w Internal functions umieszczone są zastosowania skryptów jest matema- NAWIGACJA POMIĘDZY
funkcje wewnętrzne (z punktu wi- tyczne przeliczanie zmiennych pro- EKRANAMI PROCESOWYMI
dzenia użytkownika WinCC najbar- jektu. Aby to wykonać, wykorzystać Podczas rozbudowy projektu na
dziej przydatne) ułatwiające przetwa- należy funkcję odczytywania i zapisy- więcej niż jeden ekran procesowy
rzanie zmiennych procesowych czy wania wartości zmiennej (SetTagxxx/ istotną kwestią jest poruszanie się
właściwości obiektów. Można zna- GetTagxxx) oraz potrzebne funkcje pomiędzy nimi w trybie Runtime.
leźć tam procedury matematyczne, matematyczne. Przykładowy skrypt WinCC daje wiele możliwości wyko-
elementy pozwalające na obsługę od- wykonujący taką operacją przedsta- nania takiego zabiegu – od przypisa-
czytywania oraz zapisywania zmien- wiono na listingu 1. nia funkcji przyciskom, przez two-
nych czy właściwości obiektów. Sto- rzenie spersonalizowanych pasków
sunkowo łatwo jest ustalić działanie Modyfikacja właściwości menu czy wykorzystanie obiektów
funkcji na podstawie jej nazwy. Naj- graficznych obiektów dedykowanych.
wygodniej jest używać odpowied- Kolejną przydatną opcją, jaką Jedną z wygodniejszych metod
nich funkcji, wybierając je dwu- umożliwiają skrypty, jest dynamicz- z punktu widzenia operatora jest
krotnym kliknięciem myszy z grupy na zmiana właściwości rozmaitych stworzenie pasków menu na dole oraz
obiektów w reakcji na ingerencję u góry ekranu procesowego, które wi-
Listing 1 użytkownika. Aby to uczynić, najle- doczne będą bez względu na aktual-
(...)
float val; //deklaracja zmiennych
float res;
val = GetTagFloat(„NewTag_1”); //odczytanie wartości zmiennej procesowej NewTag_1
res = 15.0*pow(val, 2); //kalkulacje matematyczne
SetTagFloat(„NewTag_2”,res); //przypisanie obliczonej wartości do zmiennej NewTag_2
(...)
(...)
long int rad; //deklaracja zmiennych
rad = GetRadius(„NewPdl.pdl”,”Circle1”);//odczytanie wartości promienia obiektu Circle1
rad = rad + 2; //zwiększenie wartości odczytanej właściwości
SetRadius(„NewPdl.pdl”,”Circle1”,rad); //przypisanie nowej wartości do cechy obiektu
(...)
Listing 2
62 lu t y 20 1 1
technika
KĄCIK PRAKTYKA
lu ty 2 0 1 1 63