FAQ 03/2016 Link-Status der PROFINETSchnittstelle auslesen S7-300 CPU / STEP 7 V13 SP1 (TIA Portal) https://support.industry.siemens.com/cs/ww/de/view/86645644
Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die dort genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen). Securityhinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen. Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme, Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.b. Nutzung von Firewalls und Netzwerksegmentierung) ergriffen wurden. Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter http://www.siemens.com/industrialsecurity. Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen, sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-Bedrohungen erhöhen. Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial Security RSS Feed unter http://www.siemens.com/industrialsecurity. Inhaltsverzeichnis 1 Einleitung... 3 2 FB3 LinkState... 4 3 SFB52 RDREC... 7 3.1 Aufbau des Zielbereichs für den gelesenen Datensatz... 7 Beitrags-ID: 86645644, V1.0, 03/2016 2
1 Einleitung 1 Einleitung Dieser Beitrag zeigt, wie Sie im Anwenderprogramm einer S7-300 CPU den Link- Status der Ports der integrierten PROFINET-Schnittstelle auslesen und auswerten. der Ports angeschlossenen PROFINET IO-Devices auslesen und auswerten Das Auslesen des Link-Status erfolgt mit dem Systembaustein SFB52 RDREC. Das in diesem Beitrag mitgelieferte Programmbeispiel enthält den Funktionsbaustein FB3 LinkState. Der FB3 LinkState ruft intern den SFB52 RDREC auf, um den Link-Status des Ports der integrierten PROFINET- Schnittstelle bzw. des angeschlossen PROFINET IO-Devices auszulesen. Beitrags-ID: 86645644, V1.0, 03/2016 3
2 FB3 LinkState 2 FB3 LinkState Der FB3 LinkState wird zyklisch im OB1 Main aufgerufen. Abbildung 2-1 Eingangsparameter Der FB3 LinkState hat folgende Eingangsparameter. Tabelle 2-1 Eingangsparameter Datentyp Beschreibung REQ BOOL Bei einer positiven Flanke am Eingang REQ wird der Auftrag zum Lesen des Link-Status des Ports. ID DWORD Diagnoseadresse des Ports der integrierten PROFINET- Schnittstelle bzw. des angeschlossenen PROFINET IO- Devices Hinweis Um die Diagnoseadresse des Ports der integrierten PROFINET-Schnittstelle zu ermitteln öffnen Sie die Gerätesicht der S7-300 CPU. Im Inspektorfenster werden die Eigenschaften der S7-300 CPU angezeigt. Hier finden Sie u. a. die Diagnoseadresse des Ports der integrierten PROFINET-Schnittstelle. Beitrags-ID: 86645644, V1.0, 03/2016 4
2 FB3 LinkState Eingangsparameter Datentyp Beschreibung Um die Diagnoseadresse des Ports des angeschlossenen PROFINET-IO-Devices zu ermitteln öffnen Sie die Gerätesicht des PROFINET IO-Devices. Im Inspektorfenster werden die Eigenschaften des PROFINET IO-Devices angezeigt. Hier finden Sie u. a. die Diagnoseadresse des Ports des PROFINET IO- Devices. INDEX WORD Datensatznummer Beitrags-ID: 86645644, V1.0, 03/2016 5
2 FB3 LinkState Ausgangsparameter Der FB3 LinkState hat folgende Ausgangsparameter. Tabelle 2-2 Ausgangsparameter Datentyp Beschreibung LinkState Byte Link-Status des Ports der PROFINET-Schnittstelle der S7-300 CPU 0x00 = Reserve 0x01 = Up 0x02 = Down 0x03 = Testing 0x04 = Unknown (Status kann nicht ermittelt werden) 0x05 = Dormant 0x06 = NotPresent 0x07 = LowerLayerDown 0x08-0xFF = Reserve VALID BOOL Neuer Datensatz wurde empfangen und der ausgelesene Link-Status ist gültig 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 Länge des gelesenen Datensatzes Link-Status der PROFINET-Schnittstelle der S7-300 CPU In diesem Beispiel wird der ausgelesene Link-Status im Datenbaustein DB14 LinkState_DB ab Adresse 8.0 in der Variablen LinkState vom Datentyp BYTE gespeichert. Beitrags-ID: 86645644, V1.0, 03/2016 6
3 SFB52 RDREC 3 SFB52 RDREC Eingangsparameter Der FB3 LinkState ruft intern den Systemfunktionsbaustein SFB52 RDREC zum Lesen eines Datensatzes auf. Den Systemfunktionsbaustein SFB52 RDREC finden Sie in der Task Card Anweisungen in der Palette Erweiterte Anweisungen > Dezentrale Peripherie. Der SFB52 RDREC hat folgende Eingangsparameter. Tabelle 3-1 Eingangsparameter Datentyp Beschreibung REQ BOOL REQ = 1 Datenübertragung durchführen ID DWORD Logische Adresse der DP-Slave/PROFINET IO- Komponente (Baugruppe bzw. Modul) Hinweis In diesem Beispiel wird dem Parameter ID die Diagnoseadresse des Ports der PROFINET- Schnittstelle übergeben, die am Eingangsparameter ID des FB3 LinkState angeben ist. INDEX INT Datensatznummer Hinweis In diesem Beispiel wird die Datensatznummer w#16-802a ausgelesen. In diesem Beispiel wird dem Parameter INDEX die Datensatznummer übergaben, die am Eingangsparameter INDEX des FB3 LinkState angegeben ist. MLEN INT Maximale Länge der zu lesenden Datensatzinformationen. RECORD ANY Zielbereich für den gelesenen Datensatz Hinweis Im Kapitel 3.1 ist der Aufbau des Zielbereichs für den gelesenen Datensatz beschrieben. 3.1 Aufbau des Zielbereichs für den gelesenen Datensatz Der gelesene Datensatz enthält die Nachbarschaftsinformationen von Ports. In den Nachbarschaftsinformationen ist u. a. der Link-Status des Ports enthalten. Die Nachbarschaftsinformationen werden in der Datenstruktur PDPortDataReal gespeichert. Da der Link-Status nicht am Anfang der Datenstruktur liegt und die Länge der Datenstruktur dynamisch ist (abhängig vom Gerät, das als Partner am Port angeschlossenen ist), muss die Lage des Link-Status ermittelt werden. Dies erfolgt im FB3 LinkState nachdem die Nachbarschaftsinformationen mit dem SFB52 RDREC erfolgreich ausgelesen wurden. Tabelle 3-2 zeigt den Aufbau der Datenstruktur PDPortDataReal : Beitrags-ID: 86645644, V1.0, 03/2016 7
3 SFB52 RDREC Tabelle 3-2 Datenstruktur PDPortDataReal Datentyp Beschreibung BlockType WORD BlockHeader BlockLength BlockVersionHigh BlockVersionLow WORD BYTE BYTE Data Array [0.. 299] of Byte LLDP Informationen des lokalen Ports Steckplatz (Slotnummer) Subslotnummer Länge des Port-Namen Port-Name Anzahl remoter Partner LLDP Informationen des remoten Ports Länge des remoten Port-Namen remoter Port-Name Länge des remoten Gerätenamen remoter Gerätename Line Delay remote MAC-Adresse Netzwerkinformationen des lokalen Ports MAUType (Übertragungsgeschwindigkeit) RTClass3_PortStatus MulticastBoundary LinkState MediaType Beitrags-ID: 86645644, V1.0, 03/2016 8