1
Komunikacja pomiędzy S7-200 a S7-300/S7-400 przy użyciu sieci MPI
ID: 00000004/PL
Data: 28/06/207
MPI pozwala na komunikację w trybie master/slave, gdzie S7-300/S7-400 pracuje w trybie
master, natomiast S7-200 w trybie slave. Urządzenia w sieci MPI komunikują się
wykorzystując oddzielne logiczne połączenia (zarządzane przez protokół MPI) pomiędzy
dwoma urządzeniami (Point-to-Point connection). Zarówno dla portu 0 jak i 1 są możliwe 4
połączenia z prędkościami transmisji: 19,2 kbaud lub 187,5 kbaud. Poniżej przedstawione
zostały wymagania sprzętowe dla potrzeb zrealizowania komunikacji pomiędzy sterownikiem
SIMATIC S7-200 a sterownikiem SIMATIC S7-300/S7-400.
Wymagania sprzętowe:
•
SIMATIC S7-200
•
SIMATIC S7-300/S7-400
•
Do komunikacji pomiędzy sterownikami - kabel Profibus (nr kat.6XV1 830-0EH10)
oraz wtyczki Profibus (nr kat. 6ES7 972-0BB50-0XA0)
•
Do komunikacji pomiędzy komputerem a sterownikiem, jedna z poniższych
możliwości:
- PC/PPI Multimaster (nr kat.6ES79013DB300XA0) dla S7-200
- PC Adapter (nr kat.6ES7972-0CB20-0XA0) dla S7-300/S7-400
- CP5512 (nr kat. 6GK15512AA00) dla S7-200/S7-300/S7-400
- CP5611 (nr kat.6GK15611AA01) dla S7-200/S7-300/S7-400
Wymagania programowe:
•
STEP 7
•
STEP 7-Micro/Win
2
Wykonanie komunikacji MPI wymaga przygotowania programu w STEP 7-Micro/Win dla
S7-200 oraz konfiguracji programu pod STEP 7 dla S7-300/S7-400. Konicznym jest również
wybór właściwych interfejsów komunikacyjnych w PG/PC Interface, który znajduje się w
panelu sterowania systemu operacyjnego Windows.
1. Konfiguracja STEP 7-Micro/Win:
•
Po uruchomieniu STEP 7-Micro/Win załóż nowy projekt.
•
W Communications ustaw adres ID, według którego S7-200 będzie
rozpoznawalny w sieci. Odśwież listę urządzeń w sieci przez podwójne
kliknięcie Double-Click to Refresh
•
W bloku danych Data Block zarezerwuj obszar pamięci dla zapisu lub odczytu
przez S7-300/S7-400.
•
W programie głównym MAIN (OB1) zrealizuj wymagany algorytm.
•
Uruchom i skonfiguruj PG/PC Interface dla STEP 7-Micro/Win oraz
komunikacji MPI.
PG/PC Interface
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.
3
2. Konfiguracja STEP 7:
•
Po uruchomieniu STEP 7 założyć nowy projekt.
•
W Hardware wybierz szynę, CPU pełniący funkcję master (S7-300/S7-400) oraz
ewentualnie inne moduły tego sterownika, które mają być użyte.
•
Stwórz nowy Organization Blok, w którym będzie znajdował się program
główny.
•
Stwórz blok danych Data Block, w którym będą przechowywane wysyłane oraz
odbierane dane.
•
W programie głównym należy umieścić funkcje X_PUT lub X_GET, które
obsługują odpowiednio wysyłanie oraz odbieranie danych przez MPI.
Funkcja X_PUT:
Funkcja X_PUT odwołuje się do bloku systemowego SFC68, który obsługuje wysyłanie
danych poprzez MPI.
Parametr
SFC68
Opis
REQ
E 1.1
Logiczna jedynka zezwala na zapis do S7-200.
CONT
FALSE
Przerywa połączenie po zakończeniu transferu
danych.
DEST_ID
W#16#3
Adres ID urządzenia, z którym ma zostać
nawiązana komunikacja.
VAR_ADDR
*
P#A 1.0
BYTE 1
Wskazanie do przestrzeni pamięci w S7-200, do
której mają być przesłane dane. Należy wybrać
typ danych obsługiwany przez S7-
200.
SD *
P#M 4.0
BYTE 1
Wskazanie do przestrzeni pamięci w S7-300/S7-
400, która ma zostać wysłana. Dopuszczalne są
następujące typy danych:
BOOL, BYTE, WORD, DWORD oraz tablice
wymienionych typów z wykluczeniem BOOL.
Obszar SD musi mieć taką samą długość
jak VAR_ADDR. Również typy danych muszą
być ze sobą zgodne.
4
RET_VAL
MW 21
W przypadku wystąpienia błędu, zmienna
zawiera kod błędu.
BUSY
M 12.2
Gdy BUSY=1: proces wysyłania nie został
zakończony.
Gdy BUSY=0: proces wysyłania został
zakończony lub nie jest
aktywny.
Funkcja X_GET:
Funkcja X_GET odwołuje się do bloku systemowego SFC67, który obsługuje odbieranie
danych poprzez MPI.
Parametr
SFC67
Opis
REQ
E 0.0
Logiczna jedynka zezwala na czytanie z
S7-200.
CONT
FALSE
Przerywa połączenie po zakończeniu
transmisji danych.
DEST_ID
W#16#4
Adres ID urządenia z którym ma zostać
nawiązana komunikacja.
VAR_ADDR
*
P#E0.0 BYTE1
Począwszy od bajtu 0, S7-200 czyta 1
bajt. Zakres pamięci w S7-200, która
będzie czytana.
RET_VAL
MW 10
W przypadku wystąpienia błędu,
zmienna zawiera kod błędu. Gdy nie ma
błędów, zmienna zawiera długość
odbieranego bloku danych (liczba
dodatnia)
BUSY
M 12.0
Gdy BUSY=1: proces czytania nie
został zakończony.
Gdy BUSY=0: proces czytania został
zakończony.
RD *
P#DB10.DBX0.0
BYTE 1
Referencja do przestrzeni pamięci w S7-
300/S7-400, która ma zostać nadpisana.
Dopuszczalne są następujące typy
danych: BOOL, BYTE, WORD,
5
DWORD oraz tablice wymienionych
typów z wykluczeniem BOOL. Obszar
RD musi mieć taką samą długość jak
VAR_ADDR. Również typy
danych muszą być ze sobą zgodne.
(*) 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
DBX100.0 - bit określający początek przestrzeni danych
BYTE - typ danych
10 - ilość danych określonego wcześniej typu
•
Uruchom i skonfiguruj PG/PC Interface dla STEP 7 oraz komunikacji MPI
PG/PC Interface
W Properties można ustawić adres stacji oraz prędkość transmisji (należy
ustawić taką samą prędkość jak dla SIMATIC S7-200).
Okno Diagnostics umożliwia przetestowanie wykrywalności urządzeń w sieci.
6
•
Załaduj program na sterownik.
Przykład zastosowania
Zastosowanie sieci MPI do przesłania 10 bajtów danych pomiędzy S7-300 a S7-200 (w obie
strony).
Użyty sprzęt:
•
S7-300 (CPU 315-2 DP)
•
S7-200 (CPU 222)
•
Do komunikacji pomiędzy sterownikami - kabel Profibus (nr kat. 6XV1 180-0EH10)
oraz wtyczki Profibus (nr kat. 6ES7 972-0BB50-0XA0)
•
Do komunikacji pomiędzy programatorem a sterownikiem - CP6511 (nr kat.
6GK15611AA01)
Użyte oprogramowanie:
•
STEP 7
•
STEP 7-Micro/Win
1. Konfiguracja i algorytm sterowania dla STEP 7:
•
Otwórz SIMATIC Manager i stwórz nowy projekt.
•
Wybierz Insert -> Station -> SIMATIC 300 Station
•
Dwa razy kliknij na Hardware
•
W Hardware Catalog wybierz RACK-300 -> Rail i kliknij dwa razy
•
Do otwartego okna szyny dodaj wymagany sprzęt wybierając z okna Hardware
Catalog
7
•
Zapisz i skompiluj konfigurację sprzętową a następnie załaduj na sterownik
wybierając Download na pasku narzędzi
•
Po zamknięciu okna Hardware w drzewie projektu pojawiło się CPU 315-2 DP.
•
Wybierz CPU 314 -> S7 Program(1) -> Blocks
•
Utwórz Organization Block (OB1), w którym będzie znajdował się program główny
•
Utwórz Data Block (DB1), w którym będą przechowywane dane, wysyłane
oraz odbierane z S7-200
8
W OB1 umieść funkcje X_PUT oraz X_GET, które znajdują się w bibliotekach STEP 7.
9
•
Zdefiniuj obszary pamięci w utworzonym wcześniej bloku DB1
10
•
W OB1 do wstawionych wcześniej bloków X_PUT oraz X_GET podepnij zmienne z
bloku danych DB1
11
•
Wejdź w Hardware projektu, kliknij prawym przyciskiem myszy na CPU 315-2 DP
a następnie wybierz Object Properties.
•
Dalej w zakładce General kliknij Properties... i ustaw adres dla CPU 315-2 DP różny
od adresu, jaki ma przypisany CPU 222. Jest to konieczne, ponieważ urządzenia
w sieci nie mogą mieć takich samych adresów ID.
•
Następnie w polu Subnet kliknij na MPI(1) a następnie wybierz Properties, gdzie
w zakładce Network Settings należy ustawić prędkość transmisji. Prędkość transmisji
CPU 315-2 DP musi być taka sama jak dla CPU 222!
12
•
W PG/PC Interface dokonaj odpowiednich ustawień.
13
•
Załaduj ustawienia sprzętowe na sterownik
•
Załaduj wszystkie bloki projektu na sterownik
14
2. Konfiguracja i algorytm sterowania dla STEP 7-Micro/Win:
•
Uruchom STEP 7-Micro/Win i załóż nowy projekt
•
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.
•
W System Block ustaw prędkość transmisji dla wybranego portu (taką samą jak
dla CPU 315-2 DP).
15
•
Zdefiniuj Data Block dla przesyłu danych
16
•
Stwórz program główny (Main(OB1))
17
•
W PG/PC Interface dokonaj odpowiednich ustawień.
18
•
Załaduj program na sterownik
Źródło: www.siemens.pl/simatic
→
→
→
→
FAQ
Doradztwo techniczne: simatic.pl@siemens.com