Promotic

Sposoby komunikacji i współdzielenia danych w aplikacji PROMOTIC

Każda aplikacja przeznaczona do monitoringu i sterowania procesami technologicznymi prawdopodobnie będzie wymagać uzyskiwać lub zapisywać dane ze(do) źródeł zewnętrznych. Źródłem takich wartości może być na przykład baza danych, sterownik PLC, plik na dysku, karta wejść/wyjść w komputerze, itd. Rozdział ten opisuje przypadki, które praktycznie można brać pod uwagę i pokazuje, jak te przypadki rozwiązywać w systemie PROMOTIC.

1. Komunikacja ze sterownikami PLC lub podobnymi urządzeniami

Patrz:
Przy tego rodzaju komunikacji PROMOTIC uzyskuje dane z urządzeń zewnętrznych - sterowniki PLC, jednostki inteligentnych wejść/wyjść, itd. Takie urządzenie bywa najczęściej podłączone poprzez Ethernet lub po łączu szeregowym komputera (na komputerze na przykład poprzez port COM1, COM2, itd.). Jednak może być również podłączone poprzez kartę specjalną, na przykład Siemens PROFIBUS DP, itd.
Poprzez łącze szeregowe (interfejs RS232/RS485/RS422) lub poprzez Ethernet sterownik PLC potrafi "rozmawiać" swoim specjalnym językiem, tzw. protokołem komunikacyjnym. Na przykład
- sterownik PLC SAIA wykorzystuje protokół S-BUS
- sterownik PLC Modicon (i inne) wykorzystują protokół Modbus, itd.


W systemie PROMOTIC znajduje się zestaw tzw. driverów komunikacyjnych, które potrafią przenosić dane przy pomocy najczęściej wykorzystywanych protokołów. Zastosowanie tych PROMOTIC driverów jest tanie i bardzo ogólne.

Rozpatrzmy obecnie przypadek, kiedy do danego urządzenia nie istnieje driver komunikacyjny PROMOTIC lub urządzenie komunikuje poprzez inne łącze niż łącze szeregowe czy Ethernet:

Nejbardziej standardowym rozywiązaniem jest w chwili obecnej wykorzystanie OPC serwera, który jest oprogramowaniem innej firmy (zazwyczaj bezpośrednio producent takiego urządzenia). Takie oprogramowanie potrafi komunikować się z danym urządzeniem i oferuje dane (które wymienia sobie z urządzeniem) poprzez standarowy interfejs OPC. Aplikacja PROMOTIC następnie jako OPC klient współpracuje z takim OPC serwerem i potrafi w ten sposób jak odczytywać tak i zapisywać dane do takiego urządzenia. Opis zabudowania do aplikacji PROMOTIC patrz opis: Komunikacja poprzez interfejs OPC DA.

W chwili obecnej starszym sposobem do komunikacji z urządzeniami jest wykorzystanie DDE serwera. Zasada jest praktycznie taka sama jak u OPC serweru. Interfejs DDE jednak nie jest szybkim do transmisji dużych pakietów danych i nie umożliwia tak ogólnikową konfigurację transmisji jak OPC serwer. DDE jest raczej interfejsem do transmisji danych przeznaczonych dla potrzeb biurowych a nie dla realtime komunikacji. Opis zabudowania do aplikacji PROMOTIC patrz Komunikacja przy pomocy interfejsu standardowego DDE.

Kolejną praktycznie wykorzystywaną możliwościę komunikacji jest zastosowanie technologii ActiveX. Inna firma w tym przypadku oferuje oprogramowanie, które potrafi komunikować się z danym urządzeniem. Takie oprogramowanie jednak nie oferuje dane poprzez interfejs standardowy (jakimi są OPC lub DDE) lecz oprogramowanie przedstawia ActiveX obiekt, który można zabudopwać do aplikacji PROMOTIC przy pomocy obiektu PmaActiveX. Na tym ActiveX obiektem można następnie wywoływać metody (według dokumentacji tego obiektu) i w ten sposób uzyskiwać dane z/do danego urządzenia. Przykładem takiej komunikacji może być komunikacja ze sterownikami PLC firmy Johnson Controls lub AMiT.

2. Komunikacja pomiędzy aplikacjami za pośrednictwem sieci komputerowych

Najprostszym sposobem, jak współdzielić dane w sieci jest w systemie PROMOTIC współdzielenie przy pomocy danych XML. Sposób ten jest bardzo uniwersalny a to zwłaszcza z tego powodu, że komunikuje poprzez protokół HTTP a więc można dane wymieniać również w Internecie. Oferowane dane (z aplikacji PROMOTIC) można tym sposobem bardzo prosto wykorzystać w innej aplikacji (np. ponownie PROMOTIC), wyświetlać na stronach HTML lub bezpośrednio przeglądać w przeglądarce internetowej. Opis zabudowania do aplikacji PROMOTIC patrz: Współdzielenie danych XML lub Podsumowanie technologii Web w systemie PROMOTIC.

