Technologie internetowe w systemach sterowania zk wg Piotr Gaj Zastosowanie protokołu TCP/IP do transmisji informacji dla potrzeb przemysłowych systemów kontrolno-nadzorczych 1
Wprowadzenie Obiekty na styku z procesem przemysłowym 2
Wprowadzenie Funkcje komunikacyjne obiektów Producent Konsument źródło informacji użytkownik informacji 3
Wprowadzenie Czas rzeczywisty Soft Real Time Systems Systemy typu soft pracuja realizując swoje funkcje w czasie rzeczywistym, lecz nie gwarantują dotrzymywania narzuconych ograniczeń czasowych. Jako przykłady przytacza się systemy bankowe czy rezerwacji biletów. Stosowanie nazwy systemu czasu rzeczywistego jest w tym przypadku najczęściej zabiegiem marketingowym. Hard Real Time Systems Determinizm obsługi obiektów 4
Wprowadzenie Czas rzeczywisty Determinizm określony granicznie TOS TG TZ - czas wystąpienia zdarzenia Z TG - czas graniczny obsługi zdarzenia Z 5
Wprowadzenie Czas rzeczywisty TOS - czas obsługi sieciowej zdarzenia Z TR - czas reakcji na zdarzenie Z TO - czas obsługi zdarzenia Z 6
Wprowadzenie Kanały komunikacyjne w połączeniu punkt-punkt Kanał jednokierunkowy (transmisja jednokierunkowa) Dwa kanały jednokierunkowe (transmisja dwukierunkowa oddzielne kanały) Kanał dwukierunkowy (transmisja dwukierunkowa naprzemienna - simplex) Kanał dwukierunkowy (transmisja dwukierunkowa duplex) 7
Wprowadzenie Rodzaje transmisji Transmisja synchroniczna Transmisja asynchroniczna Synchronizacja wymian np. hand shake Protokoły nadzorujące dostęp do medium 8
Wprowadzenie Determinizm a sieci miejscowe (przemysłowe) Determinizm a protokoły TCP/IP i Ethernet Ograniczenia wykorzystania protokołów niezdeterminowanych w zastosowaniach przemysłowych 9
Wprowadzenie Różne modele dostępu do medium Master-Slave Token okresowe uprzywilejowanie stacji poprzez przekazywanie żetonu PDC wymiana informacji pomiędzy trzema rodzajami abonentów (Multi Master) Producent informacji Konsument informacji Dystrybutor informacji (arbiter) 10
Wprowadzenie Podstawowe zadania funkcjonalne systemów przemysłowych Sterowanie Prezentacja danych Rejestracja danych 11
Modele warstwowe OSI i Intersieci 12
Modele warstwowe OSI i Intersieci 13
Protokoły warstwy dostępowej 14
Protokoły warstwy intersieci 15
Protokoły warstwy transportowej 16
Protokoły warstwy aplikacyjnej 17
Protokoły warstwy aplikacyjnej 18
Protokoły warstwy aplikacyjnej 19
Stos protokołów TCP/IP 20
Abstrakcyjne jednostki transmisji danych w TCP/IP 21
Wykorzystanie sieci Ethernet w systemach przemysłowych Standard Ethernet definiuje dwie najniższe warstwy interfejsu sieci Współdziałanie protokołów TCP/IP z siecią Ethernet odbywa się właśnie na poziomie warstwy fizycznej i interfejsu sieci Obecnie Ethernet jest podstawowym standardem łączenia węzłów końcowych z intersiecią W sieci Ethernet metodą dostępu do medium jest mechanizm CSMA/CD, czyli wykrywanie fali nośnej z kolizją detekcji 22
Wykorzystanie sieci Ethernet w systemach przemysłowych W przypadku wystąpienia kolizji na poziomie sieci lokalnej, stosowany jest mechanizm dwójkowego, wykładniczego czasu odczekiwania Stacja opóźnia kolejną próbę transmisji o losowy czas z zakresu od 0 do d Kolejne kolizje tego samego pakietu powodują podwojenie zakresu czasu, z którego wyznaczany jest czas opóźnienia Zmniejsza to prawdopodobieństwo wylosowania takiego samego czasu opóźnienia dla węzłów zainteresowanych transmisją 23
Wykorzystanie sieci Ethernet w systemach przemysłowych Problemy czasu rzeczywistego Dla procesu rejestracji danych istotne są stemple czasowe jednoznacznie określające czas wystąpienia zdarzenia Proces prezentacji informacji wymagania czasowe są już bardziej ostre Przekazywanie informacji związane ze sterowaniem procesem, powinno być determistyczne w tym przypadku niezbędne jest zagwarantowanie kanału komunikacyjnego na bazie sieci umożliwiającej determistyczny dostęp do danych 24
Wykorzystanie sieci Ethernet w systemach przemysłowych Problemy czasu rzeczywistego Transmisję zdeterminowaną czasowo można uzyskać zapobiegając zadziałaniu mechanizmu CSMA/CD poziomu Ethernet jeżeli warstwa wyższa stosu protokołów danej stacji zadba o to, aby w momencie przekazania pakietu do warstwy Ethernet owej, żadna inna stacja nie nadawała w sieci, to otrzymamy mechanizm eliminujący możliwość powstania kolizji W warstwach aplikacyjnych należy zaimplementować jeden z determistycznych modeli wymiany informacji wtedy warstwy aplikacji poszczególnych abonentów będą wzajemnie koordynowały transmisję pakietów 25
Wykorzystanie sieci Ethernet w systemach przemysłowych Szybkość transmisji sieci Ethernet 10Mbps początkowe wersje 100Mbps wersja aktualnie dominująca 1Gbps, 10Gbps nowe opracowania, wersje rozwojowe Szybki Ethernet nadal nie gwarantuje obsługi informacji w czasie rzeczywistym 26
Wykorzystanie sieci Ethernet w systemach przemysłowych Czynniki wpływające na prawdopodobieństwo utraty danych w sieciach niedetermistycznych Prędkość transmisji Natężenie ruchu Liczba abonentów Liczba obsługiwanych zmiennych 27
Wykorzystanie sieci Ethernet w systemach przemysłowych Powstało wiele rozwiązań bazujących na standardzie Ethernet, np. Industrial Ethernet firmy Siemens Ethway firmy Schneider Specyfikacje rozwiązań firmowych z reguły są niedostępne 28
Wykorzystanie sieci Ethernet w systemach przemysłowych System nadzorowania na bazie Ethernetu bez determistycznej kontroli dostępu do medium 29
Wykorzystanie sieci Ethernet w systemach przemysłowych System nadzorowania na bazie Ethernetu z warstwą kontrolującą dostęp do medium 30
Wykorzystanie sieci Ethernet w systemach przemysłowych System nadzorowania na bazie Ethernetu z warstwą kontrolującą dostęp do medium Żądania transmisji generowane przez aplikację użytkownika przechodzą przez warstwę kontrolującą dostęp do medium Warstwa ta dopasowuje momenty żądania transmisji do momentów przewidzianych przez scenariusz wymian Wtedy mechanizm CSMA/CD praktycznie nie jest wykorzystywany Otrzymuje się kanał komunikacyjny, w którym tylko jeden abonent w danym czasie ma prawo wysyłania danych 31
Wykorzystanie sieci Ethernet w systemach przemysłowych System nadzorowania na bazie Ethernetu z mieszanym dostępem do medium 32
Wykorzystanie sieci Ethernet w systemach przemysłowych Istnieje wiele protokołów warstw wyższych współpracujących z Ethernet em, np.: NetBEUI IPX/SPX/NetBIOS AppleTalk DLC TCP/IP najbardziej popularne, nie wnoszą jednak warstw umożliwiających zarządzaniem dostępem do medium zgodnie z jakimś z determistycznych modeli wymian 33
Wykorzystanie sieci Ethernet w systemach przemysłowych System nadzorowania na bazie Ethernetu i TCP/IP z kontrolą dostępu do medium 34
Wykorzystanie sieci Ethernet w systemach przemysłowych System nadzorowania na bazie Ethernetu i TCP/IP z kontrolą dostępu do medium Dodatkowa warstwa porządkująca dostęp do medium musi znajdować się ponad warstwami Ethernet u Najlepszym miejscem implementacji tej warstwy jest warstwa aplikacji Problem stanowić mogą protokoły ze stosu TCP/IP generujące samoczynnie wymiany sieciowe (z pominięciem warstwy zarządzającej np. ARP) W lokalnych sieciach przemysłowych struktura sieci jest stała i nie zachodzi potrzeba wyznaczania trasy 35
Wykorzystanie sieci Ethernet w systemach przemysłowych Budowa warstw determistycznego interfejsu komunikacyjnego abonenta sieci Ethernet 36
Wykorzystanie sieci Ethernet w systemach przemysłowych Internetowa współpraca abonentów globalnych 37
Wykorzystanie sieci Ethernet w systemach przemysłowych Internetowa współpraca abonentów globalnych Wymiana informacji w środowisku Internetu oparta jest o protokół IP Czynniki wpływające na pracę informatycznego systemu przemysłowego, wykorzystującego zdalny dostęp: Zakres adresacji Opóźnienia transmisji Niezawodność transmisji Dostęp do danych użytecznych 38
Wykorzystanie sieci Ethernet w systemach przemysłowych Internetowa współpraca abonentów globalnych Transmisja z użyciem IP stanowi bezpołączeniową zawodną metodę transmisji danych Nawet w przypadku przyjęcia niezawodnego strumienia na poziomach wyższych (TCP), nie otrzymuje się żadnej gwarancji, że transmisja zostanie poprawnie zakończona. Pakiety wędrują poprzez sieci fizyczne, nie będące w zakresie administracyjnym użytkownika systemu Błędy i wyczerpanie zasobów tych sieci może doprowadzić do utraty połączenia z żądanym abonentem 39
Wykorzystanie sieci Ethernet w systemach przemysłowych Internetowa współpraca abonentów globalnych Z drugiej strony, swobodny sposób połączeń stosowany w Internecie, powodujący istnienie wielu tras alternatywnych, stwarza wysoki stopień niezawodności połączeń Pakiety mogą podróżować różnymi trasami, co odpowiada redundancji medium Warunkiem podstawowym musi być rozbudowana struktura sieci 40
Wykorzystanie sieci Ethernet w systemach przemysłowych 41
Wykorzystanie sieci Ethernet w systemach przemysłowych Rozwiązaniem problemów niezawodności transmisji w sieciach otwartych może być wprowadzenie redundancji determistycznych kanałów wirtualnych Redundancja powinna być realizowana na bazie kanałów niezależnych, tzn. takich, które nie mają części wspólnych w postaci ruterów, łączy i innych urządzeń infrastruktury internetowej 42
Wykorzystanie usług internetowych dla celów przemysłowych Podejścia tradycyjne Wykorzystanie protokołu i medium do transferu danych z jednego systemu do innego, np. połączenie systemów przez Internet z wykorzystaniem mechanizmu RPC (ang. Remote Procedure Call) Tworzenie specjalizowanych usług na bazie standardowych protokołów TCP/IP, spełniających wymagania użytkownika przemysłowych systemów nadzorczych 43
Wykorzystanie usług internetowych dla celów przemysłowych Wykorzystanie standardowych usług intersieci Wykorzystanie specjalizowanych usług intersieci 44
Wykorzystanie usług internetowych dla celów przemysłowych Wykorzystanie standardowych usług intersieci i standardowych aplikacji kliena 45
Wykorzystanie usług internetowych dla celów przemysłowych Najczęściej wykorzystywane usługi Usługi WWW (ang. World Wide Web) Poczta elektroniczna (ang. e-mail) FTP (ang. File Transfer Protocol) Telnet TFTP (ang. Trivial File Transfer Protocol) 46
Wykorzystanie usług internetowych dla celów przemysłowych Najważniejsze dziedziny zastosowań Wizualizacja przebiegu procesu przemysłowego Monitorowanie i rejestracja wybranych parametrów oraz alarmowanie o przekroczeniach limitów wybranych parametrów Generowanie raportów, zestawień, opracowań o stanie procesu przemysłowego i eksport danych do procesów nadrzędnych Sterowanie procesem przemysłowym z poziomu systemu oraz poziomu użytkownika 47
Wykorzystanie usług internetowych dla celów przemysłowych Wizualizacja przebiegu procesu przemysłowego Systemy SCADA (ang. Supervisory Control And Data Acquisition) Zalety usługi WWW 48
Wykorzystanie usług internetowych dla celów przemysłowych Schemat blokowy systemu typu SCADA 49
Wykorzystanie usług internetowych dla celów przemysłowych Zadania funkcjonalne realizowane w systemie SCADA Nadzorowanie pracy modułów Parametryzacja pracy modułów Obsługa komunikacji z systemem Obsługa interfejsu użytkownika Obsługa zdarzeń Obsługa specyficznego przetwarzania 50
Wykorzystanie usług internetowych dla celów przemysłowych Schemat modułowej konstrukcji przeglądarki WWW 51
Wykorzystanie usług internetowych dla celów przemysłowych Schemat modułowej konstrukcji przeglądarki WWW 52
Wykorzystanie usług internetowych dla celów przemysłowych Struktura narzędzi do tworzenia rozproszonej aplikacji wizualizacji procesów przemysłowych 53
Wykorzystanie usług internetowych dla celów przemysłowych Etapy tworzenia aplikacji WWW Przygotowanie wizualizacji przy użyciu klasycznego interfejsu użytkownika Definicja zmiennych grafiki ekranów i ich elementów składowych Definicja komunikacji Definicja programów użytkownika itp. 54
Wykorzystanie usług internetowych dla celów przemysłowych Etapy tworzenia aplikacji WWW (dc) Generacja dokumentów dla serwera WWW Generacja dokumentów statycznych dla serwera WWW Pliki HTML Dołączanie grafiki Generacja dokumentów dynamicznych dla serwera WWW Tworzenie lub dołączanie z bibliotek skryptów i programów CGI Generacja formularzy i dołączenie grafiki Generacja dokumentów aktywnych dla serwera WWW Tworzenie lub dołączanie z bibliotek skryptów i apletów Java Dołączanie aplikacji usług dodatkowych 55
Wykorzystanie usług internetowych dla celów przemysłowych Etapy tworzenia aplikacji WWW (dc) Przesłanie plików do serwerów WWW (np. korzystając z usługi FTP) Dostęp do stworzonych stron WWW z poziomu przeglądarek 56
Wykorzystanie usług internetowych dla celów przemysłowych Sposoby prezentacji danych w usłudze WWW Typy dokumentów WWW umożliwiających prezentacje informacji i interakcję z użytkownikiem Dokumenty statyczne (obsługa danych przy pomocy języka HTML) Dokumenty dynamiczne (obsługa danych przy użyciu skryptów, np. CGI) Dokumenty aktywne (obsługa danych przy użyciu technologii Java, ActiveX itp.) 57
Wykorzystanie usług internetowych dla celów przemysłowych Sposoby prezentacji danych w usłudze WWW Program CGI, w przypadku wizualizacji przemysłowej, może pobierać dane od systemu i modyfikować zawartość przekazywanej klientowi informacji przy każdym odświeżeniu strony CGI dodaje możliwość obsługi elementów animacyjnych i kontrolnych Elementy kontrolne mogą być realizowane przez wykorzystanie mechanizmu formularzy w połączeniu z mechanizmem krótkoterminowego przekazywania informacji statusowych 58
Wykorzystanie usług internetowych dla celów przemysłowych Sposoby prezentacji danych w usłudze WWW W przypadku technik aktywnych, dla prostych stacji monitorujących wystarczającym mechanizmem jest mechanizm cyklicznego wypychania*. Jednak gdy strona zawiera dużo informacji w formie graficznej, ta metoda powoduje nieprzyjemne pulsowanie ekranu, co szczególnie w przypadku większych opóźnień staje się uciążliwe Z pomocą przychodzą tu technologie Java lub ActiveX * Comer D.: Sieci komputerowe i intersieci. WNT, Warszawa 2001 59
Wykorzystanie usług internetowych dla celów przemysłowych Dostarczanie danych w usłudze WWW W warstwie aplikacyjnej protokół HTTP, działa w oparciu o model klient-serwer Serwer tu specjalizowany abonent udostępniający i uaktualniający dokumenty. Serwer na zgłoszenie żądania transferu dokumentu od klienta. Po nadejściu żądania, serwer przesyła dokument, zamyka połączenie i czeka na kolejne żądanie Klient tu oprogramowanie przeglądarki. Konstrukcja aplikacji przeglądarki jest znacznie bardziej złożona 60
Wykorzystanie usług internetowych dla celów przemysłowych Dostarczanie danych w usłudze WWW Dokument hypertekstowy jest dokumentem multimedialnym, który może składać się z szeregu elementów typu tekst, obraz, dźwięk oraz elementów dynamicznych typu skrypty, odnośniki czy programy wykonywalne Protokół HTTP definiuje transfer takiego dokumentu jako szereg transmisji jego elementów składowych. Po odebraniu elementu połączenie z serwerem jest zamykane i jeżeli istnieje potrzeba pobrania następnego elementu, znowu zostanie otwarte dla kolejna transakcja 61
Wykorzystanie usług internetowych dla celów przemysłowych Przykładowa aplikacja WWW Wizualizacyjna stacja kliencka, wyposażona jest w przeglądarkę WWW z zestawem klientów realizujących różne usługi dostarczania, transmisji danych a także wyświetlania dokumentów WWW i interakcji z nimi Źródłem informacji dla wizualizacji jest serwer lub grupa serwerów współpracujących z aplikacjami bezpośredniej obsługi nadzorowanego procesu 62
Wykorzystanie usług internetowych dla celów przemysłowych Przykładowa aplikacja WWW Elementy statyczne ekranów pobierane są przez odczyt dokumentów statycznych Elementy kontrolne obsługiwane są przez skrypty CGI lub skrypty Java. Elementy wymagające stałego odświeżania jak wykresy czy animacje stosuje się bezpośrednie połączenia komunikacyjne, ustalane przez aplikacje wytworzone z dostarczonych siecią apletów języka Java. (Istnieją również inne usługi np.. Flash, ASP, XML, DHTML czy.net) 63
Wykorzystanie usług internetowych dla celów przemysłowych 64
Wykorzystanie usług internetowych dla celów przemysłowych Za najbardziej przydatna technologię do realizacji przemysłowych aplikacji zdalnych typu SCADA uważa się technologię Java, która jest rozwijana również pod kątem systemów czasu rzeczywistego Grupa RTJEG (ang. The Real Time Java Expert Group) Zalety i wady wykorzystywania usług WWW dla potrzeb systemów przemysłowych 65
Wykorzystanie usług internetowych dla celów przemysłowych Raportowanie Dostarczenie użytkownikowi informacji podsumowujących stan procesu. Kierunek wymiany informacji od systemu do użytkownika Korzystną usługą dla realizacji tej funkcji poczta elektroniczna. Obiektem docelowym transmisji staje się skrzynka pocztowa użytkownika. Użytkownik ma dostęp do tych informacji poprzez intersieć Raportowanie nie wymaga determinizmu wymian Sama usługa zawiera mechanizmy bezpieczeństwa 66
Wykorzystanie usług internetowych dla celów przemysłowych Monitorowanie Zdalne śledzenie wybranych parametrów procesowych oraz ich analiza Może być realizowane w trybie on-line (w czasie rzeczywistym) lub off-line (po fakcie) Proponowane są usługi FTP oraz Telnet FTP umożliwia pewną wymianę plików. Słabe mechanizmy bezpieczeństwa transmisji Telnet protokół umożliwiający interakcyjną pracę na odległym komputerze przy wykorzystaniu wirtualnego terminala znakowego. Protokół nie definiuje samej usługi korzystając z mechanizmu komunikacji można implementować niestandardowe usługi 67
Wykorzystanie usług internetowych dla celów przemysłowych Przykładowa struktura systemu otwartego z wykorzystaniem serwera WEB 68
Wykorzystanie usług internetowych dla celów przemysłowych Przykładowa struktura systemu z Firewall em++ 69
Wykorzystanie usług internetowych dla celów przemysłowych Przykładowa struktura systemu izolowanego z rozproszonymi serwerami WEB 70
Wykorzystanie usług internetowych dla celów przemysłowych Problematyka bezpieczeństwa Podstawowy problem terminowość danych oraz integralność danych Zabezpieczenia transmisji: uwierzytelnianie, autoryzacja i szyfrowanie odmiennie wykorzystywane niż w np. w e-commerce 71
Wykorzystanie usług internetowych dla celów przemysłowych Kapsułkowanie datagramu UDP 72
Wykorzystanie usług internetowych dla celów przemysłowych Kapsułkowanie pakietu TCP 73
Wykorzystanie usług internetowych dla celów przemysłowych Transmisja TCP 74
Wykorzystanie usług internetowych dla celów przemysłowych Problematyka bezpieczeństwa Podstawowy problem terminowość danych oraz integralność danych Zabezpieczenia transmisji: uwierzytelnianie, autoryzacja i szyfrowanie odmiennie wykorzystywane niż w np. w e-commerce 75
Wykorzystanie usług internetowych dla celów przemysłowych Przykład systemu z transmisją z protokołem UDP 76
Wykorzystanie usług internetowych dla celów przemysłowych Przykład systemu z transmisją z protokołem UDP 77
Wykorzystanie usług internetowych dla celów przemysłowych Przykład systemu z transmisją z protokołem UDP Wymianą danych zarządza arbiter Arbiter generuje zapytanie o zmienną (informację) i pojawia się odpowiedź producenta Wszyscy abonenci korzystający ze zmiennej mogą w tym samym czasie odczytać wartość informacji Dla sieci zamkniętej (izolowanej), wykorzystującej stos TCP/IP, gdzie brak jest obcego ruchu, taka struktura systemu gwarantuje uzyskanie zdeterminowanego w czasie dostępu do danych 78