PROFIBUS MODEL KOMUNIKACJI Wstęp Poniższy dokument zawiera podstawowe informacje na temat komunikacji w systemie Profibus, urządzeń działających w tym standardzie oraz funkcji wymiany danych. Opisane zostały zależności komunikacyjne, zachowanie systemu, a także wymagania narzucone na sieć Profibus DP. Dokument jest wstępem do następnego artykułu, w którym przedstawione zostanie włączenie do sieci urządzenia Slave DP, poprawne sparametryzowanie i skonfigurowanie go przez sterownik, a następnie przejście w tryb wymiany danych. 1. Wymagania dotyczące systemu Profibus DP Aby efektywnie przełączać peryferia podłączone bezpośrednio do sterownika do zdalnych wejść/wyjść niezbędny jest szybkie przełączanie danych nie tylko danych procesowych, ale także danych diagnostycznych, konfiguracyjnych i parametryzacyjnych. Tego typu aplikacja wymaga systemu komunikacyjnego z szybkim czasem reakcji. W tabelce poniżej przedstawione są wymagania i cechy systemu Profibus DP. Wymagania Krótki czas reakcji Operacje Monomaster lub Multimaster Prosty protokół, niski koszt interfejsu komunikacyjnego Sprawdzona technologia komunikacji Świetna diagnostyka Prosty interfejs użytkownika Możliwość użycia istniejących kabli i sprzętu testowego Interoperacyjność Cechy systemu Profibus DP Wymiana danych z powyżej 1000 wejść i wyjść z 32 urządzeń w mniej niż 10ms. Hybrydowy dostęp do medium przesyłania danych zgodnie ze standardem Profibus. Zredukowana funkcjonalność układów ASIC, bez wsparcia mikroprocesorem. Gwarantowany przez system Profibus dystans Hamminga o dł. 4. Rozbudowana diagnostyka w urządzeniach Master oraz Slave. Podstawowy zestaw parametrów i danych konfiguracyjnych. Urządzenia Profibus DP i FMS mogą pracować w jednej sieci. Ta sama technologia transmisji dla wszystkich aplikacji. Precyzyjne i kompletne definicje, włączając w to definicje zachowania systemu. 2. Zachowanie systemu W typowej pracy systemu zdalnych wejść/wyjść konfiguracja pojedynczego Mastera jest sprowadzana głównie do poprawnych ustawień dotyczących czasów reakcji. W systemach o niższej prędkości możliwe są także konfiguracje z wieloma urządzeniami typu Master. Stacje w sieci Profibus
DP używają techniki odpytywania (polling) w komunikacji Master-Slave, to znaczy, że urządzenia typu Slave potrzebują ramki żądania od Mastera, aby wymienić informacje. Wymiana danych odbywa się cyklicznie. Cykl składa się przeważnie z ramki żądania wysyłanej przez stację aktywną i ramki potwierdzenia/odpowiedzi ze stacji odpowiadającej. Wyjątkiem jest funkcja global-control używana do synchronizacji i koordynacji kilku zdalnych stacji I/O. Na sieć Profibus DP może składać się kilka rodzajów urządzeń. Mogą to być urządzenia DP lub urządzenia działające zgodnie z protokołem Profibus FMS. W standardzie Profibus możemy wyróżnić kilka rodzajów urządzeń: - DP Master klasy 1 - DP Master klasy 2 - FMS Master - DP-Slave - FMS-Slave Pierwszym krokiem przed skonfigurowaniem urządzenia powinno być przydzielenie mu unikalnego adresu. W przypadku urządzeń DP-Slave adres może być ustawiany programowo, poprzez magistralę. Wszystkie urządzenia które nie mają ustawionego indywidualnego adresu, powinny być ustawione na adres domyślny 126. Tylko jedno urządzenie z danym adresem może być włączone do sieci w tym samym czasie. Nie jest dozwolone także ustawienie Mastera na adres 126. Adres urządzenia typu Slave może być zmieniony przez stację Master klasy 2. Ze względów bezpieczeństwa Master klasy 1 nie może wymieniać danych z urządzeniem ustawionym na adres 126. Aby doszło do wymiany danych Master klasy 1 powinien być poprawnie skonfigurowany. Na tą konfigurację składa się kilka parametrów i danych przyporządkowanych do poszczególnych stacji typu Slave znajdujących się w sieci. Są to dane zawierające wszystkie potrzebne informacje opisujące urządzenia typu Slave. Dodatkowo Master przechowuje parametry opisujące samą sieć, jak i tabelę adresów i przestrzeni adresowych przyporządkowanych do poszczególnych urządzeń. Jeśli Master klasy 1 posiada poprawny zestaw parametrów, zaczyna sprawdzać czy przyporządkowane mu urządzenia typu Slave są obecne w sieci. Po otrzymaniu poprawnych odpowiedzi Master ustawia wysyła ramkę parametryzacyjną i przechodzi do sprawdzenia konfiguracji stacji Slave. Urządzenia typu Slave będą akceptowały sprawdzenie konfiguracji tylko ze stacji Master, która dokonała parametryzacji. Po wykonaniu poprawnie tych dwóch zadań, Master sprawdza status urządzenia czytając dane diagnostyczne. Jeśli konfiguracja oraz parametryzacja przebiegły pomyślnie, Master wprowadza stację typu Slave w tryb wymiany danych (data exchange). Stacje Slave akceptują ramkę z żądaniem przejścia w tryb wymiany danych tylko ze stacji, która wykonała wcześniej parametryzację oraz konfigurację urządzenia. Master klasy 1. może wysłać do urządzenia nową ramkę parametryzacyjną bez wymuszania na nim wyjścia ze stanu wymiany danych. Dodatkowo Master klasy 2 ma możliwość odczytywania diagnostyki każdego urządzenia typu Slave oraz stanu jego wejść i wyjść. Jeśli w urządzeniu typu Slave pojawi się zdarzenie świadczące o żądaniu podania diagnostyki, to zdarzenie jest sygnalizowane przesłaniem ramki odpowiedzi z priorytetem ustawionym na wysoki. Master ma obowiązek przeczytać taką ramkę i poinformować o tym fakcie swoich lokalnych użytkowników.
Master klasy 2 może przejąć kontrolę nad urządzeniem Slave. W takim wypadku Master klasy 2 zatrzymuje wymianę danych między urządzeniem Slave a Masterem klasy 1. Master klasy 1 rozpoznaje ten stan i zaczyna cyklicznie odpytywać daną stacje Slave o dane diagnostyczne. Sprawdzane jest pole Master-address tak długo, jak zawiera ono poprawną wartość. W chwili gdy Master klasy 2 kończy swoją komunikację z urządzeniem Slave, ustawia on wartość pola Masteraddress na wartość niepoprawną. To pozwala Masterowi klasy 1 powtórnie przejąć kontrolę. Ponownie wysyła on ramkę parametryzacyjną i konfiguracyjną. 3. Synchronizacja System Profibus DP posiada możliwość synchronizacji danych wejściowych oraz wyjściowych. Robione jest to za pomocą komend Global_Control wysyłanych jednocześnie ze stacji Master do jednego urządzenie, grupy lub wszystkich urządzeń typu Slave. Odbierając komendę typu Freeze adresowane stacje Slave przesyłają zawartość swoich danych wejściowych do specjalnego bufora. Jeśli Master wyśle następnie komendę Read, stacje Slave odeślą zamrożone wcześniej dane ignorując dane nadchodzące w międzyczasie. Odbierając komendę typu Sync stacje Slave zapisują w specjalnym buforze dane wyjściowe ostatnio wysyłane przez stację Master. Następne dane wyjściowe odebrane za pomocą komendy Data_Exchange będą składowane i nie przekazywane do bufora wyjściowego aż do nadejścia następnej komendy Sync lub wyłączenia Sync-Mode. Master klasy 1 wysyła do dedykowanych mu stacji Slave informację o trybie synchronizacji, w którym sam się znajduje. Ta informacja jest przekazywana przy każdej zmianie trybu synchronizacji mastera klasy 1, lub pojawia się podczas przesyłania parametryzacji. 4. Urządzenia złożone Poza urządzeniami wymienionymi w sekcji Zachowanie systemu jest możliwe zbudowanie urządzeń łączących w sobie kilka funkcjonalności. Możliwe kombinacje to: - Master klasy 1 i Master klasy 2 - Master DP i Master FMS - Slave DP i Slave FMS - Slave DP z funkcją respondera Mastera DP klasy 1, o funkcjonalności DDLM i interfejsu użytkownika. 5. Model komunikacji Profibus DP nie tylko opisuje funkcje komunikacyjne, ale także pewne na stałe zakodowane aplikacje DP. Zgodnie z modelem ISO te funkcjonalności są umiejscowione w interfejsie użytkownika. Aplikacje DP zależą od klasy urządzenia (Master DP klasy 1, Master DP klasy 2, Slave DP). Ze względów wydajnościowych protokół DP nie ma warstwy aplikacji (warstwa 7). Profibus DP używa jedynie serwisów wymiany danych FDL i FMA1/2. Do wykorzystania bardziej komfortowej warstwy 2, użytkownik potrzebuje funkcjonalności DDLM (Direct Data Link Mapper) z predefiniowanymi funkcjami komunikacji DP.
6. Architektura Protokołu Urządzenia Profibus wykorzystują 1 i 2 warstwę komunikacyjną ISO/OSI. Warstwy 3,4,5,6,7 są puste. Rys. 1. Model warstwowy Profibus DP Programy użytkownika w urządzeniach Master klasy 1 i Master klasy 2 komunikują się poprzez interfejs użytkownika wykorzystując predefiniowane aplikacje Profibus DP.
Rys. 2. Model komunikacyjny Interfejs użytkownika w Masterze DP klasy 1 posiada zaimplementowane następujące funkcjonalności do wymiany danych z urządzeniami typu Slave: - odczyt informacji diagnostycznych z urządzenia Slave DP - cykliczny odczyt danych użytkownika - sprawdzanie parametryzacji oraz konfiguracji - obsługa komend kontrolnych Funkcje te są wykonywane niezależnie od użytkownika. Połączenie pomiędzy użytkownikiem a interfejsem użytkownika zapewnie kilka serwisów oraz wspólna baza danych. Dodatkowo w komunikacji pomiędzy Masterem DP klasy 2 a urządzeniami Slave DP mogą zostać zaimplementowane następujące funkcje: - odczyt konfiguracji urządzenia Slave DP - odczyt wartości wejść/wyjść - przyporządkowanie adresu urządzeniu Slave DP Master DP klasy 2 wywołuje następujące funkcje Mastera DP klasy 1: - odczyt informacji diagnostycznych urządzeń Slave przyporządkowanych do danego Mastera klasy 1 - odczyt i zapis parametrów
- aktywowanie parametrów sieci - aktywacja i deaktywacja urządzeń Slave DP - wybór trybu pracy Mastera DP klasy 1. Powyższe funkcje są wykonywane przez użytkownika Mastera klasy 1. Funkcjonalność DDLM oferuje użytkownikom oraz interfejsowi użytkownika wszystkich trzech typów urządzeń komfortowy dostęp do drugiej warstwy ISO w standardzie Profibus. 7. Zależności komunikacyjne W standardzie Profibus DP występują dwa typy komunikacji: - jeden do jednego - jeden do wielu (Multicast) Rodzaj komunikacji zależy od rodzaju dostępu dla różnego typu stacji: komunikacja Master-Slave - pomiędzy Masterem DP klasy 1 a Slavem DP - pomiędzy Masterem DP klasy 2 a Slavem DP komunikacja Master-Master - pomiędzy Masterem DP klasy 1 a Masterem DP klasy 2 Wszystkie rodzaje komunikacji działają niezależnie. W systemie komunikacji Master-Slave inicjatorem komunikacji jest zawsze Master. W komunikacji Master-Master inicjatorem jest zawsze stacja Master klasy 2. Cała komunikacja Master-Slave z wyjątkiem funkcji DDLM_Global_Control jest komunikacją typu jeden do jednego. Rys. 3. Komunikacja Master-Slave jeden do jednego Funkcja DDLM_Global_Control używana w komunikacji Master-Slave jest funkcją jeden do wielu. Jest ona wywoływana przez stację Master klasy 1 lub 2 i kierowana do przyporządkowanych stacji typu Slave. To przyporządkowanie ma miejsce podczas parametryzacji urządzeń Slave DP. Ochrona dostępu warstwy 2 jest aktywowana przy przejściu w tryb wymiany danych (data exchange). Stacje
typu Slave DP przyporządkowane do stacji Master mogą być podzielone na mniejsze grupy za pomocą selektora przesłanego w odpowiednim bajcie danych. Rys. 4. Komunikacja jeden do wielu, funkcja DDLM_Global_Control Cała komunikacja Master-Master jest mapowana jeden do jednego. Rys. 5. Komunikacja Master-Master, jeden do jednego Wyjątkiem od tej zasady może być funkcja DDLM_Act_Para_Brct, która może być mapowana jako jeden do wielu.
Rys. 6. Komunikacja Master-Master, jeden do wielu, funkcja DDLM_Act_Para_Brct Przegląd funkcji komunikacyjnych systemu Profibus DP: Master odczyt diagnostyki Używając tej funkcji Master DP klasy 1 odczytuje informacje diagnostyczne z przyporządkowanych mu stacji typu Slave. Informacje te zawierają przegląd stanów znaczących modułów urządzenia. Odczyt i zapis parametrów Ta funkcjonalność pozwala na przesyłanie parametrów pomiędzy dwoma stacjami Master DP. Parametrami tymi mogą być np. parametry sieci, czy parametry urządzeń typu Slave. W tym drugim przypadku funkcjonalność jest używana do sprawdzenia konfiguracji przyporządkowanych Masterowi stacji Slave. Aktywacja parametrów sieci Jest używana do aktywacji wcześniej załadowanych parametrów sieci. Aktywacja/deaktywacja stacji Slave DP Za pomocą tej funkcji master DP jest zmuszony do rozpoczęcia lub zakończenia odpytywania stacji Slave DP. Odczyt diagnostyki ze stacji Slave DP Używana przez aplikację do odczytu informacji diagnostycznych z urządzeń Slave DP. Wymiana danych wejść/wyjść Ta funkcjonalność jest używana do cyklicznej wymiany danych między Masterem DP klasy 1 a skojarzonymi z nim stacjami Slave DP. Ilość danych wejściowych i wyjściowych jest definiowana w danych konfiguracyjnych podczas startu systemu DP.
Parametryzacja stacji Slave DP Za pomocą tej funkcji ustawiane są parametry urządzenia Slave DP przy starcie systemu, po restarcie i trybie wymiany danych. Część parametrów jest specyficzna dla urządzeń typu Slave DP, a część jest przyporządkowana do konkretnych pojedynczych stacji. Sprawdzanie konfiguracji stacji Slave DP Ta funkcja służy do sprawdzania konfiguracji urządzeń Slave DP. Głównym celem jest zdefiniowanie liczby i struktury danych wejściowych i wyjściowych. Wysyłanie komend kontrolnych do stacji Slave DP Master może wysłać komendę kontrolną do pojedynczej stacji lub do grupy urządzeń. Komendy kontrolne są rozróżniane za pomocą ustawianego parametru. Odczyt konfiguracji stacji Slave DP Jeśli Master nie ma danych konfiguracyjnych stacji Slave DP, może je odczytać za pomocą tej funkcji. Odczyt danych wejścia/wyjścia stacji Slave DP Ta funkcja pozwala wszystkim stacjom typu Master na odczyt danych wejścia/wyjścia stacji Slave DP, pod warunkiem, że stacja ta jest aktualnie pod kontrolą danego Mastera. Zmiana adresu stacji Slave DP Zmiana adresu może być przeprowadzona przez stację Master DP podczas inicjalizacji. 8. Komunikacja Master-Slave Żądania komunikacji są inicjowane przez interfejs użytkownika urządzenia Master i są przekazywane do DDLM poprzez podstawową funkcję typu Request (.req). Potwierdzenie ze strony DDLM zostaje otrzymane za pomocą podstawowej funkcji typu Confirm (.con). W zależności od rodzaju funkcji DDLM można wyróżnić cztery sekwencje przekazywania danych między użytkownikiem/interfejsem użytkownika, DDLM i warstwą 2 Profibus. Wszystkie funkcje komunikacji Master-Slave są wykonywane w jednym cyklu na warstwie 2 (tzw. natychmiastowa odpowiedź), to znaczy że dane, które mają być odczytane ze stacji Slave DP nie są przekazywane w sekwencji indication-response, ale awansem za pomocą podstawowej funkcji warstwy 2 Upd.req. Kodowanie funkcji DDLM jest wykonane przy pomocy zdefiniowanych na warstwie drugiej punktów dostępu dla poszczególnych serwisów (Serwis Access Point SAP). Taki rodzaj kodowania jest wystarczający dla DDLM w przypadku komunikacji Master-Slave.
Rys. 7. Transfer danych w komunikacji Master-Slave dla funkcji DDLM_Data_Exchange, DDLM_Slave_Diag Rys. 8. Transfer danych w komunikacji Master-Slave dla funkcji RD_Inp, RD_Outp, Get_Cfg
Rys. 9. Transfer danych w komunikacji Master-Slave dla funkcji Set_Prm, Chk_Cfg, Set_Slave_Add Rys. 10. Transfer danych w komunikacji Master-Slave dla funkcji DDLM_Global_Control 9. Komunikacja Master-Master Żądania komunikacji są inicjowane przez interfejs użytkownika urządzenia Master klasy 2 i są przekazywane do DDLM poprzez podstawową funkcję typu Request (.req). Potwierdzenie ze strony DDLM zostaje otrzymane za pomocą podstawowej funkcji typu Confirm (.con). W zależności od rodzaju funkcji DDLM można wyróżnić dwa rodzaje sekwencji przekazywania danych pomiędzy użytkownikiem a DDLM. Funkcje komunikacji Master-Master są wykonywane w jednym lub większej ilości cykli na warstwie 2. Master DP klasy 1 procesuje wszystkie funkcje komunikacyjne z wyjątkiem DDLM_Act_Para_Brct z sekwencją Indication-Response. Kodowanie funkcji DDLM jest wykonane przy pomocy zdefiniowanych na warstwie drugiej punktów dostępu dla poszczególnych serwisów (Serwis Access Point SAP). Dodatkowo komunikacja Master- Master potrzebuje większej liczby kodowanej informacji. Jest ona przekazywana przez DDLM w pierwszym bajcie Data-Unit na warstwie 2. Dla urządzeń które używają zarówno komunikacji Profibus DP, jak i Profibus-FMS funkcje DDLM można zastąpić serwisami FMS zgodnie z definicjami serwisów z warstwy aplikacji.
Rys. 11. Transfer danych w komunikacji Master-Master dla wszystkich funkcji poza DDLM_Act_Para_Brct Rys. 12. Transfer danych w komunikacji Master-Master dla funkcji DDLM_Act_Para_Brct
Lista używanych skrótów DP Decentralized Peripherals FDL Field Data Link FMA Fieldbus Management FMS Fieldbus Message Specification SAP Service Access Point Organizacja Profibus PNO Polska Konrad Jastrząb www.profibus.org.pl poland@profibus.com Opracowano na podstawie normy Profibus.