Sie sind auf Seite 1von 14

Deckblatt

Topologiedaten eines PROFINET IO-


Systems auslesen
SFB52 RDREC
FAQ September 2009

Service & Support
Answers for industry.
Fragestellung



2
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

Dieser Beitrag stammt aus dem Service&Support Portal der Siemens AG, Sector
Industry, Industry Automation and Drive Technologies. Es gelten die dort
genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen).

Durch den folgenden Link gelangen Sie direkt zur Downloadseite dieses
Dokuments.
http://support.automation.siemens.com/WW/view/de/38566021
Frage
Wie knnen Sie im Anwenderprogramm einer S7-300 oder S7-400 CPU mit
integrierter PN-Schnittstelle die aktuelle Topologie des angeschlossenen
PROFINET IO-Systems auslesen?
Antwort
Folgen Sie zur umfassenden Beantwortung dieser Frage den in diesem Dokument
aufgefhrten Handlungsanweisungen und Hinweisen.

Inhaltsverzeichnis

SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021 3

Inhaltsverzeichnis
1 Einleitung ........................................................................................................... 4
2 Aufbau des PROFINET-IO Systems ................................................................. 5
2.1 bersicht.............................................................................................. 5
2.2 Beschreibung....................................................................................... 5
3 Konfiguration und Projektierung ..................................................................... 7
3.1 S7-Programm....................................................................................... 7
3.2 Parametrierung des SFB52 RDREC................................................. 7
3.3 Aufbau des Datensatzinformationen.................................................. 11
4 Alternativlsung .............................................................................................. 13
4.1 CP343-1 als PROFINET IO-Controller............................................... 13
4.2 Unterschied SFB52 RDREC und FB52 PNIO_RW_REC............. 14

1 Einleitung



4
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

1 Einleitung
In diesem Beitrag zeigen wir Ihnen wie Sie im Anwenderprogramm einer S7-300
bzw. S7-400 CPU mit integrierter PN-Schnittstelle die aktuelle Topologie des
angeschlossenen PROFINET IO-Systems auslesen knnen.
Dies wird z.B. in Anlagen bentigt, wo Werkzeuge an verschiedenen Stellen
innerhalb der Anlage verwendet werden und sich somit die Verschaltung der
PROFINET IO-Teilnehmer ndert.
Beispiel
Abbildung 1-1
Bock 1(IO-Device) (IO-Device) (IO-Device)
(IO-Device) (IO-Device) (IO-Device)
IO-Controller
IO-Device
Bock 2 Bock 3
Bock 4 Bock 5 Bock 6
CPU 315-2PN/DP
SCALANCE X208
Zug
Ein Zug wird durch 6 Bcke angehoben. Die Bcke stehen jedoch immer an einem
anderen Platz. ber die Topologie kann nun herausgefunden werden welche
Bcke sich gegenberstehen und knnen entsprechend gesteuert werden.
Mit dem SFB52 RDREC unter Verwendung der Datensatznummer 802A (hex)
knnen Sie die Nachbarschaftsinformationen von Ports auslesen. Somit ermitteln
Sie die Topologiedaten der PROFINET IO-Teilnehmer. Diese knnen Sie im
Anwenderprogramm auswerten und weiterverarbeiten.
2 Aufbau des PROFINET-IO Systems

SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021 5

2 Aufbau des PROFINET-IO Systems
2.1 bersicht
Abbildung 2-1
CPU 315-2PN/DP
PROFINET IO-Controller
SCALANCE X208
IP-Adresse:
192.168.0.10
IP-Adresse:
192.168.0.21
PROFINET IO-Device
Port 5 = lokal er Port
PROFINET IO-Device
S7-300 mit CP343-1GX30
IP-Adresse:
192.168.0.19
Port 1 = remoter Port
SIMATIC Field PG
IP-Adresse:
192.168.0.100
Portname: port-001
Gertename: cp343-1
MAC-Adresse: 00-0E-8C-A4-AA-9A
Nachbarschaftsinformationen
Portname: port-005
Anzahl remote Partner: 1
Nachbarschaftsinformationen
STEP 7

