1
Komunikacja pomiędzy S7-200 a S7-300 przy użyciu sieci PROFIBUS DP
ID: 2615830/PL
Data: 01/08/2007
Sieć PROFIBUS DP pozwala na komunikację Master-Slave, w której funkcję Slave pełni S7-
200 wraz z modułem EM277, natomiast S7-300 pracuje w trybie Master.
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
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).
2
•
Włącz ponownie zasilanie.
2. Konfiguracja CPU314C-2 DP
•
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
3
•
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 wejdź 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 wejdź w Hardware. Rozwiń Options i kliknij Install GSD File.
4
•
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.
•
Po zakończeniu instalacji rozwiń Options i kliknij Update Katalog.
5
•
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:
1.
przesyłanie danych bajt po bajcie
2.
przesyłanie danych w całości
6
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 znajdź 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.
7
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.
Rozkład przestrzeni pamięci odczytu i zapisu dla obu sterowników wygląda następująco:
8
•
Napisz program, który będzie zarządzał przesyłanymi danymi.
•
Aby przesłać większą ilość danych, należy postępować analogicznie, wybierając dla
modułu
9
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 znajdź i rozwiń
EM 277 PROFIBUS-DP. Z listy wybierz 8 Byte Buffet I/O 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 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.
10
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.
11
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.
12
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,
stała wartość
Adres początku pamięci w
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.
Funkcja DPWR_DAT
Parametr
Typ danych
Obszar danych
Opis
LADDR
WORD
I, Q, M, D, L,
stała wartość
Adres początku pamięci w
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 wskaźnika
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
13
•
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
PG/PC Interface
14
W Properties można ustawić adres stacji oraz prędkość transmisji.
Ono Diagnostics umożliwia przetestowanie wykrywalności urządzeń w sieci.
•
Załaduj program na sterownik
2. 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).
15
•
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.
16
•
Zdefiniuj Data Block dla przesyłu danych
17
•
Stwórz program główny Main(OB1)
•
•
Uruchom i skonfiguruj PG/PC Interface dla STEP 7-Micro/Win oraz komunikacji Profibus
DP.
18
PG/PC Interface
19
W Properties można ustawić adres stacji oraz prędkość transmisji.
Ono Diagnostics umożliwia przetestowanie wykrywalności urządzeń w sieci.
•
Załaduj program na sterownik
Źródło: www.siemens.pl/simatic
→
→
→
→
FAQ
Doradztwo techniczne: simatic.pl@siemens.com