INFORMATOR TECHNICZNY WONDERWARE
Informator Techniczny nr 31
06-06-2001
Wonderware InTouch ekonomika licencjonowania
Przy zakupie oprogramowania wizualizacyjnego sprawą bardzo istotną jest właściwe dopasowanie typu
zakupywanej licencji do faktycznych potrzeb użytkownika przynosi to bowiem wymierne korzyści
ekonomiczne. Twórcy aplikacji stają nierzadko przed dylematami:
" Czy liczba zmiennych, na jaką zamierzam zakupić licencję, jest wystarczająca?
" Czy powinienem może zainwestować w większą licencję tylko w obawie o przekroczenie liczby
zmiennych, mimo iż nie planuję w przyszłości rozbudowywania aplikacji o dodatkowe funkcje?
" Jak dodać kolejną funkcjonalność do aplikacji, gdy zbliżam się do wyczerpania limitu zmiennych
mojej licencji?
Przypomnę, że ze względu na liczbę zmiennych, jaką można zadeklarować na liście zmiennych aplikacji,
wyróżniamy następujące licencje oprogramowania InTouch: 64 punkty, 256, 1000, 5000 oraz
61405 punktów. Taki system licencjonowania daje możliwość dobrania licencji odpowiedniej do wielkości
procesu i tylko pozornie narzuca sztywne ograniczenia rozmiarów tworzonej wizualizacji.
W rzeczywistości w aplikacji można użyć nawet wielokrotnie więcej zmiennych, niż wskazywałby
na to rodzaj licencji.
Typowa wizualizacji opiera swe działanie o odczyt zmiennych z procesu (zmienne typu I/O). Pozostałe
zmienne aplikacji są to przeważnie albo zmienne typu pamięciowego, wykorzystywane wewnątrz
aplikacji i będące najczęściej wynikiem obliczeń dokonywanych na zmiennych typu I/O, albo są to
wartości stałe *. Zadeklarowanie zmiennej na liście zmiennych aplikacji powoduje zmniejszenie liczby
dostępnych punktów zakupionej licencji, aż do ich wyczerpania. Należy jednak zwrócić uwagę na bardzo
istotny fakt: Nie wszystkie zmienne używane w aplikacji wymagają definiowania na liście
zmiennych.
InTouch standardowo oferuje mechanizmy umożliwiające posługiwanie się zmiennymi z pominięciem
listy zmiennych. Pozwala to na powiększenie liczby zmiennych dostępnych w aplikacji bez potrzeby
inwestowania w wyższą licencję. Do mechanizmów tych należą:
" adresowanie dynamiczne,
" zdalne adresowanie,
" zmienne lokalne (tymczasowe).
Dynamiczne adresowanie
Dynamiczne adresowanie umożliwia zmianę zródła danych zmiennej typu I/O zdefiniowanej w aplikacji
InTouch. Innymi słowy, możliwa jest dynamiczna (w trakcie pracy aplikacji) zmiana adresu komórki
pamięci urządzenia (np. sterownika PLC) lub zródła informacji z innego programu (np. komórki arkusza
Excel a). W praktyce wygląda to następująco: Definiujemy na liście zmiennych wizualizacji zmienną typu
I/O, podając przy tym określoną nazwę dostępu (AccessName) oraz pozycję w ramach tej nazwy (Item).
Te dwie wartości jednoznacznie identyfikują zródło wartości dla naszej zmiennej. Zmiany zródła danych
dokonujemy modyfikując już w trakcie pracy aplikacji pole .Reference naszej zmiennej bądz posługując
się funkcją IOSetItem *. Potwierdzeniem, że wartość zmiennej jest odczytywana z nowego zródła, jest
przyjęcie przez pole .ReferenceComplete wartości logicznej 1. Przy każdorazowej zmianie zródła
danych pole .ReferenceComplete zostaje ustawione na wartość logiczną 0, aż do momentu
poprawnego odczytu informacji z nowego zródła daje to możliwość kontroli poprawności
dokonywanych zmian.
Adresowanie dynamiczne jest najczęściej używane w ekranach diagnostycznych, ponieważ jedna
zmienna umożliwia przeglądnięcie np. wszystkich rejestrów, wejść bądz wyjść sterownika PLC.
ASTOR Sp. z o.o. e-mail: wonderware1@astor.com.pl
tel.: 012 428-63-30
Dział Oprogramowania Przemysłowego http://www.astor.com.pl
fax: 012 428-63-09
ul. Smoleńsk 29, 31-112 Kraków
Co zyskujemy
możliwość przeglądania lub edytowania, przy pomocy jednej zmiennej I/O zdefiniowanej na liście
zmiennych, właściwie nieograniczonej liczby komórek pamięci urządzenia (ewentualne ograniczenie
może wynikać z właściwości drivera komunikacyjnego) lub zmiennych innego programu.
Na co należy zwrócić uwagę
zmiennej adresowanej dynamicznie nie powinno się używać w systemie alarmowania i logowania
historycznego; tzn. możliwość taka istnieje, ale jest niecelowa ze względu na niespójność informacji przy
zmianach zródła danych zmiennej.
Zdalne adresowanie zmiennych
Zdalne adresowanie zmiennych umożliwia tworzenie wizualizacji procesu nawet z całkowitym
pominięciem listy zmiennych. Zmiennych adresowanych zdalnie można używać w połączeniach
animacyjnych na ekranach wizualizacji oraz w skryptach, odczytując lub dokonując edycji wartości
zmiennych procesowych. yródłem danych dla zmiennej może być driver komunikacyjny (np. do
sterownika PLC), inna stacja z oprogramowaniem InTouch lub inna aplikacjach (np. Excel). Składnia
zmiennej zdalnej *, ma postać: NazwaDostępu: Pozycja (AccessName: Item ).
Technika zdalnego adresowania zmiennych w oprogramowaniu InTouch.
W powyższym przykładzie zdefiniowano nazwę dostępu PLC1 do komunikacji z urządzeniem
zewnętrznym przy użyciu drivera komunikacyjnego Modbus. Driver ten może być uruchomiony na
komputerze lokalnym (jak w przykładzie) lub zdalnym (należy wtedy uzupełnić pole NodeName nazwą
komputera zdalnego). Średnia wartości dwóch kolejnych rejestrów urządzenia 125 i 126 (pozycja 40125
2
i 40126 w zapisie drivera komunikacyjnego Modbus) użyta została w połączeniu animacyjnym, przy
czym nie zaistniała potrzeba zdefiniowania żadnej zmiennej standardowej, a tym samym zmniejszenia
liczby dostępnych punktów licencji.
Zdalne adresowanie zmiennych jest integralną częścią architektury klient-serwer, wbudowanej w
oprogramowanie InTouch. Umożliwia ono stworzenie aplikacji klienckiej bez definiowania jakiejkolwiek
zmiennej na lokalnej liście zmiennych (także z uwzględnieniem zmiennych typu SuperTag). Wartości
wszystkich zmiennych odczytane zostaną ze stacji nadrzędnej, a jedynym zadaniem projektanta aplikacji
jest zdefiniowanie poprawnej nazwy dostępu i przekonwertowanie zmiennych na adresowane zdalnie.
Co zyskujemy
możliwość posługiwania się zmiennymi nie zdefiniowanymi na liście zmiennych w dowolnym miejscu
wizualizacji (połączenia animacyjne, skrypty).
Na co należy zwrócić uwagę
liczba zmiennych adresowanych zdalnie jednocześnie aktywnych w aplikacji (tzn. umieszczonych na
widocznych ekranach wizualizacji, używanych w wykonywanych właśnie skryptach) nie może
przekroczyć liczby punktów licencji. Przykładowo, jeżeli posiadamy licencję 256 punktów, to możemy
zdefiniować na liście zmiennych 256 zmiennych i jednocześnie uaktywnić w aplikacji kolejne 256
zmiennych adresowanych zdalnie. W trakcie tworzenia aplikacji w środowisku WindowMaker projektant
nie zostanie ostrzeżony w przypadku przekroczenia dopuszczalnej liczby zmiennych adresowanych
zdalnie (jak to ma miejsce w przypadku zmiennych standardowych). Ostrzeżenie takie może wystąpić po
uruchomieniu aplikacji jeżeli system licencyjny wykryje nadmierną liczbę aktywnych zmiennych zdalnych
użytych w jednym momencie.
Zmienne lokalne (tymczasowe)
Jest to typ zmiennych, które mogą być deklarowane wewnątrz skryptu w celu przechowywania wartości
tymczasowych lub wykonywania skomplikowanych kalkulacji przy użyciu zmiennych pośrednich
(wszystko to bez potrzeby deklarowania zmiennych na liście zmiennych, przy jednoczesnym wzroście
efektywności skryptu). Zasięg zmiennej tymczasowej jest ograniczony tylko i wyłącznie do skryptu, w
którym została zadeklarowana. Zmienna tego typu nie może posłużyć do przenoszenia wartości
pomiędzy kolejnymi wykonaniami skryptu, gdyż za każdym wykonaniem skryptu jest deklarowana i
inicjowana od nowa (natomiast wartość nadana w skrypcie zmiennej standardowej z listy zmiennych
jest zapamiętywana). Zmienne lokalne, zmienne adresowane zdalnie i zmienne zadeklarowane na liście
zmiennych mogą być jednocześnie używane w tym samym skrypcie. Możliwa liczba zmiennych
lokalnych do użycia w skrypcie jest ograniczona jedynie wielkością dostępnej pamięci.
Zmienną lokalną deklaruje się instrukcją DIM wewnątrz skryptu, w którym ma być użyta, przed jej
wykorzystaniem. Składnia deklaracji jest następująca *:
DIM ZmiennaLokalna [AS Typ]
gdzie:
" ZmiennaLokalna - nazwa zmiennej tymczasowej. Zdecydowanie powinno unikać się tworzenia
zmiennych lokalnych o nazwach istniejących zmiennych z listy zmiennych. Nazwy zmiennych
lokalnych nie są wrażliwe na wielkość liter.
" AS - opcjonalne słowo kluczowe służące nadaniu określonego typu zmiennej (przy jego
pominięciu deklarowana jest zmienna typu Integer).
" Typ - słowo kluczowe, przyjmujące jedną z wartości: Integer, Real, Discrete, Message.
3
W jednej linii skryptu może znajdować się tylko jedna instrukcja DIM. Poprawnie zadeklarowana
zmienna lokalna posiada zbliżoną funkcjonalność do zmiennej standardowej, tzn. zasady jej stosowania
w instrukcjach i wyrażeniach skryptów są identyczne, ze wspomnianym ograniczeniem usuwania
wartości po zakończeniu skryptu oraz brakiem pól zmiennej.
Jak wspomniano, zmienne lokalne mogą być użyte w skrypcie każdego typu, zwiększając jego
elastyczność i ograniczając konieczność deklarowania zmiennych standardowych. Zmienna tymczasowa
może być użyta w skrypcie np. w pętli typu FOR NEXT.
Definicja zmiennych tymczasowych w skryptach InTouch a.
4
Wartość zmiennej lokalnej jest zachowywana przy wykonywaniu kolejnych kroków pętli i może być w niej
zmieniana. Zmienna zostanie usunięta po wykonaniu całości skryptu.
Co zyskujemy
liczbę zmiennych do użycia w skryptach ograniczoną jedynie dostępną pamięcią.
Na co należy zwrócić uwagę
zasięg zmiennej lokalnej jest ograniczony do skryptu, w którym została zadeklarowana; należy unikać
nadawania zmiennym lokalnym nazw zmiennych zadeklarowanych na liście zmiennych.
Z pewnością na liście zmiennych należy deklarować zmienne, które podlegać mają alarmowaniu
i logowaniu historycznemu przy użyciu wbudowanych w oprogramowanie InTouch mechanizmów.
W typowych aplikacjach nigdy nie stanowią one jednak 100% zmiennych wymienianych z procesem lub
używanych na cele monitoringu (często jest to nawet mniej niż połowa zmiennych). Umiejętne
posługiwanie się przez projektanta wizualizacji opisanymi powyżej mechanizmami z pewnością pozwala
na znaczne zredukowanie liczby koniecznych do użycia zmiennych standardowych. Daje to możliwość
bardziej ekonomicznego planowania zakupów licencji oraz zapewnia znaczną swobodę tworzenia
aplikacji.
* Szczegóły w Podręczniku użytkownika do oprogramowania InTouch.
5
Wyszukiwarka
Podobne podstrony:
Informator techniczny Wonderware2Informator techniczny Wonderware5Informator techniczny Wonderware0Informator techniczny Wonderware 1Informator techniczny Wonderware6Informator techniczny Wonderware1Informator techniczny Wonderware0Informator techniczny Wonderware6Informator techniczny Wonderware0Informator techniczny Wonderware4Informator techniczny Wonderware9Informator techniczny Wonderware0Informator techniczny Wonderware6Informator techniczny Wonderware9Informator techniczny Wonderware9Informator techniczny Wonderware 2Informator techniczny Wonderware9Informator techniczny Wonderware7Informator techniczny Wonderware4więcej podobnych podstron