2.2 Beschreibung
In diesem Beispiel wird eine S7-300 CPU 315-2PN/DP als PROFINET IO-
Controller eingesetzt. Im PROFINET IO-System der CPU 315-2PN/DP werden
folgende Baugruppen als PROFINET IO-Devices eingesetzt:
SCALANCE X208 (6GK5 208-0BA10-2AA3)
CP343-1 Advanced (6GK7 343-1GX30-0XE0)
Das SIMATIC Field PG mit STEP 7 wird zur Konfiguration des PROFINET IO-
Systems bentigt.
Der PROFINET IO-Controller und die PROFINET IO-Devices befinden sich im
selben IP-Subnetz. In diesem Beispiel werden folgende IP-Adressen verwendet.
Tabelle 2-1
Gert IP-Adresse Subnetzmaske
SIMATIC Field PG 192.168.0.100 255.255.255.0
CPU 315-2PN/DP 192.168.0.10 255.255.255.0
SCALANCE X208 192.168.0.21 255.255.255.0
CP343-1 Advanced 192.168.0.19 255.255.255.0
Der Port 1 des CP343-1 Advanced ist am Port 5 des SCALANCE X 208
angeschlossen.
Im Anwenderprogramm der CPU 315-2PN/DP werden mit dem
Systemsfunktionsbaustein SFB52 RDREC unter Verwendung der
Datensatznummer 802A (hex) die Nachbarschaftsinformationen vom Port 5 des
SCALANCE X208 ausgelesen. Die Nachbarschaftsinformationen enthalten
Informationen vom lokalen Port 5 des SCALANCE X208 und vom remoten Port 1
des CP343-1 Advanced.
2 Aufbau des PROFINET-IO Systems



6
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

Mit dem Auslesen der Nachbarschaftsinformationen sind im Anwenderprogramm
die Topologiedaten vorhanden und knnen ausgewertet werden.
In diesem Beispiel werden folgende Nachbarschaftsinformation zur Auswertung
und Weiterverarbeitung im Anwenderprogramm der CPU 315-2PN/DP bentigt:
Tabelle 2-2
Topologiedaten Beschreibung Wert
Lnge des lokalen
Portnamens
Lnge des Namens vom Port 5 des
SCALANCE X208
8
Name des lokalen Ports Name vom Port 5 des SCALANCE X208 port-005
Anzahl der remoten Partner In diesem Beispiel ist ein PROFINET IO-
Device, nmlich der CP343-1 Advanced,
am Port 5 des SCALANCE X208
angeschlossen.
1
Lnge des remoten
Portnamens
Lnge des Namens vom Port 1 des
CP343-1 Advanced
8
Name des remoten Ports Name vom Port 1 des CP343-1
Advanced
port-001
Lnge des remoten
Gertenamens
Lnge des Gertenamens vom CP343-1
Advanced
5
remoter Gertename Gertename des CP343-1 Advanced, der
am Port 5 des SCALANCE X208
angeschlossen
cp343
remote MAC-Adresse MAC-Adresse des CP343-1 Advanced,
der am Port 5 des SCALANCE X208
angeschlossen ist
00-0E-8C-
A4-AA-9A
3 Konfiguration und Projektierung

SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021 7

3 Konfiguration und Projektierung
3.1 S7-Programm
bersicht zum Aufbau des S7-Programms
In diesem Beispiel werden die Nachbarschaftsinformationen vom Port 5 des
SCALANCE X208 mit dem Systemfunktionsbaustein SFB52 RDREC unter
Verwendung der Datensatznummer 802A (hex) ausgelesen.
Den Systemfunktionsbaustein SFB52 RDREC finden Sie in der Standard Library
System Function Blocks Blocks von STEP 7.
Der SFB52 RDREC wird im S7-Programm des CPU315-2PN/DP aufgerufen, die
als PROFINET IO-Controller fungiert.
In der folgenden Abbildung 3-1 ist der Aufbau des S7-Programms der CPU315-
2PN/DP schematisch dargestellt.
Abbildung 3-1
OB1
call
DB54
SFB52

Erluterungen zum S7-Programm
Im S7-Programm der CPU 315-2PN/DP wird der Systemsfunktionsbaustein SFB52
RDREC inklusive Instanz-Datenbaustein DB54 zyklisch im OB1 aufgerufen.
3.2 Parametrierung des SFB52 RDREC
bersicht zum SFB52 RDREC
Abbildung 3-2
BOOL
DWORD
INT
INT
ANY
REQ
ID
INDEX
RECORD
MLEN
VALID
BUSY
ERROR
STATUS
LEN
BOOL
BOOL
BOOL
DWORD
INT
RDREC
DB54

Beschreibung
Mit dem SFB52 RDREC (read record) lesen Sie den Datensatz mit der Nummer
INDEX von der mittels ID adressierten Komponente. Es kann sich dabei um eine
zentrale steckende Baugruppe oder eine dezentrale Komponente (PROFINET DP
oder PROFINET IO) handeln.
In diesem Beispiel lesen Sie die Datensatznummer 802A (hex) von einer
dezentralen Komponente. Die dezentrale Komponente ist der SCALANCE X208,
der als PROFINET IO-Device konfiguriert ist.
3 Konfiguration und Projektierung



8
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