Następną standarową możliwością jest zastosowanie Drivery komunikacyjne. Niektóre drivery potrafią komunikować się poprzez Ethernet. Poprzez zainstalowane sieci można w ten sposób komunikować się nawet ze sterownikami PLC, które posiadają komunikację wyłącznie po łączu szeregowym komputera - przy pomocy konwertera łącze szeregowe/Ethernet po stronie sterownika PLC.
Interesującym może być driver komunikacyjny PmChar, przy którego pomocy można transmitować w sieciach dane zadefiniowane przez projektanta poprzez protokół TCP lub UDP.

Starszym sposobem, jak szybko współdzielić dane pomiędzy aplikacjami PROMOTIC w sieciach lokalnych jest transmisja danych przez Sokety. Jednak ten sposób transmisji nie jest tak jawny jak transmisja XML i służy tylko dla komunikacji pomiędzy aplikacjami PROMOTIC. Opis zabudowania do aplikacji PROMOTIC patrz Transmisja danych w sieci poprzez Sokety.

W celu współdzielenia danych w sieciach lokalnych można zastosować również wyżej wymieniony interfejs standardowy OPC lub DDE. Te interfejsy umożliwiają transmisję danych również w sieci. W tym celu jest konieczna instalacja rozszerzenia - dla DDE chodzi o NetDDE natomiast dla OPC chodzi o DCOM. Transmisja danych jest w tym przypadku wprawdzie bardziej jawna lecz jest trudniejsza do ustawienia.

3. Komunikacja z kartami wejść/wyjść, włożonymi do komputera, na którym jest uruchomiona aplikacja PROMOTIC

W tym przypadku karta wejść/wyjść włożona do komputera (np. do slotu ISA lub PCI) i odczytuje na przykład analogowe lub binarne wejścia/wyjścia. Jest wymagane udostępnienie tych informacji w aplikacji PROMOTIC.
Rozwiązaniem standardowym jest zastosowanie bibliotek DLL. Praktycznie każdy producent takich kart (np. kart AXIOM, MOXA, PCLab, Tedia, Advantech, Neovision, Elcom, National-Instruments, itd.) dostarcza driver do takich kart w formie biblioteki DLL. Biblioteka DLL jest po prostu plikiem, w którym są "zapakowane" funkcje, które można wywołać w systemie PROMOTIC. Wywołanie odpowiednich funkcji DLL można w systemie PROMOTIC wykonywać przy pomocy obiektu PmaDll. Przez wywołanie odpowiednich funkcji (według dokumentacji do danego drivera) można wykonać przez przekazywanie informacji pomiędzy kartą i aplikacją PROMOTIC.
Dla niektórych kart (np. Neovision, National-Instruments, Advantech) istnieją OPC serwery. W takim pryzpadku rozwiązanie komunikacji jest stanardowe i takie samo jak przy komunikacji ze sterownikami PLC.

4. Transmisja danych poprzez dostęp do plików lub bazy danych

Chyba za "najbardziej prymitywny" sposób komunikacji pomiędzy aplikacjami można uważać współdzielenie danych w pliku na dysku. Dwie aplikacje, które w ten sposób dzieą się danymi muszą znać dokładny format pliku. System PROMOTIC umożliwia odczyt i zapis plików jak binarnych tak i tekstowych. Lista funkcji do pracy z plikami patrz Współdzielenie danych poprzez pliki. Dzielenie się danymi w ten sposób jest jednak względnie wolne i wymaga dostępu na dysk. Dla celów prawdziwego dzielenia się danymi w czasie rzeczywistym jest dlatego nieodpowiednie, jednak jest stosowne do zapisu dużych ilości danych w celach późniejszego wykorzystania.

Bardziej standardowym sposobem dzielenia się danymi jest dostęp do baz danych. W systemie PROMOTIC dostęp do baz danych umożliwiają obiekty PmaAdo oraz PmaDatabase, które do baz danych przystępują poprzez standardowe interfejsy ADO,ODBC lub DAO. Te interfejsy umożliwiają dostęp do dowolnej bazy danych, która taki interfejs wspiera (praktycznie wszystkie zwykle wykorzystywane bazy danych). Żeby aplikacja PROMOTIC miała dostęp do danej bazy danych, wystarcza mieć tylko odpowiedni driver do danej bazy danych. System PROMOTIC zawiera drivery zwykłych baz danych takich jak Access, dBase, itd.
© MICROSYS, spol. s r.o.