s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP Sieć PROFIBUS DP pozwala na komunikację Master-Slave, w której S7-200 wraz z modułem EM277 pracują w trybie Slave, natomiast S7-300 pracuje w trybie Master. Typowa sieć PROFIBUS to jedno urządzenie Master i kilka urządzeń Slave. Urządzenie Master zawiera dane konfiguracyjne współpracujących urządzeń Slave oraz ich adresy. Master inicjalizuje komunikację oraz weryfikuje, czy stacje Slave są zgodne z danymi konfiguracyjnymi. Master w sposób ciągły zapisuje dane wyjściowe do stacji Slave oraz odczytuje z nich dane wejściowe. Poni\ej przedstawiono przykład komunikacji pomiędzy CPU224XP a CPU314C-2 DP. U\yty sprzęt: " S7-300 (CPU 314C-2 DP) " S7-200 (CPU 224XP) " moduł PROFIBUS Slave (EM 277) " Do komunikacji pomiędzy sterownikami oraz pomiędzy programatorem a sterownikiem - kabel Profibus (nr kat: 6XV18300EH10) - wtyczka Profibus (nr kat: 6ES79720BB500XA0) U\yte oprogramowanie: " STEP 7 " STEP 7-Micro/Win www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 1 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP 1. Konfiguracja modułu EM277 " Odłącz zasilanie od modułu. " Ustaw adres, który będzie widoczny w sieci PROFIBUS DP. Aby to zrobić, przekręć dolny przełącznik adresu na pozycję 5 (co oznacza przypisanie adresu 5). " Włącz ponownie zasilanie. 2. Konfiguracja S7-200 " Otwórz SIMATIC Manager i stwórz nowy projekt. " Wybierz Insert -> Subnet -> PROFIBUS. " Dwa razy kliknij na Hardware " W Hardware Catalog wybierz RACK-300 -> Rail i kliknik dwa razy " Do otwartego okna szyny dodaj wymagany sprzęt: zasilacz oraz CPU314C-2 DP www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 2 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Aby nawiązanie komunikacji z S7-200 było mo\liwe, nale\y zintegrować moduł EM277 z ustawieniami sprzętowymi w HW Config przez zainstalowanie odpowiedniego pliku GSD. Wymagany plik zale\y ściągnąć z serwisu internetowego w Niemczech. " W tym celu wejdz na stronę www.automation.siemens.com, następnie w prawym menu rozwiń Technical Info i wybierz Manuals/Operating instructions. " W nowo otwartym oknie w lewym menu rozwiń Automation systems -> SIMATIC Industrial Automation Systems -> Distributed I/Os -> PROFIBUS GSD files. W zakładce Downloads wybierz PROFIBUS GSD files: SIMATIC, a następnie wybierz i zapisz na dysku plik EM277.ZIP. " Po rozpakowaniu otwórz EM277. Plik, który nas interesuje nazywa się siem089d.gsd. " W SIMATIC Manager wejdz w Hardware. Rozwiń Options i kliknij Install GSD File. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 3 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " W oknie instalacji wybierz Browse a następnie katalog, w którym znajduje się plik siem089d.gsd. " Jeśli plik zostanie odnaleziony, w oknie instalacji pojawi się wpis z jego nazwą. Kliknij na niego i wciśnij przycisk Install. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 4 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Po zakończeniu instalacji rozwiń Options i kliknij Update Catalog. " W HW Config w polu Find wpisz EM 277 a następnie wciśnij ENTER. " Kliknij na wyszukane EM 277 PROFIBUS-DP i przeciągnij na łącze PROFIBUS. W oknie Properties wpisz adres 5, taki sam jak ustawiony wcześniej na module EM 277. " Nale\y zaplanować przestrzeń pamięci dla zapisu i odczytu zarówno w S7-300 jak i S7- 200. Wymiana danych z pozostałą przestrzenią pamięci mo\liwa jest na dwa sposoby: www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 5 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP 1. przesyłanie danych bajt po bajcie 2. przesyłanie danych w całości Ad 1. Przesyłanie danych bajt po bajcie opisano na przykładzie odczytu i zapisu dwóch bajtów. " W HW Config kliknij na ikonę modułu EM 277. Przy pomocy pola Find znajdz i rozwiń EM 277 PROFIBUS-DP. Z listy wybierz 2 Byes Out / 2 Bytes In dwukrotnie klikając. W tym momencie powinien zostać dodany wpis do listy elementów EM 277. " Prawym przyciskiem kliknij na dodany moduł i wybierz Object Properties. " W polu Address dla Output oraz Input wpisz 10 (wpisywany adres mo\e być oczywiście ró\ny dla Output i Input). Jest to początek przestrzeni pamięci przydzielonej na wysyłanie oraz odczytywanie danych. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 6 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP W polu Consistent over widnieje napis Unit. Oznacza to, \e dane mogą być przekazywane bajt po bajcie. " Kliknij prawym przyciskiem na ikonę modułu EM 277 i wybierz Object Properties. " W zakładce Parameter Assignment określ początek przestrzeni pamięci przydzielonej na odbieranie oraz wysyłanie danych. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 7 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP Rozkład przestrzeni pamięci odczytu i zapisu dla obu sterowników wygląda następująco: " Napisz program, który będzie zarządzał przesyłanymi danymi. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 8 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Aby przesłać większą ilość danych, nale\y postępować analogicznie, wybierając dla modułu EM 277 odpowiedni wpis: N Bytes(Word) Out/ M Bytes(Word) In, gdzie N liczba bajtów (słów) wysyłanych oraz M liczna bajtów (słów) odbieranych Ad 2. Przesyłanie danych w całości opisano na przykładzie odczytu i zapisu ośmiu bajtów. " W HW Config kliknij na ikonę modułu EM 277. Przy pomocy pola Find znajdz i rozwiń EM 277 PROFIBUS-DP. Z listy wybierz 8 Byte Buffer I/O dwukrotnie klikając. W tym momencie powinien zostać dodany wpis do listy elementów EM 277. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 9 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Prawym przyciskiem kliknij na dodany moduł i wybierz Object Properties. " W polu Address dla Output oraz Input wpisz 30 (wpisywany adres mo\e być oczywiście ró\ny dla Output i Input). Jest to początek przestrzeni pamięci przydzielonej na wysyłanie oraz odczytywanie danych. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 10 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP W polu Consistent over widnieje napis Total length. Oznacza to, \e dane mogą być przekazywane wyłącznie w całości. " Kliknij prawym przyciskiem na ikonę modułu EM 277 i wybierz Object Properties. " W zakładce Parameter Assignment określ początek przestrzeni pamięci przydzielonej na odbieranie oraz wysyłanie danych. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 11 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP Rozkład przestrzeni pamięci odczytu i zapisu dla obu sterowników wygląda następująco: " Napisz program, który będzie zarządzał przesyłanymi danymi. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 12 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP W celu przesyłania danych w całości do bufora komunikacji Profibus DP, wykorzystywane są dwie funkcje DPRD_DAT (SFC14) oraz DPWR_DAT (SFC15), które znajdują się w bibliotece Standard Library / System Function Block. Funkcja DPRD_DAT Parametr Typ danych Obszar danych Opis LADDR WORD I, Q, M, D, L, Adres początku pamięci w stała wartość stacji Master przeznaczonej na odczyt danych. Wymagany zapis w postaci heksadecymalnej. RET_VAL INT I, Q, M, D, L W przypadku wystąpienia błędu w komunikacji, zwraca jego numer. Przy braku błędu wynosi 0. RECORD* ANY I, Q, M, D, L Obszar pamięci w stacji Master przeznaczony dla przechowywania danych odczytanych ze Slave. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 13 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP Funkcja DPWR_DAT Parametr Typ danych Obszar danych Opis LADDR WORD I, Q, M, D, L, Adres początku pamięci w stała wartość stacji Master przeznaczonej dla wysyłania danych do Slave. Wymagany zapis w postaci heksadecymalnej. RET_VAL INT I, Q, M, D, L W przypadku wystąpienia błędu w komunikacji, zwraca jego numer. Przy braku błędu wynosi 0. RECORD* ANY I, Q, M, D, L Obszar pamięci w stacji Master, z którego dane będą pobierane dla zapisu w stacji Slave. (*) Parametr wymaga formatu ANY, którego składnia wygląda następująco (na przykładzie P#DB1.DBX100.0 BYTE 10): P# - oznaczenie wskaznika DB1 blok danych (obszar V pamięci danych w S7-200) DBX100.0 - bit określający początek przestrzeni danych BYTE - typ danych 10 - ilość danych określonego wcześniej typu " Aby przesłać inną liczbę bajtów, nale\y postępować analogicznie, wybierając dla modułu EM 277 odpowiedni wpis: N Byte buffer I/O, gdzie N liczba bajtów bufora komunikacji Profibus DP. " Uruchom i skonfiguruj PG/PC Interface dla STEP 7-Micro/Win oraz komunikacji Profibus DP www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 14 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP PG/PC Interface www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 15 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP W Properties mo\na ustawić adres stacji oraz prędkość transmisji. Okno Diagnostics umo\liwia przetestowanie wykrywalności urządzeń w sieci. " Załaduj program na sterownik 3. Konfiguracja i algorytm sterowania dla S7-200: " Uruchom STEP 7-Micro/Win i załó\ nowy projekt " W System Block ustaw prędkość transmisji dla wybranego portu (taką samą jak dla S7-300). www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 16 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " W Communications ustaw adres ID dla S7-200, następnie kliknij dwa razy Double Click to Refresh w celu odświe\enia listy urządzeń w sieci. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 17 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Zdefiniuj Data Block dla przesyłu danych www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 18 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Stwórz program główny Main(OB1). Przedstawiono poni\ej przykładowy program przesyłający po dwa bajty do przestrzeni odczytu i zapisu wykorzystując funkcję Move. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 19 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP " Uruchom i skonfiguruj PG/PC Interface dla STEP 7-Micro/Win oraz komunikacji Profibus DP. www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 20 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP PG/PC Interface www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 21 s s s s FAQ: 2615830/PL Data: 01/08/2007 Komunikacja pomiędzy sterownikami S7-200 i S7-300/400 w sieci PROFIBUS DP W Properties mo\na ustawić adres stacji oraz prędkość transmisji. Okno Diagnostics umo\liwia przetestowanie wykrywalności urządzeń w sieci. " Załaduj program na sterownik www.siemens.pl/simatic Doradztwo techniczne: simatic.pl@siemens.com 22