Eingangsparameter
Die folgende Tabelle zeigt Ihnen eine bersicht der Eingangsparameter des
SFB52 RDREC.
Tabelle 3-1
Parameter Datentyp Beschreibung
REQ BOOL REQ=1: Datensatzbertragung durchfhren
REQ=0: Datensatzbertragung beenden
ID DWORD Diagnoseadresse
INDEX INT Datensatznummer
MLEN INT Max. Lnge der zu lesenden
Datensatzinformationen in Bytes
RECORD ANY Zielbereich fr den gelesenen Datensatz
Ausgangsparameter
Die folgende Tabelle zeigt Ihnen eine bersicht der Ausgangsparameter des
SFB52 RDREC.
Tabelle 3-2
Parameter Datentyp Beschreibung
VALID BOOL Neuer Datensatz wurde empfangen und ist gltig
BUSY BOOL BUSY=1: Der Lesevorgang ist noch nicht beendet
ERROR BOOL ERROR=1: Beim Lesevorgang trat ein Fehler auf
STATUS DWORD Bausteinstatus bzw. Fehlerinformation
LEN INT Lnge der gelesenen Datensatzinformationen
Parametrierung
Abbildung 3-3


3 Konfiguration und Projektierung

SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021 9

Der SFB52 RDREC wird wie folgt beschrieben parametriert:
In diesem Beispiel wird der Eingangsparameter REQ ber das Merkerbit M0.5
gesteuert. Setzen Sie das Merkerbit M0.5 =true, um das Lesen der
Datensatznummer 802A (hex) durchzufhren. Wenn Sie das Merkerbit M0.5 =
false zurcksetzen, dann wird das Lesen der Datensatznummer 802A (hex)
beendet.
Am Eingangsparameter ID geben Sie Diagnoseadresse des Ports an von dem die
Nachbarschaftsinformationen gelesen werden sollen. In diesem Beispiel werden
die Nachbarschaftsinformationen vom Port 5 des SCALANCE X208 gelesen. Somit
geben Sie am Eingangsparameter ID die Diagnoseadresse 0x7F5 vom Port 5 des
SCALANCE X208 an. Diese entnehmen Sie aus der Hardware-Konfiguration der
CPU 315-2PN/DP (siehe Abbildung 3-4).
Abbildung 3-4
Diagnoseadresse: 2037 (dez) =7F5 (hex)
Am Eingangsparameter INDEX geben Sie die Datensatznummer 802A (hex) an. In
diesem Beispiel wird die Datensatznummer in folgendem Speicherbereich
zwischengespeichert:
Merker (Die Datensatznummer wird im MW 100 zwischengespeichert.)
Alternativ knnen Sie das Datensatznummer in folgenden Speicherbereichen
zwischenspeichern:
Datenbaustein
Eingang
Ausgang
Am Eingangsparameter INDEX geben Sie den Speicherbereich an, z.B. MW 100,
in dem die Datensatznummer gespeichert ist.
Mit dem Eingangsparameter MLEN geben Sie vor, wie viele Bytes Sie maximal
lesen mchten. In diesem Beispiel werden max. 300 Bytes gelesen.
3 Konfiguration und Projektierung



10
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

Whlen Sie den Zielbereich RECORD mindestens so gro wie die Anzahl der
Bytes, die maximal gelesen werden sollen. In diesem Beispiel wird ein
Datenbaustein, z.B. DB10, als Zielbereich gewhlt. Dieser hat entsprechend MLEN
eine Gre von 300 Bytes.
3 Konfiguration und Projektierung

SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021 11

3.3 Aufbau des Datensatzinformationen
Die folgende Tabelle zeigt den Aufbau der Nachbarschaftsinformationen, die mit
dem SFB52 RDREC unter Verwendung der Datensatznummer 802A (hex)
ausgelesen werden.
Tabelle 3-3
Nachbarschaftsinformation Datentyp Wert
Block Type Word 527 (dez)
Datensatzlnge ab Version
High
Word 68 (dez)
Version High Byte 1 (dez)
Version Low Byte 0 (dez)
Reserve Byte 0x00
Header
Reserve Byte 0x00
Slotnummer Word 0x0000
0x0000 0x7FFF
Anzahl der Submodule
Subslotnummer Dword

