poniedziałek, 2 marca 2009

Mechanizm odkrywania w OPC Unified Architecture (OPC UA Discovery)

OPC Unified Architecture oparte jest o architekturę klient serwer, w której klient nawiązuje połączenie do serwera. Oczywiście, przed nawiązaniem połączenia, konieczne są informacje mówiące o tym jak odnaleźć serwer, jaki jest jego adres, jakie są parametry połączenia, przy pomocy jakiej infrastruktury komunikacyjnej można nawiązać połączenie. W tej sekcji zostaną przedstawione mechanizmy odnajdywania serwera przez klienta OPC UA.

W pierwszym kroku zastanówmy się jakie są typy aplikacji bazujące na technologii OPC UA? Są to klienci, serwery i serwery odkrywania (Discovery Servers). Serwery umożliwiają dostęp do danych i zdarzeń z systemu. Serwery Discovery udostępniają natomiast informacje o serwerach OPC UA dostępnych w sieci. Wśród serwerów Discovery mogą być takie, które udostępniają informacje o serwerach uruchomionych na lokalnej maszynie (Local Discovery Server, LDS) lub dostępnych w sieci (Global Discovery Server). Klienci natomiast konsumują dane udostępniane przez serwery. Należy pamiętać, że niektóre aplikacje mogą pełnić funkcje zarówno klienta, jak i serwera. Ogólną zależność pomiędzy typami aplikacji przedstawia rysunek:

Klient przed nawiązaniem połączenia najczęściej wyszukuje dostępne serwery z wykorzystaniem usług odkrywania (Discovery)(klient nie musi wyszukiwać serwera, jeśli ma odpowiednio skonfigurowane wszystkie parametry połączenia). W ten sposób klient pozyskuje listę serwerów, łącznie ze wszystkimi parametrami połączenia (tzw. ustawieniami edpointu). Taki mechanizm podobny jest do znanego z OPC Classic (bazującego na DCOM) serwisu OPCEnum. Oczywiście mechanizm Discovery w OPC UA oferuje znacznie więcej niż wysłużony OPCEnum. Klient otrzymuje informacje na temat adresu (IP) serwera, portu przy pomocy którego powinien nawiązać połączenie, infrastruktury komunikacyjnej (np. tcp, http, https), czy kodowania (xml, binarne, szyfrowane). Ponadto dzięki serwerom zarejestrowanym globalnie, możliwe jest pozyskiwanie informacji na temat serwerów dostępnych w całej sieci, a nie tylko na lokalnej maszynie.

(To tylko jedna z części artykułu zobacz pozostałe: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, autor: Maciej Zbrzezny)

Brak komentarzy:

Prześlij komentarz

Posty powiązane / Related posts