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