0x80050870
0x0001 0x7FFF
Nummer des Submoduls
0x8000 0x8FFF
Nummer des Ports im
Submodul
Lnge des Portnamens =x Byte 8 (dez)
Portname 1-x Char port-005
Anzahl remoter Partner Byte 1 (dez)
LLDP Informationen
des lokalen Ports
auf Datenwortgrenze auffllen 0-3 Byte 0x00
Lnge des remoten
Portnamens =y
byte 8 (dez)
remoter Portname 1-y Char port-001
Lnge des remoten
Gertenamens =z
Byte 5 (dez)
remoter Gertename 1-z Char cp343
auf Datenwortgrenze auffllen 0-3 Byte 0x00
Line Delay Dword 0x00
remote MAC-Adresse Byte 0x00
remote MAC-Adresse Byte 0x0E
remote MAC-Adresse Byte 0x8C
remote MAC-Adresse Byte 0xA4
remote MAC-Adresse Byte 0xAA
remote MAC-Adresse Byte 0x9A
Reserve Byte 0x00
LLDP Informationen
des remoten Ports
Reserve Byte 0x00
MAU Type
bertragungsgeschwindigkeit
Word 0x0010 Defaultwert
100BASETXFD
Reserve Byte 0x00
Netzwerkinformationen
des lokalen Ports
Reserve Byte 0x00
3 Konfiguration und Projektierung



12
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

Nachbarschaftsinformation Datentyp Wert
Reserve Byte 0x00
Reserve Byte 0x00
Reserve Byte 0x00
Reserve Byte 0x00
Multicasteinschrnkungen Dword 0x00000000
Bit 0=1 block the
multicast MAC address 01-
0E-CF-00-02-00
Bit 1=1 block the
multicast MAC address 01-
0E-CF-00-02-01

Bit 31=1 block the
multicast MAC address 01-
0E-CF-00-02-1F
LinkStatus.Link Byte 0x01 Up
0x02 Down
0x03 Testing
LinkStatus.Port Byte 0x01 disable
0x02 blocking
0x04 learning
0x05 forwarding
0x06 broken
Reserve Byte 0x00
Reserve Byte 0x00
Media Type Dword 0x00000000
unbekannt
0x00000001
Kupferkabel
0x00000002
Lichtwellenleiter
0x00000003
Radio communication

Hinweis
Wenn ein anderes PROFINET IO-Device anstatt des CP343-1 Advanced am
Port 5 des SCALANCE X208 angeschlossen wird werden die
Datensatzinformationen automatisch aktualisiert. Im DB10 werden die
Nachbarschaftsinformationen des neuen PROFINET IO-Devices angezeigt.

4 Alternativlsung

SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021 13

4 Alternativlsung
4.1 CP343-1 als PROFINET IO-Controller
Wenn Sie einen CP343-1 als PROFINET IO-Controller einsetzen, dann verwenden
Sie den FB52 PNIO_RW_REC aus der Bibliothek SIMATIC_NET_CP, um
Datenstze zu lesen und zu schreiben.
bersicht zum FB52 PNIO_RW_REC
Abbildung 4-1
DB54
WORD
BOOL
WORD
WORD
INT
CPLADDR
WRITE_REC
ID
LEN
INDEX
DONE
ERROR
STATUS
BOOL
BOOL
WORD
PNIO_RW_REC
RECORD ANY

Eingangsparameter
Die folgende Tabelle zeigt Ihnen eine bersicht der Eingangsparameter des FB52
PNIO_RW_REC.
Tabelle 4-1
Parameter Datentyp Beschreibung
CPLADDR WORD Baugruppen-Anfangsadresse
WRITE_REC BOOL WRITE_REC=1: Datensatz schreiben
WRITE_REC=0: Datensatz lesen
ID WORD Diagnoseadresse
INDEX WORD Datensatznummer
LEN INT Lnge des gelesenen Datensatzes in Bytes (Die
Maximallnge ist 480 Byte).
RECORD ANY Zielbereich fr den gelesenen Datensatz
Ausgangsparameter
Die folgende Tabelle zeigt Ihnen eine bersicht der Ausgangsparameter des FB52
PNIO_RW_REC.
Tabelle 4-2
Parameter Datentyp Beschreibung
DONE BOOL DONE=1: Datensatz erfolgreich bertragen
ERROR BOOL ERROR=1: Beim Lese- oder Schreibvorgang trat
ein Fehler auf
STATUS WORD Bausteinstatus bzw. Fehlerinformation
4 Alternativlsung



14
SFB52 "RDREC"
V1.0 , Beitrags-ID: 38566021

4.2 Unterschied SFB52 RDREC und FB52
PNIO_RW_REC
Beim SFB52 RDREC ist der Eingangsparameter INDEX ein INTEGER. Die
Datensatznummer 802A ist ein hexadezimaler Wert. Wenn Sie diese direkt am
Eingangsparameter INDEX angeben mchten, dann muss die Datensatznummer
zunchst umgewandelt werden.
Beim FB52 PNIO_RW_REC ist der Eingangsparameter INDEX ein WORD. Hier
knnen Sie die Datensatznummer direkt als hexadezimalen Wert (W#16#802A) am
Eingangsparameter INDEX angeben.