background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

1

   

Poni

Ŝ

szy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC  

S7–300/S7–400, w celu stworzenia komunikacji mi

ę

dzy dwoma stacjami S7–300 za pomoc

ą

 

sieci MPI i funkcji X_PUT/X_GET 
 
 
1.  Podstawowe informacje 
 
Funkcje X_PUT/X_GET oznaczone jako SFC67/SFC68 s

ą

 cz

ęś

ci

ą

 systemu operacyjnego 

sterowników serii S7. Funkcje SFC nie s

ą

 ładowane jako cz

ęść

 programu. SFC s

ą

 blokami 

‘bez pami

ę

ci’.  

Funkcja X_GET pozwala na odczyt danych z jednostek bior

ą

cych udział w komunikacji. 

Funkcja  X_PUT pozwala na zapis danych w jednostkach bior

ą

cych udział w komunikacji. 

Zarówno w przypadku funkcji X_PUT jak i X_GET w jednostkach, z którymi nawi

ą

zywana 

jest komunikacja nie umieszcza si

ę

 odpowiadaj

ą

cych SFC.  

 
 
2.  Zało

Ŝ

enia projektu 

 

 

 
Komunikacja za pomoc

ą

 protokołu MPI pozwala utrzymywa

ć

 transmisj

ę

 danych w granicach 

187.5 kbps – 12 Mbps
Segment sieci mo

Ŝ

e zawiera

ć

 maksymalnie 32 w

ę

zły. 

Maksymalna rozpi

ę

to

ść

 segmentu bez konieczno

ś

ci stosowania repeaterów wynosi 50m

Maksymalna ilo

ść

 urz

ą

dze

ń

, które mo

Ŝ

na podł

ą

czy

ć

 do sieci wynosi 126

Maksymalna liczba CPU bior

ą

cych udział w wymianie danych wynosi 15

Maksymalna wielko

ść

 przesyłanego pakietu wynosi odpowiednio: 

- dla S7-300 - 22 bajty 
- dla S7-400 – 54 bajty 
Maksymalna ilo

ść

 przesyłanych pakietów zale

Ŝ

y od rodzaju CPU i mo

Ŝ

e by

ć

 ich lub 8

 
 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

2

   

3. Wywołanie i parametryzacja funkcji X_PUT/X_GET 
 
3.1 
Po wprowadzeniu konfiguracji sprz

ę

towej do projektu z drzewa struktury projektu 

wybieramy stacj

ę

, dla której chcemy wywoła

ć

 funkcj

ę

 i w zakładce S7 Program(2) klikamy na 

symbol Blocks (Rys. 1). 
 

 

 

 

 
 

3.2 W oknie projektu powinien by

ć

 widoczny główny blok organizacyjny OB1, w którym 

b

ę

dzie znajdował si

ę

 program główny. Nale

Ŝ

y jeszcze doda

ć

 blok danych, w którym b

ę

d

ą

 

przechowywane dane odbierane i wysyłane przez CPU. W tym celu w pustym polu klikamy 
prawym przyciskiem myszy i wybieramy Insert New Object 

 Data Block (Rys. 2). 

 

 

 

 

 
 
 
 

Rys. 1 

 

Rys. 2 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

3

   

3.3 W oknie wła

ś

ciwo

ś

ci tworzonego bloku danych potwierdzamy polecenie utworzenia bloku 

klikaj

ą

OK (Rys. 3).  

 

 

 
 
 
3.4 Wchodzimy do głównego bloku programu, klikaj

ą

c dwukrotnie symbol OB1 w głównym 

oknie projektu (Rys. 4) 
 

 

 
 
 
  
 
 
 
 
 

Rys. 3 

 

Rys. 4 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

4

   

3.5 W bloku organizacyjnym OB1 wywołujemy funkcje X_SEND. Z listy elementów programu 
wybieramy Libraries 

 Standard Library 

 System Function Blocks (Rys. 5). 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Rys. 5 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

5

   

3.6 Z listy System Function Blocks wybieramy interesuj

ą

cy nas blok SFC65 i klikaj

ą

dwukrotnie w jego symbol umieszczamy go w projekcie (Rys. 6).  
 

 

 
 
 
 
 
 
 

Rys. 6 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

6

   

Poni

Ŝ

ej został umieszczony opis parametrów funkcji X_PUT/X_GET. 

 
 

X_GET (SFC67) 

Parametr 

Opis 

REQ 

Logiczna jedynka zezwalaj

