Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Sposoby komunikacji i współdzielenia danych w aplikacji PROMOTIC

Każda aplikacja przeznaczona do monitoringu i sterowania procesami technologicznymi najprawdopodobniej 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. Ninijeszy rozdział przedstawia 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 SAIA wykorzystuje protokół S-BUS, 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. Wykorzystanie tych driverów jest tanie i bardzo ogólne.
 
Rozpatrzmy obecnie przypadek, kiedy do danego urządzenia nie istnieje driver PROMOTIC lub urządzenie komunikuje się 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 (w większości 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 PROMOTIC aplikacji patrz opis: Komunikacja poprzez interfejs OPC DA.
 
W chwili obecnej starszym niemniej jednak wykorzystywanym 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 w 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 wykorzystanie 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 czy DDE) lecz oprogramowanie jest ActiveX obiektem, który można zabudopwać do aplikacji PROMOTIC prz pomocy obiektu PmActiveX. Na tym obiektem ActiveX można następnie wywoływać metody (wg. 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 ControlslubAMiT.

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

Najprostszym sposobem, jak współdzielić dane w sieciach jest w systemie PROMOTIC współdzielenie przy pomocy danych XML. Sposób ten jest bardzo uniwersalny a to zwłaszcza z tego powodu, że pracuja na bazie protokołu 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ć przy pomocy przeglądarek internetowych. Opis zabudowania do aplikacji PROMOTIC patrz: Współdzielenie danych XMLlubPodsumowanie technologii Web w systemie PROMOTIC.
 
Następną standarową możliwością jest zastosowanie Drivery komunikacyjne. Niektóre driveri potrafią komunikować się poprzez Ethernet. Poprzez zainstalowane sieci można w ten sposób komunikować się nawet z takimi sterownikami, które posiadają komunikację wyłącznie po łączu szeregowym komputera - przypomocy konwertera łącze szeregowe/Ethernet po stronie PLC.

Interesującym może być driver 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 do 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 również wykorzystać wyżej wymieniony interfejs standardowy OPC lub DDE. Te interfejsy umożliwiają transmisję danych również w sieciach. 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 czy też binarne wejścia/wyjścia. Jest wymagane udostępnienie tych informacji w aplikacji PROMOTIC.

Rozwiązaniem standardowym jest wykorzystanie 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 PmDll. Wywołanie odpowiednich funkcji (wg. dokumantacji 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. PROMOTIC umożliwia zapis i odczyt 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 PmAdo i PmDatabase, 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 Microsoft Access, dBase, itd.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice