1.2.1.     Deklarowanie kanałów transmisji    

           

 

 

Deklaracje kanałów transmisji pozwalają na przekazanie do menedżera Asmen listy drajwerów używanych przez aplikację oraz parametrów pracy tych drajwerów. Deklaracje kanałów transmisji wymagają określenia następujących parametrów:

 

nazwa_logiczna      - nazwa logiczna kanału transmisji; długość nazwy logicznej nie może przekroczyć 9 znaków; znakami zastrzeżonymi są spacja, przecinek oraz znak tabulacji;

nazwa_drajwera     - nazwa drajwera łącza fizycznego używanego w danym kanale transmisji; można użyć nazwę NONE, która oznacza protokół symulujący łącze fizyczne, oraz nazwę NETWORK, która oznacza kanał sieciowy;

parametry            - lista parametrów, specyficzna dla każdego z realizowanych przez określone drajwery protokołów łącza fizycznego; protokół symulujący łącze fizyczne (NONE) oraz protokół sieciowy (NETWORK) nie wymagają podania parametrów.

 

Kanały transmisji deklarowane są w pliku konfiguracyjnym XML za pośrednictwem programu Architekt:

 

 

Architekt > moduł Dane Bieżące

 

 

Każdy kanał posiada swoją definicję, która jest dodawana do modułu Dane bieżące poprzez kliknięcie prawym klawiszem myszy na wspomnianym module i wybranie komendy Dodaj kanał

 

 Patrz: Serwer Danych > 2. Parametryzacja Serwera Danych > Konfiguracja parametrów danych bieżących > Definicja kanałów komunikacyjnych.

 

 

 

Kluczową rolę w definicji kanału odgrywa wybór protokołu (realizowanego przez drajwer), według  którego będzie realizowana transmisja danych. Protokół ten wynika oczywiście z tego, jak jest zrealizowane sprzętowo połączenie komputera systemu Asix ze sterownikiem obiektu.

 

Specyficznym rodzajem protokołu jest protokół o nazwie NETWORK. Nie realizuje on fizycznego połączenia ze sterownikiem, a jedynie połączenie z innym komputerem, który takie połączenie ma. Drajwer kanału sieciowego po nawiązaniu połączenia wysyła zapytanie do wszystkich serwerów, podając nazwę logiczną kanału. Odpowiadają na to pytanie jedynie serwery, które posiadają zadeklarowany taki kanał. Jeżeli odpowie więcej niż jeden serwer, to wtedy do nawiązania połączenia wybiera się serwer najmniej obciążony. Jeżeli w czasie pracy nastąpi wyłączenie serwera, wówczas drajwer kanału sieciowego przełączy się na inny serwer.

 

Kanał sieciowy może być zastosowany w celu realizacji terminali sieciowych wykorzystujących bieżące zmienne systemu Asix.

 

Innym specyficznym rodzajem protokołu jest obsługiwany wewnętrznie przez Asmena protokół o nazwie NONE. Protokół ten nie realizuje fizycznego połączenia ze sterownikiem. Może być zastosowany w celu:

 

 

Symulacja zmian wartości zmiennych procesowych korzystających z protokołu NONE może być realizowana w oparciu o specyficzne funkcje przeliczające lub też poprzez odrębny program symulacyjny modyfikujący wartości zmiennych procesowych według żądanego przez projektanta algorytmu. W celu wykorzystania protokołu NONE dla przetestowania aplikacji należy:

 

 

Powyższy schemat postępowania można uzupełnić o dodanie do definicji zmiennych procesowych funkcji przeliczających przeznaczonych do symulacji przebiegów wartości zmiennych. Funkcje te zapewniają samoczynną zmianę wartości zmiennych zgodnie z algorytmem specyficznym dla konkretnej funkcji. W pakiecie systemu Asix znajdują się aktualnie dwie symulacyjne funkcje przeliczające: ON/OFF i PILA.

 

Wymiana danych poprzez zmienne procesowe kanału typu NONE polega na tym, że jeden z programów systemu Asix wypracowuje wartości zmiennych i wpisuje je do bazy danych Asmena. Pozostałe elementy systemu (program archiwizacji, obiekty wizualizacyjne) mogą pobierać te dane w normalny sposób, nie zdając sobie sprawy z tego, że dane te nie są transmitowane ze sterownika obiektu.

 

W pozycji opisującej protokół typu NONE nie podaje się żadnych dodatkowych parametrów.

 

Zmienne tablicowe z kanału NONE są traktowane jako jedna zmienna.

 

Istnieje możliwość zadeklarowania dla kanałów typu NONE sposobu dostępu do zmiennych polegającego na tym, że zmienne otrzymują wartości w efekcie wykonania operacji zapisu - wymagającej podania nie tylko wartości ale również czasu i statusu. W tym celu należy jako drajwer komunikacyjny zadeklarować dla danego kanału drajwer o nazwie NONE i włączyć opcję Zapis czasu i statusu. Rozwiązanie to zostało stworzone w celu umożliwienia importu (np. z wykorzystaniem mechanizmu skryptu) wartości zmiennych z aplikacji zewnętrznych, np. arkusza kalkulacyjnego i przekazania ich do archiwum modułu Aspad. Domyślnie wartości zmiennych kanału NONE pozbawione są stempla czasu i statusu, przez co nie jest możliwa ich archiwizacja - dopiero użycie opcji Zapis czasu i statusu pozwala zapisać wartości tych zmiennych w archiwum Aspada.  

 

 

 

 

Rysunek: Deklaracja zapisu czasu i statusu dla kanału None.

 

 

 

 

 

 

  W chwili wystartowania program Asmen wymaga, aby drajwery wszystkich protokołów zadeklarowanych w pliku konfiguracyjnym Serwera Danych znajdowały się w kartotece, z której startuje system Asix. Wyjątkiem jest drajwer protokołu symulującego łącze fizyczne (NONE), który jest wbudowany w moduł Asmen. Sposób ładowania poszczególnych drajwerów jest podany przy opisie drajwerów dostępnych w systemie Asix.