ą

ca na odczytanie danych z okre

ś

lonej stacji 

CONT 

Przerywa poł

ą

czenie po zako

ń

czeniu transferu danych 

DEST_ID 

Adres ID urz

ą

dzenia, z którym ma zosta

ć

 nawi

ą

zana komunikacja 

VAR_ADDR  Wska

ź

nik do przestrzeni pami

ę

ci, z której maj

ą

 by

ć

 odczytane dane. 

RET_VAL 

W przypadku wyst

ą

pienia bł

ę

du zmienna zawiera jego kod, w przypadku braku 

ę

du zmienna zawiera długo

ść

 odbieranego bloku danych  

BUSY 

Gdy BUSY=1: proces czytania nie został zako

ń

czony. 

Gdy BUSY=0: proces czytania został zako

ń

czony lub nie jest aktywny. 

RD 

Wska

ź

nik do przestrzeni pami

ę

ci, która ma zosta

ć

 nadpisana przez pobrane 

dane. 

 
 
 

X_PUT (SFC68) 

Parametr 

Opis 

REQ 

Logiczna jedynka zezwalaj

ą

ca na zapis w pami

ę

ci stacji docelowej 

CONT 

Przerywa poł

ą

czenie po zako

ń

czeniu transferu danych 

DEST_ID 

Adres ID urz

ą

dzenia, z którym ma zosta

ć

 nawi

ą

zana komunikacja 

VAR_ADDR 

Wska

ź

nik do przestrzeni pami

ę

ci, do której maj

ą

 by

ć

 przesłane i zapisane 

dane. 

SD 

Wska

ź

nik 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. 

RET_VAL 

W przypadku wyst

ą

pienia bł

ę

du zmienna zawiera jego kod, w przypadku braku 

ę

du zmienna zawiera długo

ść

 wysyłanego bloku danych. 

BUSY 

Gdy BUSY=1: proces wysyłania nie został zako

ń

czony. 

Gdy BUSY=0: proces wysyłania został zako

ń

czony lub nie jest aktywny. 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

7

   

3.7  Wchodzimy do wcze

ś

niej utworzonego bloku danych DB1 aby zdefiniowa

ć

 potrzebne 

obszary pami

ę

ci. W tym celu w głównym oknie projektu dwukrotnie klikamy symbol DB1 

(Rys. 7). 
 

 

 

 
 

 

 
3.8  Poni

Ŝ

ej przedstawiona jest zawarto

ść

 bloku danych DB1 (Rys. 8). 

 

 

 
 
 
Parametry VAR_ADDR, SD, RD nale

Ŝ

y zdefiniowa

ć

 jako wska

ź

niki do interesuj

ą

cych nas 

obszarów pami

ę

ci w zwi

ą

zku z tym nie mo

Ŝ

na ich zdefiniowa

ć

 w bloku danych. Trzeba to 

zrobi

ć

 bezpo

ś

rednio w głównym bloku programu OB1. 

 
 
 

Rys. 7 

 

Rys. 8 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

8

   

3.9 Wchodzimy do bloku OB1 i  przypisujemy zdefiniowane zmienne do odpowiednich 
parametrów funkcji X_PUT/X_GET (Rys. 9). 
 

 

 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Rys. 9 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

9

   

3.10 Poni

Ŝ

ej pokazane s

ą

 sparametryzowane bloki SFC67 i SFC68 (Rys. 10) 

 

 

 

 

 
 
 
 
 
 
 

Rys. 10 

 

background image

s

s

s

s

 

 

 

 

FAQ: 00000016/PL     Data: 19/03/2008 

Komunikacja w protokole MPI za pomoc

ą

 funkcji X_PUT/X_GET pomi

ę

dzy sterownikami S7-300 

 

www.siemens.pl/simatic  
Doradztwo techniczne: simatic.pl@siemens.com 

 

10

   

3.11 Nast

ę

pnie nale

Ŝ

y załadowa

ć

 program do wszystkich CPU, w  których wywoływali

ś

my 

blok SFC67 i/lub SFC68. W tym celu wracamy do głównego okna projektu SIMATIC 
Managera i w oknie struktury projektu zaznaczamy jednostk

ę

, do której chcemy załadowa

ć

 

program. Nast

ę

pnie naciskamy przycisk Download na pasku narz

ę

dzi (Rys. 11). Identycznie 

post

ę

pujemy dla innych jednostek zawartych w projekcie. 

 

 

Rys. 11