ekonomika licencjonowania - Platforma Internetowa ASTOR.

Transkrypt

ekonomika licencjonowania - Platforma Internetowa ASTOR.
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ę źró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 źró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ą źródło wartości dla naszej zmiennej. Zmiany źródła danych
dokonujemy modyfikując juŜ w trakcie pracy aplikacji pole .Reference naszej zmiennej bądź posługując
się funkcją IOSetItem *. Potwierdzeniem, Ŝe wartość zmiennej jest odczytywana z nowego źródła, jest
przyjęcie przez pole .ReferenceComplete wartości logicznej 1. Przy kaŜdorazowej zmianie źródła
danych pole .ReferenceComplete zostaje ustawione na wartość logiczną 0, aŜ do momentu
poprawnego odczytu informacji z nowego źró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ądź wyjść sterownika PLC.
ASTOR Sp. z o.o.
Dział Oprogramowania Przemysłowego
ul. Smoleńsk 29, 31-112 Kraków
tel.: 012 428-63-30
fax: 012 428-63-09
e-mail: [email protected]
http://www.astor.com.pl
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 źró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. Źró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