Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für...

288
Programmbausteine für SIMATIC NET S7-CPs ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ ___________________ SIMATIC NET Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch 11/2015 C79000-G8900-C229-08 Vorwort Übersichten und Allgemeines zur Hantierung 1 Programmbausteine für Industrial Ethernet 2 Programmbausteine für PROFINET IO (S7-300) 3 Programmbausteine für PROFINET CBA 4 Programmbausteine für PROFIBUS 5 Programmbausteine für PROFIBUS FMS 6 Dokument-Historie A Literaturverzeichnis B

Transcript of Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für...

Page 1: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET

S7-CPs

___________________

___________________

___________________

___________________

___________________

___________________

___________________

___________________

___________________

SIMATIC NET

Programmbausteine für SIMATIC NET S7-CPs

Programmierhandbuch

11/2015 C79000-G8900-C229-08

Vorwort

Übersichten und Allgemeines zur Hantierung

1

Programmbausteine für Industrial Ethernet

2

Programmbausteine für PROFINET IO (S7-300)

3

Programmbausteine für PROFINET CBA

4

Programmbausteine für PROFIBUS

5

Programmbausteine für PROFIBUS FMS

6

Dokument-Historie A

Literaturverzeichnis B

Page 2: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Siemens AG Division Process Industries and Drives Postfach 48 48 90026 NÜRNBERG DEUTSCHLAND

C79000-G8900-C229-08 Ⓟ 12/2015 Änderungen vorbehalten

Copyright © Siemens AG 2008 - 2015. Alle Rechte vorbehalten

Rechtliche Hinweise Warnhinweiskonzept

Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.

GEFAHR bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

WARNUNG bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

VORSICHT bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

ACHTUNG bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet. Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein.

Qualifiziertes Personal Das zu dieser Dokumentation zugehörige Produkt/System darf nur von für die jeweilige Aufgabenstellung qualifiziertem Personal gehandhabt werden unter Beachtung der für die jeweilige Aufgabenstellung zugehörigen Dokumentation, insbesondere der darin enthaltenen Sicherheits- und Warnhinweise. Qualifiziertes Personal ist auf Grund seiner Ausbildung und Erfahrung befähigt, im Umgang mit diesen Produkten/Systemen Risiken zu erkennen und mögliche Gefährdungen zu vermeiden.

Bestimmungsgemäßer Gebrauch von Siemens-Produkten Beachten Sie Folgendes:

WARNUNG Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und Instandhaltung voraus. Die zulässigen Umgebungsbedingungen müssen eingehalten werden. Hinweise in den zugehörigen Dokumentationen müssen beachtet werden.

Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann.

Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden regelmäßig überprüft, notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.

Page 3: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 3

Vorwort

Zielgruppe und Motivation Als Schnittstelle zu den Kommunikationsdiensten stehen für Ihr Anwenderprogramm vorgefertigte Programmbausteine (FCs und FBs) zur Verfügung. Das vorliegende Handbuch gibt Ihnen eine vollständige Beschreibung der Programmbausteine für SIMATIC NET S7-CPs an die Hand. Es ergänzt die Beschreibungen in der Online-Hilfe der Projektierungswerkzeuge für STEP 7.

Das Handbuch wendet sich an Programmierer von STEP 7-Programmen und an Service-Personal.

Aufbau des Handbuchs Das Handbuch ist anhand der Netztypen und Kommunikationsdienste untergliedert.

Jeder Programmbaustein wird in folgenden Abschnitten beschrieben:

● Bedeutung

● Aufrufschnittstelle

● Arbeitsweise

● Erläuterung der Formalparameter

● Anzeigen

Diese Abschnitte können durch weitere spezifische Informationen ergänzt sein.

Gültigkeitsbereich des Handbuchs Der vorliegende Ausgabestand des Handbuchs ist gültig mit folgenden Versionen der Projektierungs-Software:

● STEP 7 V5.5 + SP4 + HF8

Beachten Sie die Ergänzungen unten im Abschnitt "Neu in dieser Ausgabe".

● STEP 7 Professional V13.0 SP1

Hinweis

STEP 7 - synonyme Bezeichnung

Die Bezeichnung STEP 7 wird nachfolgend in diesem Handbuch synonym verwendet für die Bezeichnungen STEP 7 V5.5 oder STEP 7 Professional

Hinweis

CP-Typen und Kommunikationsdienste

Beachten Sie, dass die Programmbausteine jeweils bestimmte Kommunikationsdienste unterstützen. Die Verwendung ist daher an den Einsatz der CP-Typen gebunden, die den jeweiligen Kommunikationsdienst unterstützen.

Page 4: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Vorwort

Programmbausteine für SIMATIC NET S7-CPs 4 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Bezeichnung "Programmbaustein" Die Bezeichnung "Programmbaustein" wird im Handbuch als synonymer Oberbegriff für folgende Begriffe verwendet:

● FC (Funktion) / FB (Funktionsbaustein)

Bei STEP 7 V5.5 verwendete Bezeichnungen, die den speziellen Typ des Programmbausteines berücksichtigen. Bei STEP 7 Professional bestehen diese Bausteintypen unverändert weiter, in den Bibliotheken werden jedoch nur die symbolischen Namen angezeigt.

● Anweisung

Bei STEP 7 Professional verwendete Bezeichnung für systeminterne Programmbausteine.

Hinweis

Lieferumfang STEP 7 / STEP 7 Professional

Die Lieferumfänge in den Bibliotheken von STEP 7 V5.5 und STEP 7 Professional können voneinander abweichen.

Die in diesem Handbuch gezeigten Programmbaustein-Übersichten geben die Verfügbarkeit für die jeweiligen Gerätefamilien S7-300 und S7-400 an. Die Übersichten enthalten keine Angabe bzgl. der Verfügbarkeit in den jeweiligen Bibliotheken von STEP 7 V5.5 oder STEP 7 Professional.

Neu in dieser Ausgabe Diese Handbuchausgabe beinhaltet redaktionelle Korrekturen. Die wesentlichen Änderungen finden Sie in folgenden Kapiteln: Kapitel Änderung / Ergänzung FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77)

Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb um die Funktion "Pas-sives FTP" (Client baut Verbindung auf) Die Funktion wird vom CP 443-1 Advanced mit Firmware-Version V3.2 unter STEP 7 V5 unter-stützt. Hierfür benötigen Sie zusätzlich zur oben angegebenen Projektierungs-Software STEP 7 V5.5 das HSP 1105 sowie die Pro-grammbaustein-Bibliothek "SIMATIC NET CP" Version V5.5.4.

Die jeweiligen Änderungen der vorhergehenden Handbuchausgaben finden Sie im Kapitel Dokument-Historie (Seite 281).

Abgelöste Handbuchausgabe Das vorliegende Handbuch ersetzt die Handbuch-Ausgabe 10/2012.

Page 5: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Vorwort

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 5

CP-Dokumentation auf der Manual Collection (Artikelnummer A5E00069051) Vielen S7-CPs liegt die SIMATIC NET Manual Collection (DVD) bei. Diese DVD wird in regelmäßigen Abständen aktualisiert und enthält die zum Erstellungszeitpunkt aktuellen Handbücher.

Informationen zu aktuellen Versionen der Programmbausteine (FCs/FBs) Verwenden Sie für neue Anwenderprogramme immer die aktuellen Bausteinversionen. Informationen über die aktuellen Bausteinversionen sowie die aktuellen Programmbausteine finden Sie im Internet unter der folgenden Adresse:

Link: (https://support.industry.siemens.com/cs/ww/de/view/109481127)

Für den Ersatzteilfall verfahren Sie bitte gemäß den Anweisungen im gerätespezifischen Teil des Gerätehandbuchs zu Ihrem S7-CP.

Versionshistorie für Programmausteine und S7-CPs Im Dokument "Versionshistorie/aktuelle Downloads für die SIMATIC NET S7-CPs" finden Sie Informationen über alle bisher lieferbaren CPs für SIMATIC S7 (Industrial Ethernet, PROFIBUS und IE/PB Link) sowie die Programmbausteine (FCs/FBs).

Die Dokumente finden Sie im Internet unter der folgenden Adresse:

Link: (https://support.industry.siemens.com/cs/ww/de/view/9836605)

Anwendungsbeispiele zum Thema Kommunikation Eine große Auswahl an Applikationsbeispielen und weitere Dokumenten finden Sie auf den Seiten des Siemens Industry Online Support unter der folgenden Adresse:

Link: (https://support.industry.siemens.com/cs/ww/de/ps/15247/ae)

Im Produktbaum und über den Beitragstyp können Sie auf dieser Internetseite das Anwendungsgebiet weiter eingrenzen.

SIMATIC NET-Glossar Erklärungen zu vielen Fachbegriffen, die in dieser Dokumentation vorkommen, sind im SIMATIC NET-Glossar enthalten.

Sie finden das SIMATIC NET-Glossar hier:

● SIMATIC NET Manual Collection oder Produkt-DVD

Die DVD liegt einigen SIMATIC NET-Produkten bei.

● Im Internet unter folgender Adresse:

Link: (https://support.industry.siemens.com/cs/ww/de/view/50305045)

Page 6: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Vorwort

Programmbausteine für SIMATIC NET S7-CPs 6 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Page 7: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 7

Inhaltsverzeichnis

Vorwort ................................................................................................................................................... 3

1 Übersichten und Allgemeines zur Hantierung ........................................................................................ 13

1.1 Programmbausteine für Industrial Ethernet / PROFINET ....................................................... 13

1.2 Programmbausteine für PROFIBUS ....................................................................................... 15

1.3 Aufrufe der Programmbausteine parametrieren ..................................................................... 17

1.4 Parameter zur CP- und Verbindungszuordnung (Eingangsparameter) ................................. 18

1.5 Parameter zur Angabe eines CPU-Datenbereichs (Eingangsparameter) .............................. 19

1.6 Statusinformationen (Ausgangsparameter) ............................................................................ 19

2 Programmbausteine für Industrial Ethernet............................................................................................ 21

2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) ........................................................................................................................... 21

2.1.1 Programmbausteine und ihre Anwendung in der Übersicht ................................................... 21 2.1.2 AG_SEND / AG_LSEND / AG_SSEND .................................................................................. 25 2.1.2.1 Bedeutung und Aufruf - AG_SEND / AG_LSEND / AG_SSEND ............................................ 25 2.1.2.2 Arbeitsweise - AG_SEND / AG_LSEND / AG_SSEND ........................................................... 26 2.1.2.3 Erläuterung der Formalparameter - AG_SEND / AG_LSEND / AG_SSEND ......................... 29 2.1.2.4 Anzeigen AG_SEND, AG_LSEND und AG_SSEND .............................................................. 30 2.1.3 AG_RECV / AG_LRECV / AG_SRECV .................................................................................. 32 2.1.3.1 Bedeutung und Aufruf - AG_RECV / AG_LRECV / AG_SRECV ............................................ 32 2.1.3.2 Arbeitsweise AG_RECV / AG_LRECV / AG_SRECV ............................................................. 33 2.1.3.3 Erläuterung der Formalparameter - AG_RECV / AG_LRECV / AG_SRECV ......................... 38 2.1.3.4 Anzeigen AG_RECV, AG_LRECV und AG_SRECV .............................................................. 40

2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE ....................................... 42 2.2.1 Programmbausteine und ihre Anwendung in der Übersicht ................................................... 42 2.2.2 AG_LOCK ............................................................................................................................... 44 2.2.2.1 Bedeutung und Aufruf - AG_LOCK ......................................................................................... 44 2.2.2.2 Erläuterung der Formalparameter - AG_LOCK ...................................................................... 45 2.2.2.3 Anzeigen des Bausteins AG_LOCK ....................................................................................... 45 2.2.3 AG_UNLOCK .......................................................................................................................... 46 2.2.3.1 Bedeutung und Aufruf - AG_UNLOCK .................................................................................... 46 2.2.3.2 Erläuterung der Formalparameter - AG_UNLOCK ................................................................. 47 2.2.3.3 Anzeigen des Bausteins AG_UNLOCK .................................................................................. 47

2.3 Programmbausteine zur Verbindungs- und Systemdiagnose ................................................ 48 2.3.1 AG_CNTRL ............................................................................................................................. 48 2.3.1.1 Bedeutung und Aufruf - AG_CNTRL ....................................................................................... 48 2.3.1.2 Arbeitsweise AG_CNTRL........................................................................................................ 50 2.3.1.3 Erläuterung der Formalparameter - AG_CNTRL .................................................................... 51 2.3.1.4 Anzeigen AG_CNTRL ............................................................................................................. 52 2.3.1.5 Kommandos und Auftragsergebnisse - AG_CNTRL .............................................................. 53 2.3.2 AG_CNTEX ............................................................................................................................. 60 2.3.2.1 Bedeutung und Aufruf - AG_CNTEX ...................................................................................... 60

Page 8: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Inhaltsverzeichnis

Programmbausteine für SIMATIC NET S7-CPs 8 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.3.2.2 Arbeitsweise AG_CNTEX ...................................................................................................... 62 2.3.2.3 Arbeitsweise der Ping-Funktion ............................................................................................. 63 2.3.2.4 Erläuterung der Formalparameter - AG_CNTEX ................................................................... 65 2.3.2.5 Anzeigen AG_CNTEX ............................................................................................................ 66 2.3.2.6 Kommandos und Auftragsergebnisse - AG_CNTEX ............................................................. 68

2.4 Programmbausteine für FTP-Dienste .................................................................................... 76 2.4.1 Übersicht zu FTP ................................................................................................................... 76 2.4.2 FTP_CMD - universeller Programmbaustein für FTP-Dienste .............................................. 77 2.4.2.1 Bedeutung und Aufruf - FTP_CMD ........................................................................................ 78 2.4.2.2 Eingangsparameter - FTP_CMD ............................................................................................ 79 2.4.2.3 Ausgangsparameter und Statusinformationen - FTP_CMD .................................................. 85 2.4.2.4 Migration von FC 40-44 zum FTP_CMD ................................................................................ 89 2.4.3 FTP_CONNECT ..................................................................................................................... 90 2.4.3.1 Bedeutung und Aufruf - FTP_CONNECT .............................................................................. 90 2.4.3.2 Erläuterung der Formalparameter - FTP_CONNECT ............................................................ 90 2.4.4 FTP_STORE .......................................................................................................................... 92 2.4.4.1 Bedeutung und Aufruf - FTP_STORE .................................................................................... 92 2.4.4.2 Erläuterung der Formalparameter - FTP_STORE ................................................................. 93 2.4.5 FTP_RETRIEVE..................................................................................................................... 94 2.4.5.1 Bedeutung und Aufruf - FTP_RETRIEVE .............................................................................. 94 2.4.5.2 Erläuterung der Formalparameter - FTP_RETRIEVE ............................................................ 95 2.4.6 FTP_DELETE ......................................................................................................................... 96 2.4.6.1 Bedeutung und Aufruf - FTP_DELETE .................................................................................. 96 2.4.6.2 Erläuterung der Formalparameter - FTP_DELETE ................................................................ 96 2.4.7 FTP_QUIT .............................................................................................................................. 98 2.4.7.1 Bedeutung und Aufruf - FTP_QUIT........................................................................................ 98 2.4.7.2 Erläuterung der Formalparameter - FTP_QUIT ..................................................................... 98 2.4.8 Parameter zur CP- und Verbindungszuordnung (Eingangsparameter)................................. 99 2.4.9 Statusinformationen (Ausgangsparameter) ......................................................................... 100 2.4.10 Datenbaustein File-DB ......................................................................................................... 103 2.4.10.1 Aufbau der Datenbausteine (File-DB) für FTP-Dienste - FTP-Client-Betrieb ...................... 103 2.4.10.2 Aufbau der Datenbausteine (File-DB) für FTP-Dienste - FTP-Server-Betrieb .................... 105

2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration ..................... 108 2.5.1 Arbeitsweise ......................................................................................................................... 108 2.5.2 So gehen Sie vor.................................................................................................................. 111 2.5.3 Konfigurations-Datenbaustein (CONF_DB) ......................................................................... 111 2.5.4 Konfigurations-Datenbaustein - Beispiel .............................................................................. 112 2.5.5 Parameterblock für Systemdaten (IP-Konfiguration) ........................................................... 116 2.5.6 Parameterblöcke für Verbindungstypen .............................................................................. 117 2.5.6.1 Parameterblock für TCP-Verbindung ................................................................................... 117 2.5.6.2 Parameterblock für UDP- Verbindung ................................................................................. 118 2.5.6.3 Parameterblock für ISO-on-TCP Verbindung ...................................................................... 119 2.5.6.4 Parameterblock für E-Mail-Verbindung ................................................................................ 120 2.5.6.5 Parameterblock für FTP-Verbindung ................................................................................... 121 2.5.7 Subblock-Typen ................................................................................................................... 122 2.5.8 IP_CONFIG - Bedeutung und Aufruf.................................................................................... 126 2.5.9 Arbeitsweise IP_CONFIG .................................................................................................... 127 2.5.10 Erläuterung der Formalparameter - IP_CONFIG ................................................................. 129 2.5.11 Reservierte Port-Nummern - IP_CONFIG ........................................................................... 130 2.5.12 Anzeigen IP_CONFIG .......................................................................................................... 130

2.6 Programmbausteine für ERPC-CP ...................................................................................... 133

Page 9: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Inhaltsverzeichnis

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 9

2.6.1 LOGICAL_TRIGGER für den logischen Trigger ................................................................... 133 2.6.2 Arbeitsweise LOGICAL_TRIGGER ....................................................................................... 134 2.6.3 Erläuterung der Formalparameter - LOGICAL_TRIGGER ................................................... 135 2.6.4 Anzeigen LOGICAL_TRIGGER ............................................................................................ 137 2.6.5 Der Konfigurations-Datenbaustein ........................................................................................ 138

2.7 Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet) ............................. 139

3 Programmbausteine für PROFINET IO (S7-300) ................................................................................. 141

3.1 Programmbausteine und ihre Anwendung in der Übersicht ................................................. 141

3.2 PROFINET IO - Datenübertragung und Alarmauswertung .................................................. 143 3.2.1 PNIO_SEND ......................................................................................................................... 143 3.2.1.1 Bedeutung und Aufruf - PNIO_SEND ................................................................................... 143 3.2.1.2 Erläuterung der Formalparameter - PNIO_SEND ................................................................ 145 3.2.1.3 Anzeigen des Bausteins PNIO_SEND .................................................................................. 149 3.2.2 PNIO_RECV ......................................................................................................................... 151 3.2.2.1 Bedeutung und Aufruf - PNIO_RECV ................................................................................... 151 3.2.2.2 Erläuterung der Formalparameter - PNIO_RECV ................................................................ 153 3.2.2.3 Anzeigen des Bausteins PNIO_RECV .................................................................................. 157 3.2.3 Allgemeines Verhalten der FCs für PROFINET IO ............................................................... 159 3.2.4 Datenkonsistenz ................................................................................................................... 160 3.2.5 Ersatzwerte ........................................................................................................................... 161 3.2.6 PNIO_RW_REC .................................................................................................................... 161 3.2.6.1 Bedeutung und Aufruf - PNIO_RW_REC.............................................................................. 161 3.2.6.2 Erläuterung der Formalparameter - PNIO_RW_REC ........................................................... 162 3.2.6.3 Anzeigen des Bausteins PNIO_RW_REC ............................................................................ 164 3.2.7 PNIO_ALARM ....................................................................................................................... 165 3.2.7.1 Bedeutung und Aufruf - PNIO_ALARM................................................................................. 165 3.2.7.2 Erläuterung der Formalparameter - PNIO_ALARM .............................................................. 167 3.2.7.3 Anzeigen des Bausteins PNIO_ALARM ............................................................................... 168

3.3 PROFIenergy ........................................................................................................................ 170 3.3.1 PROFIenergy-Programmbausteine für den CP 300 ............................................................. 171 3.3.2 PE_START_END_CP ........................................................................................................... 172 3.3.2.1 Bedeutung und Aufruf - PE_START_END_CP ..................................................................... 172 3.3.2.2 Erläuterung der Formalparameter von PE_START_END_CP .............................................. 174 3.3.2.3 Anzeigen von PE_START_END_CP .................................................................................... 175 3.3.3 PE_CMD_CP ........................................................................................................................ 176 3.3.3.1 Bedeutung und Aufruf - PE_CMD_CP .................................................................................. 176 3.3.3.2 Erläuterung der Formalparameter von PE_CMD_CP ........................................................... 178 3.3.3.3 Anzeigen von PE_CMD_CP ................................................................................................. 181 3.3.4 Antwortdaten ......................................................................................................................... 182 3.3.5 PE_I_DEV_CP ...................................................................................................................... 189 3.3.5.1 Bedeutung und Aufruf - PE_I_DEV_CP ................................................................................ 189 3.3.5.2 Erläuterung der Formalparameter von PE_I_DEV_CP ......................................................... 190 3.3.5.3 Anzeigen von PE_I_DEV_CP ............................................................................................... 191 3.3.6 Ergänzende Programmbausteine für PE_I_DEV_CP ........................................................... 192 3.3.6.1 Übersicht der FCs ................................................................................................................. 192 3.3.6.2 Verschaltung der FCs mit PE_I_DEV_CP............................................................................. 193 3.3.6.3 Gemeinsame Parameter der FCs ......................................................................................... 194 3.3.6.4 Individuelle Parameter der FCs ............................................................................................ 194 3.3.7 DS3_WRITE_CP / PE_DS3_Write_ET200S_CP .................................................................. 199 3.3.7.1 Bedeutung und Aufruf - DS3_WRITE_CP ............................................................................ 199

Page 10: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Inhaltsverzeichnis

Programmbausteine für SIMATIC NET S7-CPs 10 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.3.7.2 Erläuterung der Formalparameter von DS3_WRITE_CP .................................................... 200 3.3.7.3 Anzeigen von DS3_WRITE_CP ........................................................................................... 201

3.4 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFINET) ........................ 202

4 Programmbausteine für PROFINET CBA ............................................................................................. 203

4.1 PN_InOut / PN_InOut_Fast - Bedeutung und Aufruf............................................................ 203

4.2 Erläuterung der Formalparameter - PN_InOut / PN_InOut_Fast ......................................... 205

4.3 Anzeigen der Bausteine PN_InOut und PN_InOut_Fast ..................................................... 205

4.4 Zeitgesteuerter Aufruf PN_InOut / PN_InOut_Fast - Empfehlung zur Anwendung ............. 208

5 Programmbausteine für PROFIBUS ..................................................................................................... 209

5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) ......................................................................................................................... 209

5.1.1 Anwendung in der Übersicht ................................................................................................ 209 5.1.2 AG_SEND / AG_LSEND ...................................................................................................... 211 5.1.2.1 Bedeutung und Aufruf - AG_SEND / AG_LSEND ................................................................ 211 5.1.2.2 Arbeitsweise - AG_SEND / AG_LSEND .............................................................................. 213 5.1.2.3 Erläuterung der Formalparameter - AG_SEND / AG_LSEND ............................................. 214 5.1.2.4 Anzeigen AG_SEND und AG_LSEND ................................................................................. 215 5.1.3 AG_RECV / AG_LRECV ...................................................................................................... 217 5.1.3.1 Bedeutung und Aufruf - AG_RECV / AG_LRECV ................................................................ 217 5.1.3.2 Arbeitsweise - AG_RECV / AG_LRECV .............................................................................. 219 5.1.3.3 Erläuterung der Formalparameter - AG_RECV / AG_LRECV ............................................. 220 5.1.3.4 Anzeigen AG_RECV und AG_LRECV ................................................................................. 221

5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 ........................................ 223 5.2.1 Anwendung in der Übersicht ................................................................................................ 223 5.2.2 DP_SEND ............................................................................................................................ 224 5.2.2.1 Bedeutung und Aufruf - DP_SEND ...................................................................................... 224 5.2.2.2 Arbeitsweise - DP_SEND ..................................................................................................... 225 5.2.2.3 Erläuterung der Formalparameter - DP_SEND ................................................................... 227 5.2.2.4 Anzeigen DP_SEND ............................................................................................................ 228 5.2.3 DP_RECV ............................................................................................................................ 229 5.2.3.1 Bedeutung und Aufruf - DP_RECV ...................................................................................... 229 5.2.3.2 Arbeitsweise - DP_RECV ..................................................................................................... 230 5.2.3.3 Erläuterung der Formalparameter - DP_RECV ................................................................... 232 5.2.3.4 Anzeigen DP_RECV ............................................................................................................ 233 5.2.3.5 DPSTATUS - DP_RECV ...................................................................................................... 234 5.2.4 DP_DIAG .............................................................................................................................. 236 5.2.4.1 Bedeutung und Aufruf - DP_DIAG ....................................................................................... 236 5.2.4.2 Arbeitsweise - DP_DIAG ...................................................................................................... 237 5.2.4.3 Erläuterung der Formalparameter - DP_DIAG ..................................................................... 239 5.2.4.4 Auftragsarten - DP_DIAG ..................................................................................................... 240 5.2.4.5 Ringpuffer für Diagnosedaten - DP_DIAG ........................................................................... 242 5.2.4.6 Anzeigen DP_DIAG ............................................................................................................. 243 5.2.5 DP_CTRL ............................................................................................................................. 246 5.2.5.1 Bedeutung und Aufruf - DP_CTRL....................................................................................... 246 5.2.5.2 Arbeitsweise - DP_CTRL ..................................................................................................... 247 5.2.5.3 Erläuterung der Formalparameter - DP_CTRL .................................................................... 248 5.2.5.4 Auftragsarten - DP_CTRL .................................................................................................... 249 5.2.5.5 Command Mode und Group Select - DP_CTRL .................................................................. 252

Page 11: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Inhaltsverzeichnis

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 11

5.2.5.6 Anzeigen DP_CTRL .............................................................................................................. 253

5.3 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS) ......................... 257

6 Programmbausteine für PROFIBUS FMS ............................................................................................ 259

6.1 Anwendung in der Übersicht ................................................................................................. 259

6.2 FMS-Bausteinparameter ....................................................................................................... 260

6.3 IDENTIFY .............................................................................................................................. 263 6.3.1 Bedeutung und Aufruf - IDENTIFY ....................................................................................... 263 6.3.2 Arbeitsweise - IDENTIFY ...................................................................................................... 264

6.4 READ .................................................................................................................................... 265 6.4.1 Bedeutung und Aufruf - READ .............................................................................................. 265 6.4.2 Arbeitsweise READ ............................................................................................................... 266

6.5 REPORT ............................................................................................................................... 267 6.5.1 Bedeutung und Aufruf - REPORT ......................................................................................... 267 6.5.2 Arbeitsweise REPORT.......................................................................................................... 268

6.6 STATUS ................................................................................................................................ 269 6.6.1 Bedeutung und Aufruf - STATUS ......................................................................................... 269 6.6.2 Arbeitsweise STATUS .......................................................................................................... 271

6.7 WRITE................................................................................................................................... 272 6.7.1 Bedeutung und Aufruf - WRITE ............................................................................................ 272 6.7.2 Arbeitsweise WRITE ............................................................................................................. 273

6.8 Anzeigen und Fehlermeldungen - FMS Bausteine ............................................................... 274 6.8.1 Lokal erkannte Fehler ........................................................................................................... 276 6.8.2 Vom FMS-Partner gemeldete Fehler .................................................................................... 278

6.9 Mengengerüst / Ressourcenbedarf der FBs (PROFIBUS FMS) .......................................... 280

A Dokument-Historie .............................................................................................................................. 281

B Literaturverzeichnis ............................................................................................................................. 285

B.1 Zur Projektierung, Inbetriebnahme und Nutzung des CP ..................................................... 285

B.2 Zur Programmierung ............................................................................................................. 286

Index................................................................................................................................................... 287

Page 12: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Inhaltsverzeichnis

Programmbausteine für SIMATIC NET S7-CPs 12 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Page 13: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 13

Übersichten und Allgemeines zur Hantierung 1 1.1 Programmbausteine für Industrial Ethernet / PROFINET

Lieferform - Bausteinbibliothek Die SIMATIC NET Programmbausteine werden, soweit nicht anders angegeben, zusammen mit der Projektierungs-Software STEP 7 geliefert.

Hinweis Lieferumfang STEP 7 / STEP 7 Professional

Die Lieferumfänge in den Bibliotheken von STEP 7 V5.5 und STEP 7 Professional können voneinander abweichen.

Nachfolgende Liste gibt die bei der Lieferung verwendeten Bausteinnummern an.

Entnehmen Sie ferner unter der Rubrik SIMATIC_NET_CP, in welchem Verzeichnis Bausteine abgelegt sind. Beachten Sie bitte, dass Sie unterschiedliche Programmbausteine für S7-300 und S7-400 (getrennte Bibliotheken) verwenden müssen.

Kommunikationsdienst / Funk-tionsbereich

Programmbaustein Bibliothek für SIMATIC NET SIMATIC_NET_CP CP 300 CP 400

SEND / RECEIVE (Offene Kommunikationsdien-ste)

AG_SEND FC5 x x AG_LSEND FC50 x 2) x AG_SSEND FC53 x3) AG_RECV FC6 x x AG_LRECV FC60 x 2) x AG_SRECV FC63 x3) AG_LOCK FC7 x x AG_UNLOCK FC8 x x AG_CNTRL FC10 x 3) x 3) AG_CNTEX FB10 x 3) x 3)

Programmierte Kommunikati-onsverbindungen und IP-Konfiguration

IP_CONFIG FB55 x x

S7-Kommunikation 4) BSEND FB12 x BRCV FB13 x PUT FB15 x GET FB14 x USEND FB8 x URCV FB9 x C_CNTRL FC62 x

Page 14: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.1 Programmbausteine für Industrial Ethernet / PROFINET

Programmbausteine für SIMATIC NET S7-CPs 14 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Kommunikationsdienst / Funk-tionsbereich

Programmbaustein Bibliothek für SIMATIC NET SIMATIC_NET_CP CP 300 CP 400

FTP (Advanced-CPs) FTP_CMD FB40 x x FTP_CONNECT FC40 x x FTP_STORE FC41 x x FTP_RETRIEVE FC42 x x FTP_DELETE FC43 x x FTP_QUIT FC44 x x

PROFINET CBA PN_InOut 1) FB88 1) x 1) x 1) PN_InOut_Fast 1) FB90 1) x 1)

PROFINET IO PNIO_SEND FC11 x PNIO_RECV FC12 x PNIO_RW_REC FB52 x PNIO_ALARM FB54 x PE_START_END_CP FB85 x PE_CMD_CP FB86 x PE_I_DEV_CP FB87 x DS3_WRITE_CP (STEP 7 V5.5) PE_DS3_Write_ET200S_CP 5) (STEP 7 Professional)

FB53 FB88

x x

Legende: 1) Der FB88 / FB90 wird zusammen mit dem Engineering-Werkzeug SIMATIC iMap geliefert und wird mit der Installati-on des STEP 7-Addon in der PROFINET System-Library eingetragen. 2) Nicht für aktuelle CPs zu verwenden und nicht mehr Lieferbestandteil der aktuellen Bibliothek "SIMATIC_NET_CP". 3) Abhängig vom CP-Typ 4) Beschrieben in der STEP 7-Dokumentation 5) Die weitere Beschreibung des Programmbausteins PE_DS3_Write_ET200S_CP für STEP 7 Professional finden Sie nachfolgend in diesem Dokument unter der Beschreibung des Programmbausteins DS3_WRITE_CP für STEP 7 V5.5, welcher funktionsgleich ist.

Welche Bausteinversion verwenden ? Die folgenden Beschreibungen enthalten auch Hinweise auf abweichende Verhaltensweisen bei unterschiedlichen Bausteinversionen. Bitte achten Sie auf die Versionskennzeichnungen der von Ihnen verwendeten Bausteine.

Die mit STEP 7 installierten SIMATIC NET-Bausteinbibliotheken enthalten die zum Zeitpunkt der STEP 7-Freigabe aktuellen Bausteinversionen.

Page 15: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.2 Programmbausteine für PROFIBUS

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 15

Hinweis

Es wird empfohlen, für alle Baugruppentypen immer die aktuellen Bausteinversionen zu verwenden.

Informationen über die aktuellen Bausteinversionen sowie die aktuellen Bausteine zum Download finden Sie beim Siemens Industry Online Support im Internet unter folgender Adresse:

Link: (https://support.industry.siemens.com/cs/ww/de/view/8797900)

Diese Empfehlung setzt voraus, dass Sie den für diesen Baugruppentyp aktuellen Firmware-Stand verwenden.

Programmbausteine im Ersatzteilfall Unter Ersatzteilfall wird der Austausch einer Baugruppe gegen eine andere Baugruppe mit eventuell neuerem Ausgabestand verstanden.

Hinweis

Beachten Sie, dass Sie im Ersatzteilfall im Anwenderprogramm nur die für den projektierten CP-Typ zugelassenen Bausteine verwenden.

Es wird empfohlen, für alle Baugruppentypen immer die aktuellen Bausteinversionen zu verwenden.

Diese Empfehlung setzt voraus, dass Sie den für diesen Baugruppentyp aktuellen Firmware-Stand verwenden.

Die spezifischen Gerätehandbücher geben Auskunft über die Kompatibilität der S7-CPs und der zugehörenden Programmbausteine.

1.2 Programmbausteine für PROFIBUS

Lieferform - Bausteinbibliothek Die SIMATIC NET Programmbausteine werden, soweit nicht anders angegeben, zusammen mit der Projektierungs-Software STEP 7 geliefert.

Hinweis Lieferumfang STEP 7 / STEP 7 Professional

Die Lieferumfänge in den Bibliotheken von STEP 7 V5.5 und STEP 7 Professional können voneinander abweichen.

Nachfolgende Liste gibt die bei der Lieferung verwendeten Bausteinnummern an.

Page 16: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.2 Programmbausteine für PROFIBUS

Programmbausteine für SIMATIC NET S7-CPs 16 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Entnehmen Sie ferner unter der Rubrik SIMATIC_NET_CP, in welchem Verzeichnis Bausteine abgelegt sind. Beachten Sie, dass Sie unterschiedliche Programmbausteine für S7-300 und S7-400 (getrennte Bibliotheken) verwenden müssen.

Kommunikationsdienst / Funktionsbe-reich

Programmbaustein Bibliothek für SIMATIC NET SIMATIC_NET_CP CP 300 CP 400

PROFIBUS DP DP_SEND FC1 x DP_RECV FC2 x DP_DIAG FC3 x DP_CTRL FC4 x

SEND / RECEIVE (Offene Kommunikationsdienste)

AG_SEND FC5 x x AG_LSEND FC50 x 2) AG_RECV FC6 x x AG_LRECV FC60 x 2)

S7-Kommunikation 1) BSEND FB12 x 1) BRCV FB13 x 1) PUT FB15 x 1) GET FB14 x 1) USEND FB8 x 1) URCV FB9 x 1) C_CNTRL FC62 x 1)

PROFIBUS FMS IDENTIFY FB2 x x READ FB3 x x REPORT FB4 x x STATUS FB5 x x WRITE FB6 x x

1) Beschrieben in der STEP 7-Dokumentation. Entsprechend für S7-400 zu verwendende SFBs werden in der STEP 7-Bibliothek zur Verfügung gestellt.

2) Kann genutzt werden, hat jedoch unter PROFIBUS keine besondere Funktion.

Welche Bausteinversion verwenden ? Die folgenden Beschreibungen enthalten auch Hinweise auf abweichende Verhaltensweisen bei unterschiedlichen Bausteinversionen. Bitte achten Sie auf die Versionskennzeichnungen der von Ihnen verwendeten Bausteine.

Die mit STEP 7 installierten SIMATIC NET-Bausteinbibliotheken enthalten die zum Zeitpunkt der STEP 7-Freigabe aktuellen Bausteinversionen.

Page 17: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.3 Aufrufe der Programmbausteine parametrieren

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 17

Hinweis

Es wird empfohlen, für alle Baugruppentypen immer die aktuellen Bausteinversionen zu verwenden.

Informationen über die aktuellen Bausteinversionen sowie die aktuellen Bausteine zum Download finden Sie beim Customer Support im Internet unter folgender Beitrags-ID:

Link: (https://support.industry.siemens.com/cs/ww/de/view/8797900)

Diese Empfehlung setzt voraus, dass Sie den für diesen Baugruppentyp aktuellen Firmware-Stand verwenden.

Programmbausteine im Ersatzteilfall Unter Ersatzteilfall wird der Austausch einer Baugruppe gegen eine andere Baugruppe, mit eventuell neuerem Ausgabestand verstanden.

Hinweis

Beachten Sie, dass Sie im Ersatzteilfall im Anwenderprogramm nur die für den projektierten CP-Typ zugelassenen Bausteine verwenden.

Es wird empfohlen, für alle Baugruppentypen immer die aktuellen Bausteinversionen zu verwenden.

Diese Empfehlung setzt voraus, dass Sie den für diesen Baugruppentyp aktuellen Firmware-Stand verwenden.

Die Gerätehandbücher geben Auskunft über die Kompatibilität der S7-CPs und der zugehörenden Programmbausteine.

1.3 Aufrufe der Programmbausteine parametrieren

Allgemeine Hinweise zum Aufruf und zur Parametrierung Bevor die Programmbausteine im Detail beschrieben werden, folgen an dieser Stelle einige allgemeine Hinweise zum Aufruf und zur Parametrierung.

Allgemeine Angaben können hier zu folgenden, bei allen Programmbausteinen vorhandenen Parametergruppen gemacht werden:

● Parameter zur CP- und Verbindungszuordnung (Eingangsparameter)

● Parameter zur Angabe eines CPU-Datenbereichs (Eingangsparameter)

● Statusinformationen (Ausgangsparameter)

Page 18: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.4 Parameter zur CP- und Verbindungszuordnung (Eingangsparameter)

Programmbausteine für SIMATIC NET S7-CPs 18 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

ACHTUNG

Kommunikations-Bausteine für S7-300 aufrufen

Es ist nicht zulässig, die Kommunikations-Bausteine für S7-300 (SIMATIC NET Bausteinbibliotheken für S7-300 in STEP 7) in mehreren Ablaufebenen aufzurufen! Wenn Sie beispielsweise einen Kommunikations-Baustein in OB1 und in OB35 aufrufen, könnte die Bausteinbearbeitung durch den jeweils höherprioren OB unterbrochen werden.

Wenn Sie die Bausteine in mehreren OBs aufrufen, müssen Sie programmtechnisch dafür sorgen, dass ein laufender Kommunikations-Baustein nicht durch einen anderen Kommunikations-Baustein unterbrochen wird (beispielsweise über SFC Alarme sperren/freigeben).

1.4 Parameter zur CP- und Verbindungszuordnung (Eingangsparameter)

Beim Aufruf eines Programmausteins übergeben Sie im Parameter CPLADDR bzw. LADDR die Baugruppen-Anfangsadresse des S7-CP. Die Baugruppen-Anfangsadresse des S7-CP ist bei der Projektierung des CP dem Parameter "Adresse/Eingang" zu entnehmen.

Bei verbindungsorientierten Aufträgen müssen Sie zusätzlich die zu verwendende Verbindung über deren Verbindungs-ID referenzieren . Die Angabe hierzu finden Sie im Eigenschaftendialog der Verbindung unter "Bausteinparameter" (siehe Angaben in NetPro).

Bausteinparameter automatisch übernehmen (hier beschrieben für STEP 7 V5.5) Um eine korrekte Parametrierung der Bausteinaufrufe zu gewährleisten, bietet STEP 7 im KOP/AWL/FUP-Editor die Möglichkeit, sämtliche relevanten Parameter aus der Hardware-Konfiguration (HW Konfig) und aus der Verbindungsprojektierung (NetPro) automatisch zu übernehmen.

Gehen Sie hierzu bei der Parametrierung des Bausteines im Anwenderprogramm wie folgt vor:

1. Markieren Sie den Bausteinaufruf und dessen Bausteinparameter;

2. Wählen Sie mit der rechten Maustaste den Menüpunkt "Verbindungen...".

3. Je nach Bausteintyp können Sie nun aus einer Liste die für den Baustein vorgesehene Verbindung und / oder Baugruppe auswählen.

4. Bestätigen Sie die Auswahl; soweit möglich werden dann die verfügbaren Parameterwerte in den Bausteinaufruf eingetragen.

Verhalten bei falscher Adressangabe Kann die S7-CPU unter der angegebenen Baugruppen-Anfangsadresse den PROFIBUS-CP nicht erreichen oder nicht als CP identifizieren, so ergeben sich die nachfolgend beschriebenen Fehlerbilder.

Page 19: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.5 Parameter zur Angabe eines CPU-Datenbereichs (Eingangsparameter)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 19

Ursache Reaktion bzw. Anzeige Unter der angegebenen CP-Adresse ist keine Baugruppe adressierbar oder identifizierbar.

Die CPU bleibt im Zustand STOP mit Systemfehler; werten Sie in diesem Fall den Diagnosepuffer der CPU aus.

Die CP-Adresse zeigt auf einen anderen Baugruppentyp.

mögliche Fehleranzeige im Parameter STATUS des Kommunika-tionsbausteines: 8184H Systemfehler 80B0H Baugruppe kennt den Datensatz nicht. 80C0H Datensatz kann nicht gelesen werden. 80C3H Betriebsmittel (Speicher) belegt. 80D2H Logische Basisadresse ist falsch.

Hinweis

Wenn Sie irrtümlich keinen CP sondern einen anderen Baugruppentyp adressieren, entstehen Fehlerbilder, die nicht durch Fehlermeldungen der Programmbausteine selbst angezeigt werden.

1.5 Parameter zur Angabe eines CPU-Datenbereichs (Eingangsparameter)

Angabe des Datenbereiches in der CPU Beim Aufruf eines Programmbausteins übergeben Sie die Adresse und Länge des Datenbereiches in der CPU, in dem Nutzdaten bereitgestellt oder abgelegt werden sollen oder weitere Parametrierinformationen enthalten sein können

Zur Adressierung dieses Bereiches wird der Datentyp ANY- Pointer verwendet. Weitergehende Informationen zu diesem Datentyp finden Sie in der Online-Hilfe zu STEP 7.

1.6 Statusinformationen (Ausgangsparameter)

Statusanzeigen auswerten Für die Statusauswertung sind im Anwenderprogramm die Parameter auszuwerten:

● DONE bzw. NDR Diese Parameter (DONE bei Sendaufträgen bzw. NDR bei Empfangsaufträgen) melden den (positiven) Abschluss einer Auftragsausführung.

● ERROR Meldet, wenn der Auftrag nicht fehlerfrei ausgeführt werden konnte.

Page 20: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Übersichten und Allgemeines zur Hantierung 1.6 Statusinformationen (Ausgangsparameter)

Programmbausteine für SIMATIC NET S7-CPs 20 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

● STATUS Der Parameter liefert Detailinformation zur Auftragsausführung. Statusanzeigen können bereits während der Auftragsausführung geliefert werden (DONE=0 und ERROR=0).

Hinweis

Beachten Sie, dass die Statusanzeigen DONE, NDR, ERROR, STATUS bei jedem Bausteinaufruf aktualisiert werden.

Statusanzeigen beim CP-Anlauf Bei einem Neu-/Wiederanlauf des Ethernet-CP (z. B. wegen Schalterbetätigung) werden die Ausgabeparameter des FC-Bausteines wie folgt zurückgesetzt:

● DONE = 0

● NDR = 0

● ERROR = 0

● STATUS =

– 8180H bei AG_RECV / AG_LRECV

– 8181 H bei AG_SRECV

– 8181H bei AG_SEND /AG_LSEND / AG_SSEND

Page 21: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 21

Programmbausteine für Industrial Ethernet 2 2.1 Programmbausteine für Offene Kommunikationsdienste

(SEND/RECEIVE-Schnittstelle)

2.1.1 Programmbausteine und ihre Anwendung in der Übersicht

Übersicht Für die Übertragung von Daten an der SEND/RECEIVE-Schnittstelle stehen folgende Programmbausteine zur Verfügung: Programmbaustein verwendbar bei 1) Bedeutung

S7-300 S7-400 AG_SEND (FC5) x x für Daten senden AG_RECV (FC6) x x für Daten empfangen AG_LSEND (FC50) x für Daten senden AG_LRECV (FC60) x für Daten empfangen AG_SSEND (FC53) x für Daten senden AG_SRECV (FC63) x für Daten empfangen

1) Anmerkungen zu den Programmbausteinen bei S7-300 und S7-400

● für S7-300 gilt:

– Bei den aktuellen Ausgabeständen der Ethernet-CPs werden ausschließlich die Programmbausteine AG_SEND und AG_RECV verwendet; die Datenlänge kann hier bis zu 8192 Byte betragen.

– In S7–300-CPs (bis zum 6GK7 343–1EX10–0XE0 mit Firmware-Stand V2.2) müssen Sie auf TCP-Verbindungen statt des FC6 den FC60 verwenden. Für den CP 343-1 (EX10) können Sie den FC5/FC6 bis zur Bausteinversion V3.0 einsetzen.

● für S7-400 gilt:

– Bei den Programmbausteinen AG_SEND / AG_RECV ist die Datenlänge pro Auftrag auf <=240 Byte beschränkt. Längere Datensätze (bis zu 8192 Byte) können mit Hilfe der FCs AG_LSEND oder AG_LRECV übertragen werden.

– Die Programmbausteine AG_SSEND und AG_SRECV dienen der beschleunigten Übertragung von Daten, indem eine optimierte Bausteinkommunikation zwischen CPU und CP in der S7−Station verwendet wird. Die schnelle Kommunikation bleibt ohne Auswirkung auf die LAN−Kommunikation.

– In der S7–400 kann auf TCP-Verbindungen der FC6 nicht verwendet werden, sondern nur der FC60 oder der FC63.

Page 22: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 22 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Weitere Informationen Bitte informieren Sie sich zu dem von Ihnen verwendeten S7-CP im gerätespezifischen Handbuch bzgl. des unterstützten Datenbereiches. Eine Übersicht über die Versionen der FCs/FBs finden Sie in der SIMATIC NET-Bausteinhistorie.

Anwendung Die folgende Darstellung verdeutlicht die Anwendung der hier beschriebenen Programmbausteine für den bidirektionalen Datentransfer über eine projektierte Verbindung.

Hinweis

Auf dieser und den nachfolgenden Seiten gelten, sofern nicht ausdrücklich anders angegeben, die Ausführungen für die Bausteine AG_SEND / AG_LSEND / AG_SSEND bzw. AG_RECV / AG_LRECV / AG_SRECV.

Programmbeispiele Bitte beachten sie als Hilfestellung auch die nachfolgend genannten Programmbeispiele im Internet unter folgender Beitrags-ID

● Programmbeispiel für die SEND/RECEIVE-Schnittstelle mit den Bausteinen FC5 (AG_SEND) und FC6 (AG_RECV) für S7-300:

17853532 (https://support.industry.siemens.com/cs/ww/de/view/17853532)

● Programmbeispiel für die SEND/RECEIVE-Schnittstelle mit den Bausteinen FC50 (AG_LSEND) und FC60 (AG_LRECV) für S7-400:

18513371 (https://support.industry.siemens.com/cs/ww/de/view/18513371)

Page 23: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 23

Angabe des Datenbereichs in der CPU Beim Aufruf eines FC-Bausteines übergeben Sie Adresse und Länge des Datenbereiches in der CPU. Beachten Sie bitte, dass die maximale Länge des Datenbereiches vom verwendeten Bausteintyp und der Bausteinversion abhängig ist.

● AG_SEND und AG_RECV Mit diesen Bausteinen können bis zur Bausteinversion V3.0 maximal 240 Byte gesendet oder empfangen werden. Die aktuellen Bausteinversionen lassen bei S7-300 einen Datenbereich bis zu 8192 Byte zu. Bei S7-400 müssen für die Übertragung größerer Datenbereiche weiterhin die FCs AG_LSEND / AG_LRECV verwendet werden.

● AG_LSEND / AG_LRECV Bei den CPs der S7-400 sowie bei früheren Ausgabeständen der S7-300 können größere Datenbereiche nur über die FCs AG_LSEND bzw. AG_LRECV übertragen werden. Bitte informieren Sie sich in der Produktinformation des CP bzgl. des unterstützten Datenbereiches.

● AG_SSEND / AG_SRECV Mit CPs der S7−400, die PROFINET-Kommunikation zusammen mit CPUs ab Ausgabestand 5.1 unterstützen, können Daten über die FCs AG_SSEND bzw. AG_SRECV mit einer höheren Übertragungsgeschwindigkeit übertragen werden (gilt nicht für den CP 443−1 Advanced 6GK7 443–1EX41–0XE0). Welche CP-Typen von CPUs ab Ausgabestand 5.1 unterstützt werden, können Sie dem Gerätehandbuch Ihres CP entnehmen (Kapitel "Voraussetzungen für den Einsatz").

Die folgende Tabelle gibt an, welche Grenzwerte bei den verschiedenen Verbindungstypen gelten. FC ISO-Transport ISO-on-TCP TCP UDP AG_LSEND (S7-400) AG_SEND (S7-300)

8192 Byte 8192 Byte 8192 Byte 2048 Byte

AG_SEND (S7-400) 240 Byte 240 Byte 240 Byte 240 Byte AG_LRECV (S7-400) AG_RECV (S7-300)

8192 Byte 8192 Byte 8192 Byte 2048 Byte

AG_RECV (S7-400) 240 Byte 240 Byte 240 Byte 240 Byte AG_SSEND (S7-400) AG_SRECV (S7-400)

1452 Byte 1452 Byte 1452 Byte 1452 Byte

Hinweis

Beachten Sie zur Länge des übertragbaren Datenbereichs bei älteren Ausgabeständen der Ethernet-CPs bitte die Angaben in der Produktinformation / Gerätehandbuches des von Ihnen verwendeten Ethernet-CPs.

Anwendung ohne Auftragsheader Bei spezifizierter Verbindung sind Adress- und Auftragsparameter durch die Verbindungsprojektierung festgelegt. Das Anwenderprogramm stellt daher nur die Nutzdaten im UDP-Datenbereich beim Senden mit AG_SEND / AG_LSEND / AG_SSEND bereit, bzw. empfängt diese mit AG_RECV / AG_LRECV / AG_SRECV.

Page 24: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 24 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Anwendung mit Auftragsheader Freie UDP-Verbindungen erfordern einen Auftragsheader im Anwender-Datenbereich.

Entnehmen Sie der folgenden Darstellung die Struktur des Auftragspuffers und die Bedeutung und Platzierung (high byte / low byte) der Parameter im Auftragsheader.

Bild 2-1 Senden und Empfangen über eine freie UDP-Verbindung per Programm

● Im Bild (Eingaben sind hexadezimal) wird beispielhaft von folgender IP-Adresse ausgegangen: 142.11.40.35;

● Für die Port-Adresse 1003 ist z. B. einzutragen: für High Byte: 03H; für Low Byte: EBH.

● Der Anwender-Datenbereich kann bis zu 2048 Byte umfassen. Es können bis zu 2042 Byte Nutzdaten übertragen werden. 6 Byte sind für den Auftragsheader reserviert. Beachten Sie, dass die beim Bausteinaufruf angegebene Datenlänge (Parameter LEN) den Header und die Nutzdaten umfassen muss!

Aufrufparameter erst nach Auftragsbestätigung verändern

Hinweis

Die Aufrufparameter an der Aufrufschnittstelle der Programmbausteine AG_SEND bzw. AG_RECV dürfen Sie nach dem Auftragsanstoß erst dann wieder verändern, nachdem der FC die Auftragsausführung mit DONE=1 oder mit ERROR=1 bestätigt hat.

Wird dies nicht beachtet, kann es sein, dass die Auftragsausführung mit Fehler abgebrochen wird.

Statusanzeige an der FC-Aufrufschnittstelle; Besonderheit der FC-Versionen (nur bei S7-300) *) Bei den FCs AG_SEND (FC 5) und AG_RECV (FC 6) erhalten Sie in folgenden Betriebsfällen die nachfolgend genannten Anzeigen:

● CP befindet sich in STOP;

● Verbindung ist nicht projektiert;

Page 25: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 25

● Verbindung ist nicht aufgebaut

● Verbindung ist abgebrochen;

Anzeigen:

● AG_SEND: DONE=0; ERROR=1; Status=8183H

● AG_RECV: DONE=0; ERROR=0; Status=8180H oder DONE=0; ERROR=1; Status=8183H

*) gültig für FCs ab Version 4.0

2.1.2 AG_SEND / AG_LSEND / AG_SSEND

2.1.2.1 Bedeutung und Aufruf - AG_SEND / AG_LSEND / AG_SSEND

Bedeutung des Bausteins Der Programmbaustein AG_SEND / AG_LSEND / AG_SSEND übergibt Daten an den Ethernet-CP zur Übertragung über eine projektierte Verbindung.

Der angegebene Datenbereich kann ein Merkerbereich oder ein Datenbausteinbereich sein.

Eine fehlerfreie Ausführung wird signalisiert, wenn der gesamte Anwenderdatenbereich über Ethernet gesendet werden konnte.

Anmerkung: Alle folgenden Angaben gelten, soweit nicht anders angegeben, gleichermaßen für die FCs AG_SEND, AG_LSEND und AG_SSEND.

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Page 26: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 26 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Beispiel in AWL-Darstellung AWL Erläuterung

call fc 5 ( ACT := M 10.0, ID := MW 12, LADDR := W#16#0100, SEND := P#db99.dbx10.0 byte 240, LEN := MW 14, DONE := M 10.1, ERROR := M 10.2, STATUS := MW 16 );

//Bausteinaufruf //Auftragsanstoß über Merkerbit //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez. in Hardware-Konfiguration //Puffer mit Sendedaten //Längenangabe für Sendedaten //Ausführungsanzeige //Fehleranzeige //Statusanzeige

Hinweis

Falls Sie den FC53 AG_SSEND nutzen wollen, dann müssen Sie in der Verbindungsprojektierung bei den Verbindungseigenschaften die Betriebsart "SPEED SEND/RECV" auswählen.

2.1.2.2 Arbeitsweise - AG_SEND / AG_LSEND / AG_SSEND

Arbeitsweise Die folgenden Ablaufdarstellungen zeigen den normalen zeitlichen Ablauf einer mit AG_SEND im Anwenderprogramm angestoßenen Datenübertragung.

Die Arbeitsweise des FC ist hierbei vom verwendeten CP-Typ abhängig:

● Fall 1: Ablauf bei FC5, FC50, FC53 in S7–400−CPs In der S7–400 wird die Übertragung des gesamten Datenbereichs, unabhängig von seiner Länge, nach dem erstmaligen Bausteinaufruf vom CP abgewickelt.

● Fall 2: Ablauf beim FC5 in S7–300−CPs In der S7 300 erfolgt die Übertragung in mehreren Datensegmenten (jeweils 240 Byte Nutzdaten) und erfordert für die vollständige Datenübertragung mehrere FC Aufrufe.

Fall 1: Ablauf bei FC5, FC50, FC53 in S7–400−CPs Der Sendeauftrag wird ausgeführt, sobald der Parameter ACT = 1 übergeben wird. Anschließend müssen Sie in mindestens einem weiteren Aufruf den Parameter ACT = 0 übergeben.

Die Statusanzeige in den Ausgabeparametern DONE, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden. Zur weiteren Aktualisierung der Statusanzeige ohne erneuten Sendeauftrag ist daher jeweils ein weiterer Bausteinaufruf mit dem Parameter ACT = 0 abzusetzen.

Page 27: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 27

Page 28: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 28 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Fall 2: Ablauf beim FC5 in S7–300−CPs Der Sendeauftrag wird begonnen, sobald der Parameter ACT = 1 übergeben wird. Im Gegensatz zu Fall 1, erfordert das hier verwendete Protokoll für die Übertragung der Datensegmente (240 Byte Nutzdaten) jeweils einen erneuten Aufruf des FCs. Abhängig von der Länge der Nutzdaten müssen Sie daher den FC so lange mit ACT=0 erneut aufrufen, bis die vollständige Übertragung angezeigt wird; es ist mindestens 1 weiterer Aufruf erforderlich. Die Übertragung zum Kommunikationspartner erfolgt in Segmenten von jeweils 240 Byte Länge.

Die Statusanzeige in den Ausgabeparametern DONE, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden.

Hinweis

Es ist prinzipiell möglich, den FC innerhalb eines CPU-Zyklus mehrfach aufzurufen, um die Abwicklung eines Auftrages zu beschleunigen. Sie sollten jedoch bedenken, dass dadurch der CPU-Zyklus entsprechend belastet wird (je nach CPU-Typ unterschiedlich)!

Page 29: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 29

2.1.2.3 Erläuterung der Formalparameter - AG_SEND / AG_LSEND / AG_SSEND

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_SEND / AG_LSEND / AG_SSEND:

Parameter Deklaration Datentyp Wertebereich Beschreibung ACT INPUT BOOL 0,1 Beim FC-Aufruf mit ACT = 1 werden LEN Bytes aus

dem mit dem Parameter SEND angegebenen Datenbe-reich gesendet. Beim FC-Aufruf mit ACT = 0 werden die Statusanzei-gen DONE, ERROR und STATUS aktualisiert.

ID INPUT INT 1, 2...64 (S7-400) 1, 2...16 (S7-300)

Im Parameter ID wird die Verbindungsnummer der Verbindung angegeben.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Bau-gruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

SEND INPUT ANY Angabe von Adresse und Länge Die Adresse des Datenbereichs verweist alternativ auf: • Merkerbereich • Datenbausteinbereich

LEN INPUT INT bei ISO-Transport und ISO-on-TCP / TCP: 1, 2...8192 bzw. bis "Längenangabe beim Parameter SEND") bei UDP: 1, 2...2048 bzw. bis "Längenangabe beim Parameter SEND")

Anzahl der Bytes, die mit dem Auftrag aus dem Daten-bereich gesendet werden sollen. Die Angabe kann im Bereich von 1 bis "Längenangabe beim Parameter SEND" liegen. • Bausteintyp beachten:

– bei S7-300 Mit den aktuellen Versionen des FC AG_SEND lassen sich bis zu 8192 Byte (2048 Byte bei UDP) übertragen.

– bei S7-400 Mit dem FC AG_SEND ist der Datenbereich ge-nerell auf maximal 240 Byte beschränkt.

Bei S7-400 ist zu beachten: • Erhöhte Performance bei kurzen Datensätzen:

Die Übertragung von Datensätzen bis zu 240 Byte erfolgt mit erhöhter Performance! Dies gilt unab-hängig vom verwendeten Bausteintyp (AG_SEND/AG_LSEND).

• Mit dem AG_SSEND ist der Datenbereich auf ma-ximal 1452 Byte beschränkt.

Page 30: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 30 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung DONE OUTPUT BOOL 0: Auftrag läuft

1: Auftrag ausgeführt Der Zustandsparameter zeigt an, ob der Auftrag fehler-frei abgewickelt wurde. Solange DONE = 0 kann kein weiterer Auftrag ange-stoßen werden. DONE wird vom CP bei Auftragsan-nahme auf 0 gesetzt Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen AG_SEND, AG_LSEND und AG_SSEND (Seite 30)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen AG_SEND, AG_LSEND und AG_SSEND (Seite 30)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen AG_SEND, AG_LSEND und AG_SSEND (Seite 30)

2.1.2.4 Anzeigen AG_SEND, AG_LSEND und AG_SSEND

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

DONE ERROR STATUS Bedeutung 1 0 0000H Auftrag fertig ohne Fehler. 0 0 0000H Kein Auftrag in Bearbeitung. 0 0 8181H Auftrag läuft. 0 1 7000H Die Anzeige ist nur bei S7-400 möglich: Der FC wurde mit ACT=0 aufgerufen; der Auf-

trag wird jedoch nicht bearbeitet. 0 1 8183H Die Projektierung fehlt oder der ISO-/TCP-Dienst im Ethernet-CP ist noch nicht gestar-

tet. 0 1 8184H • Unzulässiger Datentyp für den Parameter SEND angegeben.

• Systemfehler (Der Quelldatenbereich ist fehlerhaft).

0 1 8185H Parameter LEN größer als Quell-Bereich SEND. 0 1 8186H Parameter ID ungültig.

• ID != 1, 2....16 (S7-300) • ID != 1, 2....64.(S7-400)

Page 31: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 31

DONE ERROR STATUS Bedeutung 0 1 8302H Keine Empfangsressourcen bei Ziel-Station, Empfänger-Station kann empfangene

Daten nicht schnell genug verarbeiten bzw. hat keine Empfangsressourcen bereitge-stellt.

0 1 8304H Die Verbindung ist nicht aufgebaut. Der Sendeauftrag sollte erst nach einer Wartezeit >100 ms erneut abgesetzt werden.

0 1 8311H Zielstation ist unter der angegebenen Ethernet-Adresse nicht erreichbar. 0 1 8312H Ethernet-Fehler im CP. 0 1 8F22H Quell-Bereich ungültig, z. B.:

Bereich im DB nicht vorhanden Parameter LEN < 0

0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummernehler. 0 1 8F3AH Bereich nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem

Peripheriebereich. 0 1 8F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt. 0 1 8F7FH Interner Fehler, z. B. unzulässige ANY-Referenz

z.B. Parameter LEN = 0 . 0 1 8090H • Baugruppe mit dieser Baugruppen-Anfangsadresse nicht vorhanden;

• Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unter-schiedliche FCs für S7-300 und S7-400 zu verwenden).

0 1 8091H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster. 0 1 8092H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben.

(nur bei S7-400) 0 1 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut.

(bei neueren CPU-Ausgabeständen) 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Die Längenangabe (im Parameter LEN) ist falsch. 0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. 0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist eine Wiederholung im Anwender-

programm sinnvoll) 0 1 80D2H Baugruppen-Anfangsadresse ist falsch.

Siehe auch /5/ (Seite 286)

Page 32: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 32 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.1.3 AG_RECV / AG_LRECV / AG_SRECV

2.1.3.1 Bedeutung und Aufruf - AG_RECV / AG_LRECV / AG_SRECV

Bedeutung des Bausteins Der Programmbaustein AG_RECV / AG_LRECV / AG_SRECV übernimmt vom Ethernet-CP die über eine projektierte Verbindung übertragenen Daten.

Der für die Datenübernahme angegebene Datenbereich kann ein Merkerbereich oder ein Datenbausteinbereich sein.

Eine fehlerfreie Ausführung wird signalisiert, wenn die Daten vom Ethernet-CP übernommen werden konnten.

Anmerkung: Alle folgenden Angaben gelten, soweit nicht anders angegeben, gleichermaßen für die FCs AG_RECV und AG_LRECV / AG_SRECV.

Aufruf Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterungen

call fc 6 ( ID := MW 40, LADDR := W#16#0100, RECV := P#M 0.0 BYTE 100, NDR := DB 110.DBX 0.6, ERROR := DB 110.DBX 0.7, STATUS := DB 110.DBW 2, LEN := DB 110.DBW 4 );

//Bausteinaufruf //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez. in Hardware-Konfiguration //Puffer für Empfangsdaten //Empfangsanzeige //Fehleranzeige //Statusanzeige //Empfangsdatenlänge

Hinweis

Falls Sie den FC63 AG_SRECV nutzen wollen, dann müssen Sie in der Verbindungsprojektierung bei den Verbindungseigenschaften die Betriebsart "SPEED SEND/RECV" auswählen.

Page 33: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 33

2.1.3.2 Arbeitsweise AG_RECV / AG_LRECV / AG_SRECV

Arbeitsweise Die folgenden Ablaufdarstellungen zeigen den normalen zeitlichen Ablauf einer mit AG_RECV im Anwenderprogramm angestoßenen Datenübernahme.

Jeder AG_RECV Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern NDR, ERROR und STATUS vom Ethernet-CP quittiert.

Die Arbeitsweise des FC ist hierbei vom verwendeten CP-Typ und von den Verbindungstypen abhängig:

● Fall 1: Ablauf beim FC6 in S7-300 CPs

Bei den aktuellen CP-Typen steht eine optimierte Datenübertragung für die SEND/RECEIVE-Schnittstelle zur Verfügung. Diese ermöglicht insbesondere bei längeren Datensätzen einen wesentlich höheren Datendurchsatz an der Schnittstelle zwischen CPU und CP.

● Fall 2: Ablauf bei FC6 und FC60 in S7-400 CPs

Beim FC6 / FC60 AG_RECV unterscheidet sich das Verhalten in der S7 400 je nach verwendetem Protokoll.

– Fall 2a: Ablauf bei ISO−Transport−, ISO−on−TCP−, UDP−Verbindungen

Bei diesen Verbindungstypen wird die Übertragung des Datenbereichs je nach Länge durch ein− oder mehrmaligen Bausteinaufruf des FC6 /FC60 vom CP abgewickelt.

– Fall 2b: Ablauf bei TCP-Verbindungen

Bei der TCP-Verbindung ist die Längenangabe im ANY-Pointer des Parameters RECV maßgebend. Ein FC6 /FC60 -Auftrag wird mit der Anzeige NDR=1 abgeschlossen, sobald eine der Längenangabe entsprechende Datenmenge in den Empfangspuffer geschrieben wurde.

● Fall 3: Ablauf bei FC63 in S7-400 CPs

Beim FC63 AG_SRECV unterscheidet sich das Verhalten in der S7 400 je nach verwendetem Protokoll.

– Fall 3a: Ablauf bei ISO−Transport−, ISO−on−TCP−, UDP−Verbindungen

Bei diesen Verbindungstypen wird die Übertragung des gesamten Datenbereichs, unabhängig von seiner Länge, nach dem erstmaligen Bausteinaufruf vom CP abgewickelt.

– Fall 3b: Ablauf bei TCP-Verbindungen

Bei der TCP-Verbindung werden mit jedem Aufruf die im CP vorliegenden Daten bis zur maximal vorgegebenen Auftragslänge übernommen.

Der Aufruf ist zu wiederholen, bis ein Datensatz vollständig und konsistent im Empfangspuffer abgelegt wurde. Die vollständige Übernahme des Datensatzes wird bei einem der weiteren FC−Aufrufe mit dem Parameter NDR=1 angezeigt.

Page 34: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 34 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Fall 1: Ablauf beim FC6 in S7-300 CPs Mit dem Aufruf des FC6 stellt das Anwenderprogramm den Puffer für die Empfangsdaten bereit und veranlasst den CP, empfangene Daten dort einzutragen.

Das hier verwendete Protokoll erfordert für die Übertragung in den Empfangspuffer jeweils einen erneuten Aufruf des FC für jedes Datensegment (240 Byte Nutzdaten). Abhängig von der Länge der Nutzdaten muss der FC so oft aufrufen, bis die vollständige Übertragung im Parameter NDR=1 angezeigt wird.

Die Statusanzeige in den Ausgabeparametern NDR, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden.

Fall 2a: Ablauf bei FC6 und FC60 in S7-400 CPs (bei ISO−Transport−, ISO−on−TCP−, UDP-Verbindungen)

Mit dem Aufruf des FC stellt das Anwenderprogramm den Puffer für die Empfangsdaten bereit und veranlasst den CP, alle verfügbaren Daten dort einzutragen.

Page 35: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 35

Sobald ein Datensatz vollständig und konsistent im Empfangspuffer abgelegt wurde, wird dies bei einem der weiteren FC−Aufrufe im Parameter mit NDR=1 angezeigt.

Die Statusanzeige in den Ausgabeparametern NDR, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden.

Fall 2b: Ablauf bei FC6 / FC60 in S7-400 CPs (nur bei TCP-Verbindungen) Bei der TCP-Verbindung ist die Längenangabe im ANY-Pointer des Parameters RECV maßgebend. Ein FC6 /FC60 -Auftrag wird mit der Anzeige NDR=1 abgeschlossen, sobald eine der Längenangabe entsprechende Datenmenge in den Empfangspuffer geschrieben wurde.

Das Ablaufbeispiel zeigt den Fall, dass bei einem FC60 die Längenangabe im ANY-Pointer auf 400 Byte parametriert wurde.

Page 36: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 36 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Fall 3a: Ablauf beim FC63 in S7-400 CPs (bei ISO−Transport−, ISO−on−TCP−, UDP-Verbindungen) Mit dem Aufruf des FC stellt das Anwenderprogramm den Puffer für die Empfangsdaten bereit und veranlasst den CP, alle Daten bis zum Ende der Übertragung dort einzutragen, d. h. wenn die im ANY-Pointer angegebene Länge erreicht ist.

Sobald der Datensatz vollständig und konsistent im Empfangspuffer abgelegt wurde, wird dies bei einem der weiteren FC−Aufrufe im Parameter NDR=1 angezeigt.

Die maximale Länge der Empfangsdaten beträgt 1452 Byte. Die Größe des Empfangspuffers muss immer auf diesen Wert eingestellt sein.

Die Statusanzeige in den Ausgabeparametern NDR, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden.

Page 37: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 37

Fall 3b: Ablauf beim FC63 in S7-400 CPs (nur bei TCP-Verbindungen) Mit dem Aufruf des FC stellt das Anwenderprogramm den Puffer für die Empfangsdaten bereit und veranlasst den CP, die derzeit verfügbaren Daten dort einzutragen. Solange die Daten nicht vollständig im Empfangspuffer abgelegt wurden, erfolgt die Meldung "Auftrag läuft" (8181H).

Mit dem erneuten Aufruf des FC werden die dann aktuell verfügbaren Daten im Empfangspuffer abgelegt. Wenn der Datensatz vollständig und konsistent im Empfangspuffer abgelegt wurde, wird dies bei einem der weiteren FC−Aufrufe im Parameter NDR=1 angezeigt.

Die maximale Länge der Empfangsdaten beträgt 1452 Byte. Die Größe des Empfangspuffers muss immer auf diesen Wert eingestellt sein.

Die Statusanzeige in den Ausgabeparametern NDR, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden.

Page 38: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 38 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.1.3.3 Erläuterung der Formalparameter - AG_RECV / AG_LRECV / AG_SRECV

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_RECV / AG_LRECV / AG_SRECV:

Parameter Deklaration Datentyp Wertebereich Beschreibung ID INPUT INT 1, 2...64 (S7-400)

1, 2...16 (S7-300) Im Parameter ID wird die Verbindungsnummer der ISO-Transport-Verbindung angegeben.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

Page 39: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 39

Parameter Deklaration Datentyp Wertebereich Beschreibung RECV INPUT ANY Angabe von Adresse und Länge

Die Adresse des Datenbereiches verweist alternativ auf: • Merkerbereich • Datenbausteinbereich Beachten Sie für die Längenangabe: Die Übertragung von Datensätzen bis zu 212 Byte erfolgt mit erhöhter Performance, wenn Sie die Län-genangabe am Parameter RECV ebenfalls auf 212 Byte beschränken! Beachten Sie beim FC63 AG_SRECV: Beim FC63 AG_SRECV müssen Sie RECV immer auf die maximale Empfangspufferlänge von 1452 Byte setzen. Andernfalls kann es in bestimmten Fällen zu folgendem Fehler kommen: NDR=0; ERROR=1; STATUS=8185H

NDR OUTPUT BOOL 0: - 1: neue Daten

Der Parameter zeigt an, ob neue Daten übernommen wurden. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen AG_RECV, AG_LRECV und AG_SRECV (Seite 40)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und STATUS siehe unter Anzeigen AG_RECV, AG_LRECV und AG_SRECV (Seite 40)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und ERROR siehe unter Anzeigen AG_RECV, AG_LRECV und AG_SRECV (Seite 40)

LEN OUTPUT INT bei ISO-Transport und ISO-on-TCP: 1, 2...8192 bei UDP: 1, 2...2048

Gibt die Anzahl der Bytes an, die vom Ethernet-CP in den Datenbereich übernommen wurden. Bausteintyp beachten: • bei S7-300

Mit den aktuellen Versionen des FC AG_RECV las-sen sich bis zu 8192 Byte (2048 Byte bei UDP) übertragen.

• bei S7-400 Mit dem FC AG_RECV ist der Datenbereich gene-rell auf max. 240 Byte beschränkt. Mit dem FC AG_SRECV ist der Datenbereich auf max. 1452 Byte beschränkt.

Page 40: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 40 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.1.3.4 Anzeigen AG_RECV, AG_LRECV und AG_SRECV

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus NDR, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 2- 1 Anzeigen AG_RECV / AG_LRECV / AG_SRECV

NDR ERROR STATUS Bedeutung 1 0 0000H Neue Daten übernommen. 0 0 8180H Es liegen noch keine Daten vor (nicht bei AG_SRECV). 0 0 8181H Auftrag läuft. 0 1 8183H • Die Projektierung fehlt;

• Der ISO-Transport-Dienst im Ethernet-CP ist noch nicht gestartet; • Die Verbindung ist nicht aufgebaut.

0 1 8184H • Unzulässiger Datentyp für den Parameter RECV angegeben; • Systemfehler.

0 1 8185H Ziel-Puffer (RECV)ist zu klein. 0 1 8186H Parameter ID ungültig.

ID != 1, 2....16 (S7-300). ID != 1, 2....64.(S7-400)

0 1 8304H Die Verbindung ist nicht aufgebaut. Der Empfangsauftrag sollte erst nach einer Warte-zeit >100 ms erneut abgesetzt werden.

0 1 8F23H Quell-Bereich ungültig. z. B.: Bereich im DB nicht vorhanden.

0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters 0 1 8F30H Parameter liegt im schreibgeschützten 1. aktuellen Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. aktuellen Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummernfehler. 0 1 8F3AH Zielbereich nicht geladen (DB). 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den

Peripheriebereich.

Page 41: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 41

NDR ERROR STATUS Bedeutung 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt. 0 1 8F7FH Interner Fehler. z.B. unzulässige ANY-Referenz. 0 1 8090H • Baugruppe mit dieser Baugruppen-Anfangsadresse nicht vorhanden oder CPU in

STOP; • Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unter-

schiedliche FCs für S7-300 und S7-400 zu verwenden).

0 1 8091H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster. 0 1 8092H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben.

(nur bei S7-400) 0 1 80A0H Negative Quittung beim Lesen von Baugruppe. 0 1 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Mögliche Ursachen:

• Der Zielbereich ist ungültig. • Der Zielbereich ist zu klein. • Der Zielbereich für die Empfangsdaten wurde nicht ausreichend bemessen. Abhilfe: Führen sie einen weiteren Empfangsaufruf mit maximaler Empfangspuffergrö-ße durch. Dies gilt unabhängig vom Verbindungstyp (Uni-/Multi-/Broadcast) und von der Gerätefamilie (S7-300 / S7-400).

0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. 0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt. 0 1 80C4H Kommunikationsfehler

tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll. 0 1 80D2H Baugruppen-Anfangsadresse ist falsch.

Siehe auch /5/ (Seite 286)

Page 42: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

Programmbausteine für SIMATIC NET S7-CPs 42 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

2.2.1 Programmbausteine und ihre Anwendung in der Übersicht

Übersicht Für die Funktion FETCH/WRITE stehen folgende Programmbausteine für die Zugriffskoordinierung zur Verfügung: Programmbaustein verwendbar bei Bedeutung

S7-300 S7-400 AG_LOCK (FC7) x x Sperren des externen Datenzugriffes

mittels FETCH/WRITE. AG_UNLOCK (FC8) x x Freigeben des externen Datenzugrif-

fes mittels FETCH/WRITE.

Projektierung beachten Wenn Sie die Programmbausteine AG_LOCK und AG_UNLOCK verwenden, müssen Sie für CPs in S7-400 Stationen folgende Angaben in der Projektierung vornehmen:

● Unter "Eigenschaften > Adressen" Es ist die Option "Adresseinstellung für LOCK/UNLOCK" zu wählen, sofern diese Auswahlmöglichkeit besteht.

Arbeitsweise Mit diesen Programmbausteinen haben Sie die Möglichkeit, den Zugriff auf Systemspeicherbereiche so zu koordinieren, dass keine inkonsistenten Daten erzeugt und übertragen werden. Die Kontrolle geht hierbei vom Anwenderprogramm in der S7-CPU aus, das über den AG_LOCK-Aufruf einen externen FETCH/WRITE-Zugriff bei Bedarf sperren kann. Nach einer bestimmten Zeit oder nachdem der eigene Schreib-/Lesezugriff abgeschlossen ist, kann mit einem AG_UNLOCK-Auftrag der externe Zugriff wieder freigegeben werden.

Zusätzlich kann ausgenutzt werden, dass die Zugriffssperre nur auf der im Aufruf angegebene FETCH/WRITE-Verbindung gilt. Falls mehrere FETCH/WRITE-Verbindungen projektiert werden, können diese dann beispielsweise gezielt für bestimmte Systemspeicherbereiche genutzt werden und es kann eine entsprechend selektive Zugriffskoordination realisiert werden.

Die folgende Ablaufdarstellung zeigt den üblichen zeitlichen Ablauf einer mit AG_LOCK und AG_UNLOCK gesteuerten Speicherzugriffskoordination im Anwenderprogramm.

Page 43: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 43

Der Sperrauftrag muss zunächst im Anwenderprogramm über die Anzeige im Rückgabeparameter LOCKED überwacht werden. Solange LOCKED=0 angezeigt wird, muss von einem noch laufenden externen FETCH/WRITE-Zugriff ausgegangen werden.

Mit LOCKED=1 wird angezeigt, dass die Sperre aktiv ist; Daten können jetzt vom Anwenderprogramm aus verändert werden.

Die Statusanzeige wird bei jedem Bausteinaufruf aktualisiert.

Page 44: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

Programmbausteine für SIMATIC NET S7-CPs 44 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.2.2 AG_LOCK

2.2.2.1 Bedeutung und Aufruf - AG_LOCK

Bedeutung des Bausteins Mit Hilfe des Bausteins AG-LOCK wird der Datenaustausch mittels FETCH bzw. WRITE über die durch den Parameter ID selektierte Verbindung gesperrt. Der Ausgang LOCKED zeigt an, ob das Sperren erfolgreich war oder nicht. War das Sperren nicht erfolgreich, muss der Auftrag in einem folgenden CPU-Zyklus erneut angestoßen werden.

Der Ausgang STATUS gibt den Zustand des CPs für diese Verbindung an.

Aufruf Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 7 ( ID := DB 100.DBW 2, LADDR := W#16#0100, LOCKED := DB 100.DBX 0.6, STATUS := DB 100.DBW 4 );

//Bausteinaufruf //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez. in Hardware-Konfiguration //Zustandsanzeige der Zugriffssperre //Statusanzeige

Page 45: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 45

2.2.2.2 Erläuterung der Formalparameter - AG_LOCK

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_LOCK:

Parameter Deklaration Datentyp Wertebereich Beschreibung ID INPUT INT 1,2...16 bei S7-300

1,2...64 bei S7-400 Im Parameter ID wird die Verbindungsnummer der Verbindung angegeben.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

LOCKED OUTPUT BOOL 0: (noch) nicht gesperrt 1: gesperrt

Anzeige des Zustands für die auf der angegebenen FETCH/WRITE-Verbindung angeforderte Zugriffssper-re.

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung siehe unter Anzeigen des Bausteins AG_LOCK (Seite 45)

2.2.2.3 Anzeigen des Bausteins AG_LOCK

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeigen STATUS.

Tabelle 2- 2 Anzeigen AG_LOCK

STATUS Bedeutung 7000H CP bearbeitet keinen Auftrag 7001H FETCH läuft 7002H WRITE läuft 8183H FETCH/WRITE für diese Verbindung nicht projektiert (nur bei S7-400) 8186H ID-Nummer nicht im erlaubten Bereich (z.B. 1...64 bei S7-400 Industrial Ethernet CPs) 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei neueren CPU-Ausgabeständen) 80B0H Baugruppe kennt den Datensatz nicht. 80B1H Die Längenangabe (im Parameter LEN) ist falsch. 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. 80C0H Datensatz kann nicht gelesen werden. 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 80C2H Es liegt ein Auftragsstau vor. 80C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt.

Page 46: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

Programmbausteine für SIMATIC NET S7-CPs 46 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

STATUS Bedeutung 80C4H Kommunikationsfehler

tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll. 80D2H Baugruppen-Anfangsadresse ist falsch.

2.2.3 AG_UNLOCK

2.2.3.1 Bedeutung und Aufruf - AG_UNLOCK

Bedeutung des Bausteins Mit Hilfe des Bausteins AG_UNLOCK geben Sie den externen Zugriff auf Anwenderspeicherbereiche der S7-CPU frei. Mit FETCH bzw. WRITE ist anschließend der Zugriff über die durch den Parameter ID selektierte Verbindung möglich.

Vorausgegangen ist eine Zugriffssperre durch AG_LOCK.

Aufruf Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 8 ( ID := DB 100.DBW 2, LADDR := W#16#0100, STATUS := DB 100.DBW 4 );

//Bausteinaufruf //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez. in Hardware-Konfiguration //Statusanzeige

Arbeitsweise Um die Verbindung wieder freizugeben, muss der FC das LOCK-Anforderungsbit wieder zurücksetzen. Der FC zeigt außerdem den aktuellen Status mit Fehlermeldungen an.

Page 47: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 47

2.2.3.2 Erläuterung der Formalparameter - AG_UNLOCK

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_UNLOCK:

Parameter Deklaration Datentyp Wertebereich Beschreibung ID INPUT INT 1,2...16 bei S7-300

1,2...64 bei S7-400 Im Parameter ID wird die Verbindungsnummer der Verbindung angegeben. (siehe Projektierung)

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

STATUS OUTPUT WORD Statusanzeige: Zur Bedeutung siehe unter Anzeigen des Bausteins AG_UNLOCK (Seite 47)

2.2.3.3 Anzeigen des Bausteins AG_UNLOCK

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige STATUS.

Tabelle 2- 3 Anzeigen AG_UNLOCK

STATUS Bedeutung 7000H CP bearbeitet keinen Auftrag 7001H FETCH läuft 7002H WRITE läuft 8183H FETCH/WRITE für diese Verbindung nicht projektiert (nur bei S7-400) 8186H ID-Nummer nicht im erlaubten Bereich (z.B. 1...64 bei S7-400 Industrial Ethernet CPs) 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei neueren CPU-Ausgabeständen) 80B0H Baugruppe kennt den Datensatz nicht. 80B1H Die Längenangabe (im Parameter LEN) ist falsch. 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. 80C0H Datensatz kann nicht gelesen werden. 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 80C2H Es liegt ein Auftragsstau vor. 80C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt. 80C4H Kommunikationsfehler

tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll 80D2H Baugruppen-Anfangsadresse ist falsch.

Page 48: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 48 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

2.3.1 AG_CNTRL

2.3.1.1 Bedeutung und Aufruf - AG_CNTRL

Bedeutung und Arbeitsweise Mit dem Programmbaustein AG_CNTRL besteht die Möglichkeit, Verbindungen zu diagnostizieren. Bei Bedarf können Sie über den AG_CNTRL einen erneuten Verbindungsaufbau initialisieren.

Hinweis AG_CNTRL und AG_CNTEX

Der Programmbaustein AG_CNTEX bietet Erweiterungen gegenüber dem Programmbaustein AG_CNTRL.

Sämtliche Funktionen des AG_CNTRL sind im AG_CNTEX enthalten und an der Schnittstelle im Anwenderprogramm identisch nutzbar.

Folgende Aktionen können über parametrierbare Kommandos ausgeführt werden:

● Auslesen von Verbindungsinformationen

Sie können anhand von Status-Informationen für alle oder einzelne Verbindungen des CP entscheiden, ob ein Rücksetzen von Verbindungen sinnvoll ist.

● Rücksetzen von projektierten Verbindungen

Sie können einzelne Verbindungen oder alle Verbindungen eines CPs zurückzusetzen.

● Aktive Verbindung abbrechen und erneut aufbauen

Die Kommandos des FC-Bausteins AG_CNTRL sind nur für SEND/RECV–Verbindungen zulässig, die auf die Protokolle ISO / RFC / TCP / UDP aufsetzen.

Page 49: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 49

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 10 ( ACT := M1.0, ID := MW8, LADDR := W#16#100, CMD := MW6, DONE := M20.1, ERROR := M20.2, STATUS := MW22, RESULT1 := MD24, RESULT2 := MD28 );

//AG_CNTRL Bausteinaufruf //Auftragsanstoß //Verbindungs-ID gemäß Projektierung //Baugruppenadresse gemäß Hardware-Konfiguration //Kommandokennung //Ausführungsanzeige //Fehleranzeige //Statusanzeige //Auftragsergebnis 1 //Auftragsergebnis 2

Siehe auch FAQ unter Beitrags-ID 33414377 (https://support.industry.siemens.com/cs/ww/de/view/33414377)

Page 50: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 50 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.3.1.2 Arbeitsweise AG_CNTRL

Arbeitsweise Die folgende Ablaufdarstellung zeigt einen typischen Ablauf von AG_CNTRL-Aufträgen im Anwenderprogramm.

Der Ablauf zeigt, wie zunächst der Verbindungsstatus abgefragt und in einem zweiten Auftrag der Verbindungsabbau mittels Reset-Kommando veranlasst wird.

Im CP wird hierbei die Reset-Kennung (Bit15 in RESULT1) gesetzt. Bei einer späteren Statusabfrage kann somit erkannt werden, ob die Verbindung aufgrund eines Reset-

Page 51: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 51

Auftrages zurückgesetzt worden war. Erst nach dieser Statusabfrage (oder aufgrund eines expliziten Kommandos CN_CLEAR_RESET) wird diese Reset-Kennung im CP zurückgesetzt

Hinweis

Beim Bausteinaufruf muss ACT = 1 gesetzt sein, beim Aufruf mit ACT=0 erfolgt kein Funktionsaufruf und der Baustein wird sofort wieder verlassen.

Da beim FC10 das Auftragsergebnis synchron zum Aufruf zur Verfügung gestellt wird, kann er im selben Zyklus erneut aufgerufen werden.

2.3.1.3 Erläuterung der Formalparameter - AG_CNTRL

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_CNTRL:

Parameter Deklaration Datentyp Wertebereich Beschreibung ACT INPUT BOOL 0, 1 Der Aufruf des FC muss mit ACT=1 erfolgen.

Beim Aufruf mit ACT=0 erfolgt kein Funktionsaufruf und der Baustein wird sofort wieder verlassen.

ID INPUT INT • 1, 2, .., n, oder • 0

Im Parameter ID wird die Verbindungsnummer der Verbindung angegeben. Die Verbindungsnummer ist der Projektierung zu entnehmen. n ist die maximale Anzahl Verbindungen und abhängig vom Produkt (S7-300 oder S7-400). Bei einem Aufruf, der alle Verbindungen anspricht, (_ALL-Funktion mit CMD 3 bzw. 4), muss als ID 0 an-gegeben werden.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

CMD INPUT INT Kommando an den FC AG_CNTRL. DONE OUTPUT BOOL 0:

Auftrag ist noch in Bearbeitung bzw. noch nicht angestoßen 1: Auftrag ausgeführt

Der Zustandsparameter zeigt an, ob der Auftrag fehler-frei abgewickelt wurde. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen AG_CNTRL (Seite 52) Hinweis: bei DONE=1 kann RESULT ausgewertet werden

ERROR OUTPUT BOOL 0: kein Fehler 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen AG_CNTRL (Seite 52)

Page 52: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 52 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung STATUS OUTPUT WORD Statusanzeige

Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen AG_CNTRL (Seite 52)

RESULT1 OUTPUT DWORD Rückmeldung gemäß Kommando an den FC AG_CNTRL.

RESULT2 OUTPUT DWORD nur bei S7-400 auszuwerten: Rückmeldung Teil 2 gemäß Kommando an den FC AG_CNTRL.

2.3.1.4 Anzeigen AG_CNTRL

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Zusätzlich sind die Kommando-Ergebnisse in den Parametern RESULT1/2 gemäß "Kommandos und Auftragsergebnisse - AG_CNTRL (Seite 53) "auszuwerten.

Tabelle 2- 4 Anzeigen AG_CNTRL

DONE ERROR STATUS Bedeutung 1 0 0000H Es wurde ein Auftrag (CMD) erfolgreich an den CP übertragen (z.B. RESET) bzw. es

wurde ein Status erfolgreich vom CP gelesen. Die Parameter RESULT1/2 können ausgewertet werden.

0 0 0000H Es erfolgte noch kein Bausteinaufruf bzw. der Baustein wurde mit ACT=0 aufgerufen. 0 0 8181H Auftrag läuft

Der Bausteinaufruf ist mit den gleichen Parametern zu wiederholen, bis DONE oder ERROR gemeldet werden.

0 1 8183H Die Projektierung fehlt oder der Dienst im Ethernet-CP ist noch nicht gestartet. 0 1 8186H Der Parameter ID ist ungültig. Die zulässige ID ist abhängig vom gewählten Komman-

do. 0 1 8187H Der Parameter CMD ist ungültig. 0 1 8188H Sequenzfehler bei der ACT-Steuerung (Hinweis: diese Anzeige tritt in der Produktver-

sion des CPs / der Firmware nicht auf). 0 1 8189H Die genutzte CP-Version / Firmware unterstützt den FC10 nicht.

Die Anzeige wird bei Aufruf auf einem CP3431-EX20 mit Firmware ab V1.3.9 gesetzt; bei anderen CP-Typen wird stattdessen die Anzeige 80B0H abgesetzt. Hinweis: Der FC10 in der Version V1.0 wird von den CPs ab CP 343-1 EX21/GX21 unterstützt; bei diesen tritt diese Anzeige nicht auf.

Page 53: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 53

DONE ERROR STATUS Bedeutung 0 1 8090H • Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden.

oder • Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unter-

schiedliche FCs für S7-300 und S7-400 zu verwenden). oder • Die Funktion wird von dieser Baugruppe nicht unterstützt.

0 1 8091H Die Baugruppen-Anfangsadresse liegt nicht auf Doppel-Wort-Raster. 0 1 80B0H Die Baugruppe kennt den Datensatz nicht. 0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. Im H-System befindet

sich die zugehörende CPU im Betriebszustand STOP. 0 1 80C0H Der Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt. 0 1 80C4H Kommunikationsfehler

Der Fehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinn-voll.

0 1 80D2H Die Baugruppen-Anfangsadresse ist falsch.

2.3.1.5 Kommandos und Auftragsergebnisse - AG_CNTRL

Kommandos und Auswertung der Auftragsergebnisse Entnehmen Sie den folgenden Tabellen die möglichen Kommandos und die in den Parametern RESULT1/2 auswertbaren Ergebnisse.

Hinweis Kommandoauswertung bei älteren CP-Typen oder Firmware-Versionen

Die nachfolgend beschriebenen Kommandos werden bei aktuellen CP-Typen oder Firmware-Versionen unterstützt. Beachten Sie weitergehende Hinweise im Internet unter folgender Beitrags-ID:

33414377 (https://support.industry.siemens.com/cs/ww/de/view/33414377)

Tabelle 2- 5 Kommandos an den FC AG_CNTRL

CMD Bedeutung 0 NOP – no operation

Der Baustein wird ohne Auftrag an den CP durchlaufen. RESULT (für CMD = 0) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Ablauf ohne Fehler RESULT2 0000 0000H Default

Page 54: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 54 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung 1 CN_STATUS – connection status

Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 000*H Bits 0-3: Anzeigen für die Sende-Richtung

(ausgeschlossene Werte: 0x2) Bit 0

Verbindungstyp • 0: keine Sende- und Empfangsverbindung • 1: Verbindung für Sende- und Empfangsaufträge

reserviert

Bit 1

Status aktueller Auftrag • 0: Kein Sendeauftrag in Bearbeitung • 1: Sendeauftrag in Bearbeitung

Bits 2+3

vorangegangener Auftrag: • 00: Keine Informationen zum vorangegangenen Sen-

deauftrag verfügbar • 01: vorangegangener Sendeauftrag positiv abge-

schlossen • 10: vorangegangener Sendeauftrag negativ abge-

schlossen

CMD Bedeutung 1

CN_STATUS – connection status (Fortsetzung für CMD=1) Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 00*0H Bits 4−7: Anzeigen für die Empfangs−Richtung

(ausgeschlossene Werte: 0x2) Bit 4

Verbindungstyp • 0: keine Sende- und Empfangsverbindung • 1: Verbindung für Sende- und Empfangsaufträge

reserviert

Page 55: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 55

CMD Bedeutung Bit 5

Status aktueller Auftrag • 0: Kein Empfangsauftrag in Bearbeitung • 1: Empfangsauftrag in Bearbeitung

Bits 6+7

vorangegangener Auftrag: • 00: Keine Informationen zum vorangegangenen Emp-

fangsauftrag verfügbar • 01: vorangegangener Empfangsauftrag positiv abge-

schlossen • 10: vorangegangener Empfangsauftrag negativ abge-

schlossen

CMD Bedeutung 1

CN_STATUS – connection status (Fortsetzung für CMD=1) Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 0*00H Bits 8-11: Anzeigen für FETCH/WRITE

(ausgeschlossene Werte:0x3,0x7,0x8,0xB,0xF) Bit 8

Verbindungstyp: • 0: keine FETCH-Verbindung • 1: Verbindung für FETCH-Aufträge reserviert

Bit 9

Verbindungstyp: • 0: keine WRITE -Verbindung • 1: Verbindung für WRITE -Aufträge reserviert

Bit 10

Auftragsstatus (FETCH/WRITE): • 0: Auftragsstatus OK • 1: Auftragsstatus NOT OK

diese Kennung wird bei den folgenden Fällen gesetzt: – Der Auftrag wurde von der CPU negativ quittiert – Der Auftrag konnte nicht zur CPU weitergeleitet

werden, weil sich die Verbindung im Zustand "LOCKED" befand.

– Der Auftrag wurde abgelehnt, weil der FETCH/WRITE-Header nicht korrekt aufgebaut war.

Bit 11

Status FETCH/WRITE-Auftrag • 0: es läuft kein Auftrag • 1: es läuft ein Auftrag vom LAN

Page 56: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 56 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung 1

CN_STATUS – connection status (Fortsetzung für CMD=1) Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 *000H Bits 12-15: Allgemeine CP-Informationen

(ausgeschlossene Werte:0x3,0xB) Bit 12 + 13

Information zum Verbindungszustand: (nur für SEND/RECV-Verbindungen verfügbar, die auf die Protokolle ISO/RFC/TCP aufsetzen; bei UDP werden die entsprechenden internen Informationen ausgegeben) • 00: Verbindung ist abgebaut • 01: Verbindungsaufbau läuft • 10: Verbindungsabbau läuft • 11: Verbindung ist aufgebaut

Bit 14

CP-Information: • 0: CP in STOP • 1: CP in RUN

Bit 15

Reset-Kennung • 0: Es wurde durch den FC10 noch kein Verbindungs-

Reset durchgeführt bzw. die Reset-Kennung wurde zurückgenommen.

• 1: Es wurde durch den Control-Baustein ein Verbin-dungs-Reset durchgeführt.

RESULT1 **** 0000H Bits 16-31: Reserviert 0 – reserviert für spätere Erweiterungen

RESULT2 0000 0000H - reserviert für spätere Erweiterungen -

Page 57: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 57

CMD Bedeutung 2 CN_RESET – connection reset

Dieses Kommando setzt die mit ID gewählte Verbindung zurück. Der CP ist über den Parameter LADDR ausgewählt. Das Rücksetzen der Verbindung bewirkt einen Verbindungsabbruch und einen erneuten Verbindungsaufbau (aktiv oder passiv, abhängig von der Projektierung). Zum Zeitpunkt des Verbindungsabbruchs empfangene aber im Anwenderprogramm noch nicht entgegengenommene Daten werden gelöscht. Es wird zusätzlich ein Eintrag im Diagnosepuffer erzeugt, dem das Auftragsergebnis zu entnehmen ist. RESULT (für CMD = 2) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Reset-Auftrag wurde erfolgreich an den CP übertra-

gen. Der Verbindungsabbruch und der anschließende Verbin-dungsaufbau wurden angestoßen.

0000 0002H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 3 CN_STATUS_ALL – all connections status

Dieses Kommando liefert in den Parametern RESULT1/2 (insgesamt 8 Byte Sammelinformation) den Verbin-dungsstatus aller Verbindungen (aufgebaut/abgebaut). Der Parameter ID muss auf "0" gesetzt sein (wird auf 0 überprüft). Der CP ist über den Parameter LADDR ausgewählt. Detailinformationen einer abgebauten oder nicht projektierten Verbindung erhält man bei Bedarf über einen erneuten, auf die Verbindung gezielten Status-Aufruf mit CMD=1. RESULT (für CMD = 3) Bedeutung Parameter Hex-Wert/Bereich RESULT1 **** ****H 32 Bit: Verbindung 1 - 32

• 0 – Verbindung abgebaut / nicht projektiert • 1 – Verbindung aufgebaut

RESULT2 **** ****H 32 Bit: Verbindung 33 - 64 • 0 – Verbindung abgebaut / nicht projektiert • 1 – Verbindung aufgebaut

Page 58: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 58 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung 4 CN_RESET_ALL – all connections reset:

Dieses Kommando setzt alle Verbindungen zurück. Der Parameter ID muss auf "0" gesetzt sein (wird auf 0 überprüft). Der CP ist über den Parameter LADDR ausgewählt. Das Rücksetzen der Verbindungen bewirkt einen Verbindungsabbruch und einen erneuten Verbindungsaufbau (aktiv oder passiv, abhängig von der Projektierung). Zum Zeitpunkt des Verbindungsabbruchs empfangene aber im Anwenderprogramm noch nicht entgegengenommene Daten werden gelöscht. Es wird zusätzlich ein Eintrag im Diagnosepuffer erzeugt, dem das Auftragsergebnis zu entnehmen ist. RESULT (für CMD = 4) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Reset-Auftrag wurde erfolgreich an den CP übertra-

gen. Der Verbindungsabbruch und der anschließende Verbindungsaufbau aller Verbindungen wurden angesto-ßen.

RESULT1 0000 0002H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist ( z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 5 CN_CLEAR_RESET – Rücksetzen der Reset-Kennung

Dieses Kommando setzt die Reset-Kennung (Bit 15 in RESULT1) für die mit ID gewählte Verbindung zurück. Der CP ist über den Parameter LADDR ausgewählt. Dieser Auftrag wird auch automatisch beim Lesen des Verbindungsstatus ausgeführt (CMD=1); der hier be-schriebene separat absetzbare Auftrag wird daher nur in Sonderfällen benötigt. RESULT (für CMD = 5) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Clear-Auftrag wurde erfolgreich an den CP übertra-

gen. RESULT1 0000 0002H Der Clear-Auftrag konnte nicht an den CP übertragen

werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

Page 59: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 59

CMD Bedeutung 6 CN_DISCON − connection disconnect

Dieses Kommando setzt die Verbindung zurück, die mit ID und LADDR ausgewählt wurde. Das Rücksetzen der Verbindung wird durch einen Verbindungsabbruch bewerkstelligt. Eventuell im Stack gespeicherte Daten gehen ohne Hinweis verloren. Im Anschluss erfolgt kein automatischer Aufbau der Verbindung. Die Verbindung kann durch den Control−Auftrag CN_STARTCON wieder aufgebaut werden. Es wird ein Diagnosepuffereintrag erzeugt, dem Sie das Auftragsergebnis entnehmen können. RESULT (für CMD = 6) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Auftrag wurde erfolgreich an den CP übertragen. Der

Verbindungsabbruch wurde eingeleitet. RESULT1 0000 0002H Der Auftrag konnte nicht an den CP übertragen werden,

da der Dienst im CP nicht gestartet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 7 CN_STARTCON − start connection

Dieses Kommando baut eine Verbindung auf, die mit ID und LADDR ausgewählt und zuvor mit dem Con-trol−Auftrag CN_DISCON abgebrochen wurde. Es wird ein Diagnosepuffereintrag erzeugt, dem Sie das Auf-tragsergebnis entnehmen können. RESULT (für CMD = 7) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Auftrag zum Verbindungsaufbau wurde erfolgreich

an den CP übertragen. Der Verbindungsaufbau wurde eingeleitet.

RESULT1 0000 0002H Der Auftrag zum Verbindungsaufbau konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestar-tet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

Siehe auch Beachten Sie weitere Hinweise im FAQ unter folgender Beitrags-ID: 33414377 (https://support.industry.siemens.com/cs/ww/de/view/33414377)

Page 60: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 60 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.3.2 AG_CNTEX

2.3.2.1 Bedeutung und Aufruf - AG_CNTEX

Bedeutung und Arbeitsweise Mit dem Programmbaustein AG_CNTEX besteht die Möglichkeit, Verbindungen zu diagnostizieren und Geräte per Ping-Kommando im Netz anzusprechen. Bei Bedarf können Sie über AG_CNTEX einen erneuten Verbindungsaufbau initialisieren.

Hinweis AG_CNTRL und AG_CNTEX

Der Programmbaustein AG_CNTEX bietet Erweiterungen gegenüber dem Programmbaustein AG_CNTRL.

Sämtliche Funktionen des AG_CNTRL sind im AG_CNTEX enthalten und an der Schnittstelle im Anwenderprogramm identisch nutzbar.

Folgende Aktionen können über parametrierbare Kommandos ausgeführt werden:

● Auslesen von Verbindungsinformationen

Sie können anhand von Status-Informationen für alle oder einzelne Verbindungen des CP entscheiden, ob ein Rücksetzen von Verbindungen sinnvoll ist.

● Rücksetzen von projektierten Verbindungen

Sie können einzelne Verbindungen oder alle Verbindungen eines CPs zurückzusetzen.

● Aktive Verbindung abbrechen und erneut aufbauen

● Im CP konfigurierte Verbindungstypen auslesen (Erweiterung gegenüber AG_CNTRL)

● PING-Kommando senden (Erweiterung gegenüber AG_CNTRL)

Sie können prüfen, ob ein bestimmter Teilnehmer im Netz erreichbar ist.

Die Kommandos des Programmbausteins AG_CNTEX sind nur für SEND/RECV–Verbindungen zulässig, die auf die Protokolle ISO / RFC / TCP / UDP aufsetzen.

Hinweis Verfügbarkeit in der Bausteinbibliothek

Falls der Programmbaustein AG_CNTEX in der Bausteinbibliothek SIMATIC_NET_CP noch nicht verfügbar ist, installieren Sie die aktuelle SIMATIC NET Bausteinbibliothek; Sie finden diese unter folgender Beitrags-ID im Internet:

Link: (https://support.industry.siemens.com/cs/ww/de/view/109481127)

Page 61: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 61

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fb 10, DB10 ( ACT := DB11.DBX0.0, ID := DB11.DBW2, LADDR := DB11.DBW4, CMD := DB11.DBW6, PING := P#DB11.DBX8.0, DONE := DB11.DBX16.0, ERROR := DB11.DBX16.1, STATUS := DB11.DBW18, RESULT1 := DB11.DBD20, RESULT2 := DB11.DBD24);

//AG_CNTEX Bausteinaufruf //Auftragsanstoß //Verbindungs-ID gemäß Projektierung //Baugruppenadresse gemäß Hardware-Konfiguration //Kommandokennung //Datenbereich mit Ping-Daten //Ausführungsanzeige //Fehleranzeige //Statusanzeige //Auftragsergebnis 1 //Auftragsergebnis 2

Page 62: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 62 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.3.2.2 Arbeitsweise AG_CNTEX

Arbeitsweise Die folgende Ablaufdarstellung zeigt einen typischen Ablauf von AG_CNTEX-Aufträgen im Anwenderprogramm. Für Ping-Kommandos finden Sie anschließend eine weitere beispielhafte Ablaufdarstellung.

Der Ablauf zeigt, wie zunächst der Verbindungsstatus abgefragt und in einem zweiten Auftrag der Verbindungsabbau mittels Reset-Kommando veranlasst wird.

Page 63: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 63

Im CP wird hierbei die Reset-Kennung (Bit15 in RESULT1) gesetzt. Bei einer späteren Statusabfrage kann somit erkannt werden, ob die Verbindung aufgrund eines Reset-Auftrages zurückgesetzt worden war. Erst nach dieser Statusabfrage oder aufgrund eines expliziten Kommandos CN_CLEAR_RESET, wird diese Reset-Kennung im CP zurückgesetzt

Hinweis

Beim Bausteinaufruf muss ACT = 1 gesetzt sein. Beim Aufruf mit ACT=0 erfolgt kein Funktionsaufruf und der Baustein wird sofort wieder verlassen.

Da beim AG_CNTEX das Auftragsergebnis synchron zum Aufruf zur Verfügung gestellt wird, kann der AG_CNTEX im selben Zyklus erneut aufgerufen werden.

2.3.2.3 Arbeitsweise der Ping-Funktion

Arbeitsweise / Aufruffolge Nachfolgend wird beschrieben, wie Sie die Kommandos CMD=8 und CMD=9 verwenden, um ein Ping-Kommando abzusetzen.

Mit dem Ping-Kommando CMD=8 veranlassen Sie den CP, 4 aufeinander folgende Ping-Anforderungen im Netz an die im Auftrag angegebene IP-Adresse abzusetzen. Das Ping-Echo wird vom CP innerhalb der Zeitspanne erwartet, die Sie im Ping-Auftragsblock vorgeben.

Der CP registriert die Antwortzeiten und legt diese in den Parametern RESULT 1/2 ab.

Die beiden Parameter RESULT 1/2 fragen Sie mittels Ping-Kommando CMD=9 ab. Sobald die 4 Ping-Anforderungen beantwortet sind oder deren vorgegebene Überwachungszeit überschritten wurde, wird die Ausführung im Parameter DONE=1 bestätigt. Das Ping-Ergebnis können Sie dann innerhalb von maximal 30 Sekunden abfragen; danach werden die RESULT-Einträge ungültig.

Hinweis Ping setzt projektierte Verbindung voraus

Das Ping-Kommando setzt voraus, dass mindestens eine Verbindung für die SEND/RECEIVE-Schnittstelle (TCP, ISO-on-TCP, ISO-Transport, UDP) projektiert ist.

Die folgende Darstellung zeigt einen typischen Ablauf einer Ping-Anforderung mit zugehörender Ping-Ergebnisabfrage.

Page 64: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 64 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Mehrere Ping-Anforderungen gleichzeitig Sie können bis zu 4 Ping-Anforderungen gleichzeitig an unterschiedliche IP-Adressen absetzen. Dazu müssen Sie jeweils den selben Instanz-DB für die PING-Anforderungen verwenden. Weitere Ping-Anforderungen sind erst nach Abarbeitung mindestens einer der laufenden Ping-Anforderungen möglich.

Wenn zu viele Ping-Anforderungen gleichzeitig abgesetzt werden, dann erfolgt entsprechende Fehlermeldung (Parameter STATUS = 828AH).

Page 65: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 65

Wann sind Ping-Anforderungen abgearbeitet? Ping-Anforderungen gelten als abgearbeitet, sobald eine der folgenden Bedingungen erfüllt ist:

● Das Ping-Ergebnis wurde ausgelesen.

● Das Ping-Ergebnis wurde zwar nicht ausgelesen aber nach Bereitstellung des Ping-Ergebnisses sind 30 Sekunden abgelaufen.

Antworten der SIMATIC NET-CPs auf ICMP-Telegramme Zur Reduzierung der Aktivität der CPs auf Ping-Anforderungen des AG_CNTEX antworten SIMATIC NET-CPs für S7-300/S7-400 innerhalb von 100 Millisekunden maximal zehnmal auf ICMP-Telegramme.

2.3.2.4 Erläuterung der Formalparameter - AG_CNTEX

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_CNTEX:

Parameter Deklaration Datentyp Wertebereich Beschreibung ACT INPUT BOOL 0, 1 Der Aufruf des FB muss mit ACT=1 erfolgen.

Beim Aufruf mit ACT=0 erfolgt kein Funktionsaufruf und der Baustein wird sofort wieder verlassen.

ID INPUT INT • 1, 2, .., n, oder • 0

Im Parameter ID wird die Verbindungsnummer der Verbindung angegeben. Die Verbindungsnummer ist der Projektierung zu entnehmen. n ist die maximale Anzahl Verbindungen und abhängig vom Produkt (S7-300 oder S7-400). Bei einem Aufruf, der alle Verbindungen anspricht, muss als ID 0 angegeben werden. Dies betrifft: • die Funktioen CN_STATUS_ALL (CMD3) und

CN_RESET_ALL (CMD4) • Ping-Kommando mit CMD 8 bzw CMD 9

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

CMD INPUT INT Kommando an den FB AG_CNTEX PING INPUT ANY Verweist auf einen Datenblock (z.B. DB), der die Da-

tenstruktur für das Ping-Kommando enthält. Der Datenblock enthält die IP-Adresse sowie optional die Angaben zur Zeitüberwachung und zur Anzahl der in der Ping-Anforderung zu übertragenden Bytes. Datenstruktur siehe unten

Page 66: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 66 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung DONE OUTPUT BOOL 0:

Auftrag ist noch in Bearbeitung bzw. noch nicht angestoßen 1: Auftrag ausgeführt

Der Zustandsparameter zeigt an, ob der Auftrag fehler-frei abgewickelt wurde. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen AG_CNTEX (Seite 66) Hinweis: bei DONE=1 kann RESULT ausgewertet werden

ERROR OUTPUT BOOL 0: kein Fehler 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen AG_CNTEX (Seite 66)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen AG_CNTEX (Seite 66)

RESULT1 OUTPUT DWORD Rückmeldung gemäß Kommando an den AG_CNTEX. RESULT2 OUTPUT DWORD Rückmeldung Teil 2 gemäß Kommando an den

AG_CNTEX.

PING-Datenblock Der Parameter PING verweist auf einen Datenblock mit folgender Datenstruktur:

Parameter Datentyp Wertebereich Hinweis IP-Adresse ARRAY [1..4] of Byte TIMEOUT INT 1..60000 ms Angabe optional; Default-

Wert = 1000 ms Size INT 1..1000 Byte Angabe optional; Default-

Wert = 32 Byte

2.3.2.5 Anzeigen AG_CNTEX

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Zusätzlich sind die Kommando-Ergebnisse in den Parametern RESULT1/2 gemäß Kommandos und Auftragsergebnisse - AG_CNTEX (Seite 68) auszuwerten.

Page 67: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 67

Tabelle 2- 6 Anzeigen AG_CNTEX

DONE ERROR STATUS Bedeutung 1 0 0000H Es wurde ein Auftrag (CMD) erfolgreich an den CP übertragen (z.B. RESET) bzw. es

wurde ein Status erfolgreich vom CP gelesen. Die Parameter RESULT1/2 können ausgewertet werden.

0 0 0000H Es erfolgte noch kein Bausteinaufruf bzw. der Programmbaustein wurde mit ACT=0 aufgerufen.

0 0 8181H Auftrag läuft Der Bausteinaufruf ist mit den gleichen Parametern zu wiederholen, bis DONE oder ERROR gemeldet werden.

0 1 8183H Die Projektierung fehlt oder der Dienst im Ethernet-CP ist noch nicht gestartet. 0 1 8184H Systemfehler oder falscher Parametertyp. Ursache kann sein:

• Datentyp des ANY-Pointers für den Parameter PING ist nicht richtig. • Der ANY-Pointer verweist auf eine ungerade Bitadresse.

0 1 8186H Der Parameter ID ist ungültig. Die zulässige ID ist abhängig vom gewählten Komman-do.

0 1 8187H Der Parameter CMD ist ungültig. 0 1 8090H Mögliche Bedeutungen:

• Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden; • Der verwendete Programmbaustein passt nicht zur verwendeten Systemfamilie (es

sind unterschiedliche Programmbausteine für S7-300 und S7-400 zu verwenden); • Die Funktion wird von dieser Baugruppe nicht unterstützt.

0 1 8091H Die Baugruppen-Anfangsadresse liegt nicht auf Doppel-Wort-Raster. 0 1 8092H Die Baugruppen-Anfangsadresse ist falsch. 0 1 80B0H Die Baugruppe kennt den Datensatz nicht. 0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. Im H-System befindet

sich die zugehörende CPU im Betriebszustand STOP. 0 1 80C0H Der Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt. 0 1 80C4H Kommunikationsfehler

Der Fehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinn-voll.

0 1 8286H Der Wert für die Angabe "Timeout" im PING-Datenblock liegt außerhalb des gültigen Wertebereichs.

0 1 8287H Die im Ping-DB angegebene IP-Adresse ist reserviert und daher unzulässig.

Page 68: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 68 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8288H Die Anzeige tritt nur beim Kommando PING-Ergebnisanforderung auf.

Mögliche Bedeutungen: • Die IP-Adresse wurde vom Ping-Kommando nicht erreicht (beispielsweise weil der

CP in den STOP-Modus gesetzt wurde, nachdem das Kommando Ping-Anforderung abgesetzt wurde);

• Das Ping-Ergebnis wurde bereits ausgelesen; • Das Ping-Ergebnis wurde nicht innerhalb der maximalen Zeitspanne von 30 Sekun-

den ausgelesen.

0 1 8289H Das Datenvolumen für die Ping-Anforderung hat den zulässigen Bereich überschritten (maximal 1000 Bytes; siehe Datenstruktur für das PING-Kommando)

0 1 828AH Es befinden sich bereits 4 Ping-Anforderungen in Bearbeitung. Neue Anforderungen sind erst wieder nach Abarbeitung der bestehenden Anforderungen möglich.

0 1 828BH Für die angegebene IP-Adresse befindet sich bereits eine PING-Anforderung in Bear-beitung. Verwenden Sie das Kommando PING-Ergebnisanforderung um die laufende Bearbeitung abzuschließen.

2.3.2.6 Kommandos und Auftragsergebnisse - AG_CNTEX

Kommandos und Auswertung der Auftragsergebnisse Entnehmen Sie den folgenden Tabellen die möglichen Kommandos und die in den Parametern RESULT1/2 auswertbaren Ergebnisse.

Hinweis Kommandoauswertung bei älteren CP-Typen oder Firmware-Versionen

Die nachfolgend beschriebenen Kommandos werden bei aktuellen CP-Typen oder Firmware-Versionen unterstützt. Beachten Sie weitergehende Hinweise im Internet unter folgender Beitrags-ID:

33414377 (https://support.industry.siemens.com/cs/ww/de/view/33414377)

Tabelle 2- 7 Kommandos an den FC AG_CNTRL

CMD Bedeutung 0 NOP – no operation

Der Baustein wird ohne Auftrag an den CP durchlaufen. RESULT (für CMD = 0) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Ablauf ohne Fehler RESULT2 0000 0000H Default

Page 69: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 69

CMD Bedeutung 1 CN_STATUS – connection status

Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 000*H Bits 0-3: Anzeigen für die Sende-Richtung

(ausgeschlossene Werte: 0x2) Bit 0

Verbindungstyp • 0: keine Sende- und Empfangsverbindung • 1: Verbindung für Sende- und Empfangsaufträge

reserviert

Bit 1

Status aktueller Auftrag • 0: Kein Sendeauftrag in Bearbeitung • 1: Sendeauftrag in Bearbeitung

Bits 2+3

vorangegangener Auftrag: • 00: Keine Informationen zum vorangegangenen Sen-

deauftrag verfügbar • 01: vorangegangener Sendeauftrag positiv abge-

schlossen • 10: vorangegangener Sendeauftrag negativ abge-

schlossen

CMD Bedeutung 1

CN_STATUS – connection status (Fortsetzung für CMD=1) Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 00*0H Bits 4−7: Anzeigen für die Empfangs−Richtung

(ausgeschlossene Werte: 0x2) Bit 4

Verbindungstyp • 0: Keine Sende- und Empfangsverbindung • 1: Verbindung für Sende- und Empfangsaufträge

reserviert

Bit 5

Status aktueller Auftrag • 0: Kein Empfangsauftrag in Bearbeitung • 1: Empfangsauftrag in Bearbeitung

Page 70: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 70 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung Bits 6+7

vorangegangener Auftrag: • 00: Keine Informationen zum vorangegangenen Emp-

fangsauftrag verfügbar • 01: vorangegangener Empfangsauftrag positiv abge-

schlossen • 10: vorangegangener Empfangsauftrag negativ abge-

schlossen

CMD Bedeutung 1

CN_STATUS – connection status (Fortsetzung für CMD=1) Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 0*00H Bits 8-11: Anzeigen für FETCH/WRITE

(ausgeschlossene Werte:0x3,0x7,0x8,0xB,0xF) Bit 8

Verbindungstyp: • 0: keine FETCH-Verbindung • 1: Verbindung für FETCH-Aufträge reserviert

Bit 9

Verbindungstyp: • 0: keine WRITE -Verbindung • 1: Verbindung für WRITE -Aufträge reserviert

Bit 10

Auftragsstatus (FETCH/WRITE): • 0: Auftragsstatus OK • 1: Auftragsstatus NOT OK

diese Kennung wird bei den folgenden Fällen gesetzt: – Der Auftrag wurde von der CPU negativ quittiert – Der Auftrag konnte nicht zur CPU weitergeleitet

werden, weil sich die Verbindung im Zustand "LOCKED" befand.

– Der Auftrag wurde abgelehnt, weil der FETCH/WRITE-Header nicht korrekt aufgebaut war.

Bit 11

Status FETCH/WRITE-Auftrag • 0: es läuft kein Auftrag • 1: es läuft ein Auftrag vom LAN

Page 71: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 71

CMD Bedeutung 1

CN_STATUS – connection status (Fortsetzung für CMD=1) Dieses Kommando liefert den Status der mit ID ausgewählten Verbindung. Der CP ist über den Parameter LADDR ausgewählt. Sollte das Bit 15 (Reset-Kennung) gesetzt sein, wird dieses automatisch zurückgesetzt (dieses Verhalten ent-spricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT1 0000 *000H Bits 12-15: Allgemeine CP-Informationen

(ausgeschlossene Werte:0x3,0xB) Bit 12 + 13

Information zum Verbindungszustand: (nur für SEND/RECV-Verbindungen verfügbar, die auf die Protokolle ISO/RFC/TCP aufsetzen; bei UDP werden die entsprechenden internen Informationen ausgegeben) • 00:Verbindung ist abgebaut • 01: Verbindungsaufbau läuft • 10: Verbindungsabbau läuft • 11: Verbindung ist aufgebaut

Bit 14

CP-Information: • 0: CP in STOP • 1: CP in RUN

Bit 15

Reset-Kennung • 0: Durch den AG_CNTEX wurde noch kein Verbin-

dungs-Reset durchgeführt bzw. die Reset-Kennung wurde zurückgenommen.

• 1: Durch den AG_CNTEX wurde ein Verbindungs-Reset durchgeführt.

RESULT1 **** 0000H Bits 16-31: Reserviert 0 – reserviert für spätere Erweiterungen

RESULT2 0000 0000H - reserviert für spätere Erweiterungen -

Page 72: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 72 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung 2 CN_RESET – connection reset

Dieses Kommando setzt die mit ID gewählte Verbindung zurück. Der CP ist über den Parameter LADDR ausgewählt. Das Rücksetzen der Verbindung bewirkt einen Verbindungsabbruch und einen erneuten Verbindungsaufbau (aktiv oder passiv, abhängig von der Projektierung). Zum Zeitpunkt des Verbindungsabbruchs empfangene aber im Anwenderprogramm noch nicht entgegengenommene Daten werden gelöscht. Es wird zusätzlich ein Eintrag im Diagnosepuffer erzeugt, dem das Auftragsergebnis zu entnehmen ist. RESULT (für CMD = 2) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Reset-Auftrag wurde erfolgreich an den CP übertra-

gen. Der Verbindungsabbruch und der anschließende Verbin-dungsaufbau wurden angestoßen.

0000 0002H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 3 CN_STATUS_ALL – all connections status

Dieses Kommando liefert in den Parametern RESULT1/2 (insgesamt 8 Byte Sammelinformation) den Verbin-dungsstatus aller Verbindungen (aufgebaut/abgebaut). Der Parameter ID muss auf "0" gesetzt sein (wird auf 0 überprüft). Der CP ist über den Parameter LADDR ausgewählt. Detailinformationen einer abgebauten oder nicht projektierten Verbindung erhält man bei Bedarf über einen erneuten, auf die Verbindung gezielten Status-Aufruf mit CMD=1. RESULT (für CMD = 3) Bedeutung Parameter Hex-Wert/Bereich RESULT1 **** ****H

32 Bit mit folgender Gültigkeit: • Bei S7-400: Bit 0-31 für Ver-

bindung 1 - 32 • Bei S7-300: Bit 0-15 für Ver-

bindung 1 - 16

Für jeweilige Verbindung: • 0 – Verbindung abgebaut / nicht projektiert • 1 – Verbindung aufgebaut

RESULT2 **** ****H 32 Bit mit folgender Gültigkeit: • Bei S7-400: Bit 0-31 für Ver-

bindung 33 - 64

Für jeweilige Verbindung: • 0 – Verbindung abgebaut / nicht projektiert • 1 – Verbindung aufgebaut

Page 73: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 73

CMD Bedeutung 4 CN_RESET_ALL – all connections reset

Dieses Kommando setzt alle Verbindungen zurück. Der Parameter ID muss auf "0" gesetzt sein (wird auf 0 überprüft). Der CP ist über den Parameter LADDR ausgewählt. Das Rücksetzen der Verbindungen bewirkt einen Verbindungsabbruch und einen erneuten Verbindungsaufbau (aktiv oder passiv, abhängig von der Projektierung). Zum Zeitpunkt des Verbindungsabbruchs empfangene aber im Anwenderprogramm noch nicht entgegengenommene Daten werden gelöscht. Es wird zusätzlich ein Eintrag im Diagnosepuffer erzeugt, dem das Auftragsergebnis zu entnehmen ist. RESULT (für CMD = 4) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Reset-Auftrag wurde erfolgreich an den CP übertra-

gen. Der Verbindungsabbruch und der anschließende Verbindungsaufbau aller Verbindungen wurden angesto-ßen.

RESULT1 0000 0002H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist ( z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 5 CN_CLEAR_RESET – Rücksetzen der Reset-Kennung

Dieses Kommando setzt die Reset-Kennung (Bit 15 in RESULT1) für die mit ID gewählte Verbindung zurück. Der CP ist über den Parameter LADDR ausgewählt. Dieser Auftrag wird auch automatisch beim Lesen des Verbindungsstatus ausgeführt (CMD=1); der hier be-schriebene separat absetzbare Auftrag wird daher nur in Sonderfällen benötigt. RESULT (für CMD = 5) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Clear-Auftrag wurde erfolgreich an den CP übertra-

gen. RESULT1 0000 0002H Der Clear-Auftrag konnte nicht an den CP übertragen

werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

Page 74: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs 74 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung 6 CN_DISCON − connection disconnect

Dieses Kommando setzt die Verbindung zurück, die mit ID und LADDR ausgewählt wurde. Das Rücksetzen der Verbindung wird durch einen Verbindungsabbruch bewerkstelligt. Eventuell im Stack gespeicherte Daten gehen ohne Hinweis verloren. Im Anschluss erfolgt kein automatischer Aufbau der Verbindung. Die Verbindung kann durch den Control-Auftrag CN_STARTCON wieder aufgebaut werden. Es wird ein Diagnosepuffereintrag erzeugt, dem Sie das Auftragsergebnis entnehmen können. RESULT (für CMD = 6) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Auftrag wurde erfolgreich an den CP übertragen. Der

Verbindungsabbruch wurde eingeleitet. RESULT1 0000 0002H Der Auftrag konnte nicht an den CP übertragen werden,

da der Dienst im CP nicht gestartet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 7 CN_STARTCON − start connection

Dieses Kommando baut eine Verbindung auf, die mit ID und LADDR ausgewählt und zuvor mit dem Control-Auftrag CN_DISCON abgebrochen wurde. Es wird ein Diagnosepuffereintrag erzeugt, dem Sie das Auftragser-gebnis entnehmen können. RESULT (für CMD = 7) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Der Auftrag zum Verbindungsaufbau wurde erfolgreich

an den CP übertragen. Der Verbindungsaufbau wurde eingeleitet.

RESULT1 0000 0002H Der Auftrag zum Verbindungsaufbau konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestar-tet ist (z. B. CP in STOP).

RESULT2 0000 0000H Default

CMD Bedeutung 8 PING_REQUEST - Ping-Anforderung senden

Dieses Kommando sendet eine Ping-Anforderung an den CP. Der CP veranlasst daraufhin 4 Ping-Echo-Anforderungen an die angegebene IP-Adresse. RESULT (für CMD = 8) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 0001H Die Ping-Anforderung wurde erfolgreich dem CP zuge-

stellt. RESULT2 0000 0002H Die Ping-Anforderung konnte dem CP nicht erfolgreich

zugestellt werden, da der entsprechende Dienst auf dem CP nicht erreichbar war. Mögliche Ursache kann beispielsweise sein: CP in STOP-Modus.

Page 75: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 75

CMD Bedeutung 9 PING_RESULT - Ping-Ergebnis abfragen

Dieses Kommando sendet eine Ping-Ergebnisabfrage an den CP. Der CP übergibt die Ergebnisse der 4 durchgeführten Ping-Echo-Anforderungen im Parameter RESULT. Der Aufruf ist erst dann erfolgreich, wenn seitens des CP die 4 Ping-Echo-Anforderungen abgeschlossen wur-den. RESULT (für CMD = 9) Bedeutung Parameter Hex-Wert/Bereich RESULT1 **** ****H 1. Wort:

Antwortzeit in ms auf die 1. Ping-Echo-Anforderung. 2. Wort: Antwortzeit in ms auf die 2. Ping-Echo-Anforderung. Beispiel: 0005 FFFFH Echo 1 -> empfangen nach 5 ms Echo 2 -> kein Echo innerhalb der vorgegebenen Über-wachungszeit.

RESULT2 **** ****H 1. Wort: Antwortzeit in ms auf die 3. Ping-Echo-Anforderung. 2. Wort: Antwortzeit in ms auf die 4. Ping-Echo-Anforderung. Beispiel: 0002 3456H Echo 3 -> empfangen nach 2 ms Echo 4 -> empfangen nach 13398 ms

Wertebereiche für Datenworte in RESULT1 / RESULT 2: 0000H nicht verwendet

0001H ... EA60H Antwortzeit in ms 0001H = 1 ms EA60H = 60000 ms

EA61H ... FFFEH nicht verwendet FFFFH Timeout: Kein Echo innerhalb der vorgegeben Überwa-

chungszeit.

Page 76: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 76 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CMD Bedeutung 10 CONN_TYPE - Verbindungstyp

Dieses Kommando fordert den CP auf, den aktuellen Verbindungstyp für die angegebene Verbindungs-ID anzugeben. RESULT (für CMD = 10) Bedeutung Parameter Hex-Wert/Bereich RESULT1 0000 000*H Die Anforderung liefert für die möglichen Verbindungsty-

pen folgende Werte: 0: keine Verbindung eingerichtet 1: UDP-Verbindung 2: SMTP-Verbindung 3: TCP-Verbindung 4: Freie UDP-Verbindung 5: FTP-Verbindung 6: ISO-Transportverbindung 7: ISO-on-TCP-Verbindung

RESULT2 0000 0000H Default

Siehe auch Beachten Sie weitere Hinweise im FAQ unter folgender Beitrags-ID: 33414377 (https://support.industry.siemens.com/cs/ww/de/view/33414377)

2.4 Programmbausteine für FTP-Dienste

2.4.1 Übersicht zu FTP

FB und FCs für FTP-Dienste (FTP-Client) Nachfolgende Liste gibt die für die FTP-Client-Dienste verfügbaren Programmbausteine an.

Hinweis

Beachten Sie, dass die FTP-Client-Dienste von älteren SIMATIC S7-300-CPUs, zum Beispiel CPU 312 oder CPU 315-1AF01, nicht ausgeführt werden können, da diese den SFC24 nicht unterstützen.

Bei S7-300 und Verwendung der FC40 - FC44 gilt: Der CP benötigt für den Ablauf der FTP-FCs zusätzlich den mitgelieferten FC5 (AG_SEND); der FC5 darf für diese Anwendung nicht umbenannt werden.

Page 77: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 77

Programmbaustein verwendbar bei Bedeutung

S7-300 S7-400 FTP_CMD (FB40) ● ● Vollständige Abwicklung von FTP-Auftragssequenzen.

FTP_CONNECT (FC40)

● ● Aufbau einer FTP-Verbindung vom Client zum Server.

FTP_STORE (FC41) ● ● Übertragung eines DB vom Client zum Server. FTP_RETRIEVE (FC42)

● ● Übertragung einer Datei vom Server zum Client.

FTP_DELETE (FC43) ● ● Löschen einer Datei auf dem Server. FTP_QUIT (FC44) ● ● Abbau einer über ID aufgebauten Verbindung.

Einsatz der Programmbausteine Bei den aktuellen CP-Baugruppentypen verwenden Sie vorzugsweise den FB40. Die FC40...FC44 können Sie bei Bedarf, und sofern in der STEP 7-Bibliothek verfügbar, alternativ verwenden.

Voraussetzung - projektierte FTP-Verbindung Für die Abwicklung einer FTP-Auftragssequenz zwischen der S7-Station als FTP-Client und einem FTP-Server müssen Sie eine FTP-Verbindung projektieren. Hierzu projektieren Sie zunächst eine unspezifizierte TCP-Verbindung mit dem zusätzlichen Attribut "FTP-Protokoll nutzen".

Siehe auch Migration von FC 40-44 zum FTP_CMD (Seite 89)

2.4.2 FTP_CMD - universeller Programmbaustein für FTP-Dienste

Gültigkeit Der FB40 kann ab folgenden Baugruppentypen eingesetzt werden:

● Ab CP 343-1 Advanced - GX30*) / GX31**)

● Ab CP 443-1 Advanced - GX20*) / GX30

*) Die Kommandos 33 (CONNECT_PASSIVE), 17 (CONNECT_TLS_PRIVATE) und 49 (CONNECT_TLS_PRIVATE_PASSIVE) sind nicht nutzbar.

**) Die Kommandos 33 (CONNECT_PASSIVE) und 49 (CONNECT_TLS_PRIVATE_PASSIVE) sind nicht nutzbar

Page 78: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 78 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Die Kommandos 33 "CONNECT_PASSIVE" und 49 "CONNECT_TLS_PRIVATE_PASSIVE" werden nur vom CP 443-1 Advanced ab Firmware-Version V3.2 und ab der Bausteinversion 2.2 unterstützt.

2.4.2.1 Bedeutung und Aufruf - FTP_CMD

Bedeutung Mit dem FB40 können Sie FTP-Verbindungen aufbauen und Dateien von und zu einem FTP-Server übertragen.

Der FB40 ersetzt die bisher verwendeten FTP-Funktionen FC40 bis FC44. Die Unterschiede dieser Funktionen werden beim FB40 über einen Kommando-Parameter abgebildet.

Mit dem FB40 ergeben sich folgende Vorteile:

● Vereinfachung im Anwenderprogramm durch Abwicklung über Kommando-Variable anstelle unterschiedlicher Funktionsaufrufe

● Die Funktion AG_SEND (FC5) wird für die Abwicklung nicht benötigt.

● Folgende Kommandos am Parameter "CMD" bieten zusätzliche Funktionen:

– APPEND

Das Kommando ermöglicht, Daten an eine bestehende Datei anzuhängen.

– RETR_PART

Das Kommando ermöglicht, Datenbereiche selektiv aus einer Datei zu lesen.

– CONNECT_PASSIVE

Kommando zum Aufbau einer FTP-Verbindung

Der Client baut die Datenverbindung auf, der Server ist im Passiv-Modus.

– CONNECT_TLS_PRIVATE

Kommando zum Aufbau einer SSL-gesicherten FTP-Verbindung

Der Server baut aktiv die FTP-Datenverbindung auf.

– CONNECT_TLS_PRIVATE_PASSIVE

Kommando zum Aufbau einer SSL-gesicherten FTP-Verbindung

Der Client baut die Datenverbindung auf, der Server ist im Passiv-Modus.

Page 79: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 79

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Tabelle 2- 8 Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

CALL FB 40, DB 40 ( ID := 4, LADDR := W#16#3FFD, CMD := B#16#3, NAME_STR := P#DB44.DBX 170.0 BYTE 220, FILE_DB_NR := 42, OFFSET := DW#16#0, LEN := DW#16#0, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422);

// Bausteinaufruf // FTP-Verbindungs-ID gemäß Projektierung // Baugruppenadresse gemäß Projektierung // Das auszuführende FTP-Kommando // Ziel-Datenbereich -Adresse u. Länge // Nummer des Datenbausteins // (im Beispiel nicht relevant) // (im Beispiel nicht relevant) // Zustandsparameter // Fehleranzeige // Statusanzeige

Aufgerufene Systemfunktionen Folgende Systemfunktionen werden vom Programmbaustein FTP_CMD aus aufgerufen:

SFC 1, SFC 20, SFC 24, SFC 58, SFC 59

Hinweis

Beachten Sie, dass die FTP-Client-Dienste von alten SIMATIC S7-300-CPUs, zum Beispiel CPU 312 oder CPU 315-1AF01, nicht ausgeführt werden können, da diese den SFC 24 nicht unterstützen.

2.4.2.2 Eingangsparameter - FTP_CMD

Erläuterung der Eingangsparameter Sie müssen jeden FTP-Bausteinaufruf mit folgenden Eingangsparametern versorgen:

Page 80: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 80 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 2- 9 Formalparameter des FB40 (FTP_CMD) - Eingangsparameter

Parameter Deklaration Typ Wertebereich Bedeutung / Bemerkung ID INPUT INT Bei S7-300: 1 ... 16

Bei S7-400: 1 ... 64 Die FTP-Aufträge werden über FTP-Verbindungen abgewickelt. Der Parameter identifiziert die genutzte Verbindung.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an..

CMD INPUT BYTE Siehe Tabelle unten - FTP-Kommandos im Parameter "CMD"

FTP-Kommandos, die mit Aufruf des FB 40 ausgeführt werden. Weitere Informationen finden Sie im Anschluss an die Tabelle. Wenn ein Kommando nicht von der CP-Firmware unterstützt wird, dann wird eine Feh-lermeldung mit STATUS = 8F6BH ausgegeben. Beispiele für FTP-Kommandos: • RETRIEVE: B#16#3 • CONNECT_TLS_PRIVATE: B#16#11

NAME_STR INPUT ANY Als VARTYPE ist nur "BYTE" zuge-lassen.

Die angegebene Adresse verweist auf einen Datenbausteinbereich. Anzugeben sind hier Adresse und Länge des Datenbereichs, in dem die Zielangaben eingetragen sind. • Bei CMD = 1, 33, 17, 49:

Bei diesem Kommando spezifiziert der Pa-rameter "NAME_STR" den mit der FTP-Verbindung anzusprechenden FTP-Server mit folgenden Attributen: - IP-Adresse des FTP-Servers - Benutzername - Passwort für das Login

Diese Werte sind als drei aufeinander fol-gende Strings im Zielbereich des ANY-Pointers anzugeben.

• Bei CMD = 2, 3, 4, 6, 7:

Bei diesem Kommando spezifiziert der Pa-rameter "NAME_STR" den Dateinamen auf dem FTP-Server, also die Datenquelle bzw. das Datenziel. Der Dateiname ist als String im Zielbereich des ANY-Pointers anzuge-ben.

• Bei CMD = 5: Parameter nicht relevant Beispiele für Inhalte finden Sie weiter unten.

FILE_DB_NR INPUT INT Der hier angegebene Datenbaustein enthält den zu lesenden / zu schreibenden File-DB. Der Parameter ist nur bei CMD = 2, 3, 6 und 7 relevant.

Page 81: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 81

Parameter Deklaration Typ Wertebereich Bedeutung / Bemerkung OFFSET INPUT DWORD Nur bei CMD = 7:

Offset in Byte, ab dem die Datei gelesen wer-den soll.

LEN INPUT DWORD Nur bei CMD = 7: Teillänge in Byte, die ab dem in "OFFSET" angegebenen Wert gelesen werden. Besonderheiten: • Bei Angabe von "DW#16#FFFFFFFF" wird

der verfügbare Rest der Datei gelesen.

Ergebnis OK (DONE = 1, STATUS = 0), falls kein sonstiger Fehler auftritt.

• Wenn OFFSET > Länge der Original-Datei:

Die Länge der Ziel-Datei wird in diesem Fall wie folgt im Parameter ACT_LENGTH im File-DB angezeigt: 0 Byte in der CPU.

Ergebnis OK (DONE = 1, STATUS = 0), falls kein sonstiger Fehler auftritt.

• Wenn OFFSET + LEN > Länge der Origi-nal-Datei (und LEN ≠ 0xFFFFFFFF):

Die Länge der Ziel-Datei wird in diesem Fall wie folgt im Parameter ACT_LENGTH im File-DB angezeigt: Verfügbare Bytes ab "OFFSET".

Ergebnis OK (DONE = 1, STATUS = 0), falls kein sonstiger Fehler auftritt.

FTP-Kommandos im Parameter "CMD" Entnehmen Sie der folgenden Tabelle, welche Bedeutung die Kommandos des Parameters "CMD" haben und welche Input-Parameter jeweils zu versorgen sind. Die Parameter ID und LADDR müssen zur Identifikation der Verbindung immer gesetzt sein.

Page 82: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 82 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 2- 10 FTP-Kommandos im Parameter "CMD"

Kommando Relevante Input-Parameter (zusätzlich zu ID und LADDR)

Bedeutung / Handhabung

0 (NOOP) - Der aufgerufene FC führt keine Aktionen aus. Die Statusanzeigen werden bei dieser Parameterversorgung wie folgt gesetzt: DONE=1; ERROR=0; STATUS=0

1 (CONNECT) NAME_STR Mit diesem Kommando baut der FTP-Client eine FTP-Verbindung zu einem FTP-Server auf (aktives FTP). Die Verbindung steht unter der hier zugewiesenen Verbindungs-ID für alle weiteren FTP-Kommandos zur Verfügung. Daten werden dann mit dem für diesen Benutzer angegebenen FTP-Server ausge-tauscht. Ablauf (verkürzt): 1. Der Client schickt eine Anfrage an den Steuerport 21 des Ser-

vers.

Der Client schickt dem Server zudem die Nummer seines Daten-ports und öffnet diesen.

2. Der Server quittiert die Anfrage an den Client. 3. Der Server baut von seinem Port 20 die Datenverbindung zum

Client auf.

33 (CONNECT_PASSIVE)

NAME_STR Mit diesem Kommando baut der FTP-Client eine FTP-Verbindung zu einem FTP-Server auf (passives FTP). Die Verbindung steht unter der hier zugewiesenen Verbindungs-ID für alle weiteren FTP-Kommandos zur Verfügung. Daten werden dann mit dem für diesen Benutzer angegebenen FTP-Server ausge-tauscht. Die Verwendung dieses Kommandos wird empfohlen, wenn sich der Client in einem geschützten (internen) Subnetz befindet. Ablauf (ver-kürzt): 1. Der Client schickt eine Anfrage an den Steuerport 21 des Ser-

vers.

Der Client schickt das Kommando "PASV" an den Server, der daraufhin keine Datenverbindung aufbaut.

2. Der Server quittiert die Anfrage und schickt dem Client seine Portnummer für die Datenverbindung.

3. Der Client baut die Datenverbindung zum Server mit der vom Server angegebenen Portnummer auf.

2 (STORE) NAME_STR FILE_DB_NR

Mit diesem Funktionsaufruf wird ein Datenbaustein (File-DB) vom FTP-Client (S7-CPU) zum FTP-Server übertragen. Achtung: Falls die Datei (File-DB) auf dem FTP-Server schon vor-handen ist, wird diese überschrieben.

3 (RETRIEVE) NAME_STR FILE_DB_NR

Mit diesem Funktionsaufruf wird eine Datei vom FTP-Server zum FTP-Client (S7-CPU) übertragen. Achtung: Falls der Datenbaustein (File-DB) beim FTP-Client schon eine Datei enthält, wird diese überschrieben.

4 (DELETE) NAME_STR Mit diesem Funktionsaufruf löschen Sie eine Datei auf dem FTP-Server.

Page 83: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 83

Kommando Relevante Input-Parameter (zusätzlich zu ID und LADDR)

Bedeutung / Handhabung

5 (QUIT) - Mit diesem Funktionsaufruf bauen Sie die über die ID benannte FTP-Verbindung ab.

6 (APPEND) NAME_STR FILE_DB_NR

Ähnlich wie "STORE" speichert das Kommando "APPEND" (anhän-gen) eine Datei auf dem FTP-Server. Bei "APPEND" wird die Datei auf dem FTP-Server aber nicht überschrieben, sondern der neue zu speichernde Inhalt wird an die Datei angehängt. Falls die Datei auf dem FTP-Server nicht vorhanden ist, wird sie angelegt.

7 (RETR_PART) NAME_STR FILE_DB_NR OFFSET LEN

Mit dem Kommando "RETR_PART" (Teillänge lesen) können Sie einen Ausschnitt einer Datei vom FTP-Server anfordern. Bei sehr großen Dateien können Sie damit das Lesen auf den Teil beschränken, den Sie gerade benötigen. Dazu müssen Sie die Struktur dieser Datei kennen. Geben Sie den gewünschten Ausschnitt der Datei mit Hilfe der zwei Parameter "OFFSET" und "LEN" am FB 40 an.

17 (CONNECT_TLS_ PRIVATE)

NAME_STR Mit dem Kommando " CONNECT_TLS_PRIVATE" richtet der FTP-Client eine aktive SSL-gesicherte FTP-Verbindung (FTPS) zum FTP-Server ein (aktives FTP). Die Daten der Steuerverbindung und der Datenverbindung werden verschlüsselt übertragen. Die Verbindung steht unter der hier zugewiesenen Verbindungs-ID für alle weiteren FTP-Kommandos zur Verfügung. Daten werden dann mit dem für diesen Benutzer angegebenen FTP-Server ausge-tauscht. Voraussetzungen: Das FTPS-Server-Zertifikat muss in der CP-Projektierung (Security) importiert werden. Ablauf (verkürzt): 1. Der Client schickt eine Anfrage an den Steuerport 21 des Ser-

vers.

Der Client schickt dem Server zudem die Nummer seines Daten-ports und öffnet diesen.

2. Der Server quittiert die Anfrage an den Client. 3. Der Server baut von seinem Port 20 die Datenverbindung zum

Client auf.

Page 84: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 84 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Kommando Relevante Input-Parameter (zusätzlich zu ID und LADDR)

Bedeutung / Handhabung

49 (CONNECT_TLS_ PRIVATE_PASSIVE)

NAME_STR Mit dem Kommando " CONNECT_TLS_PRIVATE" richtet der FTP-Client eine SSL-gesicherte FTP-Verbindung (FTPS) zum FTP-Server ein (passives FTP). Die Daten der Steuerverbindung und der Daten-verbindung werden verschlüsselt übertragen. Die Verbindung steht unter der hier zugewiesenen Verbindungs-ID für alle weiteren FTP-Kommandos zur Verfügung. Daten werden dann mit dem für diesen Benutzer angegebenen FTP-Server ausge-tauscht. Voraussetzungen: Das FTPS-Server-Zertifikat muss in der CP-Projektierung (Security) importiert werden. Ablauf (verkürzt): 1. Der Client schickt eine Anfrage an den Steuerport 21 des Ser-

vers.

Der Client schickt das Kommando "PASV" an den Server, der daraufhin keine Datenverbindung aufbaut.

2. Der Server quittiert die Anfrage und schickt dem Client seine Portnummer für die Datenverbindung.

3. Der Client baut die Datenverbindung zum Server mit der vom Server angegebenen Portnummer auf.

Beispiele für Inhalte des Parameters "NAME_STR" Der Parametersatz hat folgende Inhalte:

Tabelle 2- 11 Inhalt des Parametersatzes für CMD = 1, 17, 33, 49

Relative Adresse 2)

Name Typ 1) Beispiel Bedeutung

0.0 ip_address STRING[100] ’142.11.25.135’ IP-Adresse des FTP-Servers 102.0 username STRING[32] ’benutzer’ Benutzername für das Login auf

dem FTP-Server 136.0 password STRING[32] ’passwort’ Passwort für das Login auf dem

FTP-Server 1) Angegeben ist die jeweils maximal mögliche String-Länge 2) Die angegebenen Werte beziehen sich auf die unter "Typ" angegebenen String-Längen.

Page 85: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 85

Tabelle 2- 12 Inhalt des Parametersatzes für CMD = 2, 3, 4, 6, 7

Relative Adresse 2)

Name Typ 1) Beispiel Bedeutung

170.0 filename STRING[220] bzw. STRING[212]

’anlage1/kessel2/druck.dat’ Dateiname der Ziel- bzw. Quellda-tei Hinweis: Bei CMD=7 (RETR_PART) ist die maximale Länge des Dateinamens auf 212 Zeichen begrenzt.

1) Angegeben ist die jeweils maximal mögliche String-Länge 2) Die angegebenen Werte beziehen sich auf die unter "Typ" angegebenen String-Längen.

2.4.2.3 Ausgangsparameter und Statusinformationen - FTP_CMD

Einleitung Für die Statusauswertung sind im Anwenderprogramm die Parameter auszuwerten:

Tabelle 2- 13 Formalparameter des FB40 (FTP_CMD) - Ausgangsparameter

Parameter Deklaration Typ Wertebereich Bedeutung / Bemerkung DONE OUTPUT BOOL 0: -

1: Auftrag ausgeführt Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewik-kelt wurde.

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Der Parameter meldet, wenn der Auftrag nicht fehlerfrei ausgeführt werden konnte.

STATUS OUTPUT WORD Siehe nachfolgende Ta-belle

Statusanzeige Der Parameter liefert Detailinfor-mation zur Auftragsausführung.

Die Parameter DONE, ERROR und STATUS werden bei jedem Bausteinaufruf aktualisiert.

Beispiel Während einer Auftragsausführung liefert der FB 40 die Anzeigen:

● DONE=0

● ERROR=0

● STATUS=8181H

Bedeutung: Der Auftrag läuft noch.

Page 86: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 86 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Statusanzeigen auswerten

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben im Referenzhandbuch STEP 7 Standard und Systemfunktionen. Sie finden dort Hinweise im Kapitel "Fehlerauswertung mit dem Ausgangsparameter RET_VAL".

Tabelle 2- 14 FB 40: Bedeutung des Parameters STATUS in Zusammenhang mit DONE und ERROR

DONE ERROR STATUS Bedeutung 0 0 0000H Kein Auftrag in Bearbeitung. 1 0 0000H Auftrag fertig ohne Fehler. 0 0 8181H Auftrag läuft.

Bei Daueranzeige von 8181H: Der CP ist nicht für den FB 40 freigegeben. Ein für die Firmware-Version unzulässiges Kommando wurde aufgerufen: CMD 6 / CMD 7 / CMD 17 / CMD 33 / CMD 49

0 1 8090H • Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden.

• Der verwendete Baustein passt nicht zur verwendeten Systemfami-lie (für S7-300 und S7-400 sind unterschiedliche Bausteine zu ver-wenden).

0 1 8091H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster 0 1 8092H Typangabe im ANY-Pointer ungleich Byte 0 1 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei

neueren CPU-Ausgabeständen). Dies kann beispielsweise begründet sein durch: • eine fehlende Projektierung von Verbindungen • eine Überschreitung der maximalen Anzahl parallel betreibbarer

CPs

0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Ziel-Bereich ist ungültig;

beispielsweise Ziel-Bereich > 240 Byte. 0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei

älteren CPU-Ausgabeständen). (bei neueren CPU-Ausgabeständen siehe 80A4H)

0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im

Anwenderprogramm sinnvoll.) 0 1 80D2H Baugruppen-Anfangsadresse ist falsch. 0 1 8180H Es liegen noch keine Daten vor.

Page 87: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 87

DONE ERROR STATUS Bedeutung 0 1 8183H Die Projektierung entspricht nicht den Auftragsparametern. 0 1 8184H Unzulässiger Datentyp für den Parameter NAME_STR angegeben. 0 1 8185H Der Zielpuffer (LEN) ist zu klein. 0 1 8186H Parameter ID ungültig. ID = 1, 2....64 0 1 8302H Keine Empfangsressourcen in der Zielstation vorhanden. 0 1 8304H FTP-Verbindung nicht aufgebaut. Falsche oder nicht existierende Ver-

bindungs-ID. 0 1 8F22H Quell-Bereich ungültig; beispielsweise:

Bereich im DB nicht vorhanden 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu

kurz). 0 1 8F24H Bereichsfehler beim Lesen eines Parameters 0 1 8F28H Ausrichtungfehler beim Lesen eines Parameters 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummernfehler 0 1 8F3AH Bereich nicht geladen (DB) 0 1 8F50H File-DB DB 0 oder DB nicht vorhanden 0 1 8F51H File-DB-Datenbereich größer angegeben als vorhanden 0 1 8F52H File-DB im schreibgeschützten Speicher 0 1 8F53H File-DB max. Länge < akt. Länge 0 1 8F54H File-DB enthält keine gültigen Daten. 0 1 8F55H Header-Status-Bit: Locked 0 1 8F56H Das NEW-Bit im File-DB-Header wurde nicht zurückgesetzt 0 1 8F57H FTP-Client hat nicht das Schreibrecht auf den File-DB, sondern der

FTP-Server (Header-Status-Bit: WriteAccess). 0 1 8F60H Ungültige Benutzer-Daten, beispielsweise ungültige IP Adresse des

FTP-Servers 0 1 8F61H FTP-Server nicht erreichbar 0 1 8F62H Mögliche Bedeutungen:

• Auftrag wird vom FTP-Server nicht unterstützt oder zurückgewie-sen

• Der FTP-Server unterstützt keine SSL-gesicherten Verbindungen.

0 1 8F63H Dateitransfer wurde vom FTP-Server abgebrochen 0 1 8F64H Fehler auf der FTP-Control-Verbindung; Daten konnten nicht gesendet

oder empfangen werden; Die FTP-Control-Verbindung muss nach einem solchen Fehler erneut aufgebaut werden.

0 1 8F65H Fehler auf der FTP-Daten-Verbindung; Daten konnten nicht gesendet oder empfangen werden. Der Auftrag muss erneut aufgerufen werden. Der Fehler kann beispielsweise bei der Funktion RETRIEVE (CMD=3) dadurch hervorgerufen werden, dass die angesprochene Datei auf dem FTP-Server bereits geöffnet ist.

0 1 8F66H Fehler beim Lesen/Schreiben der Daten von/zur CPU (beispielsweise DB nicht vorhanden oder zu klein)

0 1 8F67H Fehler im FTP-Client auf dem CP; beispielsweise beim Versuch, mehr als die maximal mögliche Anzahl an FTP-Verbindungen zu öffnen.

Page 88: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 88 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8F68H Der Auftrag wurde vom FTP-Client zurückgewiesen.

Der Fehler kann beispielsweise bei der Funktion RETRIEVE (CMD=3) dadurch hervorgerufen werden, dass der Wert für den Parameter MAX_LENGTH im File-DB-Header zu klein gewählt wurde.

0 1 8F69H Die FTP-Verbindung befindet sich in einem falschen Zustand, z.B.: • Es erfolgt ein Aufruf der Verbindung ohne vorhergehenden Verbin-

dungsabbau (bei gleicher Verbindungs-ID); • Es erfolgt ein Verbindungsabbau auf eine bereits abgebaute Ver-

bindung; • Es wurde ein STORE-Kommando auf eine nicht aufgebaute Ver-

bindung abgesetzt.

0 1 8F6AH Die Verbindung konnte wegen temporärem Ressourcenengpass nicht aufgebaut werden. Abhilfe: Bausteinaufruf wiederholen.

0 1 8F6BH Mögliche Ursachen: • Falscher Wert für den Parameter CMD • Ein Kommando des FB 40 wird nicht unterstützt.

Mögliche Ursache: Falsche Firmware des CP Abhilfe: Firmware-Update (bei älteren CPs statt des FB 40 die Funktionen FC 40...FC 44 benutzen.)

0 1 8F6CH Im Parameter OFFSET wurde ein Wert > 7FFF FFFH angegeben. 0 1 8F6DH Der FTP-Client unterstützt keine SSL-gesicherte Verbindung. 0 1 8F6EH Die Signatur des Zertifikats ist ungültig. 0 1 8F6FH Mögliche Ursachen:

• Im Zertifikat enthält die Zeitangabe "notBefore" einen ungüligen Wert.

• Das Zertifikat ist ungültig: der Eintrag "notBefore" enthält eine nach der aktuellen Zeit liegende Zeitangabe.

0 1 8F70H Mögliche Ursachen: • Im Zertifikat enthält die Zeitangabe "notAfter" einen ungüligen Wert. • Das Zertifikat ist abgelaufen: der Eintrag "notAfter" enthält eine vor

der aktuellen Zeit liegende Zeitangabe.

0 1 8F71H Das CA-Zertifikat eines nicht vertrauenswürdigen Gerätezertifikats konnte nicht gefunden werden.

0 1 8F72H Das ursprüngliche CA-Zertifikat ist ungültig. Entweder handelt es sich nicht um ein CA-Zertifikat oder dessen Erweiterungen sind nicht konsi-stent mit dem beabsichtigten Zweck.

0 1 8F73H Das ursprüngliche CA-Zertifikat ist für den angegebenen Zweck als nicht vertrauenswürdig gekennzeichnet.

0 1 8F74H Es sind sonstige Fehler bei der Verifizierung eines Zertifikates aufge-treten.

0 1 8F7FH Interner Fehler; beispielsweise unzulässige ANY-Referenz

Page 89: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 89

2.4.2.4 Migration von FC 40-44 zum FTP_CMD

Vergleich des Funktionsbausteins FB40 mit den älteren Funktionen FC40...44 Sämtliche CPs mit FTP-Funktionalität unterstützen die Funktionen FC40...44. Bestehende Anwenderprogramme können also unverändert verwendet werden.

Wenn Sie von den FTP-Funktionen FC40...44 auf den FB40 umstellen wollen, dann müssen Sie Ihr Anwenderprogramm ändern.

Die folgende Tabelle zeigt Ihnen, mit welchen Kommandos des FB40 die Funktionen der FC40...44 umgesetzt werden.

● Übereinstimmungen sind mit "X" markiert.

● Fehlende Entsprechungen sind mit "-" gekennzeichnet.

Kommandos des Parameters "CMD" des FTP_CMD

Ältere FTP-Funktionen FC40...44

CMD = 1 CMD = 2 CMD = 3 CMD = 4 CMD = 5 CMD = 6 / 7 / 17 / / 33 / 49

FC40 X 1) FC41 X 2) FC42 X 3) FC43 X 4) FC44 X

- 1) ...4) Die Parameter von FC 40...43 und CMD 1...4 (FB 40) sind nicht identisch (siehe nachfolgende Tabelle).

Die entsprechenden Parameter, die in den Funtionen FC40...FC43 bzw. in den Kommandos des FB40 die jeweilige Funktion spezifizieren, sind in folgender Tabelle aufgelistet.

Parameter des FC Parameter im FTP_CMD (mit CMD 1...4) FC40: LOGIN → CMD = 1: NAME_STR FC41: FILE_NAME → CMD = 2: NAME_STR FC42: FILE_NAME → CMD = 3: NAME_STR FC43: FILE_NAME → CMD = 4: NAME_STR

FC40...43: BUFFER_DB_NR → entfällt (durch Instanz-DB ersetzt)

Page 90: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 90 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.4.3 FTP_CONNECT

2.4.3.1 Bedeutung und Aufruf - FTP_CONNECT

Bedeutung Mit diesem Funktionsaufruf baut der FTP-Client eine FTP Verbindung zu einem FTP-Server auf.

Dazu ist die IP-Adresse des FTP-Servers, die Benutzer-Identifikation (username) und (bei Bedarf) das Passwort zur Benutzer-Identifikation an den FTP-Server zu übermitteln.

Der FTP-Client führt alle weiteren Zugriffe auf Basis dieser Benutzer-Identifikation aus, wenn Sie die selbe FTP-Verbindungs-ID verwenden. Daten werden dann mit dem für diesen Benutzer angegebenen FTP-Server ausgetauscht.

Aufrufschnittstelle

Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

call fc40 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, LOGIN := P#DB40.DBX 0.0 BYTE 170, BUFFER_DB_NR := 9, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422);

//FTP_CONNECT aufrufen //Auftragsanstoss über Merkerbit //FTP-Verbindungs ID gemäß Projektierung //Baugruppenadresse gemäß Projektierung //Angabe für LOGIN in DB 40 //Pufferbereich für FTP-Dienst

2.4.3.2 Erläuterung der Formalparameter - FTP_CONNECT

Erläuterung der allgemeinen Aufrufparameter Allgemeine Parameter haben bei jedem FTP-Funktionsaufruf identische Bedeutung; ihre Beschreibung ist daher in jeweils einem Kapitel zusammengefasst.

Page 91: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 91

Erläuterung der aufrufspezifischen Formalparameter

Tabelle 2- 15 Formalparameter für FTP_CONNECT

Parameter Deklaration Datentyp Beschreibung LOGIN INPUT ANY

(als VARTYPE sind nur zuge-lassen: BYTE)

Dieser Parameter spezifiziert den mit der FTP-Verbindung anzuspre-chenden FTP-Server. (weitere Details siehe in nachfolgender Tabelle) Anzugeben sind hier Adresse und Länge des Datenbereiches, in dem die Zielangaben eingetragen sind. Die angegebene Adresse verweist auf einen Datenbausteinbereich. Zur Adressierung dieses Bereiches wird der Datentyp ANY-Pointer verwendet. Weitergehende Informationen zu diesem Datentyp finden Sie in der Online-Hilfe zu STEP 7, dort im Anhang der Hilfethemen unter "Format des Parametertyps ANY".

BUFFER_DB_NR INPUT INT Geben Sie hier einen Datenbaustein an, den der FTP-Client für den FTP-Transfer als Pufferbereich benötigt. Sie können für alle FTP-Aufträge den selben Datenbaustein als Puf-ferbereich verwenden. Hinweis: Die Länge des hierfür reservierten DB muss mindestens 255 Byte betragen!

Parameter LOGIN Dieser Parametersatz hat für FTP_CONNECT folgenden Inhalt:

relative Adresse 2)

Name Typ 1) Beispiel Bedeutung

0.0 ip_address STRING[100] '142.11.25.135' IP-Adresse des FTP-Servers. 102.0 username STRING[32] 'benutzer' Benutzername für das Login auf dem

FTP-Server. 136.0 password STRING[32] 'passwort' Passwort für das Login auf dem FTP-

Server. 170.0 filename STRING[220] ’anlage1/kessel2/druck.dat’ Dateiname der Ziel- bzw. Quelldatei 3) 1) angegeben ist die jeweils maximal mögliche String-Länge

2) die angegebenen Werte beziehen sich auf die unter "Typ" angegebenen String-Längen. 3) Diese Zeilen sind bei diesem Aufruf nicht relevant.

Page 92: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 92 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.4.4 FTP_STORE

2.4.4.1 Bedeutung und Aufruf - FTP_STORE

Bedeutung Mit diesem Funktionsaufruf wird ein Datenbaustein (File-DB) vom FTP-Client (S7-CPU) zum FTP-Server übertragen.

Hierzu müssen Sie den Datenbaustein angeben, der die Datei enthält. Der Pfad-/File-Name, unter dem das File auf dem FTP-Server angelegt werden soll, ist ebenfalls vorzugeben.

Falls die Datei (File-DB) auf dem FTP-Server schon vorhanden ist, wird diese überschrieben.

Aufrufschnittstelle

Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

call fc41 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, FILE_NAME := P#DB40.DBX 170.0 BYTE 220, BUFFER_DB_NR := 9, FILE_DB_NR := 42, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422);

//FTP_STORE aufrufen //Auftragsanstoss über Merkerbit //FTP-Verbindungs-ID gemäß Projektierung //Baugruppenadresse gemäß Projektierung //Angabe für Ziel-Datei in DB 40 //Pufferbereich für FTP-Dienst //DB Nr. der Quell-Datei

Page 93: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 93

2.4.4.2 Erläuterung der Formalparameter - FTP_STORE

Erläuterung der allgemeinen Aufrufparameter Allgemeine Parameter haben bei jedem FTP-Funktionsaufruf identische Bedeutung; ihre Beschreibung ist daher in jeweils einem Kapitel zusammengefasst.

Erläuterung der aufrufspezifischen Formalparameter

Tabelle 2- 16 Formalparameter für FTP_STORE

Parameter Deklaration Datentyp Beschreibung FILE_NAME INPUT ANY

(als VARTYPE sind nur zugelas-sen: BYTE)

Dieser Parameter spezifiziert das Datenziel. (weitere Details siehe in nachfolgender Tabelle) Anzugeben sind hier Adresse und Länge des Datenbereiches, in dem die Zielangaben eingetragen sind. Die angegebene Adresse verweist auf einen Datenbaustein-bereich. Zur Adressierung dieses Bereiches wird der Datentyp ANY-Pointer verwendet. Weitergehende Informationen zu diesem Datentyp finden Sie in der Online-Hilfe zu STEP 7, dort im Anhang der Hilfethemen unter "Format des Parametertyps ANY".

BUFFER_DB_NR INPUT INT Geben Sie hier einen Datenbaustein an, den der FTP-Client für den FTP-Transfer als Pufferbereich benötigt. Sie können für alle FTP-Aufträge den selben Datenbaustein als Pufferbereich verwenden. Hinweis: Die Länge des hierfür reservierten DB muss mindestens 255 Byte betragen!

FILE_DB_NR INPUT INT Der hier angegebene Datenbaustein enthält den zu lesenden File-DB.

Parameter FILE_NAME Dieser Parametersatz hat für FTP_STORE folgenden Inhalt:

relative Adresse 2)

Name Typ 1) Beispiel Bedeutung

0.0 ip_address STRING[100] '142.11.25.135' IP-Adresse des FTP-Servers. 3) 102.0) username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP-

Server. 3) 136.0 password STRING[32] 'passwort' Passwort für das Login auf dem FTP-Server.

3) 170.0 filename STRING[220] ’anlage1/kessel2/druck.dat’ Dateiname der Ziel- bzw. Quelldatei 1) angegeben ist die jeweils maximal mögliche String-Länge

2) die angegebenen Werte beziehen sich auf die unter "Typ" angegebenen String-Längen. 3) Diese Zeilen sind bei diesem Aufruf nicht relevant.

Page 94: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 94 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.4.5 FTP_RETRIEVE

2.4.5.1 Bedeutung und Aufruf - FTP_RETRIEVE

Bedeutung Mit diesem Funktionsaufruf wird eine Datei vom FTP-Server zum FTP-Client (S7-CPU) übertragen.

Hierzu müssen Sie den Datenbaustein angeben, in den die Datei abgelegt werden soll. Der Pfad-/File-Name, unter dem das File auf dem FTP-Server zu finden ist, muss ebenfalls vorgegeben werden.

Falls der Datenbaustein (File-DB) beim FTP-Client schon eine Datei enthält, wird diese überschrieben.

Aufrufschnittstelle

Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

call fc42 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, FILE_NAME := P#DB40.DBX 170.0 BYTE 220, BUFFER_DB_NR := 9, FILE_DB_NR := 42, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422);

//FTP_RETRIEVE aufrufen //Auftragsanstoss über Merkerbit //FTP-Verbindungs-ID gemäß Projektierung //Baugruppenadresse gemäß Projektierung //Angabe für Quell-Datei in DB 40 //Pufferbereich für FTP-Dienst // DB Nr. der Zieldatei

Page 95: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 95

2.4.5.2 Erläuterung der Formalparameter - FTP_RETRIEVE

Erläuterung der allgemeinen Aufrufparameter Allgemeine Parameter haben bei jedem FTP-Funktionsaufruf identische Bedeutung; ihre Beschreibung ist daher in jeweils einem Kapitel zusammengefasst.

Erläuterung der aufrufspezifischen Formalparameter

Tabelle 2- 17 Formalparameter für FTP_RETRIEVE

Parameter Deklaration Datentyp Beschreibung FILE_NAME INPUT ANY

(als VARTYPE sind nur zugelassen: BYTE)

Dieser Parameter spezifiziert die Datenquelle. (weitere Details siehe in nachfolgender Tabelle) Anzugeben sind hier Adresse und Länge des Datenbereiches, in dem die Zielangaben eingetragen sind. Die angegebene Adresse verweist auf einen Datenbausteinbereich. Zur Adressierung dieses Bereiches wird der Datentyp ANY-Pointer verwendet. Weitergehende Informationen zu diesem Datentyp fin-den Sie in der Online-Hilfe zu STEP 7, dort im Anhang der Hil-fethemen unter "Format des Parametertyps ANY".

BUFFER_DB_NR INPUT INT Geben Sie hier einen Datenbaustein an, den der FTP-Client für den FTP-Transfer als Pufferbereich benötigt. Sie können für alle FTP-Aufträge den selben Datenbaustein als Pufferbereich verwenden. Hinweis: Die Länge des hierfür reservierten DB muss mindestens 255 Byte betragen!

FILE_DB_NR INPUT INT Der hier angegebene Datenbaustein enthält den zu beschreibenden File-DB (Datenziel).

Parameter FILE_NAME Dieser Parametersatz hat für FTP_RETRIEVE folgenden Inhalt:

relative Adresse 2)

Name Typ 1) Beispiel Bedeutung

0.0 ip_address STRING[100] '142.11.25.135' IP-Adresse des FTP-Servers. 3) 102.0 username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP-

Server. 3) 136.0 password STRING[32] 'passwort' Passwort für das Login auf dem FTP-

Server. 3) 170.0 filename STRING[220] ’anlage1/kessel2/druck.dat’ Dateiname der Ziel- bzw. Quelldatei 1) angegeben ist die jeweils maximal mögliche String-Länge

2) die angegebenen Werte beziehen sich auf die unter "Typ" angegebenen String-Längen. 3) Diese Zeilen sind bei diesem Aufruf nicht relevant.

Page 96: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 96 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.4.6 FTP_DELETE

2.4.6.1 Bedeutung und Aufruf - FTP_DELETE

Bedeutung Mit diesem Funktionsaufruf löschen Sie eine Datei auf dem FTP-Server.

Aufrufschnittstelle

Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

call fc43 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, FILE_NAME := P#DB40.DBX 170.0 BYTE 220, BUFFER_DB_NR := 9, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422);

//FTP_DELETE aufrufen //Auftragsanstoss über Merkerbit //FTP-Verbindungs-ID gemäß Projektierung //Baugruppenadresse gemäß Projektierung //Angabe für Ziel-Datei in DB 40 //Pufferbereich für FTP-Dienst

2.4.6.2 Erläuterung der Formalparameter - FTP_DELETE

Erläuterung der allgemeinen Aufrufparameter Allgemeine Parameter haben bei jedem FTP-Funktionsaufruf identische Bedeutung; ihre Beschreibung ist daher in jeweils einem Kapitel zusammengefasst.

Page 97: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 97

Erläuterung der aufrufspezifischen Formalparameter

Tabelle 2- 18 Formalparameter für FTP_DELETE

Parameter Deklaration Datentyp Beschreibung FILE_NAME INPUT ANY

(als VARTYPE sind nur zuge-lassen: BYTE)

Dieser Parameter spezifiziert das Datenziel. (weitere Details siehe in nachfolgender Tabelle) Anzugeben sind hier Adresse und Länge des Datenbereiches, in dem die Zielangaben eingetragen sind. Die angegebene Adresse verweist auf einen Datenbausteinbe-reich. Zur Adressierung dieses Bereiches wird der Datentyp ANY-Pointer verwendet. Weitergehende Informationen zu diesem Datentyp finden Sie in der Online-Hilfe zu STEP 7, dort im Anhang der Hil-fethemen unter "Format des Parametertyps ANY".

BUFFER_DB_NR INPUT INT Geben Sie hier einen Datenbaustein an, den der FTP-Client für den FTP-Transfer als Pufferbereich benötigt. Sie können für alle FTP-Aufträge den selben Datenbaustein als Pufferbereich verwenden. Hinweis: Die Länge des hierfür reservierten DB muss mindestens 255 Byte betragen!

Parameter LOGIN Dieser Parametersatz hat für FTP_DELETE folgenden Inhalt:

relative Adresse 2)

Name Typ 1) Beispiel Bedeutung

0.0 ip_address STRING[100] '142.11.25.135' IP-Adresse des FTP-Servers. 3) 102.0 username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP-

Server. 3) 136.0 password STRING[32] 'passwort' Passwort für das Login auf dem FTP-

Server. 3) 170.0 filename STRING[220] ’anlage1/kessel2/druck.dat’ Dateiname der Ziel- bzw. Quelldatei 1) angegeben ist die jeweils maximal mögliche String-Länge

2) die angegebenen Werte beziehen sich auf die unter "Typ" angegebenen String-Längen. 3) Diese Zeilen sind bei diesem Aufruf nicht relevant.

Page 98: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 98 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.4.7 FTP_QUIT

2.4.7.1 Bedeutung und Aufruf - FTP_QUIT

Bedeutung Mit diesem Funktionsaufruf bauen Sie die über die ID benannte FTP-Verbindung ab.

Aufrufschnittstelle

Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

call fc44 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422);

//FTP_QUIT aufrufen //Auftragsanstoss über Merkerbit //FTP-Verbindungs-ID gemäß Projektierung //Baugruppenadresse gemäß Projektierung

Hinweis

Der Ausgang von FC44 muss als Wert ein Merkerwort bekommen. Beim Eingeben von DBx.DWy erscheint eine Fehlermeldung (gilt nur für S7-300).

2.4.7.2 Erläuterung der Formalparameter - FTP_QUIT

Erläuterung der allgemeinen Aufrufparameter Allgemeine Parameter haben bei jedem FTP-Funktionsaufruf identische Bedeutung; ihre Beschreibung ist daher in jeweils einem Kapitel zusammengefasst.

Page 99: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 99

2.4.8 Parameter zur CP- und Verbindungszuordnung (Eingangsparameter)

Parameter zur CP- und Verbindungszuordnung (Eingangsparameter) Sie müssen jeden FTP-Bausteinaufruf neben auftragsspezifischen Eingangsparametern mit folgenden allgemeinen Eingangsparametern versorgen:

Parameter Deklaration Typ 1) Wertebereich Bedeutung ACT INPUT BOOL 0,1 Der Parameter enthält das Initialisierungsbit zum Auftragsan-

stoß. • Bei ACT = 1 wird der Auftrag ausgeführt.

Während der Auftragsausführung liefert der FC folgende Anzeigen: – DONE=0 – ERROR=0 – STATUS=8181H

• Bei ACT = 0 führt der aufgerufene FC keine Aktionen aus; die Statusanzeigen werden bei dieser Parameterversor-gung wie folgt gesetzt: – DONE=0 – ERROR=1 – STATUS=8F70H

Anmerkung / Empfehlung: In Ihrer Anwendung sollten Sie die FTP-Aufrufe bedingt aus-führen, indem Sie beispielsweise die Anzeigen auswerten. Es ist nicht zweckmäßig, den Aufruf über das ACT-Bit zu steuern. Das ACT-Bit muss =1 gesetzt sein, bis die abgeschlossene Ausführung über das DONE-Bit signalisiert wird.

ID INPUT INT 1,2...64 Die FTP-Aufträge werden über FTP-Verbindungen abgewik-kelt. Der Parameter identifiziert die genutzte Verbindung.

LADDR INPUT WORD Baugruppen-Anfangsadresse Beim Aufruf eines FC-Bausteines übergeben Sie im Parame-ter LADDR die Baugruppen-Anfangsadresse des ADVANCED-CP. Die Baugruppen-Anfangsadresse des ADVANCED-CP kön-nen Sie in der Projektierung den Eigenschaften des ADVANCED-CP unter "Adressen > Eingänge" entnehmen.

ACHTUNG

Achten Sie unbedingt darauf, dass pro Benutzter-ID jeweils nur ein FTP-Client Programmbaustein aufgerufen wird, solange ACT = 1 gesetzt ist.

Beispielsweise dürfen FTP_STORE und FTP_RETRIEVE auf der gleichen FTP-Verbindung nicht zur gleichen Zeit laufen. Diese Anforderung entspricht der normalen FTP-Funktionalität.

Andernfalls können Sie sich nicht auf die Richtigkeit der Ausgabeparameter (DONE-Bit, ERROR-Bit und STATUS-Wort) verlassen.

Page 100: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 100 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.4.9 Statusinformationen (Ausgangsparameter)

Statusinformationen (Ausgangsparameter) Für die Statusauswertung sind im Anwenderprogramm die Parameter auszuwerten:

Parameter Deklaration Typ 1) Wertebereich Bedeutung DONE OUTPUT BOOL 0: -

1: Auftrag ausge-führt

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei ab-gewickelt wurde.

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Der Parameter meldet, wenn der Auftrag nicht fehlerfrei ausge-führt werden konnte.

STATUS OUTPUT WORD siehe nachfol-gende Tabelle

Statusanzeige Der Parameter liefert Detailinformation zur Auftragsausführung.

Hinweis

Verwenden Sie beim FC FTP_QUIT für den Parameter STATUS nur den Datentyp Merkerwort (gilt nur bei CP 343-1 IT).

Beispiel Während einer Auftragsausführung liefert der FC die Anzeigen:

● DONE=0

● ERROR=0

● STATUS=8181H

Statusanzeigen auswerten Beachten Sie, dass die Statusanzeigen DONE, ERROR, STATUS bei jedem Bausteinaufruf aktualisiert werden.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben im Referenzhandbuch STEP 7 Standard und Systemfunktionen. Sie finden dort Hinweise im Kapitel "Fehlerauswertung mit dem Ausgangsparameter RET_VAL"

Page 101: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 101

DONE ERROR STATUS Bedeutung 1 0 0000H Auftrag fertig ohne Fehler. 0 0 0000H Kein Auftrag in Bearbeitung. 0 0 8181H Auftrag läuft. 0 1 8090H • Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden.

• Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unter-schiedliche FCs für S7-300 und S7-400 zu verwenden).

0 1 8091H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster. 0 1 8092H Typangabe im ANY-Pointer ungleich Byte. 0 1 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. (bei neueren CPU-

Ausgabeständen). Dies kann beispielsweise begründet sein durch: • eine fehlende Projektierung von Verbindungen; • eine Überschreitung der maximalen Anzahl parallel betreibbarer CPs.

0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H • Ziel-Bereich ist ungültig.

beispielsweise Ziel-Bereich > 240 Bytes.

0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut.(bei älteren CPU-Ausgabeständen; sonst 80A4H; ; weitere Angaben siehe dort)

0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung.. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll.) 0 1 80D2H Baugruppen-Anfangsadresse ist falsch. 0 1 8183H Die Projektierung entspricht nicht den Auftragsparametern. 0 1 8184H Unzulässiger Datentyp für den Parameter FILE_NAME / LOGIN angegeben. 0 1 8186H Parameter ID ungültig. ID != 1,2....64. 0 1 8F22H Quell-Bereich ungültig; beispielsweise:

Bereich im DB nicht vorhanden 0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummer Fehler. 0 1 8F3AH Bereich nicht geladen (DB). 0 1 8F50H File-DB DB 0 oder DB nicht vorhanden 0 1 8F51H File-DB Datenbereich größer angegeben als vorhanden 0 1 8F52H File-DB im schreibgeschützten Speicher 0 1 8F53H File-DB max. Länge < akt. Länge 0 1 8F54H File-DB enthält keine gültigen Daten 0 1 8F55H Header-Status-Bit: Locked

Page 102: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 102 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8F56H Das NEW-Bit im File-DB Header wurde nicht zurückgesetzt 0 1 8F57H FTP-Client hat nicht das Schreibrecht auf den File-DB, sondern der FTP-Server

(Header-Status-Bit: WriteAccess) 0 1 8F5AH Buffer-DB DB 0 oder DB nicht vorhanden 0 1 8F5BH Buffer-DB Datenbereich zu klein 0 1 8F5CH Buffer-DB im schreibgeschützten Speicher 0 1 8F60H ungültige Benutzer-Daten, beispielsweise ungültige IP Adresse des FTP Servers 0 1 8F61H FTP Server nicht erreichbar 0 1 8F62H Auftrag wird vom FTP Server nicht unterstützt oder zurückgewiesen 0 1 8F63H Dateitransfer wurde vom FTP Server abgebrochen 0 1 8F64H Fehler auf der FTP Control Verbindung; Daten konnten nicht gesendet oder empfangen

werden; Die FTP-Control-Verbindung muss nach einem solchen Fehler erneut aufge-baut werden.

0 1 8F65H Fehler auf der FTP Daten Verbindung; Daten konnten nicht gesendet oder empfangen werden; Der Auftrag (FTP_Store bzw. FTP_Retrieve) muss erneut aufgerufen werden. Der Fehler kann beispielsweise beim FTP_RETRIEVE dadurch hervorgerufen werden, dass die angesprochene Datei auf dem FTP-Server bereits geöffnet ist.

0 1 8F66H Fehler beim Lesen/Schreiben der Daten von/zur CPU (beispielsweise DB nicht vorhan-den oder zu klein)

0 1 8F67H Fehler im FTP Client auf dem CP; beispielsweise beim Versuch, mehr als 10 FTP-Verbindungen zu öffnen.

0 1 8F68H Der Auftrag wurde vom FTP Client zurückgewiesen Der Fehler kann beispielsweise beim FTP_RETRIEVE dadurch hervorgerufen werden, dass der Wert für den Parameter MAX_LENGTH im File-DB Header zu klein gewählt wurde.

0 1 8F69H FTP-Verbindung in falschem Zustand für diesen Aufruf, beispielsweise bei zweimali-gem Connect-Aufruf oder bei Retrieve ohne vorheriges Connect (bei gleicher Verbin-dungs-ID)

0 1 8F6AH Die Verbindung konnte wegen temporärem Ressourcenengpass nicht aufgebaut wer-den. Abhilfe: Bausteinaufruf wiederholen.

0 1 8F6CH Die Verbindung konnte nicht aufgebaut werden; der FTP-Client unterstützt nur SSL-gesicherte Verbindungen. Abhilfe: Programmbaustein FTP_CMD verwenden.

0 1 8F70H Aufruf eines FTP-Client-Bausteins mit ACT = 0 0 1 8F7FH Interner Fehler; beispielsweise unzulässige ANY-Referenz

Page 103: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 103

2.4.10 Datenbaustein File-DB

2.4.10.1 Aufbau der Datenbausteine (File-DB) für FTP-Dienste - FTP-Client-Betrieb

Funktionsweise Für die Übertragung von Daten mittels FTP legen Sie in der CPU Ihrer S7-Station Datenbausteine (File-DBs) an. Diese Datenbausteine müssen einer bestimmten Struktur genügen, damit sie von den FTP-Diensten als übertragbare Dateien hantiert werden können. Sie bestehen aus folgenden Abschnitten:

● Abschnitt 1: File-DB-Header (besitzt feste Struktur mit einer Länge von 20 Byte)

● Abschnitt 2: Nutzdaten (besitzt variable Länge und Struktur)

File-DB-Header für FTP-Client-Betrieb Anmerkung: Der hier beschriebene File-DB Header ist weitgehend identisch zu dem für den Server-Betrieb beschriebenen File-DB-Header. Die Unterschiede beziehen sich auf die Parameter:

● WRITE_ACCESS

● FTP_REPLY_CODE

Parameter Typ Wert / Bedeutung Versorgung

EXIST BOOL Das EXIST-Bit zeigt an, ob der Nutzdatenbereich gültige Daten enthält. Das FTP-Kommando retrieve bearbeitet den Auftrag nur, wenn EXIST=1. • 0:

Der File-DB enthält keine gül-tigen Nutzdaten ("Datei exi-stiert nicht").

• 1: Der File-DB enthält gültige Nutzdaten ("Datei existiert").

Das FTP-Kommando dele setzt EXIST=0; Das FTP-Kommando store setzt EXIST=1;

Page 104: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 104 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Typ Wert / Bedeutung Versorgung LOCKED BOOL Das LOCKED-Bit dient zum Zu-

griffsschutz für den File-DB. • 0:

Auf den File-DB kann zugegrif-fen werden.

• 1: Der File-DB ist gesperrt.

Die FTP-Kommandos store und retr setzen während der Bearbeitung LOCKED=1. Für einen Schreibvorgang aus dem Anwenderprogramm gilt: Das Anwenderprogramm in der S7-CPU kann zur Konsistenzsicherung während eines Schreibzugriffes LOCKED setzen bzw. zurücksetzen. Empfehlung zur Vorgehensweise im Anwenderprogramm: 1. LOCKED-Bit prüfen;

wenn =0 2. WRITEACCESS-Bit=0 setzen 3. LOCKED-Bit prüfen;

wenn =0 4. LOCKED-Bit=1 setzen 5. Daten schreiben 6. LOCKED-Bit=0 setzen

NEW BOOL Das NEW-Bit informiert, ob Daten seit dem letzten Lesevorgang verändert wurden. • 0:

Inhalt des File-DB ist unverän-dert seit letztem Schreibvor-gang. Das Anwenderprogramm der S7-CPU hat die letzte Änderung registriert.

• 1: Das Anwenderprogramm der S7-CPU hat den letzten Schreibvorgang noch nicht re-gistriert.

FTP-Kommando store setzt nach der Bearbeitung NEW=1 Das Anwenderprogramm in der S7-CPU muß nach dem Lesen der Daten NEW=0 setzen, um ein erneutes Kom-mando retr zu ermöglichen.

WRITE_ACCESS BOOL 0: Das Anwenderprogramm (FTP-Client Bausteine) hat Schreibrecht für die File-DBs in der S7-CPU. 1: Das Anwenderprogramm (FTP-Client Bausteine) hat kein Schreibrecht für die File-DBs in der S7-CPU.

Das Bit wird bei der DB-Projektierung auf einen Initialisierungwert gesetzt. Empfehlung: Das Bit sollte nach Möglichkeit unver-ändert bleiben! In besonderen Fällen ist eine Anpassung im laufenden Betrieb möglich.

ACT_LENGTH DINT Aktuelle Länge des Nutzdatenbe-reiches. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1.

Die aktuelle Länge wird nach einem Schreibvorgang aktualisiert.

Page 105: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 105

Parameter Typ Wert / Bedeutung Versorgung MAX_LENGTH DINT Maximale Länge des Nutzdaten-

bereiches (Länge des gesamten DB abzüglich 20 Byte Header).

Die maximale Länge sollte bei der DB-Projektierung festgelegt werden. Der Wert kann auch im laufenden Be-trieb vom Anwenderprogramm geän-dert werden.

FTP_REPLY_CODE INT Vorzeichenlose Zahl (16 Bit), die den letzten Reply-Code von FTP als Binärwert enthält. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1.

Wird vom FTP-Client bei der FTP-Kommandobearbeitung aktualisiert.

DATE_TIME DATE_AND_TIME Datum und Zeit der letzten Ände-rung des Files. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1.

Das aktuelle Datum wird nach einem Schreibvorgang aktualisiert. Wird die Funktion "Uhrzeitweiterleitung" genutzt, entspricht der Eintrag der weitergeleiteten Zeit. Wird die Funktion "Uhrzeitweiterleitung" nicht genutzt, wird eine relative Zeit eingetragen. Bezug ist der Anlaufzeit-punkt des IT-CP (Initialisierungswert ist 1.1.1994 0.0 Uhr).

2.4.10.2 Aufbau der Datenbausteine (File-DB) für FTP-Dienste - FTP-Server-Betrieb

Funktionsweise Für die Übertragung von Daten mittels FTP legen Sie in der CPU Ihrer S7-Station Datenbausteine (File-DBs) an. Diese Datenbausteine müssen einer bestimmten Struktur genügen, damit sie von den FTP-Diensten als übertragbare Dateien hantiert werden können. Sie bestehen aus folgenden Abschnitten

● Abschnitt 1: File-DB-Header (besitzt feste Länge (20 Byte) und Struktur)

● Abschnitt 2: Nutzdaten (besitzt variable Länge und Struktur)

File-DB-Header für FTP-Server-Betrieb Anmerkung: Der hier beschriebene File-DB-Header ist weitgehend identisch zu dem für den Client-Betrieb beschriebenen File-DB-Header. Die Unterschiede beziehen sich auf die Parameter

● WRITE_ACCESS

● FTP_REPLY_CODE

Page 106: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs 106 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Typ Wert / Bedeutung Versorgung

EXIST BOOL Das EXIST-Bit zeigt an, ob der Nutzdatenbereich gülti-ge Daten enthält. Das FTP-Kommando re-trieve bearbeitet den Auf-trag nur, wenn EXIST=1. • 0:

Der File-DB enthält kei-ne gültigen Nutzdaten ("Datei existiert nicht").

• 1: Der File-DB enthält gül-tige Nutzdaten ("Datei existiert").

Das FTP-Kommando dele setzt EXIST=0; Das FTP-Kommando store setzt EXIST=1;

LOCKED BOOL Das LOCKED-Bit dient zum Zugriffsschutz für den File-DB. • 0:

Auf den File-DB kann zugegriffen werden.

• 1: Der File-DB ist gesperrt.

Die FTP-Kommandos store und retr setzen während der Bearbeitung LOCKED=1. Für einen Schreibvorgang aus dem Anwen-derprogramm gilt: Das Anwenderprogramm in der S7-CPU kann zur Konsistenzsicherung während eines Schreibzugriffes LOCKED setzen bzw. zurücksetzen. Empfehlung zur Vorgehensweise im An-wenderprogramm: 1. LOCKED-Bit prüfen;

wenn =0 2. WRITEACCESS-Bit=0 setzen 3. LOCKED-Bit prüfen;

wenn =0 4. LOCKED-Bit=1 setzen 5. Daten schreiben 6. LOCKED-Bit=0 setzen

Page 107: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 107

Parameter Typ Wert / Bedeutung Versorgung NEW BOOL Das NEW-Bit informiert, ob

Daten seit dem letzten Lesevorgang verändert wurden. • 0:

Inhalt des File-DB ist unverändert seit letztem Schreibvorgang. Das Anwenderprogramm der S7-CPU hat die letzte Änderung regi-striert.

• 1: Das Anwenderpro-gramm der S7-CPU hat den letzten Schreibvor-gang noch nicht regi-striert.

FTP-Kommando store setzt nach der Bear-beitung NEW=1 Das Anwenderprogramm in der S7-CPU muss nach dem Lesen der Daten NEW=0 setzen, um ein erneutes store zu ermögli-chen oder um das File mittels FTP-Kommando dele löschen zu können.

WRITE_ACCESS BOOL 0: Der FTP-Client auf dem PG/PC hat kein Schreib-recht für die File-DBs in der S7-CPU. 1: Der FTP-Client auf dem PG/PC hat Schreibrecht für die File-DBs in der S7-CPU.

Das Bit wird bei der DB-Projektierung auf einen Initialisierungwert gesetzt. Empfehlung: Das Bit sollte nach Möglichkeit unverändert bleiben! In besonderen Fällen ist eine An-passung im laufenden Betrieb möglich.

ACT_LENGTH DINT Aktuelle Länge des Nutzda-tenbereiches. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1.

Die aktuelle Länge wird nach einem Schreibvorgang aktualisiert.

MAX_LENGTH DINT Maximale Länge des Nutz-datenbereiches (Länge des gesamten DB abzüglich 20 Byte Header).

Die maximale Länge sollte bei der DB-Projektierung festgelegt werden. Der Wert kann auch im laufenden Betrieb vom Anwenderprogramm geändert werden.

FTP_REPLY_CODE INT Der Parameter ist im FTP-Serverbetrieb ohne Bedeu-tung.

Wird vom FTP-Server auf "0" gesetzt.

DATE_TIME DATE_AND_TIME Datum und Zeit der letzten Änderung des Files. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1.

Das aktuelle Datum wird nach einem Schreibvorgang aktualisiert. Wird die Funktion "Uhrzeitweiterleitung" genutzt, entspricht der Eintrag der weiterge-leiteten Zeit. Wird die Funktion "Uhrzeitweiterleitung" nicht genutzt, wird eine relative Zeit einge-tragen. Bezug ist der Anlaufzeitpunkt des IT-CP (Initialisierungswert ist 1.1.1994 0.0 Uhr).

Page 108: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 108 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

In bestimmten Anwendungsbereichen ist es vorteilhaft, die Kommunikationsverbindungen oder die IP-Konfiguration des CP nicht über die Projektierschnittstelle von STEP 7, sondern über eine spezifische Applikation programmgesteuert einzurichten.

Typische Anwendungsfälle finden sich z.B. bei Herstellern von Serienmaschinen, die ihren Kunden eine einfache Bedienoberfläche bieten möchten, aber die Kommunikationsdienste an die Bedieneingaben anpassen müssen. Der Endanwender soll keine STEP 7-Kenntnisse benötigen.

Für diese Anwendungen steht zur Einrichtung von Verbindungen an der SEND/RECEIVE-Schnittstelle sowie der IP-Konfiguration der Funktionsbaustein FB55 zur Verfügung. Der FB55 ermöglicht die flexible Übergabe von Datenbausteinen mit Projektierdaten an einen Ethernet-CP.

Hinweis

Beachten Sie für die hier beschriebenen Funktionen die Leistungsmerkmale (unterstützte Verbindungstypen) des von Ihnen verwendeten CP-Typs; Angaben hierzu finden Sie in den Gerätehandbüchern.

Weitere Informationen Sie finden ergänzende Informationen zu den folgenden Themenbereichen in /1/ (Seite 285) :

● Eigenschaften der projektierbaren Verbindungsarten;

● Angaben zur Projektierung des IP Zugriffschutzes;

● Angaben zum Datenvolumen und Mengengerüst.

2.5.1 Arbeitsweise

Zusammenspiel von Programmierung und Projektierung Verbindungen an der SEND/RECEIVE-Schnittstelle sowie die IP-Konfiguration eines CP projektieren Sie entweder per STEP 7 oder konfigurieren diese per Anwenderprogramm zur Laufzeit der S7-Station. Eine Mischform dieser Varianten ist innerhalb eines CP nicht möglich!

Page 109: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 109

Prinzip der programmierten Konfiguration Über einen Funktionsbaustein, der im Anwenderprogramm aufgerufen wird, können Konfigurationsdaten für Kommunikationsverbindungen und die IP-Konfiguration (Systemdaten für CP) an den CP übertragen werden.

Der Konfigurations-DB kann jederzeit in den CP geladen werden. Die vorher aktuellen Verbindungen und Konfigurationsdaten (IP-Adresse, Subnetz-Maske, Default-Router, NTP-Uhrzeit-Server und weitere Parameter) werden hierbei überschrieben.

Der Ethernet-CP erkennt anhand der Projektierdaten, dass die Kommunikationsverbindungen über das Anwenderprogramm eingerichtet werden sollen.

Hinweis

Die Funktionen können nur ausgeführt werden, wenn der Baugruppen-Zugriffsschutz als "Nicht gesperrt" projektiert wurde: Siehe Eigenschaftendialog des CP, Register "Optionen" (nicht bei jedem CP).

Weiterhin muss die Option "IP-Adresse im Anwenderprogramm erstellen" aktiviert sein (siehe Eigenschaftendialog des CP oder der Ethernet-Schnittstelle des CP, Register "IP-Konfiguration").

Der Ethernet-CP erkennt anhand der Projektierdaten, dass die Kommunikationsverbindungen über das Anwenderprogramm eingerichtet werden sollen.

Hinweis

Sobald das Anwenderprogramm über den FB55 IP_CONFIG die Verbindungsdaten übergibt, schaltet die CPU den CP kurzzeitig in STOP. Der CP übernimmt die Systemdaten (inklusive IP-Adresse) und die neuen Verbindungsdaten und arbeitet diese im Anlauf ab (RUN).

Mengengerüst Im Programmbaustein IP_CONFIG können maximal 64 Verbindungen angegeben werden. Maßgebend ist jedoch die maximale Anzahl Verbindungen, die der von Ihnen genutzte CP-Typ unterstützt.

Page 110: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 110 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Besonderheiten / Einschränkungen ● Konsistenzprüfung nur unter STEP 7

Die Verbindungsprojektierung in STEP 7 ist mit Konsistenzprüfungen verbunden, die bei der programmierten Konfiguration nicht oder nur bedingt möglich sind!

● Verbindungsprojektierung beim Partner erforderlich

Bei der Projektierung spezifizierter Verbindungen in STEP 7 wird bei der Projektierung implizit die Verbindung für den Partner angelegt; bei der programmierten Konfiguration ist dies nicht möglich! Hier müssen für die Partner entsprechende Verbindungen projektiert bzw. konfiguriert werden.

● Projektierung des IP-Zugriffschutzes

Über den IP-Zugriffschutz besteht die Möglichkeit, die Kommunikation über den CP der lokalen S7-Station auf Partner mit ganz bestimmten IP-Adressen einzuschränken. Diese Parametrierung gilt auch für programmierte Kommunikationsverbindungen. Sie müssen den IP-Zugriffschutz in STEP 7 entweder ausschalten (= Voreinstellung) oder die Kommunikationspartner autorisieren.

● DHCP / DNS wird unterstützt

Die IP-Adressierung ist bei der programmierten Konfiguration auch über DHCP (und DNS für den Mail-Dienst) möglich.

Die Nutzung eines DHCP-Servers wird in diesem Fall im FB55 definiert (nicht in der Projektierung).

● Keine Verbindungsinformationen beim Hochladen

Beim Hochladen der S7-Stationsdaten in STEP 7 sind die Daten der programmierten Konfiguration nicht enthalten.

● Verbindungsprojektierung bei CPs mit mehreren Schnittstellen

Vergewissern Sie sich bei CPs mit mehreren Schnittstellen (z.B. mit Gigabit-Schnittstelle) im Gerätehandbuch des CP, ob die Verbindungsprojektierung für beide Schnittstellen unterstützt wird.

● PROFINET IO nicht gleichzeitig möglich

Bei Geräten, die als PROFINET IO-Controller oder IO-Device betrieben werden sollen, ist die Verbindungseinrichtung über den hier beschriebenen FB55 nicht möglich.

● Keine Verwendung des IP_CONFIG bei CP-Einsatz mit hochverfügbaren S7-Verbindungen

Wenn Sie hochverfügbare S7-Verbindungen über den CP konfigurieren, dürfen Sie den Programmbaustein IP_CONFIG nicht zur IP-Konfiguration des CP verwenden.

Page 111: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 111

2.5.2 So gehen Sie vor

Voraussetzungen Die hier beschriebenen Schritte setzen voraus:

● Sie haben in Ihren STEP 7-Projekten die lokale S7-Station als auch die benötigten Partnerstationen angelegt.

● Sie haben geklärt, mit welchen sonstigen Stationstypen Verbindungen eingerichtet werden sollen. Für diese müssen Sie in Ihren STEP 7-Projekten ggf. Stellvertreterobjekte einrichten.

CP-Eigenschaften projektieren Stellen Sie die CP-Eigenschaften unter "IP-Konfiguration" ein: Wählen Sie die Option "IP-Adresse im Anwenderprogramm einstellen".

Verbindungseinrichtung programmieren Gehen Sie prinzipiell so vor, um Verbindungen über das Anwenderprogramm einzurichten:

1. Legen Sie die Subblöcke für System- und Verbindungsdaten im Konfigurations-DB an.

2. Legen Sie die Verbindungseigenschaften im Konfigurations-DB fest.

3. Programmieren Sie die FB55-Schnittstelle im Anwenderprogramm.

4. Verwenden Sie die FCs der SEND/RECEIVE-Schnittstelle für die Offenen Kommunikationsdienste im Anwenderprogramm.

2.5.3 Konfigurations-Datenbaustein (CONF_DB)

Bedeutung Der Konfigurations-Datenbaustein (CONF_DB) enthält sämtliche Verbindungsdaten und Konfigurationsdaten (IP-Adresse, Subnetz-Maske, Default-Router, NTP-Uhrzeit-Server und weitere Parameter) für einen Ethernet-CP. Der Konfigurations-Datenbaustein wird mit dem Funktionsbaustein FB55 an den CP übergeben.

Page 112: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 112 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufbau / Datenstruktur Sie können der folgenden Darstellung entnehmen:

● Strukturierung durch Parameterblöcke und Subblöcke

– Jede Verbindung sowie besondere Systemdaten werden durch einen identisch aufgebauten Parameterblock beschrieben.

– Einzelne Parameter werden durch Subblöcke typisiert.

● Offset-Bereich

Der CONF_DB kann über einen Offset-Bereich an beliebiger Stelle innerhalb eines Datenbausteines beginnen. Die Adresse (bzw. der Offset) muss lediglich geradzahlig sein.

① Parameterblöcke sind nachfolgend beschrieben in Parameterblock für Systemdaten (IP-Konfiguration) (Seite 116) ② Subblocktypen sind nachfolgend beschrieben in Parameterblöcke für Verbindungstypen (Seite 117)

Siehe auch Subblock-Typen (Seite 122)

2.5.4 Konfigurations-Datenbaustein - Beispiel Nachfolgend ein Beispiel für einen Konfigurations-Datenbaustein mit dem Parameterblock für Systemdaten und einem Parameterblock für eine TCP-Verbindung.

Page 113: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 113

CONF_DB AWL

DATA_BLOCK DB271

TITLE=IP_CONFIG für 1 aktive nTCP-Connection,

AUTHOR : SIMATIC //CP-Daten : IP=200.12.1.144, Router=200.12.1.80

FAMILY : AS300 //Verbindungsdaten: Destination IP-Addr=200.12.1.99,

NAME : ipconf //Lokaler Port = 4001, Remote Port = 5001, Aufbau=aktiv

VERSION : 1.0 //07-Jun-2005

STRUCT

DB_TYP : INT := 1;

// --------------------------------------------------------- System Daten ------

sys_pb : INT:=0;

sys_id : INT:= 0;

sys_sb_cnt: INT:= 3;

ip_addr: SUB_IP_V4;

ip_netmask: SUB_NETMASK;

ip_router: SUB_DEF_ROUTER;

// Subblock-Typ: Systemdaten für CP

// System Parameter ID, immer 0

// Anzahl Subblocks im Systemparameter Block

// IP-Adresse des CPs

// Subnetzmaske des CPs

// Default Router

// --------------------------------------------------------- tcp VB 01 --------

tcp_pb_01 : int := 1;

tcp_id_01 : int := 1;

tcp_sb_cnt_01 : int := 6;

tcp_vb_ip_01 : SUB_IP_V4;

tcp_loc_01 : SUB_LOC_PORT;

tcp_rem_01 : SUB_REM_PORT;

tcp_vb_01_name : CON_NAME_L;

tcp_vb_01_kbus : SUB_KBUS_ADDR;

rq_01 : ACT_CN_REQ;

// Subblock-Typ: TCP-Verbindung

// 1. TCP_VB

// 6 Elemente pro TCP-Verbindung

// IP-Adresse des Partners

//

//

//

// nur relevant für S7-400

//

//----------------------------------

END_STRUCT ;

BEGIN

tcp_loc_01.port := 4001;

tcp_rem_01.port := 5001;

END_DATA_BLOCK

// Definition der Ports, wenn der Wert von

// der Vordefinition abweichen soll !

Es folgen die Typdefinitionen, die im Beispiel-DB verwendet werden.

Page 114: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 114 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Typdefinitionen für den Subblock "Systemdaten" AWL

// Datenstruktur IP-Config

TYPE "SUB_IP_V4"

STRUCT

id : int := 1; // ID for IP, V4-Addr.

len: int := 8; // Sub Block Length

b_3 : BYTE := b#16#C8; // IP_High 200.

b_2 : BYTE := b#16#0C; // IP_ 12.

b_1 : BYTE := b#16#01; // IP_ 1.

b_0 : BYTE := b#16#90; // IP_Low 144

END_STRUCT;

END_TYPE

TYPE "SUB_NETMASK"

STRUCT

id : int := 2; // ID for Sub Net Mask

len: int := 8; // Sub Block Length

b_3 : BYTE := b#16#FF; // SNM_High

b_2 : BYTE := b#16#FF; // SNM_

b_1 : BYTE := b#16#FF; // SNM_

b_0 : BYTE := b#16#00; // SNM_Low

END_STRUCT;

END_TYPE

TYPE "SUB_DEF_ROUTER"

STRUCT

id : int := 8; // ID_4_Router

len: int := 8; // Sub Block Length

r_3 : BYTE := b#16#C8; // R_High

r_2 : BYTE := b#16#0C; // R_

r_1 : BYTE := b#16#01; // R_

r_0 : BYTE := b#16#50; // R_Low

END_STRUCT;

END_TYPE

Page 115: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 115

Typdefinitionen für den Subblock "TCP-Verbindung" AWL

TYPE "SUB_LOC_PORT"

STRUCT

id : int := 9; // ID_4_LOC_PORT

len: int := 6; // Sub Block Length

port: int := 2001; // Loc. Port

END_STRUCT;

END_TYPE

TYPE "SUB_REM_PORT"

STRUCT

id : int :=10; // ID_4_REM_PORT

len: int := 6; // Sub Block Length

port: int := 2002; // Rem. Port

END_STRUCT;

END_TYPE

TYPE "CON_NAME_L" // 24 characters

STRUCT

id : int := 18; // ID for CON Name

len: int := 28; // 4+len(n[0..x]

c : ARRAY [1..24] of CHAR := ‘V’,’B’,’_’,’N’,’a’,’m’,’e’,’_’,’2’,’4’,’C’,’h’,’a’,’r’,

‘a’,’c’,’t’,’e’,’r’,’s’,’_’,’0’,’0’,’1’;

END_STRUCT;

END_TYPE

TYPE "SUB_KBUS_ADDR"

STRUCT

id : int := 21; // ID for KBUS-Address

len: int := 5; //

addr: BYTE := B#16#04; // =R0/S4

END_STRUCT

END_TYPE

TYPE "ACT_CN_REQ"

STRUCT

id : int := 22; // ID for CON REQ Mode

len: int := 5; // Sub Block Length

w : BYTE := b#16#1; // = Active

END_STRUCT;

Anmerkung: Die hier aufgeführten Strukturen müssen noch in die Symbol-Tabelle aufgenommen werden.

Beispiel für der Eintrag SUB_IP_V4: Symbol Adresse Datentyp SUB_IP_V4 UDT 100 UDT 100

Page 116: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 116 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Siehe auch Subblock-Typen (Seite 122)

2.5.5 Parameterblock für Systemdaten (IP-Konfiguration)

Bedeutung Sie finden nachfolgend den für die IP-Konfiguration des CP relevanten Parameterblock für Systemdaten und die darin anzugebenden Subblöcke.

Je nach Anwendungsfall werden nicht alle Subblock-Typen benötigt - entsprechende Angaben finden Sie in der Tabelle.

Aufbau Bei CPs mit mehreren Schnittstellen gilt der nachfolgend beschriebene Aufbau für den Parameterblock nur für die PROFINET-Schnittstelle. • Typ = 0

• ID = 0

• Subblock_Anzahl = n

• Subblock 1

• Subblock 2

• Subblock n ...

Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 Lokale IP-Adresse ++ 2 SUB_NETMASK - ++ 8 SUB_DEF_ROUTER - + 4 SUB_DNS_SERV_ADDR *) Dieser Subblock kann bis zu 0-4 mal vorkommen. Der

erste Eintrag ist der Primary DNS Server. +

14 SUB_DHCP_ENABLE 0: kein DHCP 1: DHCP

+

15 SUB_CLIENT_ID - Anmerkung: Nur sinnvoll wenn SUB_DHCP_ENABLE = 1

+

30**) SUB_DEVICE_NAME Gerätename nach PROFINET IO-Konvention Geben Sie einen Gerätenamen an, um das Gerät für Analyse- und Diagnosezwecke im Netz individuell kennt-lich zu machen.

+

*) Der Subblocktyp wird nur für E-Mail-Verbindungen benutzt. **) ID wird nur bei bestimmten CP-Typen unterstützt. ***) ++ = zwingend; + = optional

Page 117: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 117

Siehe auch Subblock-Typen (Seite 122)

2.5.6 Parameterblöcke für Verbindungstypen

Allgemeines Sie erfahren nachfolgend, welche Werte in die Parameterblöcke einzutragen sind und welche Subblöcke zu den jeweiligen Verbindungstypen zu verwenden sind.

Je nach Anwendungsfall werden nicht alle Subblock-Typen benötigt - entsprechende Angaben finden Sie ebenfalls in der Tabelle.

Verbindungs-ID Von besonderer Bedeutung ist der ID-Parameter, der jedem Verbindungsparameterblock neben der Typkennung vorangestellt wird.

Bei programmierten Verbindungen können Sie diese ID innerhalb des zulässigen Wertebereiches frei vergeben. Sie müssen diese ID dann an der Aufrufschnittstelle der FCs für die SEND/RECV-Schnittstelle zur Identifizierung der Verbindung verwenden.

Wertebereiche für die Verbindungs-ID:

● S7-400: 1,2...64

● S7-300: 1,2...16

2.5.6.1 Parameterblock für TCP-Verbindung

Aufbau Hinterlegen Sie die Parameter im Parameterblock für TCP-Verbindungen wie folgt: • Typ = 1 -> ①

• ID = Verbindungs-ID -> ②

• Subblock_Anzahl = n

• Subblock 1

• Subblock 2

• Subblock n ... Legende:

① Kennung für den Verbindungstyp ② frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben.

Wertebereich für die Verbindungs-ID: bei S7-400: 1, 2...64 bei S7-300: 1,2...16

Page 118: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 118 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Partners ++ *) 9 SUB_LOC_PORT - ++ 10 SUB_REM_PORT - ++ **) 18 SUB_CONNECT_NAME - + 19 SUB_LOC_MODE - + 21 SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest

auf 2 eingestellt und muß daher nicht angegeben werden.

++ (bei S7-400)

22 SUB_CON_ESTABL - ++ *) optional bei passiver Verbindung. ***) ++ = zwingend; + = optional

Siehe auch Subblock-Typen (Seite 122)

2.5.6.2 Parameterblock für UDP- Verbindung

Aufbau Hinterlegen Sie die Parameter im Parameterblock für UDP-Verbindungen wie folgt: • Typ = 2 -> ①

• ID = Verbindungs-ID -> ②

• Subblock_Anzahl = n

• Subblock 1

• Subblock 2

• Subblock n ... Legende:

① Kennung für den Verbindungstyp ② frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben.

Wertebereich für die Verbindungs-ID: bei S7-400: 1, 2...64 bei S7-300: 1,2...16

Page 119: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 119

Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Partners ++ 9 SUB_LOC_PORT - ++ 10 SUB_REM_PORT - ++ 18 SUB_CONNECT_NAME - + 19 SUB_LOC_MODE - + 21 SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert

fest auf 2 eingestellt und muss daher nicht angegeben werden.

++ (bei S7-400)

23 SUB_ADDR_IN_DATABLOCK Falls über diesen Parameter die Option "Freie UDP-Verbindung" gewählt wird, entfallen die Parame-ter SUB_IP_V4 und SUB_REM_PORT.

+

***) ++ = zwingend; + = optional

Siehe auch Subblock-Typen (Seite 122)

2.5.6.3 Parameterblock für ISO-on-TCP Verbindung

Aufbau Hinterlegen Sie die Parameter im Parameterblock für ISO-on-TCP-Verbindungen wie folgt: • Typ = 3 -> ①

• ID = Verbindungs-ID -> ②

• Subblock_Anzahl = n

• Subblock 1

• Subblock 2

• Subblock n ... Legende:

① Kennung für den Verbindungstyp ② frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben.

Wertebereich für die Verbindungs-ID: bei S7-400: 1, 2...64 bei S7-300: 1,2...16

Page 120: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 120 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Partners ++ *) 11 SUB_LOC_TSAP - ++ 12 SUB_REM_TSAP - ++ *) 18 SUB_CONNECT_NAME - + 19 SUB_LOC_MODE - + 21 SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert

fest auf 2 eingestellt und muß daher nicht angegeben werden.

++ (bei S7-400)

22 SUB_CON_ESTABL - ++ *) optional bei passiver Verbindung (Wenn die IP-Adresse angegeben wird, muss auch der TSAP angegeben werden.) ***) ++ = zwingend; + = optional

Siehe auch Subblock-Typen (Seite 122)

2.5.6.4 Parameterblock für E-Mail-Verbindung

Bedeutung Für das Senden von E-Mails ist grundsätzlich eine E-Mail-Verbindung pro Advanced-CP einzurichten. Mit der E-Mail-Verbindung ist der Mailserver festgelegt, über den sämtliche vom Advanced-CP gesendeten E-Mails zugestellt werden.

Aufbau Hinterlegen Sie die Parameter im Parameterblock für E-Mail-Verbindungen wie folgt: • Typ = 4 -> ①

• ID = Verbindungs-ID -> ②

• Subblock_Anzahl = n

• Subblock 1

• Subblock 2

• Subblock n ... Legende:

① Kennung für den Verbindungstyp ② frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben.

Wertebereich für die Verbindungs-ID: bei S7-400: 1, 2...64 bei S7-300: 1,2...16

Page 121: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 121

Verwendbare Subblöcke

Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***)

1 SUB_IP_V4 IP-Adresse des Mailservers, über den die E-Mails gesendet werden. Die IP-Adresse kann absolut oder sym-bolisch angegeben werden. Die symbolische Angabe setzt voraus, dass dem Advanced-CP die Adresse des Domain Name Servers (DNS) be-kannt ist. Ein entsprechender Eintrag ist bei der Projektierung des Advanced-CP in STEP 7 vorzunehmen; nähere Anga-ben hierzu finden Sie dort in der Online-Hilfe.

++ / + *)

3 SUB_DNS_NAME DNS Name des E-MAIL Servers ++ / + *) 13 SUB_EMAIL_SENDER Absender E-Mail Adresse ++ 18 SUB_CONNECT_NAME - + 21 SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest

auf 0 eingestellt und muß daher nicht angegeben werden.

++ (bei S7-400)

22 SUB_CON_ESTABL - ++ *) Die Parameter SUB_IP_V4 und SUB_DNS_NAME schließen sich hier gegenseitig aus; ausschließ-lich einer von beiden Parametern ist anzugeben. ***) ++ = zwingend; + = optional

Hinweis

Mail-Server-Ports sind "well known ports" und müssen nicht zwingend angegeben werden.

Siehe auch Subblock-Typen (Seite 122)

2.5.6.5 Parameterblock für FTP-Verbindung

Bedeutung Für die Abwicklung einer FTP-Auftragssequenz zwischen der S7-Station als FTP-Client und einem FTP-Server muss der Advanced-CP eine Verbindung zur S7-CPU einrichten. Diese Verbindung bezeichnen wir hier als FTP-Verbindung.

Bei den FTP-Verbindungen handelt es sich um TCP-Verbindungen, die über den Parameter SUB_LOC_MODE auf die Betriebsart "FTP" eingestellt werden.

Page 122: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 122 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufbau Hinterlegen Sie die Parameter im Parameterblock für FTP-Verbindungen wie folgt: • Typ = 1 -> ①

• ID = Verbindungs-ID -> ②

• Subblock_Anzahl = n

• Subblock 1

• Subblock 2

• Subblock n ... Legende:

① Kennung für den Verbindungstyp ② frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben.

Wertebereich für die Verbindungs-ID: bei S7-400: 1, 2...64 bei S7-300: 1,2...16

Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 18 SUB_CONNECT_NAME - + 19 SUB_LOC_MODE hier: 0x01 = FTP Protokoll ++ 21 SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest

auf 0 eingestellt und muß daher nicht angegeben werden.

++ (bei S7-400)

***) ++ = zwingend; + = optional

Siehe auch Subblock-Typen (Seite 122)

2.5.7 Subblock-Typen Je nach Parameterblock werden unterschiedliche Parameter benötigt. Jeder Parameter wird durch einen Subblock beschrieben. Welche Subblöcke benötigt werden, können Sie den Beschreibungen zu den Systemdaten und zu den Verbindungstypen in den vorhergehenden Kapiteln entnehmen.

Jeder Subblock besteht aus dem spezifischen Parameterabschnitt sowie einem Header (4 Byte).

Page 123: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 123

Beispiel Der folgende Auszug aus einem CONF_DB zeigt den Aufbau eines Subblockes am Beispiel des Subblock-Typs SUB_NETMASK. Adresse Name Typ Anfangswert Kommentar +14.0 Sub_Block_2 STRUCT // Subblock 2 Typ

SUB_NETMASK +0.0 Sub_Block_ID INT 2 // Subblock ID +2.0 Sub_Block_Len INT 8 // Gesamtlänge des Subblocks in

Byte +4.0 Parameter STRUCT Parameterbereich

SUB_NETMASK +0.0 Wert_1 BYTE B#16#FF +1.0 Wert_2 BYTE B#16#FF +2.0 Wert_3 BYTE B#16#FF +3.0 Wert_4 BYTE B#16#0 =4.0 END_STRUCT =8.0 END_STRUCT

Folgende Subblock-Typen stehen insgesamt zur Verfügung: Subblock ID 1)

Subblock-Typ Subblock-Länge (in Byte)

Bedeutung des Parameters

1 SUB_IP_V4 4 + 4 IP-Adresse gemäß IPv4 2 SUB_NETMASK 4 + 4 Subnetzmaske 3 SUB_DNS_NAME Länge DNS Name + 4 DNS Name 4 SUB_DNS_SERV_ADDR 4 + 4 DNS Server Adresse. 8 SUB_DEF_ROUTER 4 + 4 IP-Adresse des Default Router 9 SUB_LOC_PORT 2 + 4 Lokaler Port 10 SUB_REM_PORT 2 + 4 Ferner Port, auch für E-MAIL Verbindungen 11 SUB_LOC_TSAP TSAP-Länge + 4 Lokaler TSAP * 12 SUB_REM_TSAP TSAP-Länge + 4 Ferner TSAP * 13 SUB_EMAIL_SENDER Länge der Absender E–

Mail Adresse + 4 E-Mail Adresse des Absenders

14 SUB_DHCP_ENABLE 2 + 4 IP-Adresse von einem DHCP-Server bezie-hen. • Wertebereich:

0 = kein DHCP

1 = DHCP (optional)

15 SUB_CLIENT_ID Länge der Client ID + 4 (optional) 18 SUB_CONNECT_NAME Länge des Namens + 4 Name der Verbindung. Mögliche Zeichen

sind: a...z, A...Z, 0...9, -, _

Page 124: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 124 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Subblock ID 1)

Subblock-Typ Subblock-Länge (in Byte)

Bedeutung des Parameters

19 SUB_LOC_MODE 1 + 4 Lokale Betriebsart der Verbindung • Wertebereich:

0x00 = SEND/RECV 0x01 = FTP Protokoll (nur bei TCP-Verb.) 0x10 = S5-Adressierungsmodus bei FETCH/WRITE *) 0x20 = SPEED SEND/RECV (nur beim CP 443-1 Advanced erlaubt) 0x80 = FETCH *) 0x40 = WRITE *)

Die Default-Einstellung bei Verzicht auf den Parameter ist SEND/RECV. Anmerkung: FETCH / WRITE erfordern die Einstellung passiver Verbindungsaufbau (siehe unter SUB_CON_ESTABL).

20 SUB_REM_MODE 1 + 4 Einstellung der Betriebsart beim Kommuni-kationspartner. (wird derzeit nicht unterstützt)

21 SUB_KBUS_ADR 5 • Bei S7-400 KBUS-Adresse der CPU

• Bei S7-300 Als fester Wert für die Steckplatzadresse einzutragen: 2

22 SUB_CON_ESTABL 1 + 4 Typ des Verbindungsaufbaus. Legen Sie mit dieser Option fest, ob der Verbindungsaufbau von dieser S7-Station aus aktiv oder passiv erfolgen soll. • Wertebereich:

0 = Passiv 1 = Aktiv

23 SUB_ADDR_IN_DATA-BLOCK 1 + 4 Freie UDP-Verbindung wählen. Der ferne Teilnehmer wird vom Anwender-programm beim AG_SEND Aufruf im Auf-tragsheader des Auftragspuffers eingetragen. Damit kann jeder beliebige Teilnehmer am Ethernet/LAN/WAN erreicht werden. • Wertebereich:

1 = Freie UDP-Verbindung 0 = sonstige

Der Parameter ist nur bei der UDP-Verbindung sinnvoll.

Page 125: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 125

Subblock ID 1)

Subblock-Typ Subblock-Länge (in Byte)

Bedeutung des Parameters

24 SUB_NTP_SERVER 4 + 4 Der Subblock definiert einen NTP-Server, von dem der CP seine Uhrzeit über das NTP-Protokoll beziehen kann. Für den Fall, dass ein oder mehrere NTP-Server definiert werden, können bis zu 4 Subblocks der ID 24 definiert werden. Die Subblocks der ID 24 dürfen nur in den Systemparameterblock Typ 0 / ID 0 einge-baut werden.

30 SUB_DEVICE_NAME Länge des Namens + 4 Gerätename nach PROFINET IO-Konvention Der Gerätename muss den DNS-Konventionen genügen, d. h. • Beschränkung auf 127 Zeichen insge-

samt (Buchstaben, Ziffern, Bindestrich oder Punkt)

• Ein Namensbestandteil innerhalb des Gerätenamens, d. h. eine Zeichenkette zwischen zwei Punkten, darf max. 63 Zeichen lang sein.

• Keine Sonderzeichen wie Umlaute, Klammern, Unterstrich, Schrägstrich, Blank etc. Der Bindestrich ist das einzige erlaubte Sonderzeichen.

• Der Gerätename darf nicht mit den Zei-chen "-" oder "." beginnen und auch nicht mit diesem Zeichen enden.

• Der Gerätename darf nicht mit Ziffern beginnen.

• Der Gerätename darf nicht die Form n.n.n.n haben (n = 0...999).

• Der Gerätename darf nicht mit der Zei-chenfolge "port-xyz-" beginnen (x,y,z = 0...9).

1) Hinweis: nicht aufgeführte ID-Nummern werden derzeit noch nicht genutzt. * Für Subblock 11 und 12: Bei ungerader Byte-Anzahl der Subblock-Länge wird nach dem Subblock ein nicht weiter ver-

wendetes Füll-Byte eingefügt, damit sich für den nachfolgenden Subblock wieder eine gerade Byte-Adresse ergibt. Das Füll-Byte wird bei der Subblock-Länge nicht angezeigt, muss aber in die Gesamtlänge des Datenbausteins eingerech-net werden.

Siehe auch Konfigurations-Datenbaustein - Beispiel (Seite 112)

Page 126: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 126 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.5.8 IP_CONFIG - Bedeutung und Aufruf

Bedeutung des Bausteins Der FB55 überträgt die in einem Datenbaustein (Konfigurations-DB) spezifizierte IP-Konfiguration sowie die Verbindungsdaten an den CP. Der Konfigurations-DB enthält sämtliche Verbindungsdaten, um die Verbindungen für die SEND/RECEIVE-Schnittstelle eines Ethernet-CP einzurichten.

Diese Variante der programmierten Kommunikationsverbindungen können Sie alternativ zur Verbindungsprojektierung mit STEP 7 einsetzen.

Je nach Größe des Konfigurations-DB erfolgt die Übertragung zum CP in mehreren Segmenten. Sie müssen daher den FB so lange erneut aufrufen, bis der FB mit dem DONE-Bit=1 die vollständige Übertragung signalisiert.

Aufruf Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fb 55 ( ACT := M 10.0, LADDR := W#16#0100, CONF_DB:= P#db99.dbx10.0 byte 240, LEN := MW 14, DONE := M 10.1, ERROR := M 10.2, STATUS := MW 16, EXT_STATUS := MW 18);

//IP_CONFIG Bausteinaufruf //Auftragsanstoß über Merkerbit //=LADDR 256 dez. in Hardware-Konfiguration //Datenbaustein mit Verbindungsdaten //Längenangabe für die Verbindungsdaten //Ausführungsanzeige //Fehleranzeige //Statusanzeige //Fehlerursache in den Verbindungsdaten

Hinweis Keine Verwendung des FB55 bei CP-Einsatz mit hochverfügbaren S7-Verbindungen

Wenn Sie hochverfügbare S7-Verbindungen über den CP konfigurieren, dürfen Sie den FB55 nicht zur IP-Konfiguration des CP verwenden.

Page 127: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 127

Hinweis Auf mögliche Doppeladressierung achten

Wenn Sie den FB55 einsetzen sollten Sie besonders auf die eindeutige Vergabe der IP-Adressen achten. Beim Erkennen einer doppelten Adresse kann es vorkommen, dass der CP am Netz nicht aktiv wird.

2.5.9 Arbeitsweise IP_CONFIG

Hantierung im Anwenderprogramm Beim Einsatz des FB55 müssen Sie folgende Anwendungsfälle unterscheiden:

● Standardanwendung

Rufen Sie den FB55 im Anlauf-OB (OB100) auf. Beim Starten des OB1 hat der CP dann bereits seine IP-Konfiguration und gegebenenfalls seine Verbindungsprojektierung erhalten.

● Einsatz in Hochverfügbaren-Systemen (H-Systeme)

Mit der nachfolgend empfohlenen Vorgehensweise erreichen Sie, dass im Redundanzfall des H-Systems auch CPs im Redundanz-System über den FB55 konfiguriert werden.

Hinweis

CPU im Betriebszustand RUN

Im H-System können Sie einen CP mit dem FB55 nur dann konfigurieren, wenn sich die zugeordnete CPU im Zustand RUN befindet.

Im H-System läuft zunächst nur ein Rack an. Dies hat zur Folge, dass die CPU auch nur ihre eigene Peripherie (CP) erreichen kann. Daher können Sie im Anlauf OB (OB100) nur die CPs in diesem Rack mit dem FB55 parametrieren. Um auch CPs im redundanten Rack zu parametrieren, wird folgende Vorgehensweise empfohlen:

1. Programmieren Sie im OB100 die FB55-Aufrufe für alle CPs, die eine Konfiguration durch den FB55 erhalten sollen.

2. Speichern Sie beim Ablauf der einzelnen FB55 die Information, ob eine Projektierung bei den einzelnen CPs möglich war.

3. Wenn das H-System in den redundanten Zustand wechselt, wird automatisch der OB72 (CPU Redundanzfehler) aufgerufen. Sorgen Sie dafür, dass im OB72-Ablauf eine Zustandsinformation gespeichert wird, die angibt, welche Konfigurations-FBs (FB55) nachfolgend aufzurufen sind.

4. Rufen Sie nachfolgend im OB1 anhand der zuvor gespeicherten Zustandsinformation die FB55 auf, die Sie für die IP-Konfiguration der CPs im Redundanzsystem benötigen.

Anmerkung: Prinzipiell können Sie die FB55-Aufrufe, die beim Anlauf im OB100 nicht erfolgreich waren, im OB72 aufrufen. Da es sich aber um einen FB handelt, der mehrere Aufrufe benötigt, würde dies die Laufzeit des OBs verlängern. Daher wird die zuvor beschriebene Vorgehensweise im OB1 empfohlen.

Page 128: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 128 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit IP_CONFIG im Anwenderprogramm angestoßenen IP-Konfiguration und Verbindungsprojektierung.

Der Auftrag wird ausgeführt, sobald der Parameter ACT = 1 übergeben wird.

Anschließend müssen Sie den Auftrag wegen der segmentweisen Übertragung des CONF_DB so lange erneut mit ACT =1 aufrufen, bis der Abschluss mit der entsprechenden Anzeige in den Parametern DONE, ERROR, STATUS angezeigt wird.

Falls zu einem späteren Zeitpunkt erneut eine Verbindungskonfiguration übertragen werden soll, muss zuvor in mindestens einem weiteren Aufruf der Parameter ACT = 0 übergeben werden.

Hinweis

Die mit dem Konfigurations-DB übermittelten Daten werden nicht spannungsausfallsicher im CP abgelegt; sie müssen nach einer Spannungsunterbrechung im CP erneut geladen werden!

Page 129: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 129

2.5.10 Erläuterung der Formalparameter - IP_CONFIG

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Aufrufschnittstelle des Funktionsbausteins IP_CONFIG:

Parameter Deklaration Datentyp Wertebereich Beschreibung ACT INPUT BOOL 0,1 Beim FB-Aufruf mit ACT = 1 wird der DBxx an den CP

gesendet. Beim FB-Aufruf mit ACT = 0 werden nur die Statusan-zeigen DONE, ERROR und STATUS aktualisiert.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse in der Konfigurationsta-belle ausgegeben. Geben Sie diese Adresse hier an.

CONF_DB INPUT ANY Der Parameter zeigt auf die Anfangsadresse des Kon-figurations-Datenbereiches in einem Datenbaustein (Datentyp: Byte).

LEN INPUT INT Längenangabe in Byte für den Konfigurations-Datenbereich.

DONE OUTPUT BOOL 0: - 1: Auftrag mit Daten-übertragung abge-schlossen.

Der Parameter zeigt an, ob der Konfigurations-Datenbereich vollständig übertragen wurde. Beachten Sie, dass der FB je nach Größe des Konfigu-rations-Datenbereiches mehrfach angestoßen (in meh-reren Zyklen) werden muss, bis die Anzeige DONE=1 den Abschluss signalisiert. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen IP_CONFIG (Seite 130)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen IP_CONFIG (Seite 130)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen IP_CONFIG (Seite 130)

EXT_ STATUS

OUTPUT WORD Der Parameter zeigt bei einer fehlerhaften Auftrags-ausführung an, welcher Parameter im Konfigurations-DB als Fehlerursache erkannt wurde. High Byte: Index des Parameterblockes Low Byte: Index des Subblockes innerhalb des Para-meterblockes

Page 130: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 130 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

2.5.11 Reservierte Port-Nummern - IP_CONFIG

Reservierte Port-Nummern Die folgenden lokalen Port-Nummern sind reserviert; verwenden Sie diese nicht bei der Verbindungsprojektierung.

Tabelle 2- 19 Reservierte Port-Nummern

Protokoll Port-Nummer Dienst TCP 20, 21 FTP TCP 25 SMTP TCP 80 HTTP TCP 102 RFC1006 TCP 135 RPC-DCOM HTTPS 443 Security

Bei CPs mit Security-Funktion TCP 502 ASA Application Protocol UDP 161 SNMP_REQUEST UDP 34964 PN IO UDP 65532 NTP UDP 65533 NTP UDP 65534 NTP UDP 65535 NTP

2.5.12 Anzeigen IP_CONFIG

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Tabelle 2- 20 Anzeigen FB55 IP_CONFIG

DONE ERROR STATUS Bedeutung Allgemeine Anzeigen zur Auftragsausführung 1 0 0000H Auftrag fertig ohne Fehler 0 0 8181H Auftrag läuft Fehler, die an der Schnittstelle zwischen CPU und CP erkannt wurden. 0 1 80A4H • Kommunikationsfehler am K-Bus

oder • Datenfehler: Es ist nicht eingestellt, dass die Konfiguration über das Anwenderpro-

gramm erfolgt.

Page 131: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 131

DONE ERROR STATUS Bedeutung 0 1 80B1H Die Anzahl der zu sendenden Daten überschreitet die für diesen Dienst zulässige

Obergrenze. (Obergrenze = 16 kByte) 0 1 80C4H Kommunikationsfehler

Der Fehler kann temporär auftreten; daher ist eine Wiederholung im Anwenderpro-gramm sinnvoll.

0 1 80D2H Projektierungsfehler Die eingesetzte Baugruppe unterstützt diesen Dienst nicht.

Fehler, die bei Auswertungen des FBs in der CPU oder an der Schnittstelle zwischen CPU und CP erkannt wurden. 0 1 8183H Der CP lehnt die angeforderte Datensatznummer ab. 0 1 8184H Systemfehler bzw. unzulässiger Parametertyp. (Datentyp des ANY-Pointer CONF_DB

nicht ok) (Aktuell wird nur der Datentyp Byte akzeptiert)

0 1 8185H Der Wert des Parameters LEN ist größer als der CONF_DB abzüglich des reservierten Header (4 Byte) oder die Längenangabe ist falsch.

0 1 8186H Unzulässiger Parameter erkannt Der ANY-Pointer CONF_DB verweist nicht auf einen Datenbaustein.

0 1 8187H Ungültiger Zustand des FBs Eventuell wurden Daten im Header des CONF_DB überschrieben.

Weitere Fehler, die an der Schnittstelle zwischen CPU und CP erkannt wurden. 0 1 8A01H Die Statusanzeige im gelesenen Datensatz ist ungültig (Wert ist >= 3). 0 1 8A02H Es läuft kein Auftrag auf dem CP; der FB hat jedoch eine Quittung für gelaufenen Auf-

trag erwartet. 0 1 8A03H Es läuft kein Auftrag auf dem CP und der CP ist nicht bereit; der FB hat einen ersten

Auftrag für Datensatz-Lesen angestoßen. 0 1 8A04H Es läuft kein Auftrag auf dem CP und der CP ist nicht bereit; der FB hat jedoch eine

Quittung für den gelaufenen Auftrag erwartet. 0 1 8A05H Es läuft ein Auftrag, eine Quittung ist jedoch noch nicht erfolgt; der FB hat jedoch einen

ersten Auftrag für Datensatz-Lesen angestoßen. 0 1 8A06H Ein Auftrag ist fertig; der FB hat jedoch einen ersten Auftrag für Datensatz-Lesen an-

gestoßen. Fehler, die bei Auswertungen des FBs im CP erkannt wurden. 0 1 8B01H Kommunikationsfehler

Der DB konnte nicht übertragen werden. 0 1 8B02H Parameterfehler

Doppelter Parameterblock 0 1 8B03H Parameterfehler

Der Subblock im Parameterblock ist nicht erlaubt. 0 1 8B04H Parameterfehler

Die Länge, die am FB angegeben wurde, stimmt nicht mit der Länge der Parameter-blöcke / Subblöcke überein.

0 1 8B05H Parameterfehler Die Länge des Parameterblockes ist ungültig.

0 1 8B06H Parameterfehler Die Länge des Subblockes ist ungültig.

Page 132: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration

Programmbausteine für SIMATIC NET S7-CPs 132 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8B07H Parameterfehler

Die ID des Parameterblockes ist ungültig 0 1 8B08H Parameterfehler

Die ID des Subblockes ist ungültig 0 1 8B09H Systemfehler

Die Verbindung existiert nicht 0 1 8B0AH Datenfehler

Der Inhalt des Subblockes ist nicht korrekt. 0 1 8B0BH Strukturfehler

Ein Subblock ist doppelt aufgeführt. 0 1 8B0CH Datenfehler

Im Parameterblock sind nicht alle erforderlichen Parameter enthalten. 0 1 8B0DH Datenfehler

Der CONF_DB enthält keinen Parameterblock für Systemdaten. 0 1 8B0EH Datenfehler / Strukturfehler

Der Typ des CONF_DB ist ungültig. 0 1 8B0FH Systemfehler

Der CP hat zu wenig Ressourcen, um den CONF_DB vollständig bearbeiten zu kön-nen.

0 1 8B10H Datenfehler Es ist nicht eingestellt, dass die Konfiguration über das Anwenderprogramm erfolgt.

0 1 8B11H Datenfehler Der angegebene Typ des Parameterblockes ist ungültig.

0 1 8B12H Datenfehler Es wurden zu viele Verbindungen angegeben (entweder insgesamt oder zu viele für einen bestimmten Typ; es ist beispielsweise nur eine E-Mail Verbindung möglich).

0 1 8B13H CP interner Fehler 0 1 8B14H Die aktive Schutzstufe lässt die Aktion zur Änderung nicht zu. weitere Fehler, die an den Programmschnittstellen innerhalb der CPU erkannt wurden (SFC-Fehler). 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz). 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz). 0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters. 0 1 8F30H Der Parameter liegt im schreibgeschützten 1. aktuellen Datenbaustein. 0 1 8F31H Der Parameter liegt im schreibgeschützten 2. aktuellen Datenbaustein. 0 1 8F32H Der Parameter enthält eine zu große DB-Nummer. 0 1 8F33H DB-Nummernfehler 0 1 8F3AH Der Zielbereich wurde nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich. 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. 0 1 8F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt.

Page 133: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 133

DONE ERROR STATUS Bedeutung 0 1 8F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist ge-

sperrt. 0 1 8F7FH Interner Fehler

Es wurde z. B. eine unzulässige ANY-Referenz erkannt.

2.6 Programmbausteine für ERPC-CP

2.6.1 LOGICAL_TRIGGER für den logischen Trigger

Bedeutung des Funktionsbausteins Für die Nutzung eines logischen Triggers für die ERPC-Kommunikation steht der Funktionsbaustein FB56 LOGICAL_TRIGGER zur Verfügung.

Um einen logischen Trigger zu starten, rufen Sie den Programmbaustein LOGICAL_TRIGGER im Anwenderprogramm der CPU im OB1 auf.

Für den Aufruf des LOGICAL_TRIGGER werden weitere Bausteine benötigt:

● Ein automatisch generierter Instanz-DB

● Ein Datenbaustein "CONF_DB"

In diesem Konfigurations-DB befinden sich die Konfigurationsdaten des logischen Triggers. Den Konfigurations-DB müssen Sie im STEP 7-Projekt anlegen und projektieren.

Wenn Sie mehrere logische Trigger aufrufen wollen, dann müssen Sie mehrere Konfigurations-DBs bereitstellen.

Sie können die Nummern des FB56 und des Instanz-DB ändern.

Gültigkeit Der Programmbaustein LOGICAL_TRIGGER ist mit folgenden Baugruppentypen verwendbar:

● CP 343-1 ERPC

Page 134: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP

Programmbausteine für SIMATIC NET S7-CPs 134 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufruf Aufrufschnittstelle in FUP-Darstellung

Tabelle 2- 21 Beispiel in AWL-Darstellung

call fb 56, DatabaseInstanceDB ( ACT := TRUE, ID := 1 LADDR := W#16#100, CONF_DB:= 1, CnfLevel:= 1, DONE := M 1.1, ERROR := M 1.2, STATUS := MW 2);

//Aufruf des FB56 mit Datenbereich //Auslösen des Auftrags bei Wert = 1 //Trigger-ID (mögliche Werte: 1...16) //Baugruppenanfangsadresse //Konfigurations-Datenbaustein (hier: DB 1) //Quittiermodus (hier: 1) //Ausführungsanzeige //Fehleranzeige //Statusanzeige

2.6.2 Arbeitsweise LOGICAL_TRIGGER

Arbeitsweise Die folgende Tabelle zeigt die Schritte, die an einem Trigger-Aufruf durch das Anwenderprogramm der CPU beteiligt sind. Schritt Bedeutung

1 Der FB56 LOGICAL_TRIGGER wird an der vorgesehenen Stelle im Anwenderpro-gramm der CPU mit zugehörigem Instanz-DB und dem projektierten Konfigurations-Datenbaustein CONF_DB aufgerufen. • Wenn der FB56 LOGICAL_TRIGGER mit ACT = 1 aufgerufen wird, dann werden die

aktuellen Trigger-Daten gelesen und an die CP-Firmware gesendet. • Wenn der FB56 LOGICAL_TRIGGER mit ACT = 0 aufgerufen wird, dann werden die

Statusanzeigen DONE, ERROR und STATUS aktualisiert.

2 Der FB56 LOGICAL_TRIGGER liest die aktuellen Trigger-Daten ein. 3 Der FB56 LOGICAL_TRIGGER bildet die PDU, die mit den aktuellen Trigger-Daten an

die CP-Firmware gesendet wird.

Page 135: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 135

Schritt Bedeutung 4 Die CP-Firmware bildet das Datentelegramm und übergibt es der ERPC-Applikation. 5 Die ERPC-Applikation sendet das Datentelegramm an den ERP-Teilnehmer (ERP-

System oder MES).

2.6.3 Erläuterung der Formalparameter - LOGICAL_TRIGGER

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Aufrufschnittstelle des Funktionsbausteins FB56 LOGICAL_TRIGGER:

Parameter Deklaration Datentyp Wertebereich Beschreibung ACT INPUT BOOL 0 Beim FB-Aufruf mit ACT = 0 werden die Statusanzei-

gen DONE, ERROR und STATUS aktualisiert. 1 Beim FB-Aufruf mit ACT = 1 werden die aktuellen Trig-

ger-Daten eingelesen und an den CP gesendet. ID INPUT INT Trigger-ID

Dieser Wert identifiziert den in der ILS-Workbench projektierten logischen Trigger.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.

CONF_DB INPUT INT In diesem Datenbaustein befinden sich die Konfigurati-onsdaten der projektierten logischen Trigger.

Page 136: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP

Programmbausteine für SIMATIC NET S7-CPs 136 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung CnfLevel INPUT INT 0: Transportquittung

1: Ende-zu-Ende-Quittung

Quittiermodus Die jeweilige Quittung finden Sie über den STATUS-Wert in den Anzeigen des FB56. • 0 = Transportquittung (STATUS = 0000H)

Der Auftrag wird als erfolgreich gemeldet, sobald die Daten an die ERPC-Applikation übergeben wurden.

Das muss jedoch nicht unbedingt bedeuten, dass das Datentelegramm an den ERP-Teilnehmer (ERP-System oder MES) gesendet worden ist oder dass nicht noch nachträglich ein Fehler von der ERPC-Applikation festgestellt werden kann.

• 1 = Ende-zu-Ende-Quittung (STATUS = 0001H)

Der Auftrag wird erst quittiert, nachdem die ERPC-Applikation die Daten überprüft hat.

Über die Variable "TriggerResponse" des Konfigu-rations-DB (DB_CONF) wird gemeldet, ob der ERP-Teilnehmer erreichbar war oder ob sich die ERPC-Applikation im Store-and-Forward-Modus befindet.

Die Ende-zu-Ende-Quittung führt zu einer längeren Auftragslaufzeit als die Transportquittung.

DONE OUTPUT BOOL 0: Auftrag läuft 1: Auftrag abgeschlos-sen

Der Parameter zeigt an, ob der Auftrag zur Übertra-gung des Konfigurations-Datenbereichs fehlerfrei ab-gewickelt wurde. DONE wird vom CP bei Auftragsannahme auf 0 ge-setzt. Solange DONE = 0 ist, kann kein weiterer Auf-trag ausgelöst werden. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER".

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER".

STATUS OUTPUT WORD Siehe Tabelle "Anzei-gen FB56 LOGICAL_TRIGGER".

Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER".

Page 137: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 137

2.6.4 Anzeigen LOGICAL_TRIGGER

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Tabelle 2- 22 Anzeigen FB56 LOGICAL_TRIGGER

DONE ERROR STATUS Bedeutung Anzeigen zur Auftragsausführung 1 0 0000H Auftrag fertig ohne Fehler. Der logische Trigger wurde erfolgreich abgeschlossen. 1 0 0001H Auftrag fertig ohne Fehler. Die Datenbank ist nicht erreichbar (Store-and-forward-

Modus). 0 0 8181H Auftrag läuft. 0 1 7000H Der FB56 wurde mit ACT = 0 aufgerufen. Der Auftrag wird jedoch nicht bearbeitet.

Rufen Sie den Baustein mindestens einmal mit ACT = 1 auf. Anzeigen zu Projektierung und Ablauf des logischen Triggers 0 1 80D2H Der eingesetzte CP unterstützt keine ERPC-Kommunikation (falscher CP-Typ). 0 1 8183H Der eingesetzte CP unterstützt keine ERPC-Kommunikation (falscher CP-Typ). 0 1 8187H Ungültiger Zustand des FB56 (unbekannter LOGICAL_TRIGGER_STATE).

Rufen Sie den Baustein erneut auf. 0 1 8A01H Die Anzahl der projektierten logischen Trigger ist gleich 0. 0 1 8A02H Für diesen logischen Trigger ist keine Projektierung im Konfigurations-DB.

Prüfen Sie die ILS-Workbench-Projektierung. 0 1 8A03H Die Struktur des Konfigurations-DB ist nicht korrekt. Der "header identifier" hat nicht

den richtigen Wert. Korrigieren Sie im Konfigurations-DB den Wert der Variablen "ident" (siehe Geräte-handbuch ERPC-CP).

0 1 8A04H Die Struktur des Konfigurations-DB ist nicht korrekt. Laden Sie die ILS-Workbench-Projektierung erneut in den CP, legen Sie den (die) Konfigurations-DB neu an und projektieren Sie diesen (siehe Gerätehandbuch ERPC-CP).

0 1 8A05H Der projektierte Konfigurations-DB ist nicht in der CPU vorhanden. 0 1 8A06H Bei einem Folgeaufruf wurde ein noch laufender Trigger mit einer anderen ID aufgeru-

fen. Prüfen Sie die "ID" in den aufgerufenen Funktionsbausteinen FB56.

0 1 8A08H Die Projektierungsdaten im Konfigurations-DB sind nicht oder noch nicht vollständig vorhanden. Wenn der Fehler nur im Anlauf der S7-Station auftritt, dann kann die Ursache sein, dass die Projektierungsdaten des logischen Triggers noch nicht vollständig an den Konfigurations-DB übertragen worden sind. Wenn der Fehler weiterhin auftritt, dann prüfen Sie die Projektierung der ERPC-Symbole.

0 1 8A09H Im Konfigurations-DB wurde ein unbekannter Fehler gemeldet. 0 1 8A0AH Der logische Trigger kann nicht gestartet werden, da gerade eine neue Trigger-

Konfiguration geladen wird.

Page 138: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP

Programmbausteine für SIMATIC NET S7-CPs 138 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8A0BH Fehler bei der Ermittlung des Zeitstempels des aktuellen Datensatzes (CPU-Daten) 0 1 8A0CH Der Konfigurations-DB wurde mit der Eigenschaft "Unlinked" erzeugt.

Korrigieren Sie die Objekteigenschaften des Bausteins. 0 1 8A0DH Fehler beim Eingangsparameter CONF_DB des FB56. Der Parameter hat den Wert "0"

oder ist größer als die für die CPU maximal zulässige DB-Nummer. 0 1 8A0EH Die übergebene Trigger-ID liegt nicht im zulässigen Bereich von 1...16.

Korrigieren Sie den Wert im Aufruf des FB56 im Anwenderprogramm. 0 1 8A0FH Der vorgegebene Quittiermodus (CnfLevel) ist ungültig.

Korrigieren Sie den Wert im Aufruf des FB56 im Anwenderprogramm. 0 1 8BxxH Fehler beim Umkopieren aktueller Variablenwerte in die PDU des logischen Triggers.

Die letzten beiden Stellen (xx) liefern die Variablennummer. Prüfen Sie die Projektierung des betroffenen Symbols in der Symboltabelle der CPU und in der Liste der ERPC-Symbole im Eigenschaftendialog des CP.

0 1 8C01H Die interne Statusanzeige des FB56 ist ungültig. Laden Sie die ILS-Workbench-Projektierung erneut in den CP, legen Sie den (die) Konfigurations-DB neu an und projektieren Sie diesen (siehe Gerätehandbuch ERPC-CP).

0 1 8C02H Der Rückgabewert der Ende-zu-Ende-Quittung ist ungültig. Laden Sie die ILS-Workbench-Projektierung erneut in den CP, legen Sie den (die) Konfigurations-DB neu an und projektieren Sie diesen (siehe Gerätehandbuch ERPC-CP).

0 1 8C03 H Der logische Trigger enthält mehr als 255 Variablen. 0 1 8C06 H Fehler beim Datensatz lesen. 0 1 8D03 H Bei einer Datenbank-Aktion meldet die Firmware einen Timeout. 0 1 8D04H Die Datenbank-Applikation meldet einen allgemeinen Fehler bei der Quittierung der

aktuellen Aktion. 0 1 8E01H Der projektierte Konfigurations-DB in der CPU ist nicht groß genug.

Ändern Sie die Größe des Konfigurations-DB. 0 1 8E06H Es wurde noch keine Verbindung zum logischen Trigger aufgebaut. 0 1 8EXXH Bei Status-Codes mit Werten im Bereich von 8E02H ... 8EFFH handelt es sich um Ab-

bildungen einer internen Trigger-Antwort. Falls solche Werte auftreten, sind diese für Service-Zwecke relevant.

2.6.5 Der Konfigurations-Datenbaustein

Bereitstellung des Konfigurations-Datenbausteins "CONF_DB" Wenn Sie die ERPC-Funktion "Logischer Trigger" verwenden, dann müssen Sie in STEP 7 einen Datenbaustein (DB) für die Konfigurationsdaten des logischen Triggers anlegen und in den Aufrufparametern des FB56 angeben. Der FB56 greift auf den CONF_DB zu. Für das Anwenderprogramm hat der CONF_DB keine weitere Bedeutung.

Page 139: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.7 Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 139

Programmierung des Konfigurations-Datenbausteins Zur Identifizierung des neu angelegten DB müssen Sie den DB öffnen und in den ersten beiden freien Zeilen den "header identifier" und die DB-Größe festlegen.

Öffnen Sie in STEP 7 den DB und projektieren Sie die ersten zwei freien Zeilen mit den Variablen "ident" und "data" folgendermaßen: Adresse Name Typ Anfangswert Kommentar (optional)

*) STRUCT *) *) ident DWORD DW#16#45525043 header identifier *) data array[1..2048] DB-Größe (siehe nachfol-

genden Warnhinweis) *) Byte *) END_STRUCT *)

*) Werte werden programmseitig eingetragen

Hinweis DB-Größe

Für die DB-Größe werden 2 048 Byte empfohlen. Sollte sich während der Inbetriebnahme zeigen, dass dieser Wert nicht ausreicht, dann vergrößern Sie ihn. Ein zu kleiner Wert wird vom FB56 LOGICAL_TRIGGER mit einem Fehler und dem STATUS "8A05H" gemeldet.

2.7 Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet)

Ressourcen-Bedarf

Hinweis

Beachten Sie die Versionsangabe der Bausteine. Die aktuell mitgelieferten Bausteinversionen können von den hier angegebenen Bausteinversionen abweichen. Bei Bausteinen mit anderen Ausgabeständen kann der Ressourcenbedarf abweichen.

Angaben zu den aktuellen Bausteinversionen finden Sie unter folgender Beitrags-ID:

Link: (https://support.industry.siemens.com/cs/ww/de/view/9836605)

Page 140: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für Industrial Ethernet 2.7 Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet)

Programmbausteine für SIMATIC NET S7-CPs 140 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 2- 23 Angaben für FCs / FBs bei S7-400

NAME Version FC/FB Nr. Ladespeicher-Bedarf [Byte]

Arbeitsspeicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

AG_SEND 1.2 FC5 732 576 540 20 AG_RECV 1.2 FC6 656 522 486 20 AG_LOCK 1.0 FC7 272 200 164 6 AG_UNLOCK 1.0 FC8 256 186 150 6 AG_CNTRL 1.0 FC10 2048 1610 1574 178 AG_CNTEX 1.0 FB10 7002 6036 6000 78 AG_LSEND 3.1 FC50 1044 846 810 52 AG_LRECV 3.1 FC60 1190 992 956 58 AG_SSEND 1.2 FC53 1928 1618 1582 154 AG_SRECV 1.2 FC63 1882 1584 1548 158 IP_CONFIG 1.3 FB55 1864 1576 1540 76 FTP_CMD 2.0 FB40 2400 2084 2048 154 FTP_CONNECT 1.0 FC40 1482 1236 1200 86 FTP_STORE 1.0 FC41 1794 1514 1478 102 FTP_RETRIEVE 1.0 FC42 1934 1642 1606 106 FTP_DELETE 1.0 FC43 1478 1232 1196 86 FTP_QUIT 1.0 FC44 968 796 760 46

Tabelle 2- 24 Angaben für FCs / FBs bei S7-300

NAME Version FC/FB Nr. Ladespeicher-Bedarf [Byte]

Arbeitsspeicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

AG_SEND 4.2 FC5 1976 1664 1628 50 AG_RECV 4.7 FC6 1440 1206 1170 40 AG_LOCK 4.0 FC7 748 636 600 34 AG_UNLOCK 4.0 FC8 712 604 568 32 AG_CNTRL 1.4 FC10 1418 1152 1116 82 AG_CNTEX 1.0 FB10 4594 4006 3970 78 IP_CONFIG 1.3 FB55 2406 1984 1948 62 FTP_CMD 1.0 FB40 2590 2240 2204 70 FTP_CONNECT 1.1 FC40 928 774 738 68 FTP_STORE 1.1 FC41 1232 1046 1010 74 FTP_RETRIEVE 1.1 FC42 1306 1114 1078 84 FTP_DELETE 1.1 FC43 922 770 734 68 FTP_QUIT 1.1 FC44 452 370 334 28 LOGICAL_TRIGGER 1.0 FB56 4294 3648 3612 98

Page 141: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 141

Programmbausteine für PROFINET IO (S7-300) 3 3.1 Programmbausteine und ihre Anwendung in der Übersicht

Programmbausteine für die Übertragung von Nutzdaten Für die zyklische Übertragung von Daten an der PROFINET IO-Schnittstelle stehen die nachfolgend genannten Programmbausteine zur Verfügung. Je nach Verwendung des CP als PROFINET IO-Controller oder als PROFINET IO-Device in einer S7-Station unterscheidet sich die Bedeutung der Programmbausteine. Programmbaustein verwendbar bei Bedeutung

S7-300 S7-400 PNIO_SEND (FC11) x - Abhängig von der Betriebsart des CP:

• Beim PROFINET IO-Controller

Prozess-Ausgangsdaten zu den PROFINET IO-Devices senden.

• Beim PROFINET IO-Device Prozess-Eingangsdaten zum PROFINET IO-Controller weiterlei-ten.

PNIO_RECV (FC12) x - Abhängig von der Betriebsart des CP: • Beim PROFINET IO-Controller

Prozess-Eingangsdaten von den PROFINET IO-Devices empfangen.

• Beim PROFINET IO-Device Prozess-Ausgangsdaten vom PROFINET IO-Controller empfan-gen.

Für CPs im Parallelbetrieb von PROFINET IO-Controller und IO-Device stehen die FCs ab Version 2.0 zur Verfügung.

Page 142: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.1 Programmbausteine und ihre Anwendung in der Übersicht

Programmbausteine für SIMATIC NET S7-CPs 142 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Programmbausteine für die Übertragung von Datensätzen und Alarminformationen Für die azyklische Datenübertragung (Datensätze, Alarminformationen) an der PROFINET IO-Schnittstelle stehen die nachfolgend genannten FBs zur Verfügung. Beide Bausteine sind nur im PROFINET IO-Controller-Betrieb nutzbar. Programmbaustein verwendbar bei Bedeutung

S7-300 S7-400 PNIO_RW_REC (FB52) x - • Datensatz lesen

(von einem PROFINET IO-Device)

• Datensatz schreiben (an ein PROFINET IO-Device)

PNIO_ALARM (FB54) x - Alarminformationen von den PROFINET IO-Devices empfangen

Programmbausteine für PROFIenergy Für die PROFIenergy-Funktionen stehen die nachfolgenden FBs zur Verfügung. Programmbaustein verwendbar bei Bedeutung

S7-300 S7-400 PE_START_END_CP (FB85) x - Start / Ende einer Energiesparpause

(im PROFINET IO-Controller) PE_CMD_CP (FB86) x - Start / Ende einer Energiesparpause

und Auslesen von Energiedaten aus dem Device (im PROFINET IO-Controller)

PE_I_DEV_CP (FB87) x - Abwicklung der PROFIenergy-Befehle vom Controller (im PROFINET IO-Device) Benötigt ergänzende Funktionen FC 0...FC 8 (Standard-Bibliothek).

DS3_WRITE_CP (FB53) x - Übertragung von PROFIenergy-Daten an eine ET 200S (im PROFINET IO-Controller) Kein PROFIenergy-Baustein

Page 143: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 143

3.2 PROFINET IO - Datenübertragung und Alarmauswertung

3.2.1 PNIO_SEND

3.2.1.1 Bedeutung und Aufruf - PNIO_SEND

Bedeutung und Arbeitsweise Der Programmbaustein PNIO_SEND wird für die Datenübergabe in den CP-Betriebsarten PROFINET IO-Controller oder PROFINET IO-Device verwendet.

● Betrieb als PROFINET IO-Controller

Der Baustein übergibt die Prozessdaten (Ausgänge) eines angegebenen Ausgabebereichs an den CP zur Weiterleitung an PROFINET IO-Devices. Der Baustein liefert als Statusanzeige den IO Consumer Status (IOCS) der Ausgänge von den PROFINET IO-Devices.

● Betrieb als PROFINET IO-Device

Der Baustein liest die vorverarbeiteten Prozess-Eingänge der CPU im PROFINET IO-Device und transferiert sie zum PROFINET IO-Controller (projektierte E-Adressen); zusätzlich liefert der Baustein als Statusanzeige den IO Consumer Status (IOCS) des PROFINET IO-Controllers.

Die vorverarbeiteten Prozessdaten werden in einem DB oder Merkerbereich bereitgestellt.

Ergänzungen ● ab Bausteinversion V2.0

PNIO_SEND unterstützt den Parallelbetrieb von PROFINET IO−Controller− und IO-Device. Über den zusätzlichen Parameter MODE stellen Sie ein, für welche Betriebsart der FC aufgerufen wird.

● ab Bausteinversion V3.0

Über den Parameter MODE haben Sie für die Übertragung des IO Consumer Status folgende Wahlmöglichkeiten:

– Beschränkung auf die für schnellere Übertragung optimierte Sammel-Statusinformation im Parameter CHECK_IOCS;

oder

– Zusätzliche, detaillierte Statusinformation im Parameter IO Consumer Status.

Page 144: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 144 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufrufschnittstelle (ab Bausteinversion 2.0) Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 11 ( CPLADDR:=W#16#0100, MODE :=B#16#80, LEN :=20, IOCS :=P#DB10.DBX20.0 BYTE 3, DONE :=M 70.0, ERROR :=M 70.1, STATUS :=MW 72, CHECK_IOCS :=M 70.2, SEND :=P#DB10.DBX0.0 BYTE 20 );

//PNIO_SEND aufrufen //BG–Adresse aus Hardware–Konfiguration //Controller–Betrieb oder Device–Betrieb; //IOCS Statusbits werden nicht übertragen. //Länge des Datenbereiches //Pro Sendedatenbyte ein Bit Status im DB10 //Adresse für Rückgabeparameter DONE //Adresse für Rückgabeparameter ERROR //Adresse für Rückgabeparameter STATUS //Adresse für Rückgabeparameter CHECK_IOCS //aus DB10 zu übertragender Datenbereich //(20 Byte)

Page 145: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 145

3.2.1.2 Erläuterung der Formalparameter - PNIO_SEND

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für den FC11:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD - Baugruppen-Anfangsadresse MODE (Parameter ab Version 2.0)

INPUT BYTE Für XYH sind angebbar: • X0H:

– IO-Controller−Betrieb – IO-Device−Betrieb (wenn

kein Parallelbetrieb) – Es besteht Kompatibilität

mit dem FC in der Versi-on 1.0

• X1H:

IO-Device−Betrieb (bei Parallelbetrieb)

• 0YH

Statusbits werden in IOCS übertragen.

• 8YH

Beschränkung auf Sam-melmeldung in CHECK_IOCS; keine Sta-tusbits in IOCS.

Angabe zur Arbeitsweise des CP mit: Y = Angabe zur Betriebsart IO-Controller bzw. IO-Device; X = Angabe, ob nur Sammelmeldung in CHECK_IOCS oder zusätzlich Statusbits in IOCS übertragen werden sollen. Hinweise zur Kompatibilität: • Der FC in der Version 1.0 kann weiterhin

verwendet werden, wenn der CP nicht parallel als IO-Controller und als IO-Device betrieben wird.

• Der FC in der Version ab 2.0 verhält sich mit MODE=0 wie der FC in der Version 1.0.

• Der FC in der Version ab 3.0 verhält sich mit MODE=0 und MODE=1 wie der FC in der Version 2.0.

Page 146: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 146 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung SEND IN_OUT ANY

(als VARTYPE ist nur BYTE zugelas-sen)

Die Adresse des Datenberei-ches verweist alternativ auf: • Merkerbereich • Datenbausteinbereich

Angabe von Adresse und Länge IO-Controller-Betrieb: Die Länge sollte der projektierten Gesamt-länge der dezentralen Peripherie entspre-chen, wobei Adresslücken mit übertragen werden. Die Länge kann auch kürzer als die Gesamt-länge der dezentralen Peripherie sein, bei-spielsweise wenn der Baustein mehrmals in 1 OB aufgerufen wird. Er muss jedoch bei mindestens einem Aufruf die Gesamtlänge haben. IO-Device-Betrieb: Die Datenstruktur ergibt sich aus der Rei-henfolge der Steckplätze der am PROFINET IO-Controller-Strang für dieses PROFINET IO-Device projektierten Eingangsmodule und deren Länge ohne Adresslücken. Hinweise: • Der Baustein beginnt die Übertragung

der Daten bei Adresse 0, unabhängig davon, wie Sie die Adressen projektiert haben (unabhängig von der kleinsten projektierten Adresse).

• Die Angabe eines Peripherie-Bereichs ist nicht erlaubt, da Sie zunächst den IOCS auf GOOD prüfen müssen, bevor Daten in die Peripherie übernommen werden dürfen.

Page 147: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 147

Parameter Deklaration Datentyp Wertebereich Beschreibung LEN INPUT INT Wert > 0

Die maximale Gesamtlänge der zu übertragenden Datenberei-che entnehmen Sie bitte dem gerätespezifischen Teil B dieses Handbuches unter Kapitel "Lei-stungsdaten". Sie kann für Con-troller- bzw. Device-Betrieb unterschiedlich sein.

Länge des zu übertragenden Datenbereichs in Byte. Die Übertragung der Daten beginnt zwin-gend mit Adresse 0, unabhängig von der Projektierung. Beachten Sie, dass die IO-Adresse "0" mit der Länge=1 berücksichtigt wird. IO-Controller-Betrieb: • Hier muss die größte projektierte Adres-

se der Devices angegeben werden. Die einzelnen Bereiche werden nicht zu-sammengefasst. Bei mehrmaligem Aufruf des Bausteins kann LEN auch kleiner als die größte Adresse sein. Zumindest bei einem Auf-ruf sollte die größte Adresse angegeben werden (vgl. Parameter "SEND").

• Die Daten werden in der Reihenfolge der logischen Adressen übertragen (wie bei PROFIBUS DP).

IO-Device-Betrieb: • Die Daten werden in der Reihenfolge der

Steckplätze so übertragen, wie die Ein-gangsmodule am PROFINET IO-Controller-Strang für dieses PROFINET IO-Device projektiert sind. Hinweis: Sie müssen für die Konsistenz zwischen der hier programmierten Längenangabe und der Projektierung des PROFINET IO-Controllers sorgen. Beim Device wird die gesamte Datenbereichslänge inklusi-ve eventueller Lücken übertragen.

DONE OUTPUT BOOL 0: - 1: neue Daten übernommen

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde.

ERROR OUTPUT BOOL 0: -1: Fehler Fehleranzeige STATUS OUTPUT WORD - Statusanzeige

Page 148: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 148 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung CHECK_ IOCS

OUTPUT BOOL 0: alle IOCS auf GOOD 1: mindestens ein IOCS auf BAD

Sammelmeldung, die anzeigt, ob es erfor-derlich ist, den IOCS-Statusbereich auszu-werten. CHECK_IOCS wird unabhängig vom Para-meter MODE immer geliefert.

IOCS OUTPUT ANY (als VAR-TYPE ist nur BYTE zugelas-sen)

Die Adresse des Datenberei-ches verweist alternativ auf: • Merkerbereich • Datenbausteinbereich Länge: Den Maximalwert entnehmen Sie bitte dem gerätespezifi-schen Teil B dieses Handbu-ches unter Kapitel "Leistungsdaten". Sie kann für Controller- bzw. Device-Betrieb unterschiedlich sein.

IO Consumer Status Pro Byte Nutzdaten wird ein Status-Bit über-tragen. Voraussetzung: Die Übertragung ist im Pa-rameter MODE angefordert (MODE=0 oder MODE=1). Nur in dieser Betriebsart ist der Parameter relevant. Die Längenangabe hängt von der Länge im Parameter LEN ab (pro Byte ein Bit) = (Länge LEN + 7/8) Controller-Betrieb: Entsprechend dem Parameter SEND wer-den Adresslücken mit übertragen. Adresslücken werden mit Status GOOD übertragen. Device-Betrieb: Adresslücken werden nicht mit übertragen. Der Baustein beginnt die Übertragung des Status für Adresse 0. Hinweis: Die Mindestlänge des ANY-Pointer ist (Län-ge LEN + 7/8)

Hinweis Ausführungsbestätigung abwarten

Führen Sie folgende Aktionen erst aus, nachdem der Baustein entweder DONE = 1 oder ERROR = 1 signalisiert hat: • Ausgangsparameter auswerten; • den Parameter MODE verändern.

Hinweis

Sie müssen davon ausgehen, dass der gelieferte IOCS Status nicht zeitsynchron zu den Daten (SEND Parameter) kommt, sondern um einen Anwenderprogramm-Zyklus verzögert. Das heißt: Anwenderdaten und IOCS sind nicht konsistent.

Page 149: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 149

3.2.1.3 Anzeigen des Bausteins PNIO_SEND

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 3- 1 Anzeigen PNIO_SEND

DONE ERROR STATUS Bedeutung 0 0 8180H • Datenübergabe läuft;

oder • der CP ist im Betriebszustand STOP.

0 0 8181H Baugruppe unterstützt nicht die Bausteinversion 2.0. Abhilfe: Bausteinversion 1.0 benutzen.

1 0 0000H Neue Daten fehlerfrei übergeben. 0 1 8183H • PROFINET IO Projektierung fehlt;

oder • Parameter CPLADDR ist fehlerhaft; oder • der CP ist im Betriebszustand STOP; oder • die Beschaltung von MODE passt nicht zur Baugruppen−Projektierung oder es liegt

eine falsche Beschaltung des Parameters MODE vor. Bei Device-Betrieb zusätzlich: • Die Verbindung zwischen PROFINET IO-Controller und PROFINET IO-Device ist

unterbrochen, oder • PROFINET IO-Controller nicht erreichbar oder • Gesamtlängen (Projektierung und Parameter LEN) sind nicht konsistent.

0 1 8184H Systemfehler bzw. unzulässiger Parametertyp. 0 1 8185H Der Parameter LEN ist größer als der Quell-Bereich SEND oder der Zielpuffer (IOCS)

ist zu klein. 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz).

Page 150: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 150 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz). 0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters. 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F3AH Zielbereich ist nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich. 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. 0 1 8F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt. 0 1 8F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist ge-

sperrt. 0 1 8F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz. 0 1 8090H Baugruppe mit dieser Adresse ist nicht vorhanden. 0 1 80A0H Negative Quittung beim Lesen von der Baugruppe. 0 1 80A1H Negative Quittung beim Schreiben zur Baugruppe. 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H • Die angegebene Datensatzlänge ist falsch.

oder • Der CP geht in den Betriebszustand STOP.

0 1 80C0H Der Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll.)

Page 151: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 151

3.2.2 PNIO_RECV

3.2.2.1 Bedeutung und Aufruf - PNIO_RECV

Bedeutung und Arbeitsweise Der Programmbaustein PNIO_RECV wird für die Datenübernahme in den CP-Betriebsarten PROFINET IO-Controller oder PROFINET IO-Device verwendet.

● Betrieb als PROFINET IO-Controller

Der Baustein übernimmt die Prozessdaten von PROFINET IO-Devices (Eingänge des Controllers) sowie den IO Provider Status (IOPS) von den PROFINET IO-Devices in die angegeben Eingabebereiche.

● Betrieb als PROFINET IO-Device

Der Baustein übernimmt die vom PROFINET IO-Controller übertragenen Daten (projektierte A-Adressen) sowie den IO Provider Status (IOPS) des PROFINET IO-Controllers und schreibt sie in die für die Prozess-Ausgänge reservierten Datenbereiche der CPU im PROFINET IO-Device.

Ergänzungen ● ab Bausteinversion V2.0

PNIO_RECV unterstüzt den Parallelbetrieb von PROFINET IO−Controller− und IO-Device. Über den zusätzlichen Parameter MODE stellen Sie ein, für welche Betriebsart der FC aufgerufen wird.

● ab Bausteinversion V3.0

Über den Parameter MODE haben Sie für die Übertragung des IO Provider Status folgende Wahlmöglichkeiten:

– Beschränkung auf die für schnellere Übertragung optimierte Sammel-Statusinformation im Parameter CHECK_IOPS;

oder

– Zusätzliche, detaillierte Statusinformation im Parameter IO Provider Status.

Page 152: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 152 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufrufschnittstelle (ab Bausteinversion 2.0) Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 12 ( CPLADDR :=W#16#0100, MODE :=B#16#80, LEN :=7, IOPS :=P#DB11.DBX7.0 BYTE 1, NDR :=M 74.0, ERROR :=M 74.1, STATUS :=MW76, CHECK_IOPS :=M74.2, ADD_INFO :=MW 26, RECV :=P#DB11.DBX0.0 BYTE 7 );

//PNIO_RECV aufrufen //BG–Adresse aus Hardware–Konfiguration //Controller–Betrieb oder Device–Betrieb; //IOCS Statusbits werden nicht übertragen. //Länge des Datenbereiches //Pro Empfangsdatenbyte ein Status-Bit im DB11 //Adresse für Rückgabeparameter NDR //Adresse für Rückgabeparameter ERROR //Adresse für Rückgabeparameter STATUS //Adresse für Rückgabeparameter CHECK_IOPS //Diagnose-Information //Empfangsdaten im DB11 (7 Byte)

Siehe auch Datenkonsistenz (Seite 160)

Ersatzwerte (Seite 161)

Page 153: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 153

3.2.2.2 Erläuterung der Formalparameter - PNIO_RECV

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für den FC12:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD - Baugruppen-Anfangsadresse MODE (Parameter ab Version 2.0)

INPUT BYTE Im Parameter MODE = XYH sind Werte mit folgender Be-deutung angebbar: • X0H:

– IO-Controller−Betrieb – IO-Device−Betrieb

(wenn kein Parallelbe-trieb)

– Es besteht Kompatibili-tät mit dem FC in der Version 1.0

• X1H:

IO-Device−Betrieb (bei Parallelbetrieb)

• 0YH

Statusbits werden in IOPS übertragen.

• 8YH

Beschränkung auf Sam-melmeldung in CHECK_IOPS; keine Sta-tusbits in IOPS.

Angabe zur Arbeitsweise des CP mit: Y = Angabe zur Betriebsart IO-Controller bzw. IO-Device; X = Angabe, ob nur Sammelmeldung in CHECK_IOPS oder zusätzlich Statusbits in IOPS übertragen werden sollen. Hinweise zur Kompatibilität: • Der FC in der Version 1.0 kann weiterhin

verwendet werden, wenn der CP nicht parallel als IO-Controller und als IO-Device betrieben wird.

• Der FC in der Version ab 2.0 verhält sich mit MODE=0 wie der FC in der Version 1.0.

• Der FC in der Version ab 3.0 verhält sich mit MODE=0 und MODE=1 wie der FC in der Version 2.0.

Page 154: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 154 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung RECV IN_OUT ANY (als

VARTYPE ist nur BYTE zu-gelassen)

Die Adresse des Datenberei-ches verweist alternativ auf: • Merkerbereich • Datenbausteinbereich

Angabe von Adresse und Länge IO-Controller-Betrieb: Die Länge sollte der projektierten Gesamt-länge der dezentralen Peripherie entspre-chen, wobei Adresslücken mit übertragen werden. Die Länge kann auch kürzer als die Gesamt-länge der dezentralen Peripherie sein, bei-spielsweise wenn der Baustein mehrmals in 1 OB aufgerufen wird. Er muss jedoch bei mindestens einem Aufruf die Gesamtlänge haben. IO-Device-Betrieb: Die Datenstruktur ergibt sich aus der Reihen-folge der Steckplätze der am PROFINET IO-Controller-Strang für dieses PROFINET IO-Device projektierten Ausgangsmodule und deren Länge ohne Adresslücken. Hinweise: • Der Baustein beginnt die Übertragung der

Daten bei Adresse 0, unabhängig davon, wie Sie die Adressen projektiert haben (unabhängig von der kleinsten projektier-ten Adresse).

• Die Angabe eines Peripherie-Bereichs ist nicht erlaubt, da Sie zunächst den IOPS auf GOOD prüfen müssen, bevor Daten in die Peripherie übernommen werden dürfen.

Page 155: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 155

Parameter Deklaration Datentyp Wertebereich Beschreibung LEN INPUT INT Wert > 0

Die maximale Gesamtlänge der zu übertragenden Daten ent-nehmen Sie bitte dem Kapitel "Leistungsdaten" der CP-Dokumentation. Die maximale Gesamtlänge kann für Controller- und De-vice-Betrieb unterschiedlich sein.

Länge des zu übertragenden Datenbereichs in Byte. Die Übertragung der Daten beginnt zwingend mit Adresse 0, unabhängig von der Projektie-rung. Beachten Sie, dass die IO-Adresse "0" mit der Länge=1 berücksichtigt wird. IO-Controller-Betrieb: • Hier muss die größte projektierte Adresse

der Devices angegeben werden. Die ein-zelnen Bereiche werden nicht zusam-mengefasst. Bei mehrmaligem Aufruf des Bausteins kann LEN auch kleiner als die größte Adresse sein. Zumindest bei einem Aufruf sollte die größte Adresse angegeben werden (vgl. Parameter "RECV").

• Die Daten werden in der Reihenfolge der logischen Adressen übertragen (wie bei PROFIBUS DP).

IO-Device-Betrieb: • Die Daten werden in der Reihenfolge der

Steckplätze so übertragen, wie die Ein-gangsmodule am PROFINET IO-Controller-Strang für dieses PROFINET IO-Device projektiert sind.

• Hinweis: Sie müssen für die Konsistenz zwischen der hier programmierten Längenangabe und der Projektierung des PROFINET IO-Controllers sorgen. Beim Device wird die gesamte Datenbereichslänge inklusive eventueller Lücken übertragen.

NDR OUTPUT BOOL 0: - 1: Daten übernommen

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde.

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige

STATUS OUTPUT WORD - Statusanzeige CHECK_ IOPS

OUTPUT BOOL 0: alle IOPS auf GOOD 1: mindestens ein IOPS auf BAD

Sammelmeldung, die anzeigt, ob es erforder-lich ist, den IOPS-Statusbereich auszuwer-ten. Die Sammelmeldung CHECK_IOPS wird unabhängig vom Parameter MODE immer geliefert.

Page 156: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 156 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung IOPS OUTPUT ANY (als

VARTYPE ist nur BYTE zu-gelassen)

Die Adresse des Datenberei-ches verweist alternativ auf: • Merkerbereich • Datenbausteinbereich Länge: Den Maximalwert entnehmen Sie bitte dem gerätespezifi-schen Teil B dieses Handbu-ches unter Kapitel "Leistungsdaten". Sie kann für Controller- bzw. Device-Betrieb unterschiedlich sein.

IO Provider Status Pro Byte Nutzdaten wird ein Status-Bit über-tragen. Voraussetzung: Die Übertragung ist im Pa-rameter MODE angefordert (MODE=0 oder MODE=1). Nur in dieser Betriebsart ist der Parameter relevant. Die Längenangabe hängt von der Länge im Parameter RECV ab (pro Byte ein Bit) = (Länge LEN + 7/ 8) Controller-Betrieb: Entsprechend dem Parameter RECV werden Adresslücken mit übertragen. Adresslücken werden mit Status GOOD übertragen. Device-Betrieb: Adresslücken werden nicht mit übertragen. Der Baustein beginnt die Übertragung des Status für Adresse 0. Hinweis: • Die Mindestlänge des ANY-Pointer ist

(Länge LEN + 7/ 8)

ADD_INFO OUTPUT WORD Zusätzliche Diagnose-Information Im Controller-Betrieb: • 0: Kein Alarm • >0: Anzahl anstehender

Alarme Im Device-Betrieb ist der Pa-rameter immer = 0.

Parameter-Erweiterung Hinweis: Der Parameter ADD_INFO wird auch dann aktualisiert, wenn im PROFINET IO-Controller keine INPUT-Adressen konfiguriert sind. In diesem Fall wird der Baustein PNIO_RECV mit einer Länge LEN > 0 (z. B. LEN = 1 Byte) aufgerufen. Er überträgt dann eine Adresslücke von 1 Byte. Die Parameter−Erweiterung ist nutzbar für CPs ab folgendem Firmware−Stand (FW): • CP 343−1 (EX30) ab FW V2.0 • CP 343−1 Lean (CX10) ab FW V2.0 • CP 343−1 Advanced (GX30) ab FW V1.0 Bei älteren Firmwareversionen ist der Para-meter reserviert.

Page 157: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 157

Hinweis Ausführungsbestätigung abwarten

Führen Sie folgende Aktionen erst aus, nachdem der Baustein entweder DONE = 1 oder ERROR = 1 signalisiert hat: • Ausgangsparameter auswerten; • den Parameter MODE verändern.

3.2.2.3 Anzeigen des Bausteins PNIO_RECV

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus NDR, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 3- 2 Anzeigen PNIO_RECV

NDR ERROR STATUS Bedeutung 0 0 8180H • Datenübernahme läuft;

oder • der CP ist im Betriebszustand STOP.

0 0 8181H Baugruppe unterstützt nicht die Bausteinversion 2.0. Abhilfe: Bausteinversion 1.0 benutzen.

1 0 0000H Neue Daten fehlerfrei übernommen.

Page 158: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 158 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

NDR ERROR STATUS Bedeutung 0 1 8183H • PROFINET IO-Projektierung fehlt;

oder • Parameter CPLADDR ist fehlerhaft; oder • der CP ist im Betriebszustand STOP. oder • die Beschaltung von MODE passt nicht zur Baugruppen−Projektierung oder es liegt

eine falsche Beschaltung des Parameters MODE vor. Bei Device-Betrieb zusätzlich: • Die Verbindung zwischen PROFINET IO-Controller und PROFINET IO-Device ist

unterbrochen, oder • PROFINET IO-Controller nicht erreichbar oder • Gesamtlängen (Projektierung und Parameter LEN) sind nicht konsistent

0 1 8184H Systemfehler bzw. unzulässiger Parametertyp. 0 1 8185H Ziel-Puffer (RECV oder IOCS) ist zu klein. 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz). 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz). 0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters. 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F3AH Zielbereich ist nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich. 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. 0 1 8F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt. 0 1 8F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist ge-

sperrt. 0 1 8F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz. 0 1 8090H Baugruppe mit dieser Adresse ist nicht vorhanden. 0 1 80A0H Negative Quittung beim Lesen von der Baugruppe. 0 1 80A1H Negative Quittung beim Schreiben zur Baugruppe. 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H • Die angegebene Datensatzlänge ist falsch.

oder • Der CP geht in den Betriebszustand STOP.

0 1 80C0H Der Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung.

Page 159: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 159

NDR ERROR STATUS Bedeutung 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll.)

3.2.3 Allgemeines Verhalten der FCs für PROFINET IO

IO Consumer Status (IOCS) und IO Provider Status (IOPS) Bei beiden Kommunikationspartnern - CPU/CP einerseits und IO-Device andererseits - gibt es jeweils eine Statusinformation GOOD oder BAD zu den Daten. Diese Statusinformation wird parallel mit den Daten übertragen. Der Status des Partners, der die Daten sendet, heißt IOPS (IO Provider Status), der Status des empfangenden Partners heißt IOCS (IO Consumer Status).

Der Status IOPS und der Status IOCS sind nicht zwingend identisch. Es kann beispielsweise sein, dass sich die S7-300 CPU im Stop-Zustand befindet (Output Disable bzw. keine PROFINET IO-Bausteine laufen). In diesem Fall übermittelt der CP als PROFINET IO-Controller den Status BAD zu den IO-Devices.

Sie erhalten eine Sammelmeldung, die darüber Auskunft gibt, ob eine Auswertung der Statusinformationen notwendig ist. Zusätzlich entscheiden Sie über den Parameter MODE, ob detaillierte Statusinformationen an der Aufrufschnittstelle geliefert werden sollen. Sie beschleunigen die Auftragsabwicklung, wenn Sie sich auf die Sammelmeldung beschränken.

Zusammenhang zwischen Bausteinaufruf und IO-Daten ● Betrieb als PROFINET IO-Controller

Der CP als PROFINET IO-Controller überwacht nicht den zyklischen Aufruf der PNIO_SEND/RECV Bausteine. Wenn die Bausteine nicht aufgerufen werden, gelten die letzten übertragenen IO-Daten und IOCS/IOPS-Daten.

● Betrieb als PROFINET IO-Device FC11 und FC12 besitzen jeweils einen eigenen Watchdog. In Abhängigkeit von der CPU-Zykluszeit wird die Verbindung zum PROFINET IO-Controller abgebaut, falls nach der Initialisierungsphase einer der beiden Bausteine nicht mehr aufgerufen wird.

Datenübertragung optimieren (nur bei Betrieb als PROFINET IO-Controller) Es ist möglich, die Bausteine mit einer Länge (Parameter LEN) aufzurufen, die kleiner ist, als die projektierte Gesamtlänge der E/A-Daten am PNIO-Strang.

Dies können Sie so ausnutzen, dass zeitkritische Daten in jedem CPU-Zyklus und unkritische Daten hingegen nicht in jedem Zyklus übertragen werden.

Beispiel: Übertragen Sie beispielsweise in jedem Zyklus nur den ersten Bereich der Daten (zeitkritische Daten) und in jedem zweiten Zyklus die Gesamtlänge der projektierten E/A-Daten. Dazu müssen Sie die zeitkritischen Daten in der Projektierung in den unteren Bereich (ab E/A-Adresse 0) legen.

Page 160: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 160 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.2.4 Datenkonsistenz Es wird immer der gesamte Eingangs- bzw. Ausgangsdatenbereich des PROFINET IO-Controller komplett und damit konsistent übertragen.

● Betrieb als PROFINET IO-Controller Davon unabhängig haben Sie über die Längenangabe im Bausteinaufruf die Möglichkeit, einen kleineren als den projektierten Eingangs- bzw. Ausgangsdatenbereich konsistent zu lesen bzw. auszugeben.

Anmerkung: Beachten Sie jedoch, dass in Bezug auf die "IO-Nutzdaten" innerhalb eines PROFINET IO-Systems nur die Daten-Konsistenz innerhalb der einzelnen IO-Slots garantiert werden kann. Dies ist unabhängig davon, dass für die hier beschriebenen Bausteine eine konsistente Datenübergabe zwischen CPU und IO-Controller gewährleistet wird.

Bausteinaufruf Um die Datenkonsistenz zu sichern, dürfen Sie jedoch nur auf die IO-Daten zugreifen, wenn der Baustein fehlerfrei beendet wurde (Output-Parameter NDR = TRUE). Zusätzlich müssen Sie prüfen, ob der Status IOCS bzw. IOPS zu den Daten = GOOD ist.

Beispiel Im Normalfall (abhängig von der Gesamtlänge der IO-Daten) wird der Baustein über mehrere Anwenderprogramm-Zyklen laufen, bis die Anzeige DONE/NDR = 1 meldet.

Anmerkung: Der Anwenderprogramm-Zyklus und der Zyklus des IO-Datenaustauschs zwischen PROFINET IO-Controller und PROFINET IO-Devices sind voneinander unabhängig.

Page 161: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 161

3.2.5 Ersatzwerte

Betriebsfälle Die Aufschaltung von Ersatzwerten wird für die beiden folgenden Betriebsfälle unterstützt:

● Ersatzwerte im Anlauf (Betriebszustandswechsel der CPU von STOP nach RUN)

● Ersatzwerte bei Störungen (Ziehen/Stecken oder Stationsausfall/-wiederkehr)

Ersatzwerte im Anlauf Sie können die Ausgänge mit Ersatzwerten initialisieren, indem Sie im Anlauf-OB einen Merker ("Anlauf"-Merker) setzen. Im zyklischen Betrieb (OB1) werten Sie dann diesen "Anlauf"-Merker aus um gegebenenfalls den PNIO_SEND Baustein mit den Initialisierungswerten aufzurufen.

Ersatzwerte bei Störungen (nur bei Betrieb als PROFINET IO-Controller) Im Fehlerfall (Device/Modul ist ausgefallen) können Sie über die Abfrage der Statusinformationen IOCS / IOPS Status ermitteln, welche Module ausgefallen sind. Daraufhin haben Sie die Möglichkeit, Ersatzwerte aufzuschalten.

3.2.6 PNIO_RW_REC

3.2.6.1 Bedeutung und Aufruf - PNIO_RW_REC

Bedeutung und Arbeitsweise Der FB 52 dient im PROFINET IO-Controller-Betrieb sowohl der Funktion "Datensatz lesen" als auch der Funktion "Datensatz schreiben". Der FB 52 kann zu einem Zeitpunkt nur eine der beiden Funktionen ausführen. Die Funktion "Datensatz lesen" oder "Datensatz schreiben" wird über den Parameter WRITE_REC gesteuert.

CPs unterstützen nur I&M0 und I&M1.

Beispiel: Das Anlagenkennzeichen und das Ortskennzeichen können dem CP über die Funktion "Datensatz schreiben" mitgeteilt werden (sofern diese Parameter nicht schon in STEP 7 im Eigenschaftendialog des CP eingestellt wurden). Hierfür wird der Maintenance-Datensatz "IM1" mit dem Index AFF1H benutzt.

Datensatz I&M0 mit Index AFF0H (Bestellnummer, Seriennummer, Version) ist nur auslesbar (schreibgeschützt).

Details zu den unterstützten Datensätzen sowie deren Aufbau können Sie unter der folgenden Internet-Adresse abrufen:

Link: (https://support.industry.siemens.com/cs/ww/de/view/19289930)

Page 162: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 162 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung:

Beispiel in AWL-Darstellung:

AWL Erläuterung

CALL FB 52, DB 52 ( CPLADDR := W#16#0110, WRITE_REC := M 1.1, ID := W#16#86A, INDEX := W#16#8000, DONE := M 1.3, ERROR := M 1.1, STATUS := MW 12, LEN := MW 16, RECORD := P#DB3.DBX0.0 BYTE 80 );

//PNIO_RW_REC aufrufen //BG-Adresse aus Hardware-Konfiguration //Auftragstyp //Logische Adresse des anzusprechenden Moduls //Datensatznummer //Adresse für Rückgabeparameter DONE //Adresse für Rückgabeparameter ERROR //Adresse für Rückgabeparameter STATUS //Länge des Datensatzes in Byte //Ziel bzw. Quelle des Datensatzes //(hier max. 80 Byte)

3.2.6.2 Erläuterung der Formalparameter - PNIO_RW_REC

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für den FB 52:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD - Baugruppen-Anfangsadresse WRITE_REC

INPUT BOOL 0: Datensatz lesen 1: Datensatz schreiben

Auftragstyp; Der Parameter darf über die Laufzeit des Bausteins nicht verändert werden.

ID INPUT WORD Logische Adresse der PROFINET IO-Komponente (Baugruppe bzw. Modul). Bei einer Ausgabebaugruppe muss Bit 15 gesetzt werden. (Bsp. für Ausgangs-Adresse 5: ID:=DW#16#8005). Bei einer Mischbaugruppe ist die kleinere der beiden Adressen anzugeben.

Page 163: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 163

Parameter Deklaration Datentyp Wertebereich Beschreibung INDEX INPUT WORD Siehe Herstellerinformation,

welche Datensatznummern von der Baugruppe bzw. dem Modul unterstützt werden.

Datensatznummer, die der Anwender lesen oder schreiben möchte.

DONE OUTPUT BOOL 0: - 1: Datensatz erfolgreich übertra-gen

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde.

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige

STATUS OUTPUT WORD - Statusanzeige LEN IN_OUT INT Die Maximallänge ist 480 Byte. • Datensatz lesen:

Reiner OUTPUT-Parameter; nach er-folgreichem Lesen wird hier die Län-ge des gelesenen Datensatzes angegeben; sonst 0.

• Datensatz schreiben: Reiner INPUT-Parameter; Länge des zu schreibenden Datensatzes wird hier vom Anwender angegeben. Die Länge muss zur Definition des Da-tensatzes passen.

RECORD IN_OUT ANY (als VARTYPE sind BYTE, WORD und DWORD zugelassen)

Die Adresse des Datenbereichs verweist alternativ auf: • Merkerbereich • Datenbausteinbereich Die Länge des ANY-Pointer muss größer oder gleich der Definition des Datensatzes sein.

• Datensatz lesen: Reiner OUTPUT-Parameter; nach er-folgreichem Lesen werden hier die Daten des Datensatzes abgelegt. Wenn die Länge des ANY-Pointer zu klein ist, werden soviel Daten wie möglich übertragen.

• Datensatz schreiben: Reiner INPUT-Parameter; die zu schreibenden Daten des Datensatzes werden hier vom Anwender abgelegt. Die Länge des ANY-Pointer muss mindestens so groß sein, wie der Pa-rameter LEN vorgibt.

Page 164: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 164 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.2.6.3 Anzeigen des Bausteins PNIO_RW_REC

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 3- 3 Anzeigen PNIO_RW_REC

DONE ERROR STATUS Bedeutung 0 0 8180H Datenübergabe läuft 1 0 0000H Datensatz erfolgreich übertragen 0 1 8183H • Fehlende PROFINET IO-Controller-Projektierung,

• Falsche CPLADDR oder • CP im Betriebszustand STOP

0 1 8184H Systemfehler bzw. unzulässiger Parametertyp 0 1 8185H Ziel-Puffer (RECORD) ist zu klein 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) 0 1 8F24H Bereichsfehler beim Lesen eines Parameters 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters 0 1 8F30H Parameter liegt im schreibgeschützten 1. aktiven Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. aktiven Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F3AH Zielbereich nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich 0 1 8F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt. 0 1 8F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist ge-

sperrt. 0 1 8F7FH Interner Fehler. z. B. unzulässige ANY-Referenz 0 1 8090H Baugruppe mit dieser Adresse ist nicht vorhanden.

Page 165: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 165

DONE ERROR STATUS Bedeutung 0 1 80A0H Negative Quittung beim Lesen von der Baugruppe 0 1 80A1H Negative Quittung beim Schreiben zur Baugruppe 0 1 80A3H Allgemeiner PROFINET IO-Context-Management-Fehler 0 1 80A9H PROFINET IO-Device oder Baugruppe meldet einen unzulässigen Typ. 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H • Die angegebene Datensatzlänge ist falsch;

oder • Der CP geht in den Betriebszustand STOP.

0 1 80B2H Die logische Adresse oder der projektierte Steckplatz ist nicht belegt. 0 1 80B4H PROFINET IO-Device oder Baugruppe meldet einen Zugriff auf unzulässigen Bereich. 0 1 80B6H PROFINET IO-Device oder Baugruppe verweigert den Zugriff. 0 1 80B8H Die Baugruppe meldet einen unzulässigen Parameter. 0 1 80B9H Der Blocktyp und / oder die Version sind unzulässig. 0 1 80C0H Der Datensatz kann nicht gelesen werde.n 0 1 80C1H Der schreibende Zugriff auf den Datensatz ist aktuell nicht zulässig. Der Datensatz ist

entweder gerade in Bearbeitung oder wurde über die Projektierung fest vorgegeben. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll.)

3.2.7 PNIO_ALARM

3.2.7.1 Bedeutung und Aufruf - PNIO_ALARM

Bedeutung und Arbeitsweise Der FB 54 dient der Alarmauswertung durch einen als PROFINET IO-Controller betriebenen CP 343-1 und sollte in dessen Anwenderprogramm aufgerufen werden, wenn im FC12 der Parameter ADD_INFO ungleich 0. Nach vollständiger und fehlerfreier Übertragung aller OUTPUT-Parameter des FB 54 werden die empfangenen Alarme automatisch quittiert.

Page 166: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 166 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Die Alarme werden in der zeitlichen Reihenfolge ihrer Meldung ins Anwenderprogramm weitergegeben. Ältere, dem Anwenderprogramm noch nicht signalisierte Alarme, die durch neuere Alarme hinfällig werden, werden durch neue Alarme nicht gelöscht.

Hinweis

Solange der Baustein noch nicht aufgerufen wurde, werden die Alarme CP-intern automatisch quittiert.

Wenn der FB 54 im Anwenderprogramm (wenigstens) einmal aufgerufen wurde, dann muss er auch weiterhin aufgerufen werden, um anstehende Alarme zu quittieren. Dies ist der Fall, wenn der FC 12 im Parameter ADD_INFO einen Wert ungleich "0" meldet.

Wenn der FB 54 nach ein- oder mehrmaligem Aufruf im Anwenderprogramm nicht mehr aufgerufen wird, dann werden Alarme nicht quittiert und es ist nicht sichergestellt, dass das IO-Abbild korrekt aktualisiert wird. Dies kann z.B. der Fall nach einem Stationswiederkehr-Alarm sein. Die Notwendigkeit des Aufrufens des FB 54 kann nur durch einen Neustart des CP (Spannung AUS) zurückgesetzt werden.

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung:

AWL Erläuterung

CALL FB 54, DB 54 ( CPLADDR:= W#16#0110, DONE := M 1.1, ERROR := M 1.2, NEW := M 1.3, STATUS := MW 12, ID := MW14, LEN := MW 16, MODE := MD 18, TINFO := P#DB4.DBX0.0 BYTE 32, AINFO := P#DB4.DBX32.0 BYTE 532 );

//PNIO_ALARM aufrufen //BG-Adresse aus Hardware-Konfiguration //Adresse für Rückgabeparameter DONE //Adresse für Rückgabeparameter ERROR //TRUE: Ein neuer Alarm wurde empfangen //Fehlercode //logische Anfangsadresse der meldenden Komponente //Länge der empfangenen Alarminformation(AINFO) //RESERVIERT (Wert immer = 0) //task information //alarm information

Page 167: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 167

3.2.7.2 Erläuterung der Formalparameter - PNIO_ALARM

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für den FB 54:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD - Anfangsadresse der Fehler auslösen-

den Baugruppe DONE OUTPUT BOOL 0: -

1: Alarminformation erfolgreich übertragen

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wur-de. Bei DONE = 1 muss zusätzlich der Parameter NEW geprüft werden.

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige

NEW OUTPUT BOOL 0: Datenübertragung läuft oder kein neuer Alarm 1: Neuen Alarm empfangen und quittiert

Bei DONE = 1 und NEW = 1 wird hier ein neu empfangener Alarm signali-siert.

STATUS OUTPUT WORD - Statusanzeige ID OUTPUT WORD Logische Anfangsadresse der Alarm

auslösenden PNIO-Komponente (Bau-gruppe bzw. Modul). Bei einer Ausgabebaugruppe wird Bit 15 gesetzt (Beispiel für Ausgangs-Adresse 5: ID:=DW#16#8005). Bei einer Mischbaugruppe wird die kleinere der beiden Adressen angege-ben.

LEN OUTPUT INT Länge der empfangenen Alarminfor-mation (AINFO)

MODE IN_OUT DWORD 0 Reserviert

Page 168: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs 168 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung TINFO IN_OUT ANY (als

VARTYPE ist BYTE, WORD und DWORD zugelassen)

Die Adresse des Datenbereichs verweist alternativ auf: • Merkerbereich • Datenbausteinbereich Die Länge des ANY-Pointer muss >= 32 Byte sein.

(task information) Zielbereich für die Alarm-Verwaltungsinformation. Die Fehler-OB-Startinformation (OB-Header = Byte 0...19 von TINFO) wird von der CP-Firmware - soweit möglich - nachgebildet. Siehe auch 1)

AINFO IN_OUT ANY (als VARTYPE sind BYTE, WORD und DWORD zugelassen)

Die Adresse des Datenbereichs verweist alternativ auf: • Merkerbereich • Datenbausteinbereich Die Länge des ANY-Pointer muss größer oder gleich der max. zu erwartenden Alarmzu-satzinformation sein, maximal 1432 Byte (siehe Parameter LEN)

(alarm information) Zielbereich für Kopfinformation und Alarmzusatzinformation. Wenn der ANY-Pointer AINFO zu klein ist, dann wird die Information abgeschnitten. Siehe auch 1)

1) Referenzhandbuch "STEP 7 - System- und Standardfunktionen für S7-300 und S7-400", Alarm empfangen mit dem SFB 54 "RALRM" /5/ (Seite 286)

3.2.7.3 Anzeigen des Bausteins PNIO_ALARM

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, NEW, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

DONE NEW ERROR STATUS Bedeutung 0 0 0 8180H Datenübergabe läuft 1 1 0 0000H Alarmdaten erfolgreich übertragen und Alarm quittiert 1 0 0 0000H Keine Alarmdaten vorhanden

Page 169: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 169

DONE NEW ERROR STATUS Bedeutung 0 0 1 8183H • Fehlende PROFINET IO-Controller-Projektierung,

• Falsche CPLADDR oder • CP im Betriebszustand STOP

0 0 1 8184H Systemfehler bzw. unzulässiger Parametertyp 0 0 1 8185H Ziel-Puffer (TINFO oder AINFO) ist zu klein 0 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) 0 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) 0 0 1 8F24H Bereichsfehler beim Lesen eines Parameters 0 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters 0 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters 0 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters 0 0 1 8F30H Parameter liegt im schreibgeschützten 1. aktiven Datenbaustein 0 0 1 8F31H Parameter liegt im schreibgeschützten 2. aktiven Datenbaustein 0 0 1 8F32H Parameter enthält zu große DB-Nummer 0 0 1 8F3AH Zielbereich nicht geladen (DB) 0 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich 0 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich 0 0 1 8F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist ge-

sperrt 0 0 1 8F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist

gesperrt 0 0 1 8F7FH Interner Fehler. z. B. unzulässige ANY-Referenz 0 0 1 8090H Baugruppe mit dieser Adresse ist nicht vorhanden 0 0 1 80A0H Negative Quittung beim Lesen von der Baugruppe 0 0 1 80A1H Negative Quittung beim Schreiben zur Baugruppe 0 0 1 80B0H Baugruppe kennt den Datensatz nicht 0 0 1 80B1H • Die angegebene Datensatzlänge ist falsch

oder • Der CP geht in den Betriebszustand STOP

0 0 1 80C0H Der Datensatz kann nicht gelesen werden 0 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung 0 0 1 80C2H Es liegt ein Auftragsstau vor 0 0 1 80C3H Betriebsmittel (Speicher) belegt 0 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwender-

programm sinnvoll.)

Page 170: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 170 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.3 PROFIenergy

PROFIenergy Die PROFIenergy-Funktionen unter PROFINET dienen dem Energie-Management von Anlagen. Hierzu gehören das geplante oder spontane Abschalten einzelner Feldgeräte, Aggregate oder Anlagenteile zum Zweck der Energieeinsparung. Das Abschalten erfolgt in nichtproduktiven Zeiten oder Produktionspausen. Energie- und Diagnosedaten können aus Geräten, die in das Energiekonzept eingebunden sind und diese Funktionen unterstützen, ausgelesen werden.

PROFIenergy-Controller Die Befehle zum Abschalten gibt die übergeordnete Steuerung aus, bei PROFINET IO der IO-Controller.

Bei SIMATIC S7-300 kann eine S7-300-CPU mit PROFIenergy-Funktion oder der CP PROFIenergy-Controller sein.

PROFIenergy-Devices Die Befehle des PROFIenergy-Controllers werden von den IO-Devices mit PROFIenergy-Funktion verarbeitet, um angeschlossene Geräte im Feld abzuschalten.

Im Kontext der PROFIenergy-Programmbausteine wird ein IO-Device mit PROFIenergy-Funktion als PROFIenergy-Device bezeichnet. Bei SIMATIC S7-300 kann eine S7-300-CPU mit PROFIenergy-Funktion oder der CP PROFIenergy-Device sein.

I-Devices Bei SIMATIC S7 kann ein intelligentes Device (I-Device) selbst unterlagerte PROFIenergy-Devices haben. In diesem Fall hat das I-Device auch die Funktion eines PROFIenergy-Controllers.

Energiesparmodi und PE_MODE_ID Viele Geräte unterstützen nur die Betriebszustände "Betriebsbereit" (Spannung EIN) und "Pause" (Spannung AUS). Abgestufte Energiesparzustände mit unterschiedlichen Energiesparmodi können für Geräte, welche dies unterstützen, oder für Aggregategruppen in der Steuerung des PROFIenergy-Device festgelegt werden. Mit PROFIenergy können diese verschiedenen Zustände der Energieaufnahme den abzuschaltenden Geräten im Feld zugewiesen werden.

Die unterschiedlichen Zustände der Energieaufnahme werden "Energiesparmodi" genannt. Für jeden einzelnen Energiesparmodus wird eine definierte "PE_MODE_ID" festgelegt.

Programmierung der Eigenschaften der Energiesparmodi Die Details der Energiesparmodi (angesprochenes Feldgerät, Pausendauer usw.) werden im Anwenderprogramm der CPU des PROFIenergy-Device programmiert.

Page 171: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 171

3.3.1 PROFIenergy-Programmbausteine für den CP 300

Realisierung der PROFIenergy-Funktionen bei S7-300 Bei der SIMATIC S7-300 werden die PROFIenergy-Funktionen der CPU durch Programmbausteine für den IO-Controller und das IO-Device bereitgestellt.

Beachten Sie, dass S7-300-CPU und CP 300 unterschiedliche PROFIenergy-Programmbausteine verwenden.

PROFIenergy-Spezifikation Die Funktionen der PROFIenergy-Programmbausteine für den CP 300 basieren auf der folgenden Spezifikation der PROFIBUS Nutzerorganisation e.V. (PNO):

Common Application Profile PROFIenergy, Technical Specification for PROFINET, Version 1.0, January 2010, Order No. 3.802

PROFIenergy-Programmbausteine für den CP 300 Die PROFIenergy-Programmbausteine werden vom Anwenderprogramm der CPU aufgerufen. Folgende PROFIenergy-Programmbausteine stehen für die PROFIenergy-Funktionen des CP 300 zur Verfügung:

● CP 300 als IO-Controller:

– PE_START_END_CP

Programmbaustein zum Einleiten und Beenden von Pausen zur Energieeinspeisung sowie für die Vorgabe definierter Energiesparmodi für das PROFIenergy-Device.

– PE_CMD_CP

Programmbaustein zum Einleiten und Beenden von Pausen zur Energieeinspeisung, für die Vorgabe definierter Energiesparmodi und zum Abfragen von Energiemesswerten aus dem PROFIenergy-Device.

Die beiden Programmbausteine können alternativ eingesetzt werden. Gegenüber PE_START_END_CP hat PE_CMD_CP einen erweiterten Funktionsumfang für die Einbindung von Energiemesswerten.

Für jedes PROFIenergy-Device muss der Programmbaustein separat aufgerufen werden.

– DS3_WRITE_CP

Gehört nicht zu den PROFIenergy-Funktionsbausteinen, ergänzt aber die PROFIenergy-Funktionen für eine ET 200S.

Mit dem DS3_WRITE_CP werden die Einstellungen für das Schaltverhalten von bis zu 8 Steckplätzen (hier: Powermodule) der ET 200S festgelegt.

Page 172: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 172 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

● CP 300 als IO-Device:

– PE_I_DEV_CP

Empfängt alle PROFIenergy-Befehle und ermöglicht dem Anwenderprogramm die Durchführung der PROFIenergy-Funktionen.

Stellt die Antworttelegramme des IO-Device dem IO-Controller zur Verfügung.

PE_I_DEV_CP wird zyklisch vom Anwenderprogramm des IO-Device aufgerufen.

– Ergänzende Programmbausteine (FC 0...FC 8) für PE_I_DEV_CP:

Diese FCs stellen die Antwortdaten für PE_I_DEV_CP bereit. Die FCs müssen im Anwenderprogramm aufgerufen und mit PE_I_DEV_CP verknüpft werden.

Wenn das PROFIenergy-Device ein I-Device ist und selbst unterlagerte PROFIenergy-Devices hat, dann werden in der CPU des I-Device PE_START_END_CP bzw. PE_CMD_CP für die unterlagerten PROFIenergy-Devices aufgerufen.

System- und Programm-Bausteine zur Übertragung von Datensätzen Die PROFIenergy-Befehle und Statusinformationen zwischen IO-Controller und IO-Device werden über das Lesen und Schreiben von Datensätzen ausgetauscht. Dies wird über die Programmbausteine RDREC und RWREC realisiert.

Die PROFIenergy-Datensätze sind nachfolgend bei den Antwortdaten der einzelnen Programmbausteine beschrieben.

Hinweis Bausteinaufrufe

PE_START_END_CP, PE_CMD_CP, PE_I_DEV_CP und DS3_WRITE_CP dürfen nicht gleichzeitig aufgerufen werden. Erst wenn einer dieser Programmbausteine "Kein Fehler" (VALID = 1) oder "Fehler" (ERROR = 1) gemeldet hat, darf der nächste aufgerufen werden.

Der Programmbaustein PNIO_RW_REC darf ebenfalls nicht gleichzeitig mit PE_START_END_CP, PE_CMD_CP, PE_I_DEV_CP oder DS3_WRITE_CP aufgerufen werden.

3.3.2 PE_START_END_CP

3.3.2.1 Bedeutung und Aufruf - PE_START_END_CP

Bedeutung und Arbeitsweise PE_START_END_CP kann alternativ zum PE_CMD_CP eingesetzt werden.

PE_START_END_CP wird im IO-Controller verwendet. Er löst im zugeordneten PROFIenergy-Device eine Energiesparpause aus oder beendet eine Pause.

Page 173: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 173

Der Programmbaustein kann vorzugsweise bei IO-Controllern eingesetzt werden, an deren zugeordneten IO-Devices nur Feldgeräte angeschlossen sind, bei denen keine Energiedaten ausgelesen werden können oder sollen.

Die Energiesparmodi werden im Anwenderprogramm der CPU des IO-Device projektiert. Der tatsächlich eingenommene Energiesparmodus wird nach Ausführung von PE_START_END_CP vom IO-Device zurückgemeldet und am Parameter PE_MODE_ID ausgegeben.

Mit dem Parameter Pause_Time wird dem IO-Device die Dauer der Energiesparpause vorgegeben. Im IO-Device wird über den Programmbaustein PE_I_DEV_CP geprüft, ob die vorgegebene Pausendauer ausreichend groß ist und umgesetzt werden kann.

Ablauf

Bild 3-1 Ablaufdiagramm der Schreib-/Leseaufträge von PE_START_END_CP und PE_CMD_CP

PE_START_END_CP versendet mittels WRREC einen PROFIenergy-Befehl als Schreibauftrag an das IO-Device. Anschließend wartet PE_START_END_CP auf die Quittung vom IO-Device. Dazu wird alle 100 Millisekunden der Quittungsdatensatz mit dem Programmbaustein RDREC gelesen.

Page 174: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 174 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Solange keine Quittung vom IO-Device eingetroffen ist, wird der Leseauftrag für 10 Sekunden im Abstand von jeweils 100 Millisekunden wiederholt.

Die Antwortdaten des IO-Device werden mit dem RDREC gelesen.

Aufrufschnittstelle in FUP-Darstellung

Aufrufschnittstelle in AWL-Darstellung AWL Erläuterung

call fb 85 ( CPLADDR :=W#16#0100, START :=M100.0, END :=M100.1, ID :=W#16#110, PAUSE_TIME :=T#10S VALID :=M100.2 BUSY :=M110.0, ERROR :=M110.1, STATUS :=MW128, PE_MODE_ID :=MB111 );

//Programmbaustein PE_START_END_CP aufrufen; //Baugruppen–Adresse aus Hardware–Konfiguration; //Adresse für Signal "Start der Pause"; //Adresse für Signal "Ende der Pause"; //Adresse des Ziel-Device; //Angabe der Pausenzeit als IEC-Zeit; //Adresse für Rückgabeparameter VALID; //Adresse für Rückgabeparameter BUSY; //Adresse für Rückgabeparameter ERROR; //Adresse für Rückgabeparameter STATUS; //Adresse für die ID des Energiesparmodus

3.3.2.2 Erläuterung der Formalparameter von PE_START_END_CP

Erläuterung der Formalparameter von PE_START_END_CP Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD E, A, M, D, L, Konst. Baugruppen-Anfangsadresse des CP START INPUT BOOL • 1 = Befehl aktiv

• 0 = Befehl nicht aktiv

Eine steigende Flanke aktiviert den Befehl "Start_Pause" (Energiesparpause einlei-ten)

END INPUT BOOL • 1 = Befehl aktiv • 0 = Befehl nicht aktiv

Eine steigende Flanke aktiviert den Befehl "End_Pause" (Beenden der Energiespar-pause)

ID INPUT WORD Logische Adresse des Ziel-PROFIenergy-Device

Page 175: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 175

Parameter Deklaration Datentyp Wertebereich Beschreibung PAUSE_ TIME

INPUT TIME T#-24D_20H_31M_23S_648MS bis T#24D_20H_31M_23S_647MS

IEC-Zeit in Schritten von 1 ms, Ganzzahl mit Vorzeichen

PE_MODE_ ID

OUTPUT BYTE • 00h: Spannung AUS (Pause) • 01h...FEh: Projektierbar • FFh: Betriebsbereit

ID des Energiesparmodus, der vom IO-Device nach der Ausführung des Be-fehls angenommen wurde.

VALID OUTPUT BOOL 0: - 1: Bearbeitung erfolgreich been-det

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde.

BUSY OUTPUT BOOL 0: Bearbeitung abgeschlossen, abgebrochen oder noch nicht begonnen 1: Bearbeitung läuft

Anzeige des Bearbeitungs-Status des Programmbausteins

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige Zur Bedeutung im Zusammenhang mit dem Parameter STATUS siehe Anzeigen von PE_START_END_CP (Seite 175).

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit dem Parameter ERROR siehe Anzeigen von PE_START_END_CP (Seite 175).

3.3.2.3 Anzeigen von PE_START_END_CP

Anzeigen von PE_START_END_CP PE_START_END_CP basiert auf dem Programmbaustein PNIO_RW_REC und liefert alle Anzeigen von PNIO_RW_REC, siehe Anzeigen des Bausteins PNIO_RW_REC.

Zusätzlich werden die nachfolgenden PROFIenergy-spezifischen Anzeigen ausgegeben. Die Fehleranzeigen von STATUS gelten nur in Zusammenhang mit ERROR = 1.

Tabelle 3- 4 Spezifische Anzeigen von PE_START_END_CP

STATUS Bedeutung Baustein-spezifische Fehler 8080h Steigende Flanke gleichzeitig bei START und END 8081h Längenkonflikt bei CMD_PARAM und CMD_PARAM_LEN PROFIenergy-spezifische Fehler FE01h Ungültige Service_Request_ID FE02h Ungültige Request_Reference FE03h Ungültiger CMD_MODIFIER FE04h Ungültige Angabe zur Datenstruktur eines Befehls (Data_Structure_Identifier_RQ) im Telegramm für den

schreibenden PROFIenergy-Datensatz FE05h Ungültige Angabe zur Datenstruktur eines Befehls (Data_Structure_Identifier_RS) im Telegramm für den

lesenden PROFIenergy-Datensatz

Page 176: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 176 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

STATUS Bedeutung FE06h Energiesparmodus (PE_Mode_ID) nicht unterstützt FE07h Antwort länger als max. Transferlänge FE08h Ungültige Anzahl an Befehlen FE09h Ungültiger Block Type (siehe Telegramm-Header) FE0Ah Ungültige Block Length (siehe Telegramm-Header) FE0Bh Ungültige Block Version (siehe Telegramm-Header) FE50h Kein passender Energiesparmodus (PE_Mode_ID) FE51h Wert für PAUSE_TIME nicht unterstützt FE52h PE_Mode_ID nicht unterstützt

Details zu den Parametern der PROFIenergy-spezifischen Fehler finden Sie im Kapitel Antwortdaten (Seite 182).

Siehe auch Anzeigen des Bausteins PNIO_RW_REC (Seite 164)

3.3.3 PE_CMD_CP

3.3.3.1 Bedeutung und Aufruf - PE_CMD_CP

Bedeutung und Arbeitsweise PE_CMD_CP kann alternativ zum PE_START_END_CP eingesetzt werden.

PE_CMD_CP wird im IO-Controller verwendet und löst im zugeordneten PROFIenergy-Device eine Energiesparpause aus oder beendet eine Pause. Zusätzlich kann PE_CMD_CP weitere Informationen und Energiemesswerte aus einem IO-Device auslesen.

Der Programmbaustein kann vorzugsweise bei IO-Controllern eingesetzt werden, an deren zugeordneten IO-Devices Feldgeräte angeschlossen sind, von denen Energiemesswerte ausgelesen werden sollen.

Ein Ablaufdiagramm der Schreib-/Leseaufträge von PE_CMD_CP finden Sie im Kapitel Bedeutung und Aufruf - PE_START_END_CP (Seite 172).

Den einzelnen Befehlen, die mit dem Programmbaustein an das IO-Device übertragen werden, sind definierte "Service_Request_IDs" zugeordnet. Die Service_Request_IDs 01...05 und 16 werden am Parameter CMD zugewiesen.

Über den Parameter CMD_MODIFIER werden die beiden Befehle 04 (Query_Modes) und 16 (Query_Measurement) näher spezifiziert.

Der Parameter CMD_PARA weist einigen Befehlen über einen Any-Pointer die Werte für bestimmte Parameter zu. Der Parameter CMD_PARA_LEN legt die Länge dieser Parameter fest.

Der Parameter RESPONSE_DATA zeigt auf den Datenbereich der Antwortdaten des IO-Device.

Page 177: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 177

Aufrufschnittstelle in FUP-Darstellung

Aufrufschnittstelle in AWL-Darstellung AWL Erläuterung

call fb 86 ( CPLADDR :=W#16#0100, REQ :=M220.0, ID :=W#16#110, CMD :=MB222, CMD_MODIFIER :=MB224, CMD_PARA :=MD240, CMD_PARA_LEN :=MW226, VALID :=M220.2 BUSY :=M220.1, ERROR :=M220.3, STATUS :=MW228, RESPONSE_DATA :=P#DB400.DBX0.0 BYTE 244 );

//Programmbaustein PE_CMD_CP aufrufen; //Baugruppen–Adresse aus Hardware–Konfiguration; //Adresse für Flankensignal zur Bausteinausführung; //Adresse des Ziel-Device; //Service_Request_ID des PROFIenergy-Befehls; //Modifier des PROFIenergy-Befehls; //Pointer auf Parameter des Modifiers; //Länge des Parameters von CMD_PARA; //Adresse für Rückgabeparameter VALID; //Adresse für Rückgabeparameter BUSY; //Adresse für Rückgabeparameter ERROR; //Adresse für Rückgabeparameter STATUS; //Adresse für die Antwortdaten des IO-Device

Siehe auch Erläuterung der Formalparameter von PE_CMD_CP (Seite 178)

Page 178: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 178 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.3.3.2 Erläuterung der Formalparameter von PE_CMD_CP

Erläuterung der Formalparameter von PE_CMD_CP Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD E, A, M, D, L, Konst. Baugruppen-Anfangsadresse des CP REQ INPUT BOOL Beginnt mit steigender Flanke den Transfer

der PROFIenergy-Befehle. ID INPUT WORD Logische Adresse des Ziel-PROFIenergy-

Device CMD INPUT BYTE • 01: Start_Pause

• 02: End_Pause • 03: Query_Modes • 04: PEM_Status • 05: PE_Identity • 16: Query_Measurement

Service_Request_ID des PROFIenergy-Befehls. Die Bedeutung der Befehle finden Sie un-terhalb dieser Tabelle.

CMD_ MODIFIER

INPUT BYTE Für "Start_Pause": 00 Für "End_Pause": 00 Für "Query_Modes": • 01: List_Energy_Saving

_Modes • 02: Get_Mode Für "PEM_Status": 00 Für "PE_Identity": 00 Für "Query_Measurement": • 01:

Get_Measurement_List • 02:

Get_Measurement_Values

Modifier des PROFIenergy-Befehls, Bedeu-tung: • Befehl "Query_Modes"

– Modifier 01: Liest alle unterstützten Energiesparmodi (PE_Mode_ID).

– Modifier 02 Liest die Parameter der selektierten PE_Mode_ID.

• Befehl "Query_Measurement" – Modifier 01: Liest die projektierten

Measurement_IDs. – Modifier 02: Liest die Messwerte der

selektierten Measurement_IDs. Informationen zu den Parametern finden Sie im Kapitel Antwortdaten (Seite 182) im Ab-schnitt des jeweiligen Befehls. Modifier 00 bedeutet "keine Optionen".

Page 179: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 179

Parameter Deklaration Datentyp Wertebereich Beschreibung CMD_PARA INPUT ANY Any-Pointer auf Parameter für Befehle

• Für Befehl 01 Start_Pause: "Pau-se_Time"

• Für Befehl 02 End_Pause: Irrelevant • Für Befehl 03 Query_Modes:

– Für Modifier 01: Irrelevant – Für Modifier 02 Get_Mode:

"PE_Mode_ID" • Für Befehl 04 PEM_Status: Irrelevant • Für Befehl 05 PE_Identity: Irrelevant • Für Befehl 16 Query_Measurement:

– Für Modifier 01: Irrelevant – Für Modifier 02

Get_Measurement_Values:

ANY-Pointer auf Datenstruktur mit Parametern "Count" und "Measu-rement_IDs"

Informationen zu den Parametern finden Sie im Abschnitt Antwortdaten (Seite 182) im Abschnitt des jeweiligen Befehls. Der komplette Datenbereich des zu schrei-benden Datensatzes (Ser-vice_Data_Request) wird eingetragen. Max. Länge: 234 Byte

CMD_PARA_LEN

INPUT INT Tatsächliche Länge der Parameter in CMD_PARA. Max. Länge: 234 Byte

RESPONSE _DATA

INOUT ANY Pointer auf die Adresse der Antwortdaten des IO-Device (komplettes Telegramm inkl. Block Header) Hinweis: Wenn der Bereich zu klein gewählt wurde, wird nur die projektierte Byte-Anzahl gespei-chert.

VALID OUTPUT BOOL 0: - 1: Bearbeitung erfolgreich be-endet

Der Zustandsparameter des Programmbau-steins zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde.

BUSY OUTPUT BOOL 0: Bearbeitung noch nicht be-gonnen, abgeschlossen oder abgebrochen 1: Bearbeitung läuft

Anzeige des Bearbeitungs-Status des Pro-grammbausteins

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige Zur Bedeutung im Zusammenhang mit dem Parameter STATUS siehe Anzeigen von PE_CMD_CP (Seite 181).

Page 180: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 180 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung STATUS OUTPUT WORD Statusanzeige

Zur Bedeutung im Zusammenhang mit dem Parameter ERROR siehe Anzeigen von PE_CMD_CP (Seite 181).

Service_Request_IDs und Bedeutung der PROFIenergy-Befehle Die PROFIenergy-Befehle mit Service_Request_ID 01...05 und 16 haben folgende Bedeutung:

● 01 = Start_Pause

Befehl zum Start einer Energiesparpause.

Das IO_Device wählt den projektierten Energiesparmodus aus. Der Energiesparmodus wird dem Controller in den Antwortdaten zurückgemeldet.

● 02 = End_Pause

Befehl zum Beenden einer Energiesparpause

● 03 = Query_Modes

Fragt die im IO-Device projektierten Energiesparmodi mit allen zugehörigen Zeit- und Energie-Informationen ab.

Über den Parameter CMD_MODIFIER werden die abgefragten Informationen detailliert:

– List_Energy_Saving_Modes

Liest alle unterstützten PROFIenergy-Modi des IO-Device.

– Get_Mode

Liest die Daten des selektierten PROFIenergy-Modus.

● 04 = PEM_Status

Abfrage des tatsächlich eingenommenen Energiesparmodus des Feldgeräts oder der Aggregategruppe.

● 05 = PE_Identity

Fragt die vom IO-Device unterstützten PROFIenergy-Dienste ab.

● 16 = Query_Measurement

Fragt Energiedaten des IO-Device ab.

Über den Parameter CMD_MODIFIER werden die abgefragten Informationen detailliert:

– Get_Measurement_List

Liest alle im IO-Device projektierten Measurement_IDs.

– Get_Measurement_Values

Liest die Energiemesswerte der selektierten Measurement_IDs.

Page 181: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 181

Befehle für verschiedene Geräteklassen Die Geräte, welche sich in PROFIenergy-Konzepte einbinden lassen, können in drei Klassen unterteilt werden, die vom IO-Controller mit verschieden Befehlen angesprochen werden:

● IO-Module, Aktoren, Motorstarter

Unterstützte Befehle:

– Start_Pause, End_Pause

– Query_Modes, PEM_Status, PE_Identify

● Messgeräte für elektrische Größen

Unterstützte Befehle:

– Query_Measurement

● Frequenzumrichter

Unterstützte Befehle:

– Start_Pause, End_Pause

– Query_Modes, PEM_Status, PE_Identify

– Query_Measurement

Von Frequenzumrichtern können Daten elektrischer Größen, welche diese Geräte erfassen, abgefragt werden.

3.3.3.3 Anzeigen von PE_CMD_CP

Anzeigen von PE_CMD_CP PE_CMD_CP basiert auf dem Programmbaustein PNIO_RW_REC und liefert alle Anzeigen von PNIO_RW_REC, siehe Anzeigen des Bausteins PNIO_RW_REC.

Zusätzlich werden die nachfolgenden PROFIenergy-spezifischen Anzeigen ausgegeben. Die Fehleranzeigen von STATUS gelten nur in Zusammenhang mit ERROR = 1.

Tabelle 3- 5 Spezifische Anzeigen von PE_CMD_CP

STATUS Bedeutung Baustein-spezifische Fehler 8081h Längenkonflikt bei CMD_PARAM und CMD_PARAM_LEN PROFIenergy-spezifische Fehler FE01h Ungültige Service_Request_ID FE02h Ungültige Request_Reference FE03h Ungültiger CMD_MODIFIER FE04h Ungültige Angabe zur Datenstruktur eines Befehls (Data_Structure_Identifier_RQ) im Telegramm für den

schreibenden PROFIenergy-Datensatz FE05h Ungültige Angabe zur Datenstruktur eines Befehls (Data_Structure_Identifier_RS) im Telegramm für den

lesenden PROFIenergy-Datensatz FE06h Energiesparmodus (PE_Mode_ID) nicht unterstützt

Page 182: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 182 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

STATUS Bedeutung FE07h Antwort länger als max. Transferlänge FE08h Ungültige Anzahl an Befehlen FE09h Ungültiger Block Type (siehe Telegramm-Header) FE0Ah Ungültige Block Length (siehe Telegramm-Header) FE0Bh Ungültige Block Version (siehe Telegramm-Header) FE50h Kein passender Energiesparmodus (PE_Mode_ID) FE51h Wert für PAUSE_TIME nicht unterstützt FE52h PE_Mode_ID nicht unterstützt

Details zu den Parametern der PROFIenergy-spezifischen Fehler finden Sie im Kapitel Antwortdaten (Seite 182).

Siehe auch Anzeigen des Bausteins PNIO_RW_REC (Seite 164)

3.3.4 Antwortdaten

Struktur der Antwortdaten Die nachfolgenden Tabellen zeigen die Struktur des Datensatzes (80A0h) der Antwortdaten von PE_START_END_CP und PE_CMD_CP.

Die nachfolgende Tabelle zeigt in der Übersicht den Aufbau des Datensatzes der zurückgelieferten Antwortdaten gemäß der PROFIenergy-Spezifikation. Die Zusammensetzung des Bereichs "Service Data Response" wird anschließend für die einzelnen PROFIenergy-Befehle beschrieben.

Tabelle 3- 6 Struktur der Antwortdaten

Blockdefinitionen Attribute Wert Datentyp Beschreibung Block Header BlockType 0801h Unsigned16

BlockLength Unsigned16 Telegrammlänge (ohne die Felder "BlockType" und "BlockLength")

BlockVersionHigh 01h Unsigned8 BlockVersionLow 00h Unsigned8

Page 183: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 183

Blockdefinitionen Attribute Wert Datentyp Beschreibung Response Header Service_Request_ID 01h...FFh Unsigned8 01h: Start_Pause

02h: End_Pause 03h: Query_Modes 04h: PEM_Status 05h: PE_Identify 06h...09h: - Reserviert - 10h: Query_Measurement 11h...CF: - Reserviert - D0h...FFh: Herstellerspezifisch

Request_Reference 01h...FFh Unsigned8 Identifikationsnummer der Anfrage (in der Antwort des IO-Device gespiegelt)

Service Header Response

Status 01h...FFh Unsigned8 00h: - Reserviert - 01h: Fertig 02h: Fertig mit Fehler 03h: Daten unvollständig 04h...CFh: - Reserviert - D0h...FFh: Abhängig von der Service_Request_ID

Data_Structure_Identifier_RS 01h...FFh Unsigned8 00h: - Reserviert - 01h...FFh: Datenstruktur ab-hängig von der Ser-vice_Request_ID FFh: error

Service Data Respon-se

Antwortdaten des IO-Device Abhängig vom jeweiligen PROFIenergy-Befehl (nachfol-gend beschrieben)

Bedeutung von "Service Data Request" und "Service Data Response" Die nachfolgenden Abschnitte erläutern für die einzelnen PROFIenergy-Befehle die Parameterwerte bei den Anfragen des IO-Controllers an das IO-Device (Service Data Request) und die Struktur der Antwortdaten des IO-Device (Service Data Response).

● Service Data Request

Parameterwerte bei der Anfrage des IO-Controllers

● Service Data Response

Struktur der Antwortdaten des IO-Device

Page 184: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 184 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

PROFIenergy-Befehl "Start_Pause" ● Service Data Request

– CMD = 01

– CMD_MODIFIER = 00

– CMD_PARA_LEN = 04

– CMD_PARA = Any-Pointer auf Wert für "Pause_Time" (Datentyp "TIME")

IEC-Zeit in Schritten von 1 ms, Ganzzahl mit Vorzeichen

Wert: T#-24D_20H_31M_23S_648MS bis T#24D_20H_31M_23S_647MS

● Service Data Response

Parameter Wert Datentyp PE_Mode_ID * 01h...FFh Unsigned8 - Reserviert - 00h Unsigned8 * Identifikationsnummer des Energiesparmodus

PROFIenergy-Befehl "End_Pause" ● Service Data Request

– CMD = 02

– CMD_MODIFIER = 00

– CMD_PARA_LEN = 00

– CMD_PARA = irrelevant

● Service Data Response

Parameter Wert Datentyp Time_to_operate * Unsigned32 * Erwartete Zeit, um das PROFIenergy-Device auf "Betriebsbereit" (ready_to_operate) umzuschalten

PROFIenergy-Befehl "Query_Modes" – List_Energy_Saving_Modes ● Service Data Request

– CMD = 03

– CMD_MODIFIER = 01

– CMD_PARA_LEN = 00

– CMD_PARA = irrelevant

● Service Data Response

Page 185: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 185

Parameter Wert Datentyp Number_of_PE_Mode_IDs * 01h Unsigned8 PE_Mode_IDs Unsigned8-Array of Num-

ber_of_PE_Mode_IDs (Unique ID for mode)

* Anzahl der Energiesparmodi

PROFIenergy-Befehl "Query_Modes" – Get_Mode ● Service Data Request

– CMD = 03

– CMD_MODIFIER = 02

– CMD_PARA_LEN = 01

– CMD_PARA = Any-Pointer auf Wert für PE_MODE_ID (unsigned8)

● Service Data Response

Parameter Wert Datentyp PE_Mode_ID 01h...FFh Unsigned8 PE_Mode_Attributes * 00h...01h Unsigned8 Time_min_Pause Unsigned32 Time_to_Pause Unsigned32 Time_to_operate Unsigned32 Time_min_length_of_stay Unsigned32 Time_max_length_of_stay Unsigned32 Mode_Power_Consumption Float32 Energy_Consumption_to_pause Float32 Energy_Consumption_to_operate Float32 * Kodierung von Bit 0:

0 = Nur statische Zeit- und Energie-Messwerte verfügbar. 1 = Dynamische Zeit- und Energie-Messwerte verfügbar.

Bit 1...7: Reserviert

PROFIenergy-Befehl "PEM_Status" ● Service Data Request

– CMD = 04

– CMD_MODIFIER = 00

– CMD_PARA_LEN = 00

– CMD_PARA = irrelevant

● Service Data Response

Page 186: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 186 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Wert Datentyp PE_Mode_ID_Source * 00h

01h...FEh FFh

Unsigned8

PE_Mode_ID_Destination * 00h 01h...FEh FFh

Unsigned8

Time_to_operate Unsigned32 Remaining_time_to_destination Unsigned32 Mode_Power_Consumption Float32 Energy_Consumption_to_Destination Float32 Energy_Consumption_to_operate Float32 * Mögliche Werte für "PE_Mode_ID_Source" und "PE_Mode_ID_Destination":

00h: PE_Power_off (Spannungsversorgung AUS) 01h...FEh: Frei projektierbar FFh: PE_Ready_to_operate (Betriebsbereit)

PROFIenergy-Befehl "PE_Identify" ● Service Data Request

– CMD = 05

– CMD_MODIFIER = 00

– CMD_PARA_LEN = 00

– CMD_PARA = irrelevant

● Service Data Response

Parameter Wert Datentyp Count * 6 Unsigned8 Start_Pause ** 01h Unsigned8 End_Pause 02h Unsigned8 Query_Modes 03h Unsigned8 PEM_Status 04h Unsigned8 PE_Identify 05h Unsigned8 Query_Measurement *** 10h Unsigned8 * Anzahl der unterstützten PROFIenergy-Befehle

** Service_Request_ID des ersten unterstützten PROFIenergy-Befehls *** Service_Request_ID des letzten unterstützten PROFIenergy-Befehls

Page 187: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 187

PROFIenergy-Befehl "Query_Measurement" – Get_Measurement_List ● Service Data Request

– CMD = 16

– CMD_MODIFIER = 01

– CMD_PARA_LEN = 00

– CMD_PARA = irrelevant

● Service Data Response

Parameter Wert Datentyp Count * Unsigned8 - Reserviert - Unsigned8 Measurement_ID ** Unsigned16 Accuracy_Domain 1 Unsigned8 Accuracy_Class 2 Unsigned8 Range 3 Float32 … Measurement_ID *** Unsigned16 Accuracy_Domain 1 Unsigned8 Accuracy_Class 2 Unsigned8 Range 3 Float32 * Anzahl der Measurement_IDs

** Erste unterstützte Measurement_ID *** Letzte unterstützte Measurement_ID 1 Genauigkeitsdomäne (Bereich 1...4): 0 = Reserviert 1 = Prozent des Messbereichs 2 = Prozent des aktuellen Messwerts 3 = Genauigkeit gemäß IEC 61557-12 4 = Genauigkeit gemäß EN 50470-3 Kapitel 8 2 Genauigkeitsklasse (Bereich 1...15): 0 = Reserviert 1 (0,01%) ... 15 (>20%) 3 Messbereich, falls Accuracy_Domain = 1; andernfalls undefiniert

PROFIenergy-Befehl "Query_Measurement" – Get_Measurement_Values ● Service Data Request

– CMD = 16

– CMD_MODIFIER = 02

– CMD_PARA_LEN = Länge der Datenstruktur in Byte

– CMD_PARA = Any-Pointer auf Datenstruktur mit folgendem Aufbau:

Page 188: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 188 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Wert Datentyp Count * Unsigned8 - Reserviert - Unsigned8 Measurement_ID ** Unsigned16 … Measurement_ID *** Unsigned16 * Anzahl der Measurement_IDs

** Erster abgefragter Messwert *** Letzter abgefragter Messwert

● Service Data Response

Parameter Wert Datentype Count * Unsigned8 - Reserviert - Unsigned8 Length_of_Structure 0002h...FFFFh Unsigned16 Measurement_Data_Structure_ID 1 = Einfacher

Wert Unsigned8

Measurement_ID ** 00h...FFh Unsigned16 Status_of_Measurement_Value 1 = Gültig

2 = Nicht verfüg-bar 3 = Zeitweise nicht verfügbar

Unsigned8

Transmission_Data_Type Float32 End_of_demand Unsigned32 oder Unsigned16 Length_of_Structure Unsigned16 Measurement_Data_Structure_ID Unsigned8 Measurement_ID *** Unsigned16 Status_of_Measurement_Value Unsigned8 Transmission_Data_Type Float32 End_of_demand Unsigned32 oder Unsigned16 * Anzahl der Measurement_IDs

** Erster abgefragter Messwert *** Letzter abgefragter Messwert

Page 189: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 189

3.3.5 PE_I_DEV_CP

3.3.5.1 Bedeutung und Aufruf - PE_I_DEV_CP

Bedeutung und Arbeitsweise Der Programmbaustein PE_I_DEV_CP wird im PROFIenergy-Device verwendet und wickelt dort die PROFIenergy-Befehle des IO-Controllers ab. Die vom IO-Controller gesendeten PROFIenergy-Datensätze (80A0h) werden von der CP-Firmware an PE_I_DEV_CP übermittelt. Die PROFIenergy-Daten des IO-Device werden von PE_I_DEV_CP über den PROFIenergy-Datensatz (80A0h) wiederum dem IO-Controller als Antwort zur Verfügung gestellt.

Die Antwortdaten von PE_I_DEV_CP werden von den ergänzenden Funktionen FC 0 bis FC 8 generiert, siehe Kapitel Ergänzende Programmbausteine für PE_I_DEV_CP (Seite 192).

Aufrufschnittstelle in FUP-Darstellung

Aufrufschnittstelle in AWL-Darstellung AWL Erläuterung

call fb 87 ( CPLADDR :=W#16#0100, RESET :=M1.0, VALID :=M1.3, CMD :=MW222, CMD_MODIFIER :=MW224, CMD_PARA :=MD230, INDEX :=MW228, NEW :=M1.1, ERROR :=M1.2, STATUS :=MW2, RESPONSE_DATA

//Programmbaustein PE_I_DEV_CP aufrufen; //Baugruppen–Adresse aus Hardware–Konfiguration; //Signal zum Rücksetzen des Bausteins; //Signal zur Datenübertragung an den Controller; //Service_Request_ID des PROFIenergy-Befehls; //Modifier des PROFIenergy-Befehls; //Pointer auf Parameter des Modifiers; //Nummer des PROFIenergy-Datensatzes; //Bearbeitungsstatus des Bausteins; //Adresse für Rückgabeparameter ERROR; //Adresse für Rückgabeparameter STATUS; //Adresse für die Antwortdaten des IO-Device

Page 190: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 190 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

AWL Erläuterung :=P#DB400.DBX0.0 BYTE 244 );

3.3.5.2 Erläuterung der Formalparameter von PE_I_DEV_CP

Erläuterung der Formalparameter von PE_I_DEV_CP Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD E, A, M, D, L, Konst. Baugruppen-Anfangsadresse des CP RESET INPUT BOOL Setzt die Bearbeitung des Programmbau-

steins zurück. NEW wird auf 0 gesetzt.

VALID INPUT BOOL Wenn die Antwortdaten in den betreffenden Speicherbereich des IO-Device geschrieben wurden, muss durch das Anwenderpro-gramm VALID = 1 gesetzt werden. An-schließend stellt der Programmbaustein die Daten dem IO-Controller zur Verfügung. NEW wird auf 0 gesetzt.

CMD OUTPUT INT • 01: Start_Pause • 02: End_Pause • 03: Query_Modes • 04: PEM_Status • 05: PE_Identity • 16: Query_Measurement

Service-ID des PROFIenergy-Befehls

CMD_ MODIFIER

OUTPUT INT • Modifier für Start_Pause: 00 • Modifier für End_Pause: 00 • Query_Modes,

Modifier: – 01 (List_Energy_

Saving_Modes) – 02 (Get_Mode)

• Modifier für PEM_Status: 00 • Modifier für PE_Identity: 00 • Query_Measurement,

Modifier: – 01 (Get_Measurement

_List) – 02 (Get_Measurement

_Values)

Modifier der PROFIenergy-Befehle Bedeutung der Modifier für Befehle: • Befehl "Query_Modes",

Modifier: – 01 (List_Energy_Saving_Modes):

Liest alle unterstützten PROFIener-gy-Modi

– 02 (Get_Mode): Liest die Daten des selektierten PROFIenergy-Modus

• Befehl "Query_Measurement", Modifier: – 01 (Get_Measurement_List):

Liest alle projektierten Measure-ment_IDs.

– 02 (Get_Measurement_Values): Liest die Messwerte der selektierten Measurement_IDs.

Page 191: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 191

Parameter Deklaration Datentyp Wertebereich Beschreibung CMD_PARA OUTPUT ANY Any-Pointer auf Parameter für die folgenden

Befehls-Modifier (vgl. Parameter CMD_MODIFIER): • Für "Get_Mode":

PE_Mode_ID (ID des Energiesparmo-dus)Länge = 1

• Für "Get_Measurement_Values":Messwerte der Measurement_IDs Länge = max. 236 Byte (komplettes Te-legramm des Controller-Befehls ohne Header)

INDEX OUTPUT INT Nummer des PROFIenergy-Datensatzes (80A0h)

NEW OUTPUT BOOL 0: Bearbeitung noch nicht be-gonnen, abgeschlossen oder abgebrochen 1: Bearbeitung läuft

Anzeigen des Bearbeitungs-Status des Programmbausteins

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige Zur Bedeutung im Zusammenhang mit dem Parameter STATUS siehe Anzeigen von PE_I_DEV_CP (Seite 191).

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit dem Parameter ERROR siehe Anzeigen von PE_I_DEV_CP (Seite 191).

RESPONSE _DATA

INOUT ANY Siehe "Antwortdaten" des Pro-grammbausteins

Zeiger auf den Datenbereich der Antwort des IO-Device (komplettes Antwort-Telegramm inklusive Header). Der Datenbereich muss mit dem Datenbe-reich der ergänzenden Programmbausteine FC 0 - FC 8 (Parameter "DATA_ERRORRSP") übereinstimmen. Empfohlene Größe: Mind. 244 Byte. Wenn der Datenbereich zu klein ist, werden nur die Daten der projektierten Bytes übertragen.

3.3.5.3 Anzeigen von PE_I_DEV_CP

Anzeigen von PE_I_DEV_CP PE_I_DEV_CP basiert auf dem Programmbaustein PNIO_RW_REC und liefert alle Anzeigen von PNIO_RW_REC, siehe Anzeigen des Bausteins PNIO_RW_REC.

Siehe auch Anzeigen des Bausteins PNIO_RW_REC (Seite 164)

Page 192: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 192 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.3.6 Ergänzende Programmbausteine für PE_I_DEV_CP

3.3.6.1 Übersicht der FCs

Funktion Die ergänzenden Programmbausteine FC 0 bis FC 8 unterstützen das Bereitstellen der Antwortdaten, welche PE_I_DEV_CP dem Controller zur Verfügung stellt:

● Für die Antwortdaten jedes PROFIenergy-Befehls gibt es einen separaten Programmbaustein (FC 1 - FC 8).

● FC 0 generiert eine gemeinsame negative Antwort für alle PROFIenergy-Befehle.

Die FCs werden im Anwenderprogramm aufgerufen. In STEP 7 V5.5 werden sie in der Standard-Bibliothek im Ordner "PROFIenergy" zur Verfügung gestellt.

Die FCs besitzen einige gemeinsame Parameter und jeweils individuelle Parameter. Einige der gemeinsamen Parameter der FCs werden mit Parametern von PE_I_DEV_CP verschaltet. An manchen der individuellen Eingangsparametern der FCs werden die Antwortdaten anwenderseitig als Klartext eingegeben bzw. im Speicherbereich des IO-Device hinterlegt.

Übersicht der FCs Folgende ergänzende Programmbausteine werden zur Verfügung gestellt:

Tabelle 3- 7 Übersicht der ergänzenden FCs

Nummer Name FC 0 PE_ERROR_RSP FC 1 PE_START_RSP FC 2 PE_END_RSP FC 3 PE_LIST_MODES_RSP FC 4 PE_GET_MODE_RSP FC 5 PE_PEM_STATUS_RSP FC 6 PE_IDENTIFY_RSP FC 7 PE_MEASUREMENT_LIST_RSP FC 8 PE_MEASUREMENT_VALUE_RSP

Siehe auch Individuelle Parameter der FCs (Seite 194)

Page 193: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 193

3.3.6.2 Verschaltung der FCs mit PE_I_DEV_CP

Verschaltung der FCs mit dem Programmbaustein PE_I_DEV_CP

Bild 3-2 Verschaltung der FCs mit PE_I_DEV_CP

Hinweis Verschaltung der Programmbausteine ist zwingend erforderlich

PE_I_DEV_CP muss an den hellblau hinterlegten Parametern, die durch rote Pfeile den entsprechenden Parametern der FCs zugeordnet sind, mit FC 0...FC 8 verschaltet werden.

Page 194: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 194 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.3.6.3 Gemeinsame Parameter der FCs

Gemeinsame Parameter der ergänzenden Programmbausteine FC 0 - FC 8 Parameter Deklaration Datentyp Wertebereich Beschreibung Eingangsparameter ACTIVATE INPUT BOOL Veranlasst den Baustein mit steigender

Flanke, die Eingangsparameter in den Da-tenbereich "DATA_ERRORRSP" zu kopie-ren. Wird danach vom Baustein zurückgesetzt. Muss innerhalb von 10 Sekunden, nachdem an PE_I_DEV_NEW eine positive Flanke erkannt wurde, vom Anwender gesetzt werden.

PE_I_DEV_NEW INPUT BOOL Muss mit dem Ausgangsparameter NEW von PE_I_DEV_CP verschaltet werden. Der Baustein wird nur bearbeitet, wenn 1 ansteht.

CMD INPUT INT Muss mit dem Ausgangsparameter CMD von PE_I_DEV_CP verschaltet werden.

CMD_MODIFIER INPUT INT Muss mit dem Ausgangsparameter CMD_MODIFIER von PE_I_DEV_CP ver-schaltet werden.

Ausgangsparameter DATA_ERRORRSP OUTPUT ANY Zeiger auf den Datenbereich, in dem die

Antwortdaten abgelegt werden (komplettes Antwort-Telegramm inklusive Header). Muss mit dem Ausgangsparameter RESPONSE_DATA von PE_I_DEV_CP verschaltet werden. Empfohlene Größe: Mind. 244 Byte.

VALID OUTPUT BOOL 0: - 1: Kein Fehler

Wird vom Baustein gesetzt. Muss mit dem Eingangsparameter VALID von PE_I_DEV_CP verschaltet werden.

ERROR OUTPUT BOOL 0: Kein Fehler 1: Fehler

Fehleranzeige

STATUS OUTPUT WORD 0: Kein Fehler Statusanzeige 80B1h: Fehler bei der ANY-Angabe (z. B. falscher Bereich)

3.3.6.4 Individuelle Parameter der FCs

Individuelle Parameter von FC 0 bis FC 8 Nachfolgend finden Sie die Beschreibung der individuellen Parameter der FCs.

Page 195: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 195

PE_ERROR_RSP Generiert eine negative Antwort, falls der anfordernde PROFIenergy-Befehl generell oder temporär nicht unterstützt wird. Die negative Antwort ist unabhängig vom anfordernden Befehl.

Tabelle 3- 8 Individuelle Parameter von FC 0 PE_ERROR_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung ERROR_CODE INPUT BYTE Fehlernummer

PE_START_RSP Leitet eine Energiesparpause ein. Generiert die Antwort auf den Befehl "Start_Pause". Gibt zurück, welchen Energiesparmodus das Gerät einnimmt.

Tabelle 3- 9 Individuelle Parameter von FC 1 PE_START_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung PE_Mode_ID INPUT BYTE ID des Energiesparmodus, den das Gerät

oder die Aggregategruppe einnimmt.

Rückmeldung der PE_Mode_ID des Energiesparmodus, den das Feldgerät oder die Aggregategruppe eingenommen hat.

PE_END_RSP Generiert die Antwort auf den Befehl "End_Pause".

Tabelle 3- 10 Individuelle Parameter von FC 2 PE_END_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung Time_to_Operate INPUT DWORD Zeit, die benötigt wird, um vom aktuellen

Energiesparmodus nach "Betriebsbereit" (Ready_to_Operate) zu wechseln.

PE_LIST_MODES_RSP Generiert die Antwort auf den Befehl "Query_Modes" > Modifier "List_Modes" (Liste der unterstützen Energiesparmodi).

Die IDs der Energiesparmodi sind im Anwenderprogramm festzulegen.

Tabelle 3- 11 Individuelle Parameter von FC 3 PE_LIST_MODES_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung Number_of_PE_Mode_IDs INPUT BYTE Anzahl der unterstützen Energiesparmodi PE_Mode_ID INPUT ANY • 00h

• 01h...FEh • FFh

Zeiger auf den Bereich, in dem die Energie-sparmodi hinterlegt sind. Als Anwender müssen Sie hier die IDs der Energiesparmodi hinterlegen. Eine Energie-sparmodus-ID wird im Format Unsigned8 pro-jektiert. Zulässiger Bereich: 1 bis 254 Byte.

Page 196: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 196 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Wenn die Geräte einer Gruppe bei verschieden langen Pausen unterschiedlich reagieren sollen, dann können Sie hierfür unterschiedliche Energiesparmodi (PE_Mode) einrichten. Den unterschiedlichen Energiesparmodi weisen Sie eine unterschiedliche PE_Mode_ID zu.

Mögliche Werte für "PE_Mode_ID":

● 00h: PE_Power_off (Spannungsversorgung AUS)

● 01h...FEh: Frei projektierbar bzw. herstellerspezifisch

● FFh: PE_Ready_to_operate (Betriebsbereit)

PE_GET_MODE_RSP Generiert die Antwort auf den Befehl "Query_Modes" > Modifier "Get_Mode".

Tabelle 3- 12 Individuelle Parameter von FC 4 PE_GET_MODE_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung PE_Mode_ID INPUT BYTE Aktuell verwendete Energiesparmodus-ID Time_Min_Pause * INPUT Unsigned32 Min. Pausendauer für diesen PE-

Energiesparmodus. Es ist die Summe der drei Parameter: • Time_to_Pause • Time_to_operate • Time_min_length_of_stay

Time_to_Pause * INPUT Unsigned32 Zeitdauer von der START-Flanke bis zum Erreichen des angeforderten Energiesparmo-dus

Time_to_operate * INPUT Unsigned32 Max. Einschaltdauer bis PE_ready_to_operate Time_to_operate kann direkt verwendet wer-den für entsprechende Berechnungen. Der Wert kann entweder ein statischer MAX-Wert sein oder vom PE-Device dynamisch berech-net werden.

Time_min_length_of_stay * INPUT Unsigned32 Minimale Zeitdauer, die das PE-Device in diesem PE_Mode verbleiben muss.

Time_max_length_of_stay * INPUT Unsigned32 Maximale Zeitdauer, die das PE-Device in diesem PE_Mode verbleiben kann.

Mode_Power _Consumption **

INPUT Float32 Energieverbrauch im aktuellen PE_Mode [kW]

Energy_Consumption _to_pause **

INPUT Float32 Energieverbrauch von PE_ready_to_operate bis zum aktuellen PE_Mode [kWh]

Energy_Consumption _to_operate **

INPUT Float32 Energieverbrauch vom aktuellen PE_Mode bis PE_ready_to_operate [kWh]

* Das PROFIenergy Profile spezifiziert kein ungültiges Zeitformat. Wenn die Zeitdauer unbegrenzt ist, kann der max. Wert FFFFFFFFh angegeben werden. Wenn die Zeitdauer null ist, kann 00h verwendet werden.

** Wenn ein Energieverbrauchswert nicht definiert ist, kann 0,0 (Float32) angegeben werden.

Page 197: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 197

PE_PEM_STATUS_RSP Generiert die Antwort auf den Befehl "PEM_STATUS".

Tabelle 3- 13 Individuelle Parameter von FC 5 PE_PEM_STATUS_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung PE_Mode_ID_Source INPUT BYTE • 00h

• 01h...FEh • FFh

ID des tatsächlich eingenommenen Energie-sparmodus

PE_Mode_ID_Destination INPUT BYTE • 00h • 01h...FEh • FFh

ID des vom Controller vorgegebenen Energie-sparmodus

Time_to_operate * INPUT Unsigned32 Max. Einschaltdauer bis PE_ready_to_operate Time_to_operate kann direkt verwendet wer-den für entsprechende Berechnungen. Der Wert kann entweder ein statischer MAX-Wert sein oder vom PE-Device dynamisch berech-net werden.

Remaining_time_to _destination *

INPUT Unsigned32 Optional: verbleibende Zeit bis zum angefor-derten PE_Mode. Dynamischer Wert oder statischer MAX-Wert

Mode_Power _Consumption **

INPUT Float32 Energieverbrauch im aktuellen PE_Mode [kW]

Energy_Consumption _to_Destination **

INPUT Float32 Energieverbrauch bis zum angeforderten PE_Mode [kWh]

Energy_Consumption _to_operate **

INPUT Float32 Energieverbrauch vom aktuellen PE_Mode bis PE_ready_to_operate [kWh]

* Das PROFIenergy Profile spezifiziert kein ungültiges Zeitformat. Wenn die Zeitdauer unbegrenzt ist, kann der max. Wert FFFFFFFFh angegeben werden. Wenn die Zeitdauer null ist, kann 00h verwendet werden.

** Wenn ein Energieverbrauchswert nicht definiert ist, kann 0,0 (Float32) angegeben werden.

Mögliche Werte für "PE_Mode_ID_Source" und "PE_Mode_ID_Destination":

● 00h: PE_Power_off (Spannungsversorgung AUS)

● 01h...FEh: Frei projektierbar bzw. herstellerspezifisch

● FFh: PE_Ready_to_operate (Betriebsbereit)

PE_IDENTIFY_RSP Generiert die Antwort auf den Befehl "PE_Identify".

Als Anwender müssen Sie angeben, welche PROFIenergy-Befehle unterstützt werden.

Page 198: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 198 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 3- 14 Individuelle Parameter von FC 6 PE_IDENTIFY_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung Count INPUT BYTE 0...6 Anzahl der unterstützten PROFIenergy-

Befehle Start_Pause INPUT BOOL 0...1 • 1: Befehl wird unterstützt

• 0: Befehl wird nicht unterstützt

End_Pause INPUT BOOL 0...1 • 1: Befehl wird unterstützt • 0: Befehl wird nicht unterstützt

Query_Modes INPUT BOOL 0...1 • 1: Befehl wird unterstützt • 0: Befehl wird nicht unterstützt

PEM_Status INPUT BOOL 0...1 • 1: Befehl wird unterstützt • 0: Befehl wird nicht unterstützt

PEM_Identify INPUT BOOL 0...1 • 1: Befehl wird unterstützt • 0: Befehl wird nicht unterstützt

Query_Measurement INPUT BOOL 0...1 • 1: Befehl wird unterstützt • 0: Befehl wird nicht unterstützt

PE_MEASUREMENT_LIST_RSP Generiert die Antwort auf den Befehl "Query_Measurement" > Modifier "Get_Measurement_List".

Tabelle 3- 15 Individuelle Parameter von FC 7 PE_MEASUREMENT_LIST_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung Count INPUT BYTE Anzahl der unterstützten Messwert-IDs (Mea-

surement_ID) Measurement_List INPUT ANY Zeiger auf den Datenbereich mit den unter-

stützten Messwert-IDs. Als Anwender müssen Sie in diesem Datenbe-reich die Messwert-IDs hinterlegen. Pro Telegramm können maximal 29 Messwert-IDs übertragen werden. Zum Aufbau des Arrays siehe Kapitel Antwort-daten (Seite 182) > "Query_Measurement" – Get_Measurement_List.

Page 199: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 199

PE_MEASUREMENT_VALUE_RSP Generiert die Antwort auf den Befehl "Query_Measurement" > Modifier "Get_Measurement_Values".

Tabelle 3- 16 Individuelle Parameter von FC 8 PE_MEASUREMENT_VALUE_RSP

Parameter Deklaration Datentyp Wertebereich Beschreibung Count INPUT BYTE Anzahl der unterstützten Measurement_Values Measurement_Values INPUT ANY Zeiger auf den Datenbereich der Messwerte

(Measurement_Values). Als Anwender müssen Sie die Messwerte in diesem Datenbereich hinterlegen. Pro Telegramm können maximal 116 Mess-werte übertragen werden. Zum Aufbau des Arrays siehe Kapitel Antwort-daten (Seite 182) > "Query_Measurement" – Get_Measurement_List.

3.3.7 DS3_WRITE_CP / PE_DS3_Write_ET200S_CP Die nachfolgende Beschreibung des Programmbausteins DS3_WRITE_CP gilt gleichermaßen für den PE_DS3_Write_ET200S_CP für STEP 7 Professional, welcher funktionsgleich ist.

3.3.7.1 Bedeutung und Aufruf - DS3_WRITE_CP

Bedeutung und Arbeitsweise In der CPU des CP 300 als PROFIenergy-Controller wird DS3_WRITE_CP eingesetzt, um Einstellungen des Schaltverhaltens von Powermodulen an eine ET 200S zu übertragen. Das Schaltverhalten für bis zu 8 Steckplätze (hier: Powermodule) kann übertragen werden.

DS3_WRITE_CP ist kein PROFIenergy-Programmbaustein.

Page 200: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs 200 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufrufschnittstelle in FUP-Darstellung

Aufrufschnittstelle in AWL-Darstellung AWL Erläuterung

CALL FB 53, DB 53 ( CPLADDR := W#16#0110, ENABLE := M 1.1, ID := W#16#86A, SLOT_NO_1 := W#16#1000, FUNC_1 := M 2.1, ... ... BUSY := M 1.2, DONE := M 1.3, ERROR := M 1.4, STATUS := MW 12 );

//Programmbaustein DS3_WRITE_CP aufrufen; //Baugruppen-Adresse aus Hardware-Konfiguration; //Adresse für Flankensignal zur Bausteinausführung; //Adresse des Header-Steckplatzes des IO-Device; //Logische Adresse von Powermodul 1; //Adresse des Werts des Schaltverhaltens von Powermodul 1; //... //... //Adresse für Rückgabeparameter BUSY; //Adresse für Rückgabeparameter DONE; //Adresse für Rückgabeparameter ERROR; //Adresse für Rückgabeparameter STATUS

3.3.7.2 Erläuterung der Formalparameter von DS3_WRITE_CP

Erläuterung der Formalparameter von DS3_WRITE_CP Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD E, A, M, D, L, Konst. Baugruppen-Anfangsadresse des CP ENABLE INPUT BOOL Beginnt mit steigender Flanke die Bearbei-

tung des Programmbausteins. ID INPUT WORD Logische Adresse des Header-Steckplatzes

des IO-Device SLOT_NO_1 INPUT INT Steckplatznummer des ersten Powermoduls

Page 201: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 201

Parameter Deklaration Datentyp Wertebereich Beschreibung FUNC_1 INPUT INT Festlegung des Schaltverhaltens für das

Powermodul bezüglich Start bzw. Ende der Energiesparpausen • 0 (FALSE)

– PAUSE_START:

Kein Einfluss (Powermodul bleibt eingeschaltet)

– PAUSE_STOP:

Schaltet Powermodul wieder ein. • 1 (TRUE)

– PAUSE_START:

Schaltet Powermodul aus. – PAUSE_STOP:

Schaltet Powermodul wieder ein. ... INPUT INT ... INPUT INT SLOT_NO_8 INPUT INT Steckplatznummer des achten Powermoduls FUNC_8 INPUT INT Siehe "FUNC_1" BUSY OUTPUT BOOL 0: Bearbeitung noch nicht be-

gonnen, abgeschlossen oder abgebrochen 1: Bearbeitung läuft

Anzeige des Bearbeitungs-Status des Pro-grammbausteins

DONE OUTPUT BOOL 0: - 1: Datensatz erfolgreich über-tragen

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde.

ERROR OUTPUT BOOL 0: - 1: Fehler

Fehleranzeige

STATUS OUTPUT WORD Statusanzeige

Zur Bedeutung von DONE, ERROR und STATUS siehe Anzeigen von DS3_WRITE_CP (Seite 201).

3.3.7.3 Anzeigen von DS3_WRITE_CP

Anzeigen von DS3_WRITE_CP DS3_WRITE_CP basiert auf dem Programmbaustein PNIO_RW_REC und liefert alle Anzeigen von PNIO_RW_REC, siehe Anzeigen des Bausteins PNIO_RW_REC.

Siehe auch Anzeigen des Bausteins PNIO_RW_REC (Seite 164)

Page 202: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET IO (S7-300) 3.4 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFINET)

Programmbausteine für SIMATIC NET S7-CPs 202 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

3.4 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFINET)

Ressourcen-Bedarf

Hinweis

Beachten Sie die Versionsangabe der Bausteine. Die aktuell mitgelieferten Bausteinversionen können von den hier angegebenen Bausteinversionen abweichen. Bei Bausteinen mit anderen Ausgabeständen kann der Ressourcenbedarf abweichen.

Angaben zu den aktuellen Bausteinversionen finden Sie unter folgender Beitrags-ID:

Link: (https://support.industry.siemens.com/cs/ww/de/view/9836605)

Tabelle 3- 17 Angaben für FCs / FBs bei S7-400

NAME Version FC/FB Nr. Ladespeicher-Bedarf [Byte]

Arbeitsspeicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

PN_InOut 1.3 FB88 2678 2234 2198 48 PN_InOut_Fast 1.0 FB90 2906 2266 2230 48

Tabelle 3- 18 Angaben für FCs / FBs bei S7-300

NAME Version FC/FB Nr. Ladespeicher-Bedarf [Byte]

Arbeitsspeicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

PN_InOut 1.5 FB88 2470 2066 2030 54 PNIO_SEND 3.0 FC11 1420 1182 1146 46 PNIO_RECV 3.0 FC12 1270 1052 1016 46 PNIO_RW_REC 1.1 FB52 1636 1378 1342 62 PNIO_ALARM 1.1 FB54 1168 960 924 62 PE_START_END_CP

1.0 FB85 3286 2808 2772 92

PE_CMD_CP 1.0 FB86 3750 3264 3228 358 PE_I_DEV_CP 1.0 FB87 3192 2902 2866 114 DS3_WRITE_CP 1.0 FB53 1716 1408 1372 84

Page 203: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 203

Programmbausteine für PROFINET CBA 4 4.1 PN_InOut / PN_InOut_Fast - Bedeutung und Aufruf

Bedeutung und Arbeitsweise Der Baustein FB88 / FB90 hat die Aufgabe, Daten aus dem Interface-DB in den CP sowie aus dem CP in den Interface-DB zu übertragen. Der Interface-DB selbst ist die Schnittstelle zum Anwenderprogramm.

Der FB88 / FB90 ist hierzu zyklisch aufzurufen. Es ist auch möglich, den FB88 / FB90 in einem Zyklus mehrfach aufzurufen.

An der Schnittstelle ist der FB88 / FB90 ausschließlich mit der Baugruppenadresse des CP zu versorgen.

Um eine Datenkonsistenz zu gewährleisten, dürfen Sie die zu übertragenden Daten erst dann verändern oder mit dem Lesen der Empfangsdaten erst beginnen, wenn der Auftrag abgeschlossen ist (DONE=1 oder ERROR=1).

Sobald DONE=1 oder ERROR=1 gesetzt sind, ist die Übertragung abgeschlossen beziehungsweise mit Fehlermeldung beendet. Daten können jetzt ausgewertet beziehungsweise wieder neu gesetzt werden. Erst mit dem nächsten Aufruf werden wieder Daten übertragen.

Sorgen Sie in Ihrem Anwenderprogramm dafür, dass der FB88 / FB90 nach einer abgeschlossenen Übertragung erst dann wieder aufgerufen wird, nachdem alle Eingangsdaten übernommen und alle Ausgangsdaten in den Interface-DB geschrieben sind.

Der zeitgesteuerte Aufruf der Bausteine FB88 / FB90 ist prinzipiell zulässig. Beachten Sie weitere Hinweise zu dieser Betriebsart weiter unten in diesem Kapitel.

Unterschiede zwischen FB88 und FB90 Die Funktionsbausteine FB90 und FB88 verhalten sich an der Schnittstelle zum Anwenderprogramm weitgehend identisch. Den FB90 können Sie bei bestimmten CP-/CPU-Typen bei S7-400 verwenden; achten Sie auf die Angaben im Gerätehandbuch des CPs.

Wenn der FB90 für den verwendeten CP-Typ zugelassen ist, wird empfohlen, diesen einzusetzen. Sie erzielen damit kürzere Reaktionszeiten als mit dem FB88. Beachten Sie aber die Randbedingungen zum Einsatz.

Im Einzelnen gilt:

● die Schnittstellenparameter sind identisch;

● es gibt beim FB90 einige zusätzliche Anzeigen im Parameter STATUS;

Page 204: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET CBA 4.1 PN_InOut / PN_InOut_Fast - Bedeutung und Aufruf

Programmbausteine für SIMATIC NET S7-CPs 204 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

● bei einigen Fehlern gibt es beim FB88 und beim FB90 unterschiedliche Anzeigen im Parameter STATUS;

● es gibt Unterschiede im Mengengerüst des Interface DB (siehe jeweiliges Gerätehandbuch).

Hinweis

Zum Aufbau und zur Hantierung des Interface-DB finden Sie ausführliche Informationen in der SIMATIC iMap-Dokumentation.

Hinweis

Beim Überladen / Nachladen von Anwenderprogramm-Bausteinen ist die Datenkonsistenz nur dann gewährleistet, wenn die CPU vorher in den STOP Zustand gebracht wird.

Lieferform - Bausteinbibliothek Der FB88 und der FB90 werden zusammen mit SIMATIC iMap geliefert. Es gibt unterschiedliche Bausteintypen für S7-300 und S7-400.

Die Programmbausteine stehen nach der Installation von SIMATIC iMap in der STEP 7-Bibliothek "PROFINET System-Library/CP300/Blocks" bzw. " PROFINET System-Library/CP400/Blocks zur Verfügung.

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Aufrufbeispiel in AWL-Darstellung

AWL Erläuterung

Call FB 88 , DB88 ( LADDR := W#16#0120, DONE := M 99.1, ERROR := M 99.0, STATUS := MW 104);

//Bausteinaufruf mit Instanz DB88

Page 205: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET CBA 4.2 Erläuterung der Formalparameter - PN_InOut / PN_InOut_Fast

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 205

4.2 Erläuterung der Formalparameter - PN_InOut / PN_InOut_Fast

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für den FB88 / FB90:

Parameter Deklaration Datentyp Beschreibung LADDR INPUT WORD Baugruppen-Anfangsadresse

Bei der Konfiguration des CP wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausgegeben. Geben Sie diese Adresse hier an. Da jeweils nur ein CP im Rack den Betrieb mit PROFINET CBA un-terstützt, darf dieser Parameter nicht verändert werden.

DONE OUTPUT BOOL Meldet den (positiven) Abschluss einer Auftragsausführung. ERROR OUTPUT BOOL Meldet, wenn der Auftrag nicht fehlerfrei ausgeführt werden konnte. STATUS OUTPUT WORD Der Parameter liefert Detailinformation zur Auftragsausführung. Sta-

tusanzeigen können bereits während der Auftragsausführung geliefert werden (DONE=0 und ERROR=0).

4.3 Anzeigen der Bausteine PN_InOut und PN_InOut_Fast

Statusanzeigen auswerten Beachten Sie, dass die Statusanzeigen DONE, ERROR, STATUS bei jedem Bausteinaufruf aktualisiert werden.

Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Tabelle 4- 1 Anzeigen PN_InOut (FB88) und PN_InOut_Fast (FB90)

DONE ERROR STATUS Bedeutung 1 0 0000H Auftrag fertig ohne Fehler. 0 0 0000H Kein Auftrag in Bearbeitung; der Baustein ist aufrufbar. 0 0 8181H • Auftrag läuft.

oder • (nur bei FB90) : Verbindungsaufbau zur adressierten Baugruppe läuft (siehe auch

Angaben unter 8090H ).

0 1 8183H (nur bei S7-300) Der Dienst wurde noch nicht gestartet; Datenübernahme ist noch nicht möglich.

0 1 8184H • Fehlerhafter Instanz-DB, in der Regel ausgelöst durch unzulässiges Beschreiben des Instanz-DBs seitens des Anwenderprogrammes.

oder • (nur bei FB90)

Fehlerhafter Sende- oder Empfangsauftrag.

Page 206: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET CBA 4.3 Anzeigen der Bausteine PN_InOut und PN_InOut_Fast

Programmbausteine für SIMATIC NET S7-CPs 206 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Bedeutung 0 1 8085H (nur bei FB90)

Der Interface-DB ist fehlerhaft. 0 1 8090H (nur bei S7-400)

Parametrierfehler Es wurde eine falsche Baugruppenadresse angegeben; die Adresse zeigt auf einen leeren Steckplatz. Hinweis (nur bei FB90): In folgenden Fällen wird im STATUS der Wert 8181H angezeigt (Auftrag läuft); tatsäch-lich findet jedoch keine Kommunikation statt: • Die Adresse zeigt auf einen Steckplatz , der mit einem anderen Baugruppentyp

belegt ist. • Die adressierte Baugruppe ist nicht für den PROFINET CBA-Betrieb projektiert.

0 1 80A1H (nur bei FB90) Mögliche Kommunikationsfehler: • Stationsinterne Verbindung zur adressierten Baugruppe wird abgebaut; • Das Mengengerüst für Verbindungen der CPU ist überschritten; • Die Schnittstelle wird neu initialisiert.

0 1 80B0H (nur bei S7-300) Bausteinfehler: die Datensatznummer ist falsch. Dieser Status kann auch nach folgenden Vorgängen auftreten: • Neuanlauf bzw. einem Wiederanlauf nach Netz AUS/EIN • Neuanlauf bzw. einem Wiederanlauf der CPU

0 1 80B1H (nur bei S7-300) Bausteinfehler: Datensatzlänge oder Offset sind falsch.

0 1 80B3H (nur bei S7-300) Parameterfehler: falsche CP-Adresse.

0 1 80C1H (nur bei S7-300) Temporärer Fehler: Der angegebene Datensatz ist gerade in Bearbeitung.

0 1 80C2H (nur bei S7-300) Temporärer Fehler: Es liegt ein Auftragsstau vor; der Datensatz kann noch nicht gele-sen werden.

0 1 80C3H (nur bei S7-300) Temporärer Fehler: Betriebsmittel (Speicher) belegt.

0 1 80C4H (nur bei S7-300) Kommunikationsfehler: tritt temporär auf; daher ist Wiederholung im Anwenderpro-gramm sinnvoll.

0 1 80D0H (nur bei S7-300) Projektierungsfehler: Die maximale Anzahl der Ein- und Ausgabedatenblöcke ist überschritten; der Interface DB ist zu groß.

Page 207: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET CBA 4.3 Anzeigen der Bausteine PN_InOut und PN_InOut_Fast

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 207

DONE ERROR STATUS Bedeutung 0 1 80D1H (nur bei S7-300)

Projektierungsfehler Mögliche Ursachen: • Die Schnittstelle der projektierten Komponente stimmt nicht mit der im Programm

verwendeten überein (Ausgänge). • Es wurde eine falsche Baugruppe gesteckt; der PROFINET-Dienst wird nicht unter-

stützt.

0 1 80D2H (nur bei S7-300) Projektierungsfehler Mögliche Ursachen: • Die Schnittstelle der projektierten Komponente stimmt nicht mit der im Programm

verwendeten überein (Eingänge). • Es wurde eine falsche Baugruppe gesteckt; der PROFINET-Dienst wird nicht unter-

stützt. • Parameterfehler: falsche CP-Adresse

0 1 8322H (nur bei FB90) Der Interface-DB ist fehlerhaft.

0 1 8332H (nur bei FB90) Die Nummer des Interface-DB ist zu groß.

0 1 833AH (nur bei FB90) Der Zugriff auf den Interface-DB ist nicht möglich (beispielsweise weil der Interface-DB gelöscht wurde).

0 1 8623H (nur bei FB90) Der Interface-DB ist fehlerhaft.

0 1 863AH (nur bei FB90) Der Zugriff auf den Interface-DB ist nicht möglich (beispielsweise weil der Interface-DB gelöscht wurde).

Welche SFCs genutzt werden, die für die Fehlerauswertung relevant sind, können Sie über den Eigenschaftendialog des hier beschriebenen FBs im Register "Aufrufe" anzeigen lassen."

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH (bei S7-300) bzw. 8xxxH (bei S7-400) unter STATUS auch die Angaben im Referenzhandbuch STEP 7 Standard und Systemfunktionen. Sie finden dort Hinweise im Kapitel "Fehlerauswertung mit dem Ausgangsparameter RET_VAL"

Page 208: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFINET CBA 4.4 Zeitgesteuerter Aufruf PN_InOut / PN_InOut_Fast - Empfehlung zur Anwendung

Programmbausteine für SIMATIC NET S7-CPs 208 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Statusanzeigen beim CP-Anlauf Bei einem Neu-/Wiederanlauf des PROFINET-CP (z. B. wegen Schalterbetätigung), werden die Ausgabeparameter des Bausteines wie folgt zurückgesetzt:

● DONE = 0

● ERROR = 0

● STATUS = 8181H

4.4 Zeitgesteuerter Aufruf PN_InOut / PN_InOut_Fast - Empfehlung zur Anwendung

Zeitgesteuerter Aufruf - Empfehlung zur Anwendung Wenn in Ihrer Anwendung anstelle einer zyklischen oder ereignisgesteuerten Bearbeitung eine zeitgesteuerte Übertragung der CBA-Daten erforderlich ist, empfehlen wir Ihnen die nachfolgend beschriebene Vorgehensweise für den Aufruf der Bausteine FB88 / FB90.

Beim zeitgesteuerten Aufruf müssen Sie darauf achten, dass der Baustein, nachdem er einmal gestartet wurde, bis zum Setzen der Ausführungsbestätigung (DONE-Flag) wiederholt aufgerufen werden muss. Damit die CBA Daten ohne längere Unterbrechung zwischen CPU und CP kopiert werden können, sollten diese Folgeaufrufe von der Zeitsteuerung entkoppelt schnellstmöglich erfolgen.

Beachten Sie daher folgende Empfehlungen für die Programmierung:

● Die Zeitsteuerung erfolgt über einen Zeit-OB; der Zeit-OB sollte hierzu nur den Erstaufruf der PROFINET CBA-Bausteine FB88 oder FB90 veranlassen, indem er diese nicht direkt aufruft, sondern indem er beispielsweise ein Start-Flag setzt.

Der Zyklus für den Aufruf des Zeit-OB sollte eine Dauer von 30 s nicht überschreiten.

● Der Aufruf der PROFINET CBA-Bausteine FB88 und FB90 sollte dann grundsätzlich im OB1 erfolgen; der OB1 startet den Aufruf, sobald das Start-Flag vom Zeit-OB gesetzt wurde.

● Nach dem Erstaufruf der Bausteine sind diese im OB1 wiederholt bis zum Setzen des DONE-Bits (bzw. bis zum Auftreten eines Fehlers) aufzurufen; das Start-Flag ist nach diesem Vorgang wieder zurückzusetzen.

Ergebnis: Die CBA-Anwenderdaten können durch diese Entkopplung des Zeit-OB von den eigentlichen Bausteinaufrufen im OB1 ohne wesentliche Unterbrechung zwischen CPU und CP kopiert werden; den Zeitabstand zwischen den Erstaufrufen können Sie hierbei je nach Anforderung beliebig wählen.

Page 209: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 209

Programmbausteine für PROFIBUS 5 5.1 Programmbausteine für Offene Kommunikationsdienste

(SEND/RECEIVE-Schnittstelle)

5.1.1 Anwendung in der Übersicht

Übersicht Für die Übertragung von Daten über projektierte FDL-Verbindungen stehen folgende Programmbausteine für die SEND/RECEIVE-Schnittstelle zur Verfügung: Programmbaustein verwendbar bei 1) Bedeutung

S7-300 S7-400 AG_SEND (FC5) x x für Daten Senden AG_RECV (FC6) x x für Daten empfangen AG_LSEND (FC50) x für Daten Senden AG_LRECV (FC60) x für Daten empfangen 1) Anmerkungen zu den FCs bei S7-300 und S7-400

Um die Kompatibilität von PROFIBUS und Ind. Ethernet an der Schnittstelle im Anwenderpro-gramm zu gewährleisten, können die FCs AG_LSEND und AG_LRECV bei PROFIBUS alternativ zu AG_SEND bzw. AG_RECV verwendet werden. Es gibt keine Unterschiede an der Schnittstelle und im Verhalten. Bei PROFIBUS können Sie aber auch mit diesen FCs, die bei Ind. Ethernet für die Übertragung langer Datensätze bestimmt sind, nur Datenmengen bis max. 240 Byte übertra-gen. Voraussetzung ist, dass der Bausteintyp und die Bausteinversion für den verwendeten CP-Typ zugelassen sind. Bei den S7-CPs für S7-300 werden ausschließlich die FCs AG_SEND und AG_RECV verwendet; bei Industrial Ethernet auch für die Übertragung langer Datensätze. Die Gerätehandbücher geben Auskunft über die Kompatibilität der S7-CPs und der zugehörenden Bausteine (FCs / FBs). Eine Übersicht über die Versionen der FCs/FBs finden Sie in der Doku-mentations- und Bausteinhistorie.

Page 210: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 210 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Anwendung Die folgende Darstellung verdeutlicht die Anwendung der FC-Bausteine AG_SEND / AG_LSEND und AG_RECV / AG_LRECV für den bidirektionalen Datentransfer über eine projektierte FDL-Verbindung. Bei bestimmten Verbindungstypen ist im Anwenderdatenbereich ein Auftragsheader vorzusehen.

Bild 5-1 AG_SEND und AG_RECV bei beiden Kommunikationspartnern verwenden

Anwendung ohne Auftragsheader Bei spezifizierter FDL-Verbindung sind Adress- und Auftragsparameter durch die Verbindungsprojektierung festgelegt. Das Anwenderprogramm stellt daher nur die Nutzdaten im FDL-Datenbereich beim Senden mit AG_SEND / AG_LSEND bereit, bzw. empfängt diese mit AG_RECV / AG_LRECV.

Es können bis zu 240 Byte Nutzdaten übertragen werden. Diese Angabe gilt bei PROFIBUS für den FC AG_SEND und den FC AG_LSEND.

Anwendung mit Auftragsheader Folgende Verbindungstypen erfordern einen Auftragsheader im FDL-(Anwender-)Datenbereich:

● Unspezifizierte FDL-Verbindung mit freiem Layer 2 Zugang

● FDL-Verbindung mit Broadcast

● FDL-Verbindung mit Multicast

Entnehmen Sie der folgenden Darstellung die Struktur des Auftragspuffers und die Bedeutung und Platzierung der Parameter im Auftragsheader.

Page 211: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 211

Bild 5-2 Senden und Empfangen über eine FDL-Verbindung mit Broadcast-Adressierung per

Programm

Der Anwender-Datenbereich kann bis zu 240 Byte umfassen. Es können bis zu 236 Byte Nutzdaten übertragen werden. 4 Byte sind für den Auftragsheader reserviert.

Beachten Sie, dass die beim Bausteinaufruf angegebene Datenlänge (Parameter LEN) den Header und die Nutzdaten umfassen muss!

5.1.2 AG_SEND / AG_LSEND

5.1.2.1 Bedeutung und Aufruf - AG_SEND / AG_LSEND

Bedeutung des Bausteins Der Programmbaustein AG_SEND / AG_LSEND übergibt Daten an den PROFIBUS-CP zur Übertragung über eine projektierte FDL-Verbindung.

Der angegebene Datenbereich kann ein PA-Bereich, ein Merkerbereich oder ein Datenbausteinbereich sein.

Eine fehlerfreie Ausführung wird signalisiert, wenn der gesamte Anwenderdatenbereich über PROFIBUS gesendet werden konnte.

Anmerkung: Alle folgenden Angaben gelten, soweit nicht anders angegeben, gleichermaßen für die FCs AG_SEND und AG_LSEND.

Page 212: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 212 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufruf Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 5 ( ACT := M 20.0, ID := MW 22, LADDR := W#16#0100, SEND := P#db99.dbx10.0 byte 240, LEN := MW 24, DONE := M 20.1, ERROR := M 20.2, STATUS := MW 26 );

//Funktionsaufruf //Auftragsanstoß über Merkerbit //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez.in Hardware-Konfiguration //Puffer mit Sendedaten //Längenangabe für Sendedaten //Ausführungsanzeige //Fehleranzeige //Statusanzeige

Aufrufe mit Auftragsheader Entnehmen Sie der folgenden Tabelle, für welche Verbindungstypen und Auftragsarten Parameter im Auftragsheader zu versorgen sind.

Der Auftragsheader liegt im FDL-(Anwender-)Datenbereich. Er belegt dort die ersten 4 Byte und muss bei der Längenangabe im Parameter LEN hinzugerechnet werden. Die maximale Nutzdatenlänge reduziert sich daher bei Aufträgen mit Auftragsheader auf 236 Byte.

Tabelle 5- 1 Versorgung des Auftrags-Header im Anwender-Datenbereich

Parameter FDL-Verbindungstyp unspezifiziert: freie Layer 2 2) Broadcast Multicast

PB-Adresse Adresse der Zielstation Wertebereich: 0..126 je nach Teilnehmer / 127 für Broadcast/Multicast

bei AG_SEND ohne Bedeutung; Bereich aber zu reservieren.

bei AG_SEND ohne Bedeutung; Bereich aber zu reservieren.

Page 213: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 213

Parameter FDL-Verbindungstyp LSAP LSAP der Zielstation

Wertebereich: 0..62 je nach Teilnehmer / 63 für Broadcast

ohne Bedeutung; Be-reich aber zu reservie-ren.

ohne Bedeutung; Be-reich aber zu reservie-ren.

Service 1) SDA ( Send Data with Acknowledge): Wert: 00H SDN ( Send Data with No Acknowledge): Wert: 01H

ohne Bedeutung; Be-reich aber zu reservie-ren.

ohne Bedeutung; Be-reich aber zu reservie-ren.

1) für Broadcast und Multicast ist nur der Service SDN möglich. 2) Die Angaben zu Broadcast und Multicast in dieser Spalte sind nur für den Fall relevant, dass eine unspezifizierte FDL-Verbindung für Broadcast oder Multicast verwendet wird. Bei einer projektierten FDL-Verbindung (empfohlene Anwendung) mit Broadcast oder Multicast als Verbindungspartner werden die Adressparameter entsprechend der Projektierung automatisch zugewiesen.

5.1.2.2 Arbeitsweise - AG_SEND / AG_LSEND

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit AG_SEND im Anwenderprogramm angestoßenen Datenübertragung.

Der Sendeauftrag wird ausgeführt, sobald der Parameter ACT = 1 übergeben wird.

Anschließend müssen Sie in mindestens einem weiteren Aufruf den Parameter ACT = 0 übergeben.

Die Statusanzeige in den Ausgabeparametern DONE, ERROR und STATUS wird bei jedem Bausteinaufruf aktualisiert und kann ausgewertet werden. Zur weiteren Aktualisierung der Statusanzeige ohne erneuten Sendeauftrag ist daher jeweils ein weiterer Bausteinaufruf mit dem Parameter ACT = 0 abzusetzen.

Beachten Sie auch das Programmbeispiel am Ende dieses Kapitels.

Page 214: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 214 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5.1.2.3 Erläuterung der Formalparameter - AG_SEND / AG_LSEND

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_SEND / AG_LSEND:

Parameter Deklaration Datentyp Wertebereich Beschreibung ACT INPUT BOOL 0,1 Beim FC-Aufruf mit ACT = 1 werden LEN Bytes aus

dem mit dem Parameter SEND angegebenen Datenbe-reich gesendet. Beim FC-Aufruf mit ACT = 0 werden die Statusanzei-gen DONE, ERROR und STATUS aktualisiert.

ID INPUT INT 1,2...64 (S7-400) 1,2...16 (S7-300)

Im Parameter ID wird die Verbindungsnummer der FDL-Verbindung angegeben.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausgege-ben. Geben Sie diese Adresse hier an.

Page 215: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 215

Parameter Deklaration Datentyp Wertebereich Beschreibung SEND INPUT ANY

(als VARTYPE sind nur zugelassen: BYTE, WORD und DWORD

Angabe von Adresse und Länge Die Adresse des Datenbereiches verweist alternativ auf: • PA-Bereich • Merkerbereich • Datenbausteinbereich Bei Aufruf mit Auftragsheader enthält der FDL-Datenbereich den Auftragsheader und die Nutzdaten.

LEN INPUT INT 1,2,...240 (bzw. bis "Längenangabe beim Parameter SEND")

Anzahl der Byte, die mit dem Auftrag aus dem FDL-Datenbereich gesendet werden sollen. Die Angabe kann im Bereich von 1 bis "Längenangabe beim Para-meter SEND" liegen. Bei Aufruf mit Auftragsheader setzt sich die Längenan-gabe aus dem Auftragsheader (4 Byte) + Nutzdaten (1..236 Byte) zusammen. Es gilt daher LEN >= 4 !

DONE OUTPUT BOOL 0: - 1: neue Daten

Der Zustandsparameter zeigt an, ob der Auftrag fehler-frei abgewickelt wurde. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen AG_SEND und AG_LSEND (Seite 215)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen AG_SEND und AG_LSEND (Seite 215)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen AG_SEND und AG_LSEND (Seite 215)

5.1.2.4 Anzeigen AG_SEND und AG_LSEND

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Page 216: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 216 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 5- 2 Anzeigen AG_SEND

DONE ERROR STATUS Bedeutung 1 0 0000H Auftrag fertig ohne Fehler. 0 0 0000H Kein Auftrag in Bearbeitung. 0 0 8181H Auftrag läuft. 0 1 7000H Die Anzeige ist nur bei S7-400 möglich: Der FC wurde mit ACT=0 aufgerufen; der Auf-

trag wird jedoch nicht bearbeitet. 0 1 8183H Die Projektierung fehlt oder der FDL-Dienst im PROFIBUS-CP ist noch nicht gestartet. 0 1 8184H Mögliche Ursachen:

• Unzulässiger Datentyp für den Parameter SEND angegeben. • FDL-Verbindung ohne Auftragspuffer: Systemfehler. • FDL-Verbindung mit Auftragspuffer: Parameter LEN<4 oder unzulässiger Parame-

ter im Auftragsheader (bei freiem Layer 2 Zugang).

0 1 8185H Parameter LEN größer als Quell-Bereich SEND. 0 1 8186H Parameter ID ungültig. ID != 1, 2...16. 0 1 8301H SAP bei Ziel-Station nicht aktiviert. 0 1 8302H keine Empfangsressourcen bei Ziel-Station, Empfänger-Station kann empfangene

Daten nicht schnell genug verarbeiten bzw. hat kein Empfangsressourcen bereitge-stellt.

0 1 8303H Der PROFIBUS-Service ( SDA-Send Data with Acknowledge) wird auf diesem SAP von der Ziel-Station nicht unterstützt. Die Anzeige kann auch temporär auftreten, wenn Verbindungen oder Netzübergänge "im RUN" geladen werden.

0 1 8304H Die FDL-Verbindung ist nicht aufgebaut. 0 1 8311H Die Zielstation ist unter der angegebenen PROFIBUS-Adresse nicht erreichbar oder

der benutzte Service ist für die angegebene PROFIBUS-Adresse nicht möglich. 0 1 8312H PROFIBUS-Fehler im CP : z. B. Buskurzschluss, eigene Station nicht am Ring,. 0 1 8315H Mögliche Ursachen:

• Interner Parameterfehler bei einer FDL-Verbindung mit Auftragsheader: Parameter LEN<4 oder unzulässiger Parameter im Auftragsheader (bei freiem Layer 2 Zu-gang).

• Busstörung Mögliche zusätzliche Bedeutung: • Die Fehleranzeige kann auch bei Busstörungen auftreten (beispielsweise bei physi-

kalischen Störungen aufgrund fehlerhafter Leitungsabschlüsse oder unterschiedli-cher Einstellungen der Übertragungsgeschwindigkeit bei den Teilnehmern).

0 1 8F22H Quell-Bereich ungültig. z. B.: Bereich im DB nicht vorhanden Parameter LEN < 0

0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummer Fehler. 0 1 8F3AH Bereich nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich.

Page 217: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 217

DONE ERROR STATUS Bedeutung 0 1 8F44H Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt. 0 1 8F7FH Interner Fehler. z. B. unzulässige ANY-Referenz

z. B. Parameter LEN = 0 . 0 1 8090H • Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden.

• Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unter-schiedliche FCs für S7-300 und S7-400 zu verwenden).

0 1 8091H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster. 0 1 8092H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben.

(nur bei S7-400) 0 1 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. (bei neueren CPU-

Ausgabeständen). Dies kann beispielsweise begründet sein durch: • eine fehlende Projektierung von Verbindungen; • eine Überschreitung der maximalen Anzahl parallel betreibbarer CPs (Angaben

hierzu siehe CP-Gerätehandbuch).

0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Der Zielbereich ist ungültig.

Die Anzahl der zu sendenden Daten überschreitet die für diesen Dienst zulässige Obergrenze (z. B. Zielbereich > 240 Bytes).

0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut.(bei älteren CPU-Ausgabeständen; sonst 80A4H; weitere Angaben siehe dort)

0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung.. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll. 0 1 80D2H Baugruppen-Anfangsadresse ist falsch.

5.1.3 AG_RECV / AG_LRECV

5.1.3.1 Bedeutung und Aufruf - AG_RECV / AG_LRECV

Bedeutung des Bausteins Der Programmbaustein AG_RECV übernimmt vom PROFIBUS-CP die über eine projektierte FDL-Verbindung übertragenen Daten.

Der für die Datenübernahme angegebene Datenbereich kann ein PA-Bereich, ein Merkerbereich oder ein Datenbausteinbereich sein.

Eine fehlerfreie Ausführung wird signalisiert, wenn die Daten vom PROFIBUS-CP übernommen werden konnten.

Page 218: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 218 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Anmerkung:

Alle folgenden Angaben gelten, soweit nicht anders angegeben, gleichermaßen für die FCs AG_RECV und AG_LRECV.

Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 6 ( ID := MW 30, LADDR := W#16#0100, RECV := P#M 10.0 BYTE 100, NDR := DB 100.DBX 0.6, ERROR := DB 100.DBX 0.7, STATUS := DB 100.DBW 2, LEN := DB 100.DBW 4 );

//Funktionsaufruf //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez.in Hardware-Konfiguration //Puffer für Empfangsdaten //Empfangsanzeige //Ausführungsanzeige //Fehleranzeige //Statusanzeige

Aufrufe mit Auftrags-Header

Tabelle 5- 3 Rückgabeparameter im Auftragsheader im FDL-(Anwender-)Datenbereich

Parameter FDL-Verbindungstyp unspezifiziert: freie Layer 2) Broadcast Multicast

PB-Adresse Adresse des Senders Wertebereich: 0..126 je nach Teilnehmer

LSAP LSAP des Senders Wertebereich: 0..63 je nach Teilnehmer

Service SDN-Anzeige (Send Data with No Acknowledge - Indication): Wert: 01H oder SDA-Anzeige ( Send Data with Acknowledge - Indication): Wert: 00H

SDN-Anzeige (Send Data with No Acknowledge - Indica-tion): Wert: 7FH

SDN-Anzeige (Send Data with No Acknowledge - Indica-tion): Wert: 7FH

Page 219: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 219

5.1.3.2 Arbeitsweise - AG_RECV / AG_LRECV

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit AG_RECV im Anwenderprogramm angestoßenen Datenübernahme.

Jeder AG_RECV Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern NDR, ERROR und STATUS vom Ethernet-CP quittiert.

Page 220: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 220 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5.1.3.3 Erläuterung der Formalparameter - AG_RECV / AG_LRECV

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion AG_RECV / AG_LRECV:

Parameter Deklaration Datentyp Wertebereich Beschreibung ID INPUT INT 1,2...16 (S7-300)

1,2...32 (S7-400) Im Parameter ID wird die Verbindungsnummer der FDL-Verbindung angegeben.

LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausgege-ben. Geben Sie diese Adresse hier an.

RECV INPUT ANY (als VARTYPE sind nur zuge-lassen: BYTE, WORD und DWORD

Angabe von Adresse und Länge Die Adresse des FDL-Datenbereiches verweist alter-nativ auf: • PA-Bereich • Merkerbereich • Datenbausteinbereich Bei Aufruf mit Auftragsheader enthält der FDL-Datenbereich den Auftragsheader und die Nutzdaten.

LEN OUTPUT INT 1,2,...240 Gibt die Anzahl der Bytes an, die vom PROFIBUS-CP in den FDL-Datenbereich übernommen wurden. Bei Aufruf mit Auftragsheader setzt sich die Längen-angabe aus dem Auftragsheader (4 Byte) + Nutzdaten (1..236 Byte) zusammen. Es gilt daher LEN >= 4 !

NDR OUTPUT BOOL 0: - 1: neue Daten

Der Parameter zeigt an, ob neue Daten übernommen wurden. Zur Bedeutung im Zusammenhang mit den Parame-tern ERROR und STATUS siehe unter Anzeigen AG_RECV und AG_LRECV (Seite 221).

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parame-tern NDR und STATUS siehe unter Anzeigen AG_RECV und AG_LRECV (Seite 221).

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parame-tern NDR und ERROR siehe unter Anzeigen AG_RECV und AG_LRECV (Seite 221).

Page 221: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 221

5.1.3.4 Anzeigen AG_RECV und AG_LRECV

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus NDR, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 5- 4 Anzeigen AG_RECV / AG_LRECV

NDR ERROR STATUS Bedeutung 1 0 0000H Neue Daten übernommen. 0 0 8180H • Es liegen noch keine Daten vor.

Die Projektierung fehlt oder der FDL-Dienst im PROFIBUS-CP ist noch nicht gestar-tet (tritt anstelle der Anzeige 0,1,8183H auf !).

0 0 8181H Auftrag läuft. 0 1 8183H Die Projektierung fehlt oder der FDL-Dienst im PROFIBUS-CP ist noch nicht gestartet. 0 1 8184H • Unzulässiger Datentyp für den Parameter RECV angegeben.

• Systemfehler.

0 1 8185H Ziel-Puffer (RECV)ist zu klein. 0 1 8186H Parameter ID ungültig. ID != 1, 2...16. 0 1 8303H Der PROFIBUS-Service ( SDA-SendDatawithAcknowledge) wird auf diesem SAP nicht

unterstützt. Die Anzeige kann auch temporär auftreten, wenn Verbindungen oder Netzübergänge "im RUN" geladen werden.

0 1 8304H Die FDL-Verbindung ist nicht aufgebaut. 0 1 8F23H Quell-Bereich ungültig. z. B.:

Bereich im DB nicht vorhanden. 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummer Fehler. 0 1 8F3AH Zielbereich nicht geladen (DB). 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den

Peripheriebereich.

Page 222: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle)

Programmbausteine für SIMATIC NET S7-CPs 222 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

NDR ERROR STATUS Bedeutung 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt. 0 1 8F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz. 0 1 8090H • Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden.

• Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unter-schiedliche FCs für S7-300 und S7-400 zu verwenden).

0 1 8091H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster. 0 1 8092H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben.

(nur bei S7-400) 0 1 80A0H Negative Quittung beim Lesen von Baugruppe. 0 1 80A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. (bei neueren CPU-

Ausgabeständen). Dies kann beispielsweise begründet sein durch: • eine fehlende Projektierung von Verbindungen; • eine Überschreitung der maximalen Anzahl parallel betreibbarer CPs (Angaben

hierzu siehe CP-Gerätehandbuch).

0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Mögliche Ursachen:

• Der Zielbereich ist ungültig. • Der Zielbereich ist zu klein.

Der Zielbereich für die Empfangsdaten wurde nicht ausreichend bemessen.

Abhilfe: Führen Sie einen weiteren Empfangsaufruf mit maximaler Empfangspuffer-größe durch. Dies gilt unabhängig vom Verbindungstyp (Uni-/Multi-/Broadcast) und von der Gerätefamilie (S7-300 / S7-400).

0 1 80B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. 0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler(tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll). 0 1 80D2H Baugruppen-Anfangsadresse ist falsch.

Page 223: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 223

5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

5.2.1 Anwendung in der Übersicht

Übersicht Für die DP-Betriebsarten DP-Master und DP-Slave stehen folgende Programmbausteine für S7-300 zur Verfügung: Programmbaustein verwendbar bei Bedeutung

DP-Master DP-Slave DP_SEND (FC1) X X für Daten Senden DP_RECV (FC2) X X für Daten empfangen DP_DIAG (FC3) X - für Diagnosefunktionen vom DP-

Master aus DP_CTRL (FC4) X - für Steuerfunktionen

Anwendung Die folgende Darstellung verdeutlicht die Anwendung der Programmbausteine DP_SEND und DP_RECV beim DP-Master und beim DP-Slave.

Page 224: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 224 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5.2.2 DP_SEND

5.2.2.1 Bedeutung und Aufruf - DP_SEND

Bedeutung Der Programmbaustein DP_SEND überträgt Daten zum PROFIBUS-CP. Je nach Betriebsart des PROFIBUS-CP hat DP_SEND folgende Bedeutung:

● Bei Verwendung im DP-Master

Der Baustein übergibt die Daten eines angegebenen DP-Ausgabebereiches an den PROFIBUS-CP zur Ausgabe an die Dezentrale Peripherie.

● Bei Verwendung im DP-Slave

Der Baustein übergibt die Eingangsdaten des DP-Slaves an den PROFIBUS-CP zur Übertragung an den DP-Master

Der angegebene Datenbereich kann ein PA-Bereich, ein Merkerbereich oder ein Datenbausteinbereich sein.

Eine fehlerfreie Ausführung wird signalisiert, wenn der gesamte DP-Datenbereich vom PROFIBUS-CP übernommen werden konnte.

Zum Starten des DP-Masters ist genau ein Aufruf von DP-SEND oder DP-RECV in der Aufruffolge voranzustellen. Für diesen Erstaufruf gilt:

Wird zur Initialisierung der DP-SEND verwendet, wird der dabei übergebene Datenbereich nicht übernommen und "0" an die Slaves gesendet. Erst der zweite Bausteinaufruf sendet die übergebenen Nutzdaten.

Aufrufschnittstelle

Page 225: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 225

Aufrufbeispiel in AWL-Darstellung AWL Erläuterung

call fc 1 ( CPLADDR:= W#16#0120, SEND := P#db17.dbx0.0 byte 103, DONE := M 99.1, ERROR := M 99.0, STATUS := MW 104 );

//DP_SEND Bausteinaufruf

5.2.2.2 Arbeitsweise - DP_SEND

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit DP_SEND im Anwenderprogramm angestoßenen Datenübertragung.

Im Diagramm wird davon ausgegangen, dass die Initialisierung des DP-Masters durch einen vorangegangenen Aufruf DP_SEND oder DP-RECV bereits erfolgt ist.

Jeder DP_SEND Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern DONE, ERROR und STATUS vom PROFIBUS-CP quittiert.

Page 226: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 226 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Gewährleistung der Datenübertragung Die Darstellung zeigt auch, dass mit der Bestätigung DONE=1, ERROR=0 und STATUS=0000 eine Übertragung der Daten zum Kommunikationspartner gewährleistet ist.

Es werden immer die neuesten, an den PROFIBUS-CP übergebenen Sendedaten an den Kommunikationspartner übertragen. Daher dürfen neue Nutzdaten erst nach erfolgreicher Quittierung (DONE=1, ERROR=0, STATUS=0000) im Sendepuffer eingetragen werden.

Page 227: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 227

5.2.2.3 Erläuterung der Formalparameter - DP_SEND

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion DP_SEND:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD Baugruppen-Anfangsadresse

Bei der Konfiguration des CP wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausgege-ben. Geben Sie diese Adresse hier an.

SEND INPUT ANY (als VARTYPE sind nur zuge-lassen: bei FC1 ab V3: BYTE bei FC1 bis V2.x: BYTE, WORD und DWORD)

Angabe von Adresse und Länge Die Adresse des DP-Datenbereichs verweist alternativ auf: • PA-Bereich • Merkerbereich • Datenbausteinbereich

Die Länge ist einzustellen für • DP-Master: 1...2160 • DP-Slave: 1...240

DONE OUTPUT BOOL 0: - 1: neue Daten

Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Zur Bedeutung im Zusammenhang mit den Parame-tern ERROR und STATUS siehe unter Anzeigen DP_SEND (Seite 228).

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parame-tern DONE und STATUS siehe unter Anzeigen DP_SEND (Seite 228)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parame-tern DONE und ERROR siehe unter Anzeigen DP_SEND (Seite 228)

Page 228: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 228 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5.2.2.4 Anzeigen DP_SEND

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus DONE, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 5- 5 Anzeigen DP_SEND

DONE ERROR STATUS Bedeutung 0 0 8180H • Anlauf:

Der DP-Dienst wurde gestartet aber die Datenübernahme ist noch nicht möglich. • Normalbetrieb

Die Datenübergabe läuft. • DP ist nicht gestartet wegen folgender Situation:

– CP-STOP oder – "keine Parametrierung" (tritt hier anstelle der Anzeige 0,1,8183H auf)

1 0 0000H Neue Daten fehlerfrei übergeben. 0 1 8183H Projektierung fehlt oder DP-Dienst im PROFIBUS-CP noch nicht gestartet. 0 1 8184H Systemfehler bzw. unzulässiger Parametertyp. 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz). 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz). 0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters. 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummernfehler. 0 1 8F3AH Zielbereich nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich. 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. 0 1 8F44H Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt.

Page 229: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 229

DONE ERROR STATUS Bedeutung 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffspur gesperrt. 0 1 8F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz. 0 1 8090H Baugruppe mit dieser Adresse nicht vorhanden. 0 1 8091H Logische Basisadresse nicht auf Doppel-Wort-Raster. 0 1 80A1H Negative Quittung beim Schreiben zur Baugruppe. 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Die Anzahl der zu sendenden Daten überschreitet die für diesen Dienst zulässige

Obergrenze (gilt für den DP-Master- und DP-Slave-Betrieb). 0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll.) 0 1 80D2H Logische Basisadresse falsch.

5.2.3 DP_RECV

5.2.3.1 Bedeutung und Aufruf - DP_RECV

Bedeutung Der Programmbaustein DP_RECV empfängt Daten über PROFIBUS. Je nach Betriebsart des PROFIBUS-CP hat DP_RECV folgende Bedeutung:

● Bei Verwendung im DP-Master DP_RECV übernimmt die Prozessdaten der dezentralen Peripherie sowie eine Statusinformation in einen angegebenen DP-Eingabebereich.

● Bei Verwendung im DP-Slave DP_RECV übernimmt die vom DP-Master übertragenen Ausgangsdaten in den am Baustein angegebenen DP-Datenbereich.

Der für die Datenübernahme angegebene Datenbereich kann ein PA-Bereich, ein Merkerbereich oder ein Datenbausteinbereich sein.

Eine fehlerfreie Ausführung wird signalisiert, wenn der gesamte DP-Dateneingabebereich vom PROFIBUS-CP übergeben werden konnte.

Beachten Sie, dass der FC-Baustein DP_RECV beim DP-Slave im Anwenderprogramm mindestens einmal erfolgreich aufgerufen werden muss, falls für diesen DP-Slave Ausgangsdaten projektiert wurden. Bitte beachten Sie die Angaben im Gerätehandbuch.

Zum Starten des DP-Masters ist genau ein Aufruf von DP-SEND oder DP-RECV in der Aufruffolge voranzustellen. Für diesen Erstaufruf gilt:

● Wird zur Initialisierung der DP-RECV verwendet, werden die empfangenen Daten nicht übernommen. Erst der zweite Bausteinaufruf liefert die empfangenen Nutzdaten.

Page 230: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 230 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Zusatzaufgabe: Statusbyte eintragen Der FC-Baustein DP_RECV hat folgende zusätzliche Aufgabe:

● Aktualisieren des DP-Statusbyte DPSTATUS. DP_RECV übernimmt damit Aufgaben für die DP_Diagnose. Falls keine Empfangsdaten projektiert sind, muss der DP_RECV zur Aktualisierung des Statusbyte DPSTATUS mit der Länge 1 aufgerufen werden (gilt nur beim DP-Master). Bitte beachten Sie auch die Angaben im Gerätehandbuch.

● Freigeben der Stationsliste (siehe DP_DIAG (Seite 236)).

Aufrufschnittstelle

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 2 (

CPLADDR:= W#16#0120,

RECV := P#db17.dbx240.0 byte 103,

NDR := M 99.1,

ERROR := M 99.0,

STATUS := MW 104,

DPSTATUS:= MB 0 );

//DP_RECV Bausteinaufruf

5.2.3.2 Arbeitsweise - DP_RECV

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit DP_RECV im Anwenderprogramm angestoßenen Datenübernahme.

Jeder DP_RECV Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern NDR, ERROR und STATUS vom PROFIBUS-CP quittiert.

Page 231: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 231

Gewährleistung der Datenübernahme Die Darstellung zeigt auch, dass mit der Bestätigung NDR=1, ERROR=0 und STATUS=0000 eine Datenübernahme gewährleistet ist. Voraussetzung: Der DP-Master und die DP-Slaves sind in der Datentransferphase.

Beachten Sie folgende Hinweise:

● Bei DP-Master-Betrieb: Befindet sich ein DP-Slave nicht in der Datentransferphase, so werden die betreffenden Empfangsdaten auf 0 gesetzt.

Page 232: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 232 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Befindet sich der DP-Master weder im Zustand RUN oder CLEAR (Bit 4 und 5 in DP-STATUS), so werden alle Empfangsdaten auf 0 gesetzt. Wurden seit dem letzten Bausteinaufruf DP_RECV mehrmals Daten vom DP-Slave empfangen, so werden nur die zuletzt empfangenen Daten mit dem nächsten DP_RECV abgeholt.

● Bei DP-Slave-Betrieb: Befindet sich der DP-Slave nicht in der Datentransferphase (Bit 1 in DP-Status) oder der DP-Master im Zustand Clear (Bit 2 in DP-STATUS), so werden die Empfangsdaten auf 0 gesetzt. Wurden seit dem letzten Bausteinaufruf DP_RECV mehrmals Daten vom DP-Master empfangen, so werden nur die zuletzt empfangenen Daten mit dem nächsten DP_RECV abgeholt.

5.2.3.3 Erläuterung der Formalparameter - DP_RECV

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion DP_RECV:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD Baugruppen-Anfangsadresse

Bei der Konfiguration des CP wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausgegeben. Geben Sie diese Adresse hier an.

RECV INPUT ANY (als VARTYPE sind nur zuge-lassen: bei FC1 ab V3: BYTE bei FC1 bis V2.x: BYTE, WORD und DWORD)

Angabe von Adresse und Länge Die Adresse des DP-Datenbereiches verweist alternativ auf: • PA-Bereich • Merkerbereich • Datenbausteinbereich

Die Länge ist einzustellen für: • DP-Master: 1...2160 • DP-Slave: 1...240 • DP-Master; nur Statusbyte lesen: 1 (siehe auch CP-Gerätehandbuch)

NDR OUTPUT BOOL 0: - 1: neue Daten übernommen

Der Zustandsparameter zeigt an, ob neue Daten übernommen wurden. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen DP_RECV (Seite 233)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und STATUS siehe unter Anzeigen DP_RECV (Sei-te 233)

Page 233: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 233

Parameter Deklaration Datentyp Wertebereich Beschreibung STATUS OUTPUT WORD Statusanzeige

Zur Bedeutung im Zusammenhang mit den Parametern NDR und ERROR siehe unter Anzeigen DP_RECV (Sei-te 233)

DPSTATUS OUTPUT Byte Codierung siehe nachfol-gend unter DPSTATUS

DP-Statusanzeige

5.2.3.4 Anzeigen DP_RECV

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus NDR, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

NDR ERROR STATUS Bedeutung 0 0 8180H • Anlauf:

Der DP-Dienst wurde gestartet aber die Datenübernahme ist noch nicht möglich. • Normalbetrieb

Die Datenübergabe läuft. • DP ist nicht gestartet wegen folgender Situation:

– CP-STOP oder – "keine Parametrierung" (tritt hier anstelle der Anzeige 0,1,8183H auf).

1 0 0000H Neue Daten fehlerfrei übernommen. 0 1 8183H Projektierung fehlt oder DP-Dienst im PROFIBUS-CP noch nicht gestartet. 0 1 8184H Systemfehler bzw. unzulässiger Parametertyp. 0 1 8F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz). 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz). 0 1 8F24H Bereichsfehler beim Lesen eines Parameters. 0 1 8F25H Bereichsfehler beim Schreiben eines Parameters. 0 1 8F28H Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F29H Ausrichtungsfehler beim Schreiben eines Parameters.

Page 234: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 234 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

NDR ERROR STATUS Bedeutung 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein. 0 1 8F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein. 0 1 8F32H Parameter enthält zu große DB-Nummer. 0 1 8F33H DB-Nummer Fehler. 0 1 8F3AH Zielbereich nicht geladen (DB). 0 1 8F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich. 0 1 8F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. 0 1 8F44H Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt. 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt. 0 1 8F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz. 0 1 8090H Baugruppe mit dieser Adresse nicht vorhanden. 0 1 8091H Logische Basisadresse nicht auf Doppel-Wort-Raster. 0 1 80A0H Negative Quittung beim Lesen von der Baugruppe. 0 1 80B0H Baugruppe kennt den Datensatz nicht. 0 1 80B1H Die Anzahl der zu sendenden Daten überschreitet die für diesen Dienst zulässige

Obergrenze (gilt für den DP-Master- und DP-Slave-Betrieb). 0 1 80C0H Datensatz kann nicht gelesen werden. 0 1 80C1H Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 80C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderpro-

gramm sinnvoll). 0 1 80D2H Logische Basisadresse falsch.

5.2.3.5 DPSTATUS - DP_RECV

DPSTATUS Die Codierung des Ausgabeparameters DP-Status ist für die Betriebsarten DP-Master-Betrieb und DP-Slave-Betrieb unterschiedlich.

DP-Master-Betrieb

Tabelle 5- 6 Bedeutung der Bit in DPSTATUS- DP-Master-Betrieb

Bit Bedeutung 7 nicht belegt 6 Dieses Bit wird nicht gesetzt.

Bitte beachten Sie auch die Angaben im Gerätehandbuch.

Page 235: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 235

Bit Bedeutung 5,4 Werte für DPSTATUS des DP-Masters:

00 RUN 01 CLEAR 10 STOP (wird auf den Betriebszustand OFFLINE abgebildet) 11 OFFLINE Bitte beachten Sie auch die Angaben im Gerätehandbuch.

3 Wert 1: Zyklische Synchronisation ist eingeschaltet 2 Wert 0: keine neuen Diagnosedaten vorhanden

Wert 1: Diagnoseliste auswerten ist sinnvoll; mindestens 1 Station hat neue Diagnosedaten 1 Wert 0: alle DP-Slaves in der Datentransferphase

Wert 1: Stationsliste auswerten ist sinnvoll 0 DP Betrieb

Wert 0: DP-Master-Betrieb Die anderen Bits sind mit der angegebenen Bedeutung nur gültig, wenn dieses Bit nicht gesetzt ist.

DP-Slave-Betrieb

Tabelle 5- 7 Bedeutung der Bit in DPSTATUS- DP-Slave-Betrieb

Bit Bedeutung 7-5 nicht belegt 4 Dieses Bit wird nicht gesetzt.

Bitte beachten Sie auch die Angaben im Gerätehandbuch. 3 Dieses Bit wird nicht gesetzt.

Bitte beachten Sie auch die Angaben im Gerätehandbuch. 2 Wert 1: Der DP-Master 1 ist im Zustand CLEAR. Der DP-Slave empfängt in den für die Ausgänge bestimmten DP-

Daten für alle Daten den Wert 0. Es besteht kein Einfluss auf die Sendedaten. 1 Wert 1: Die Konfigurierung / Parametrierung ist noch nicht erfolgreich beendet. 0 Wert 1: DP Slave-Betrieb.

Die anderen Bits sind mit der angegebenen Bedeutung nur gültig, wenn dieses Bit gesetzt ist.

Hinweis

Beachten Sie bitte, dass DPSTATUS erst ausgewertet werden darf, wenn der Rückgabeparameter NDR=1 gesetzt ist.

Page 236: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 236 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5.2.4 DP_DIAG

5.2.4.1 Bedeutung und Aufruf - DP_DIAG

Bedeutung des Bausteins Der Programmbaustein DP_DIAG wird zum Anfordern von Diagnoseinformationen verwendet. Es werden folgende Auftragsarten unterschieden:

● DP-Stationsliste anfordern;

● DP-Diagnoseliste anfordern;

● DP-Einzelstatus anfordern;

● Eingangs- / Ausgangsdaten eines DP-Slave azyklisch lesen;

● Ältere DP-Einzeldiagnose lesen;

● DP-Betriebszustand lesen.

● DP-Betriebszustand für AG-/CP-STOP lesen;

● Aktuellen Zustand des DP-Slave lesen.

Diagnosedaten können durch Angabe einer Stationsadresse Slave-spezifisch angefordert werden.

Für die Übergabe der Diagnosedaten an die CPU ist ein Speicherbereich in der CPU vorzusehen und im Aufruf anzugeben. Dieser Speicherbereich kann ein Datenbausteinbereich oder ein Merkerbereich sein. Im Auftrag ist die maximale Länge des verfügbaren Speicherbereiches anzugeben.

Hinweis

Der FC-Baustein DP_DIAG ist nur in der DP-Betriebsart mit DP-Master sinnvoll.

Ausschluss Solange der Baustein läuft, darf er nicht mit neuen Auftragsdaten versorgt werden.

Ausnahme: DP-Stationsliste oder DP-Diagnoseliste anfordern.

Page 237: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 237

Aufrufschnittstelle

Beispiel in AWL-Darstellung

AWL Erläuterung

call fc 3 ( CPLADDR:= W#16#0120, DTYPE := B#16#00, STATION:= B#16#03, DIAG := P#db18.dbx0.0 byte 16, NDR := M 70.0, ERROR := M 70.1, STATUS := MW 72, DIAGLNG:= MB 20 );

//DP_DIAG Bausteinaufruf

5.2.4.2 Arbeitsweise - DP_DIAG

Ablauf / Hantierung an der Aufrufschnittstelle Der Funktionsaufruf DP_DIAG wird im Rahmen der zyklischen Bearbeitung des Anwenderprogrammes wie nachfolgend dargestellt bearbeitet:

Mit dem 1. Aufruf erfolgt der Auftragsanstoß. Erst in der Quittung eines der folgenden Aufrufe werden Diagnosedaten zurückgemeldet

Page 238: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 238 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Hinweis

Beachten Sie bitte folgende Besonderheit für die Auftragsarten DP-Stationsliste_lesen und DP-Diagnoseliste_lesen: • Der Diagnoseauftrag liefert die Diagnosedaten, die zum Zeitpunkt des letzten DP–RECV

Aufrufes vorlagen. Ein Lesen einer Liste sperrt ein erneutes Auslesen (Rückgabewert 0x8182).

• Eine erneute Freigabe der Listen erfolgt durch ein neues Diagnoseereignis und einen nachfolgenden DP-RECV Aufruf.

Page 239: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 239

Nach dem Aufruf von DP_DIAG erhalten Sie daher als Reaktion eines der nachfolgend beschriebenen Anzeigebilder.

● NDR=0, ERROR=0, STATUS=8181 Solange die Anzeige NDR=0, ERROR=0 und STATUS=8181 ansteht, dürfen die Auftragsparameter nicht verändert werden.

● NDR=1 Der Parameterwert NDR=1 zeigt an, dass gültige Diagnosedaten vorliegen. Zusätzliche Informationen im Parameter STATUS sind möglich.

● NDR=0, ERROR=1 Es liegt ein Fehler vor. Die Diagnosedaten sind ungültig. Die Fehlermeldung steht in STATUS.

5.2.4.3 Erläuterung der Formalparameter - DP_DIAG

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion DP_DIAG:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD Baugruppen-Anfangsadresse

Bei der Konfiguration des CP wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausge-geben. Geben Sie diese Adresse hier an.

DTYPE INPUT BYTE 0: Stationsliste 1: Diagnoseliste 2: Aktuelle Diagnose 3: Ältere Diagnose 4: Betriebszustand lesen 5: Betriebszustand für CPU-STOP lesen 6: Betriebszustand für CP-STOP lesen 7: Eingangsdaten (azyklisch) lesen 8: Ausgangsdaten (azyklisch) lesen 10: Aktuellen Zustand des DP-Slave lesen

Diagnosetyp

STATION INPUT BYTE Stationsadresse des DP-Slaves DIAG INPUT ANY

(als VARTYPE sind nur zugelassen: BYTE, WORD und DWORD)

Die Länge ist einzustel-len von 1...240

Angabe von Adresse und Länge Adresse des Datenbereiches. Verweist alternativ auf: • PA-Bereich • Merkerbereich • Datenbausteinbereich

Page 240: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 240 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Parameter Deklaration Datentyp Wertebereich Beschreibung NDR OUTPUT BOOL 0: -

1: neue Daten Der Zustandsparameter zeigt an, ob neue Daten übernommen wurden. Zur Bedeutung im Zusammenhang mit den Parame-tern ERROR und STATUS siehe unter Anzeigen DP_DIAG (Seite 243)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parame-tern NDR und STATUS siehe unter Anzeigen DP_DIAG (Seite 243)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parame-tern NDR und ERROR siehe unter Anzeigen DP_DIAG (Seite 243)

DIAGLNG OUTPUT BYTE Enthält die tatsächliche Länge (in Byte) der vom PROFIBUS-CP bereitgestellten Daten, unabhängig von der im Parameter DIAG angegebenen Puffer-größe. Bei den Auftragsarten mit DTYPE 4, 5 und 6 gilt: DIAGLNG wird hier immer mit dem Wert "1" belegt. Der im Parameter DIAG zurückgegebene Wert ist für die Auswertung in diesen Fällen nicht relevant. In diesen Fällen ist der relevante Wert im Parameter STATUS enthalten.

5.2.4.4 Auftragsarten - DP_DIAG

Auftragsarten Zulässige bzw. sinnvolle Auftragsangaben ergeben sich gemäß nachfolgender Übersicht aus der Angabe für DTYPE, STATION und DIAGLNG.

Tabelle 5- 8 Auftragsarten für DP_DIAG

DTYPE Entspricht Auftrag

Parameter STATION

DIAGLNG Quittungscode (enthalten im Parameter STATUS; angegeben in Tabelle "Anzeigen DP_DIAG")

0 DP-Stationsliste lesen

--- - wird nicht berücksichtigt -

Mit der DP-Stationsliste erhalten Sie im Anwenderpro-gramm Informationen zum Zustand und zur Verfügbarkeit von DP-Slaves. Die Information in der DP-Stationsliste bezieht sich auf sämtliche durch Projektierung dem DP-Master zugeordnete DP-Slaves.

1 DP-Diagnose-liste lesen

--- - wird nicht berücksichtigt -

Mit der DP-Diagnoseliste erhalten Sie im Anwenderpro-gramm die Information, bei welchen DP-Slaves neue Dia-gnosedaten vorliegen.

2 Aktuelle DP-Einzeldiagnose lesen

1...126 >=6 Mit der aktuellen DP-Einzeldiagnose erhalten Sie im An-wenderprogrammCPU-Programm die aktuellen Diagnose-daten eines DP-Slave.

Page 241: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 241

DTYPE Entspricht Auftrag

Parameter STATION

DIAGLNG Quittungscode (enthalten im Parameter STATUS; angegeben in Tabelle "Anzeigen DP_DIAG")

3 Ältere DP-Einzeldiagnose lesen

1...126 >=6 Mit der älteren DP-Einzeldiagnose erhalten Sie im CPU-Programm die älteren Diagnosedaten eines DP-Slave. Diese Daten sind im PROFIBUS-CP gespeichert und wer-den nach dem Prinzip "Last in first out" im Ringpuffer gele-sen. Zur Erläuterung des Ringpuffers siehe unten. Damit können bei schnellen Änderungen der DP-Slave-Diagnosedaten diese DP-Slaves erfasst und im CPU-Programm des DP-Masters ausgewertet werden.

4 Mit DP-CTRL-Auftrag (CTYPE=4) angeforderten Betriebszustand lesen

=1 Mit diesem Auftrag kann der DP-Betriebszustand gelesen werden, der mittels DP-CTRL-Auftrag (CTYPE=4) zuvor gesetzt wurde. Anmerkung: Der ausgelesene Betriebszustand muss nicht dem aktuellen Betriebszustand des CP entsprechen. Folgende Betriebszustände sind möglich: : • RUN • CLEAR • STOP (wird auf den Betriebszustand OFFLINE abgebil-

det) *) • OFFLINE

5 DP-Betriebszustand für CPU-STOP lesen

=1 Mit diesem Auftrag ermitteln Sie, in welchen DP-Betriebszustand der PROFIBUS-CP bei CPU-STOP geht: • RUN • CLEAR • STOP (wird auf den Betriebszustand OFFLINE abgebil-

det) *) • OFFLINE

Als DEFAULT-Wert bei CPU-STOP geht der PROFIBUS-CP in den DP-Betriebszustand CLEAR..

6 DP-Betriebs-zustand für CP-STOP lesen

=1 Mit diesem Auftrag ermitteln Sie, in welchen DP-Betriebszustand der PROFIBUS-CP bei CP-STOP geht : • STOP (wird auf den Betriebszustand OFFLINE abgebil-

det) *) • OFFLINE

Als DEFAULT-Wert bei CP-STOP geht der PROFIBUS-CP in den DP-Betriebszustand OFFLINE.

7 Eingangsdaten lesen

1...126 >=1 Mit diesem Auftrag lesen Sie als DP-Master (Klasse 2) die Eingangsdaten eines DP-Slave. Dieser Vorgang wird auch als "Shared Input" bezeichnet.

Page 242: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 242 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DTYPE Entspricht Auftrag

Parameter STATION

DIAGLNG Quittungscode (enthalten im Parameter STATUS; angegeben in Tabelle "Anzeigen DP_DIAG")

8 Ausgangsdaten lesen

1...126 >=1 Mit diesem Auftrag lesen Sie als DP-Master (Klasse 2) die Ausgangsdaten eines DP-Slave. Dieser Vorgang wird auch als "Shared Output" bezeichnet.

10 Aktuellen DP-Slave-Zustand lesen

1...126 >=0 Mit diesem Auftrag lesen Sie den aktuellen Betriebszustand des DP-Slave aus. Folgende Zustände sind möglich: • Der DP-Master tauscht zyklisch Daten mit dem DP-

Slave aus. • Der DP-Master liest zyklisch die Eingangsdaten des DP-

Slave. • Der DP-Master liest zyklisch die Ausgangsdaten des

DP-Slave. • Der DP-Master bearbeitet diesen DP-Slave momentan

nicht zyklisch.

*) Der Betriebszustand STOP wird bei den aktuellen Baugruppen (ab Baugruppentyp DA02) nicht mehr unterstützt.

5.2.4.5 Ringpuffer für Diagnosedaten - DP_DIAG

Ringpuffer für Diagnosedaten Die folgende Darstellung zeigt das Prinzip des Lesens bei der Auftragsart "ältere DP-Einzeldiagnose lesen". Mit dem 1. Lesezugriff wird die jüngste ältere Diagnose gelesen.

Bild 5-3 Ringpuffer für Diagnosedaten

Mit dem Auslesen einer aktuellen Diagnose wird der Lesezeiger auf 1. ältere Diagnose zurückgesetzt.

Page 243: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 243

5.2.4.6 Anzeigen DP_DIAG

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus NDR, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Tabelle 5- 9 Anzeigen DP_DIAG

NDR ERROR STATUS Möglich bei DTYPE

Bedeutung

0 0 8181H 2-10 Auftrag läuft. Der DP-Master ist nicht gestartet wegen • CP-STOP oder • "keine Parametrierung (tritt hier anstelle der Anzeige 0,1,8183H auf).

0 0 8182H 0 Anstoß nicht sinnvoll. Der DP-Master ist nicht gestartet wegen • CP-STOP oder • "keine Parametrierung (tritt hier anstelle der Anzeige 0,1,8183H auf).

0 0 8182H 1 Keine neue Diagnose vorhanden. Der DP-Master ist nicht gestartet wegen • CP-STOP oder • "keine Parametrierung (tritt hier anstelle der Anzeige 0,1,8183H auf).

1 0 0000H 0, 1 und 4-9

Auftrag abgeschlossen ohne Fehler. Hinweis: Bei DTYPE 2,3 und 10 wird die fehlerfreie Ausführung mit einem Statuscode ungleich "0" signalisiert. Entsprechend finden Sie nachfolgend für eine fehler-freie Ausführung detaillierte Statuscodes für den Bereich: 82XXH Bei fehlerbehafteter Ausführung erhalten Sie Statuscodes in den folgenden Bereichen: 80XXH, 83XXH, 8FXXH

Page 244: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 244 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

NDR ERROR STATUS Möglich bei DTYPE

Bedeutung

1 0 8222H 7, 8 Auftrag abgeschlossen ohne Fehler. Die Länge der gelesenen DP-Slave-Daten ist ungleich der Datenlänge, die der DP-Master anhand der Modulliste des DP-Slave in der CP-Datenbasis erwar-tet.

1 0 8227H 7, 8 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : es sind keine Daten vorhanden.

1 0 8231H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN"

1 0 8232H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "CLEAR"

1 0 8233H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits in STOP Der Zustand STOP wird auf den Zustand OFFLINE abgebildet (hier Anzeige 8234H). Bitte beachten Sie auch die Angaben im Gerätehandbuch.

1 0 8234H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "OFFLINE"

1 0 823AH 2, 3, 7, 8 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : es wurden 241 oder 242 Byte Daten gelesen. Bereitgestellt werden 240 Byte.

1 0 8241H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der angegebene DP-Slave wurde nicht projektiert.

1 0 8243H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : in der Modulliste des CP-Slave in der CP-Datenbasis sind nur Leer -Module enthalten.

1 0 8245H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist im Zustand "Eingangsdaten zyklisch le-sen".

1 0 8246H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist im Zustand "Ausgangsdaten zyklisch lesen".

1 0 8248H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Anmerkung: Dies ist für die genannten Diagnosetypen die Standardanzeige, sofern keine zu signalisierenden Besonderheiten vorliegen.

1 0 8249H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist deaktiviert wegen eines Wechsel des DP-Betriebszustandes ( z. B. CP-Schalter auf STOP).

1 0 824AH 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist deaktiviert aufgrund eines DP_CTRL-Auftrages im Anwenderprogramm.

0 1 8090H 0-10 Logische Basisadresse der Baugruppe ist ungültig 0 1 80B0H 0-10 Die Baugruppe kennt den Datensatz nicht oder befindet sich im RUN -->

STOP Übergang. 0 1 80B1H 0-10 Angegebene Datensatzlänge ist falsch 0 1 80C0H 0-10 Datensatz kann nicht gelesen werden 0 1 80C1H 0-10 Der angegebene Datensatz ist gerade in Bearbeitung

Page 245: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 245

NDR ERROR STATUS Möglich bei DTYPE

Bedeutung

0 1 80C2H 0-10 Es liegt ein Auftragsstau vor 0 1 80C3H 0-8 Betriebsmittel (Speicher) belegt 0 1 80C4H 0-10 Kommunikationsfehler 0 1 80D2H 0-10 Logische Basisadresse falsch 0 1 8183H 0-10 DP Master nicht projektiert. 0 1 8184H 0-8 Systemfehler bzw. unzulässiger Parametertyp. 0 1 8311H >=2 Parameter DTYPE außerhalb des Wertebereichs . 0 1 8313H 2, 3, 7, 8,

10 Parameter STATION außerhalb des Wertebereichs.

0 1 8321H >=2 Der DP-Slave stellt keine gültigen Daten zur Verfügung. 0 1 8326H 7, 8 Der DP-Slave stellt mehr als 242 Byte Daten zur Verfügung. Der PROFIBUS-

CP unterstützt maximal 242 Byte. 0 1 8335H 7, 8 Der PROFIBUS-CP ist im PROFIBUS-Status: "Station nicht im Ring". 0 1 8341H 2, 3, 7, 8,

10 Der angegebene Slave wurde nicht projektiert

0 1 8342H 7, 8 Der DP-Slave mit der im Parameter STATION angegebenen PROFIBUS-Adresse ist nicht erreichbar.

0 1 8349H 7, 8 Der DP-Master ist im Zustand OFFLINE. 0 1 8F22H 0-10 Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) 0 1 8F23H 0-10 Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) 0 1 8F24H 0-10 Bereichsfehler beim Lesen eines Parameters 0 1 8F25H 0-10 Bereichsfehler beim Schreiben eines Parameters 0 1 8F28H 0-10 Ausrichtungsfehler beim Lesen eines Parameters 0 1 8F29H 0-10 Ausrichtungsfehler beim Schreiben eines Parameters 0 1 8F30H 0-10 Parameter liegt im schreibgeschützten 1. akt. Datenbaustein 0 1 8F31H 0-10 Parameter liegt im schreibgeschützten 2. akt. Datenbaustein 0 1 8F32H 0-10 Parameter enthält zu große DB-Nummer 0 1 8F33H 0-10 DB-Nummer Fehler 0 1 8F3AH 0-10 Bereich nicht geladen (DB) 0 1 8F42H 0-10 Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich 0 1 8F43H 0-10 Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich 0 1 8F44H 0-10 Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt 0 1 8F45H 0-10 Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt 0 1 8F7FH 0-10 Interner Fehler. z. B. Unzulässige ANY-Referenz

Page 246: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 246 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5.2.5 DP_CTRL

5.2.5.1 Bedeutung und Aufruf - DP_CTRL

Bedeutung des Bausteins Der Programmbaustein DP_CTRL übergibt Steueraufträge an den PROFIBUS-CP. Durch Angabe eines Auftragsblockes (Parameter CONTROL) wird der Steuerauftrag näher spezifiziert.

Es werden folgende Auftragsarten unterschieden:

● Global Control azyklisch / zyklisch;

● Ältere Diagnose löschen;

● Aktuellen DP-Betriebszustand setzen;

● DP-Betriebszustand für AG-/CP-STOP setzen;

● Ein-/Ausgangsdaten zyklisch lesen;

● Bearbeitungsmodus des DP-Slave setzen.

Es gibt Einschränkungen bezüglich der hier genannten Auftragsarten (bitte beachten Sie hierzu die Angaben im Gerätehandbuch).

Hinweis

Der FC-Baustein DP_CTRL ist nur in der DP-Betriebsart mit DP-Master sinnvoll.

Anschluss Solange der Baustein läuft, darf er nicht mit neuen Auftragsdaten versorgt werden.

Aufrufschnittstelle

Page 247: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 247

Beispiel in AWL-Darstellung AWL Erläuterung

call fc 4 ( CPLADDR:= W#16#0120, CONTROL:= P#db14.dbx0.0 byte 30, DONE := M 70.0, ERROR := M 70.1, STATUS := MW 72 );

//DP_CTRL Bausteinaufruf // Der Puffer für den Control-Auftrag // belegt die ersten 30 Bytes im DB 14.

5.2.5.2 Arbeitsweise - DP_CTRL

Ablauf / Hantierung an der Aufrufschnittstelle Der Funktionsaufruf DP_CTRL wird im Rahmen der zyklischen Bearbeitung des Anwenderprogrammes wie nachfolgend dargestellt bearbeitet:

Mit dem 1. Aufruf erfolgt der Auftragsanstoß. Erst in der Quittung eines der folgenden Aufrufe werden Diagnosedaten zurückgemeldet.

Page 248: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 248 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Nach dem Aufruf von DP_CTRL erhalten Sie daher als Reaktion eines der nachfolgend beschriebenen Anzeigebilder.

● DONE=0, ERROR=0, STATUS=8181 Solange die Anzeige DONE=0, ERROR=0 und STATUS=8181 ansteht, dürfen die Auftragsparameter nicht verändert werden.

● DONE=1 Der Parameterwert DONE=1 zeigt an, dass der Auftrag ausgeführt wurde. Zusätzliche Informationen im Parameter STATUS sind möglich.

● DONE=0, ERROR=1 Es liegt ein Fehler vor. Die Fehlermeldung steht in STATUS.

5.2.5.3 Erläuterung der Formalparameter - DP_CTRL

Erläuterung der Formalparameter Die folgende Tabelle erläutert alle Formalparameter für die Funktion DP_CTRL:

Parameter Deklaration Datentyp Wertebereich Beschreibung CPLADDR INPUT WORD Baugruppen-Anfangsadresse

Bei der Konfiguration des CP wird die Baugruppen Anfangsadresse in der Konfigurationstabelle ausgege-ben. Geben Sie diese Adresse hier an.

CONTROL INPUT ANY (als VARTYPE sind nur zuge-lassen: BYTE, WORD und DWORD)

Die Länge ist einzustellen von 1...240

Angabe von Adresse und Länge des CONTROL-Auftragsblockes Adresse des Datenbereichs. Verweist alternativ auf: • PA-Bereich • Merkerbereich • Datenbausteinbereich Die Länge muss mindestens so groß wie die Parame-teranzahl gewählt werden.

DONE OUTPUT BOOL 0: - 1: Auftrag fehler-frei ausgeführt.

Zeigt an, ob der Auftrag gesendet und fehlerfrei abge-schlossen wurde. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen DP_CTRL (Seite 253)

ERROR OUTPUT BOOL 0: - 1: Fehlerfall

Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen DP_CTRL (Seite 253)

STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen DP_CTRL (Seite 253)

Page 249: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 249

Aufbau des CONTROL-Auftragsblockes Der Kontrollauftrag hat folgende Struktur:

Beispiel für den Auftragsblock Mit einem Auftragsblock nach unten stehendem Muster wird ein zyklischer Global Control Auftrag SYNC und Unfreeze für die Gruppe 4 und 5 ohne die Option Autoclear abgesetzt.

Die im ANY-Pointer angegebene Länge muss mindestens 4 sein (im Aufrufbeispiel gewählt sind 30).

5.2.5.4 Auftragsarten - DP_CTRL

Auftragsarten Zulässige bzw. sinnvolle Auftragsangaben ergeben sich gemäß nachfolgender Übersicht aus der Angabe für CTYPE sowie den Angaben im Auftragsblock.

Page 250: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 250 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CTYPE Entspricht Auftrag Parameter im Auftragsblock Beschreibung

Name Anzahl 0 Global Control ansto-

ßen 1. Byte: Command Mode 2. Byte: Group Select (siehe im An-schluss an diese Tabelle)

2 Es wird ein einmaliger Global Control Auftrag an die mit Group Select selektierten DP-Slaves gesendet. Im Parameter Command Mode werden folgende Global Control Aufträge bestimmt : • SYNC • UNSYNC • FREEZE • UNFREEZE • CLEAR - wird nicht unterstützt (bitte beachten Sie

auch die Angaben im Gerätehandbuch) Es ist möglich, mehr als einen Auftrag im Parameter Command Mode anzugeben.

1 *) Zyklischen Global Control anstoßen

1. Byte: Command Mode 2. Byte: Group Select 3. Byte: Autoclear (siehe im Anschluss an diese Tabelle)

3 Es erfolgt der Anstoß an den PROFIBUS-CP, dass dieser zyklisch Global Control Aufträge an die mit Group Select selektierten DP-Slaves sendet. Der Parameter Autoclear wird nur beim Global Control Auftrag SYNC ausgewertet. Wenn mindestens ein DP-Slave in der gewählten Gruppe nicht in der Daten-transferphase ist, wird bei Autoclear = 1 zusätzlich der CLEAR-Modus eingeschaltet. Das heißt, die Aus-gangsdaten der DP-Slaves werden auf "0" gesetzt. Im Parameter Command Mode können folgende Glo-bal Control Aufträge eingeschaltet werden : • SYNC • FREEZE • CLEAR (CLEAR-Bit = 1) - wird nicht unterstützt

(bitte beachten Sie auch die Angaben im Geräte-handbuch)

bzw. ausgeschaltet werden : • UNSYNC • UNFREEZE • UNCLEAR (CLEAR-Bit = 0) Es ist möglich, mehr als einen Auftrag im Parameter Command Mode anzugeben. Um einen laufenden zyklischen Global Control Auftrag zu beenden, muss ein erneuter Global Control Auftrag (zyklisch oder azyklisch) durchgeführt werden. Um den im Command Mode eingestellten Auftrag zu beenden, muss der entsprechende Auftrag ausgeschaltet werden. Z. B. wird der SYNC-Auftrag durch einen UNSYNC-Auftrag ausgeschaltet.

Page 251: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 251

CTYPE Entspricht Auftrag Parameter im Auftragsblock Beschreibung Name Anzahl

3 Ältere DP-Einzeldiagnose lö-schen

1. Byte: Slv_Adresse 1..126 127 = alle Slaves

1 Es werden die älteren, im PROFIBUS-CP gespeicher-ten DP-Enzeldiagnosedaten für einen oder alle DP-Slaves gelöscht.

4 Aktuellen DP-Betriebszustand set-zen

1. Byte: RUN = 00H CLEAR = 01H OFFLINE = 03H RUN mit AUTOCLEAR = 04H

RUN ohne AUTOCLEAR = 04H

1 Mit diesem Auftrag kann der DP-Betriebszustand wie folgt gesetzt werden: • RUN • CLEAR • OFFLINE Der Parameter AUTOCLEAR bedeutet, dass der DP-Master Klasse 1 selbständig in den Betriebszustand CLEAR geht, wenn folgende Bedingung erfüllt ist: mindestens einer der DP-Slave, mit denen der DP-Master Klasse 1 Datenaustausch betreiben will, ist nicht im Datentransfer. Mit dem Parameter RUN ohne AUTOCLEAR wird AUTOCLEAR zurückgesetzt. Hinweise: Der Betriebszustand STOP = 02H wird bei den aktuel-len Baugruppen nicht mehr unterstützt (ab Baugrup-pentyp DA02). Eine Angabe STOP = 02H wird auf den Betriebszustand OFFLINE abgebildet.

5 DP-Betriebszustand für CPU-STOP setzen

1. Byte: RUN = 00H CLEAR = 01H OFFLINE = 03H

1 Mit diesem Auftrag wird festgelegt, in welchen DP-Betriebszustand der PROFIBUS-CP bei CPU-STOP geht : • RUN • CLEAR • OFFLINE Als DEFAULT-Wert bei CPU- STOP geht der PROFIBUS-CP in den DP-Betriebszustand CLEAR. Der gesetzte Betriebszustand bleibt bei einem CP-Zustandswechsel von RUN --> STOP --> RUN erhal-ten. Hinweise: Der Betriebszustand STOP = 02H wird bei den aktuel-len Baugruppen (ab Baugruppentyp DA02) nicht mehr unterstützt. Eine Angabe STOP = 02H wird auf den Betriebszustand OFFLINE abgebildet.

Page 252: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 252 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

CTYPE Entspricht Auftrag Parameter im Auftragsblock Beschreibung Name Anzahl

6 DP-Betriebszustand für CP-STOP setzen

1. Byte: OFFLINE=03H

1 Mit diesem Auftrag wird festgelegt, in welchen DP-Betriebszustand der PROFIBUS-CP bei CP-STOP geht : • OFFLINE Als DEFAULT-Wert bei CP-STOP geht der PROFIBUS-CP in den DP-Betriebszustand OFFLINE. Der gesetzte Betriebszustand bleibt bei einem CP-Zustandswechsel von RUN --> STOP --> RUN erhal-ten. Hinweise: Der Betriebszustand STOP = 02H wird bei den aktuel-len Baugruppen (ab Baugruppentyp DA02) nicht mehr unterstützt. Eine Angabe STOP = 02H wird auf den Betriebszustand OFFLINE abgebildet.

7 *) Zyklisches Lesen der Eingangsdaten (DP-Master Klasse 2)

1. Byte: Slave-Adresse 1..125

1 Dieser Auftrag wird nicht unterstützt. Bitte beachten Sie auch die Angaben im Gerätehand-buch.

8 *) Zyklisches Lesen der Ausgangsdaten (DP-Master Klasse 2)

1. Byte: Slave-Adresse 1..125

1 Dieser Auftrag wird nicht unterstützt. Bitte beachten Sie auch die Angaben im Gerätehand-buch.

9 Zyklisches Bearbeiten des DP-Slave vom DP-Master (Klasse 1 /Klasse 2) beenden

1. Byte: Slave-Adresse 1..125

1 Mit diesem Auftrag wird das zyklische Lesen der Ein-gangsdaten oder Ausgangsdaten des adressierten DP-Slave oder der Datentransfer (DP-Master Klasse 1) beendet. Anschließend wird der DP-Slave nicht mehr vom PROFIBUS-CP als DP-Master ( Klasse 2) bearbeitet Dieser Vorgang deaktiviert den DP-Slave.

10 Zyklisches Bearbeiten als DP-Master (Klasse 1) aufnehmen

1. Byte: Slave-Adresse 1..125

1 Der PROFIBUS-CP als DP-Master (Klasse 1) para-metriert den adressierten DP-Slave und nimmt den zyklischen Datentransfer auf (Ausgänge schreiben / Eingänge lesen). Dieser Vorgang aktiviert den DP-Slave.

*) Dieser CTYPE wird bei den aktuellen Baugruppen (ab Baugruppentyp DA02) nicht mehr unterstützt.

5.2.5.5 Command Mode und Group Select - DP_CTRL

Aufbau von Command Mode Für die Aufträge Global Control zyklisch und azyklisch geben Sie im Parameter Command Mode die Betriebsmodi für die Ein- und Ausgangsdaten an.

Hierbei bedeutet jeweils:

1 = aktiviert 0 = nicht aktiviert

Page 253: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 253

Aufbau von Group Select Mit dem Parameter Group Select legen Sie fest, auf welche Gruppe der im Command Mode angegebene Steuerauftrag angewendet werden soll. Group Select belegt das 2. Byte im Kontrollauftrag. Jedes Bit definiert eine mögliche DP-Slavegruppe.

Hierbei bedeutet jeweils:

1 = zugeordnet 0 = nicht zugeordnet

5.2.5.6 Anzeigen DP_CTRL

Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige, gebildet aus den Parametern DONE, ERROR und STATUS.

Hinweis

Beachten Sie für die Einträge mit der Codierung 8FxxH unter STATUS auch die Angaben zum Ausgangsparameter RET_VAL in den Beschreibungen der referenzierten System-Programmbausteine.

Welche System-Programmbausteine genutzt werden und für die Fehlerauswertung relevant sind, können Sie über STEP 7 abfragen.

Page 254: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 254 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 5- 10 Anzeigen DP_CTRL

DONE ERROR STATUS Möglich bei CTYPE

Bedeutung

0 0 8181H 0..10 Auftrag läuft. Der DP-Master ist nicht gestartet wegen: • CP-STOP oder • "keine Parametrierung" Anmerkung: Die beschriebene Anzeige tritt anstelle einer der folgenden, weiter unten beschriebenen Anzeigen auf: 0,1,8183H 0,1, 8333 H 0,1, 8334H

1 0 0000H 0..10 Auftrag fertig ohne Fehler. 1 0 8214H 0, 1 Auftrag abgeschlossen ohne Fehler.

Hinweis-Meldung : zyklischer Global Control Auftrag wird als azyklischer Global Control Auftrag gesendet

1 0 8215H 0, 1 Auftrag abgeschlossen ohne Fehler. Die in der selektierten Gruppe angesprochenen DP-Slaves sind alle deak-tiviert.

1 0 8219H 0, 1 Auftrag abgeschlossen ohne Fehler. Es wurde versucht, einen bereits laufenden zyklischen Global Control noch einmal abzusetzen. Der Global Control läuft unverändert weiter.

1 0 8228H 0, 1 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : die in selektierten Gruppen angesprochenen DP-Slaves besitzen keine Eingangsmodule.

1 0 8229H 0, 1 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : die in selektierten Gruppen angesprochenen DP-Slaves besitzen keine Ausgangsmodule.

1 0 8231H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN"

1 0 8232H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "CLEAR"

1 0 8233H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "STOP"

1 0 8234H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "OFFLINE"

1 0 8235H 4 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN" mit einge-schaltetem AUTOCLEAR

1 0 8236H 4 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN" mit ausge-schaltetem AUTOCLEAR

1 0 8241H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung: der angegebene DP-Slave wurde nicht projektiert.

1 0 8243H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits deaktiviert, da in der Modulli-ste des DP-Slave in der CP-Datenbasis nur Leer-Module enthalten sind .

Page 255: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 255

DONE ERROR STATUS Möglich bei CTYPE

Bedeutung

1 0 8245H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits im Zustand "Eingangsdaten zyklisch lesen"

1 0 8246H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits im Zustand "Ausgangsdaten zyklisch lesen"

1 0 8248H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung: in der Modulliste des DP-Slaves in der CP-Datenbasis sind Eingangs-, Ausgangs-, oder Ein/Ausgangsmodule enthalten.

1 0 8249H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung: der Slave ist wegen eines Wechsels des DP-Betriebszustandes deaktiviert.

1 0 824AH 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits deaktiviert aufgrund eines DP_CTRL Auftrages im CPU-Programm

0 1 8090H 0..10 Baugruppe mit dieser Adresse nicht vorhanden. 0 1 8091H 0..10 Logische Adresse nicht auf Doppel-Wort-Raster. 0 1 80B0H 0..10 Baugruppe kennt den Datensatz nicht. 0 1 80B1H 0..10 Angegebene Datensatzlänge ist falsch. 0 1 80C0H 0..10 Datensatz kann nicht gelesen werden. 0 1 80C1H 0..10 Der angegebene Datensatz ist gerade in Bearbeitung. 0 1 80C2H 0..10 Es liegt ein Auftragsstau vor. 0 1 80C3H Betriebsmittel (Speicher) belegt. 0 1 8183H 0..10 DP-Master ist nicht projektiert...

Anmerkung: Wenn sich der DP-Master im Betriebszustand "STOP" befindet, dann kann auch der Status 8181 H ausgegeben werden.

0 1 8184H Systemfehler bzw. unzulässiger Parametertyp... 0 1 8311H 0..10 Parameter CTYPE außerhalb des Wertebereichs 0 1 8312H 0..10 Länge des Bereiches im Parameter CONTROL ist zu klein. 0 1 8313H 3, 7, 8, 9, 10 Parameter Slave-Adresse außerhalb des Wertebereichs. 0 1 8315H 0, 1 Alle DP-Slaves der im global Control angegebenen Gruppe sind deakti-

viert (tritt bei leerer Gruppe immer auf). 0 1 8317H 8 Die Länge der projektierten Ausgangsdaten ist größer als der projektierte

Empfangsbereich des DP-Slave. Eine Aktivierung des Slave-Modus "Lese Ausgangsdaten" ist nicht mög-lich.

0 1 8318H 0, 1, 4, 5, 6 Parameter 1. Byte des Auftragsdatenblocks liegt außerhalb des Wertebe-reichs. Bei GLOBAL CONTROL wurde CLEAR mit SYNC verwendet oder ein GLOBAL CONTROL mit gesetztem CLEAR an die Gruppe 0 gesen-det.

0 1 831AH 0, 1 Mindestens ein DP-Slave beherrscht FREEZE nicht. 0 1 831BH 0, 1 Mindestens ein DP-Slave beherrscht SYNC nicht.

Page 256: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300

Programmbausteine für SIMATIC NET S7-CPs 256 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

DONE ERROR STATUS Möglich bei CTYPE

Bedeutung

0 1 8333H 0, 1 Der Auftrag ist im DP-Betriebszustand "STOP" nicht erlaubt. Anmerkung: Wenn kein DP-Master projektiert ist, dann kann auch der Status 8181H ausgegeben werden.

0 1 8334H 0, 1 Der Auftrag ist im DP-Betriebszustand "OFFLINE" nicht erlaubt. Anmerkung: Wenn kein DP-Master projektiert ist, dann kann auch der Status 8181H ausgegeben werden.

0 1 8335H 0, 1 Der PROFIBUS-CP ist im PROFIBUS-Status: "Station nicht im Ring". 0 1 8339H 0, 1 Mindestens ein DP-Slave der selektierten Gruppe befindet sich nicht in

der Datentransferphase. 0 1 833CH 1 Zyklischer Global Control darf im Modus

"Plc <-> CP freilaufend" nicht benutzt werden. Dieser Fehler tritt beim CP 3425 nicht auf, da dieser Modus dort nicht möglich ist (Datenübertragung erfolgt immer über PBUS Datensätze).

0 1 8341H 7-10 Der angegebene DP-Slave wurde nicht projektiert. 0 1 8183H 0..10 DP Master nicht projektiert. 0 1 8184H - Systemfehler bzw. unzulässiger Parametertyp. 0 1 8F22H 0..10 Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz). 0 1 8F23H 0..10 Bereichslängenfehler beim Schreiben eines Parameters. 0 1 8F24H 0..10 Bereichsfehler beim Lesen eines Parameters. 0 1 8F25H 0..10 Bereichsfehler beim Schreiben eines Parameters. 0 1 8F28H 0..10 Ausrichtungsfehler beim Lesen eines Parameters. 0 1 8F29H 0..10 Ausrichtungsfehler beim Schreiben eines Parameters. 0 1 8F30H 0..10 Der Parameter liegt im schreibgeschützten 1. aktuellen Datenbaustein. 0 1 8F31H 0..10 Der Parameter liegt im schreibgeschützten 2. aktuellen Datenbaustein. 0 1 8F32H 0..10 Parameter enthält zu große DB-Nummer. 0 1 8F33H 0..10 DB-Nummer Fehler. 0 1 8F3AH 0..10 Bereich nicht geladen (DB). 0 1 8F42H 0..10 Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebe-

reich. 0 1 8F43H 0..10 Quittungsverzug beim Schreiben des Parameters in den Peripheriebe-

reich. 0 1 8F44H 0..10 Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter

ist gesperrt. 0 1 8F45H 0..10 Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Para-

meter ist gesperrt. 0 1 8F7FH 0..10 Interner Fehler. z. B. Unzulässige ANY-Referenz. 0 1 80C4H 0..10 Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im An-

wenderprogramm sinnvoll). 0 1 80D2H 0..10 Logische Basisadresse falsch.

Page 257: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.3 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS)

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 257

5.3 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS)

Ressourcen-Bedarf

Hinweis

Beachten Sie die Versionsangabe der Bausteine. Die aktuell mitgelieferten Bausteinversionen können von den hier angegebenen Bausteinversionen abweichen. Bei Bausteinen mit anderen Ausgabeständen kann der Ressourcenbedarf abweichen.

Angaben zu den aktuellen Bausteinversionen finden Sie unter folgender Beitrags-ID:

Link: (https://support.industry.siemens.com/cs/ww/de/view/9836605)

Tabelle 5- 11 Angaben für FCs / FBs bei S7-400

NAME Version FC/FB Nr. Ladespeicher-Bedarf [Byte]

Arbeitsspeicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

AG_SEND 1.2 FC5 732 576 540 20 AG_RECV 1.2 FC6 656 522 486 20 AG_LSEND 3.1 FC50 1044 846 810 52 AG_LRECV 3.1 FC60 1190 992 956 58

Tabelle 5- 12 Angaben für FCs / FBs bei S7-300

NAME Version FC/FB Nr. Ladespeicher-Bedarf [Byte]

Arbeitsspeicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

DP_SEND 3.0 FC1 1066 886 850 42 DP_RECV 3.0 FC2 1144 950 914 46 DP_DIAG 3.0 FC3 1956 1638 1602 58 DP_CTRL 3.0 FC4 1532 1292 1256 52 AG_SEND 4.2 FC5 1976 1664 1628 50 AG_RECV 4.7 FC6 1440 1206 1170 40

Page 258: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS 5.3 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS)

Programmbausteine für SIMATIC NET S7-CPs 258 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Page 259: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 259

Programmbausteine für PROFIBUS FMS 6 6.1 Anwendung in der Übersicht

Übersicht Für die FMS-Kommunikation stehen für eine S7-Station die folgenden Funktionsbausteine zur Verfügung.

Die Liste gibt die bei der Lieferung verwendeten Bausteinnummern an. Die Bausteinnummern können von Ihnen geändert werden. Funktionsbaustein verwendbar in der Funktion

des PROFIBUS-CP als: Bedeutung / Funktion

Typ Busteinnummer FMS-Client FMS-Server IDENTIFY FB2 X X für die Abfrage von Geräte-

merkmalen READ FB3 X - für Daten Lesen REPORT FB4 - X für Daten unbestätigt übermitteln STATUS FB5 X X für Statusabfrage WRITE FB6 X - für Daten Schreiben

Unterscheidung S7-300 und S7-400 Es werden unterschiedliche FBs für S7-300 und S7-400 geliefert. Greifen Sie auf die entsprechende Bausteinbibliothek (SIMATIC_NET_CP) zu, abhängig davon, ob Sie ein Anwenderprogramm für S7-300 oder S7-400 erstellen.

Page 260: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.2 FMS-Bausteinparameter

Programmbausteine für SIMATIC NET S7-CPs 260 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

6.2 FMS-Bausteinparameter

FB Aufrufschnittstellen In den folgenden Kapiteln wird für jeden FB die Aufrufschnittstelle in der folgenden Form angegeben:

Je nach FB-Typ finden Sie unterschiedliche Parameter vom Typ INPUT, OUTPUT oder INOUT vor.

Die folgenden Tabellen erläutern die Bedeutung, Datentyp, Wertebereich und Speicherbereich für alle vorkommenden Bausteinparameter.

INPUT-Parameter INPUT-Parameter Bedeutung Datentyp Wertebereich / Spei-

cherbereich verwendet in FB

REQ Flankensignal für die Aus-führung des Bausteins.

BOOL 0=FALSE; 1=TRUE 0->1: "starten"/ E,A,M,D,L

2 3 4 5 6

ID Diese Kennung identifiziert die FMS-Verbindung. bei S7-300: Die ID spezifiziert sowohl die LAN-Verbindung als auch die P-Bus-Adresse. bei S7-400: Die ID spezifiziert sowohl die LAN-Verbindung als auch die K-Bus-Verbindung. Sie müssen die ID aus der Verbindungsprojektierung übernehmen bzw. mit die-ser abgleichen!

DWORD (bei FB 1: WORD)

0001 0001 .. FFFF FFFF / E,A,M,D,L

2 3 4 5 6

Page 261: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.2 FMS-Bausteinparameter

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 261

INPUT-Parameter Bedeutung Datentyp Wertebereich / Spei-cherbereich

verwendet in FB

VAR_1 Der Parameter adressiert die ferne Kommunikations-variable, die gelesen oder geschrieben werden soll. Angegeben werden kann, je nach Projektierung beim FMS-Server, ein Name oder ein Index.

ANY String: Max. Länge = 254 Bytes z. B. '<102>' (Indexzugriff) "SLAVE2" (Zugriff über Name) DB

2 3 4 - 6

SD_1 Adresse eines lokalen Da-tenbereiches, aus dem Variablen übertragen wer-den sollen.

ANY Dieser Typ entspricht einer Referenz auf einem DB, E/A-Prozessabbild oder Merkerbereich. Beispiel: SD_1 := P#DB17.DBX0.0 BYTE 16 In diesem Beispiel wer-den die ersten 16 Bytes des DB 17 übertragen. E,A,M,D,L,Z,T, DBx

- - 4 - 6

RD_1 Adresse eines lokalen Da-tenbereiches, in den Va-riablen übertragen werden sollen.

ANY Dieser Typ entspricht einer Referenz auf einem DB, E/A-Prozessabbild oder Merkerbereich. Beispiel: RD_1 := P#DB17.DBX0.0 BYTE 16 In diesem Beispiel wer-den die ersten 16 Bytes des DB 17 übertragen. E,A,M,D,L, DBx Hinweis für Array of Byte bei S7-300: Bei einer ungeraden Anzahl zu lesender Bytes müssen Sie die Länge des Empfangs-bereiches auf die nächst höhere gerade Anzahl Bytes auslegen Beispiel: für ein Array[1..13] of Byte müssen Sie die Empfangspuffergröße auf 14 Byte reservieren.

- 3 - - -

Page 262: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.2 FMS-Bausteinparameter

Programmbausteine für SIMATIC NET S7-CPs 262 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

OUTPUT-Parameter

OUTPUT-Parameter Bedeutung Datentyp Wertebereich / Speicherbereich

verwendet in FB

DONE Zeigt die Abarbeitung des Auftrags an.

BOOL 0=FALSE 1=TRUE: Auftrag ist fertig; E,A,M,D,L

- - 4 - 6

NDR Zeigt den Empfang von Daten an.

BOOL 0=FALSE 1=TRUE: neue Daten wurden übernommen; E,A,M,D,L

2 3 - 5 -

ERROR Zeigt an, ob ein Fehler aufgetreten ist.

BOOL 0=FALSE 1=TRUE: Fehler ist aufgetreten; E,A,M,D,L

2 3 4 5 6

STATUS Gibt nach Abarbeitung des Auftrages detaillierte Aus-kunft über Warnungen oder Fehler.

WORD Entnehmen Sie die detaillierten Entschlüsselungen den nachfol-genden Kapiteln. E,A,M,D,L

2 3 4 5 6

INPUT/OUTPUT-Parameter

INOUT-Parameter Bedeutung Datentyp Wertebereich / Speicherbereich

verwendet in FB

PHYS Zeigt den physikalischen Zustand des Partnergerä-tes (VFD) an.

BYTE 0...3 E,A,M,D,L

- - - 5 -

LOG Zeigt den logischen Zu-stand des Partnergerätes (VFD) an.

BYTE 0...3 E,A,M,D,L

- - - 5 -

LOCAL Parameter "local detail" des Partners

ANY Das Detail kann bis zu 16 Byte umfassen. E,A,M,D,L

- - - 5 -

VENDOR Name des Geräteherstel-lers

STRING Länge<255 D

2 - - - -

MODEL Name des Gerätemodells STRING Länge<255 D

2 - - - -

REVISION Ausgabestand des Gerä-tes

STRING Länge<255 D

2 - - - -

Speicherbereich Die in der Tabelle in Kurzform angegebenen Speicherbereiche entsprechen: Kurzform Typ E Eingang A Ausgang

Page 263: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.3 IDENTIFY

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 263

Kurzform Typ M Merker L temporäre Lokaldaten D Datenbaustein-Bereich Z Zähler T Timer DBX Datenbaustein

FB-Ausgabeparameter beim CP-Anlauf (S7-400) Wenn der FB aufgerufen und aktiviert wird ( REQ:0->1, EN_R=1), während der PROFIBUS-CP (z. B. wegen Netz aus/ein, Schalterbetätigung) hochläuft, sind folgende Ausgabeparameter möglich:

● DONE = 0

● NDR = 0

● ERROR = 1

● STATUS = 0001 (Verbindung ist noch nicht aufgebaut) bzw. STATUS = 0607 (Get-OV läuft noch)

6.3 IDENTIFY

6.3.1 Bedeutung und Aufruf - IDENTIFY

Bedeutung des Bausteins Über den Funktionsbaustein IDENTIFY können Sie folgende Informationen über das Partnergerät (bei S7-Stationen über die CPU) einholen:

● Name des Geräteherstellers

● Name des Gerätemodells

● Ausgabestand des Gerätes

Abhängig von diesen Informationen können Sie beispielsweise

● die lokale Programmfunktion auf die Leistungen und das Verhalten des Partners einstellen;

● Kommunikationsparameter einstellen;

Page 264: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.3 IDENTIFY

Programmbausteine für SIMATIC NET S7-CPs 264 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Aufrufschnittstelle

Beispiel in AWL-Darstellung

AWL Erläuterung

call FB 2, DB 22 ( REQ := M 1.0, ID := DW#16#10001, NDR := M 1.1, ERROR := M 1.2, STATUS := MW 20, VENDOR := "SLAVE2".VENDOR_ABBILD, MODEL := "SLAVE2".MODEL_ABBILD, REVISION := "SLAVE2".REV_ABBILD );

//IDENTIFY Bausteinaufruf mit Instanz-DB //Flankensignal für die Ausführung des FB //mit Projektierung der FMS-Verbindung // abgeglichen //zeigt an, wenn "neue Daten übernommen" //zeigt fehlerhafte Ausführung an //detaillierte Fehlerentschlüsselung //Datenbereich für Herstellername //Datenbereich für Gerätetyp //Datenbereich für Ausgabestand

Zusatzinformation

"SLAVE2" ist der symbolische Name eines Datenbausteins. Dieser Name ist in der dazugehörigen Symboltabelle definiert. VENDOR_ABBILD, MODEL_ABBILD und REVISION_ABBILD sind Variablen des Datentyps STRING. Diese sind im Datenbaustein "SLAVE2" definiert.

6.3.2 Arbeitsweise - IDENTIFY

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf eines IDENTIFY-Auftrages.

Der Auftrag wird durch einen (positiven) Flankenwechsel des Parameters REQ aktiviert.

Jeder IDENTIFY-Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern NDR, ERROR und STATUS vom PROFIBUS-CP quittiert.

Page 265: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.4 READ

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 265

6.4 READ

6.4.1 Bedeutung und Aufruf - READ

Bedeutung Der Funktionsbaustein READ liest Daten aus einem über Namen oder Index spezifizierten Datenbereich des Kommunikationspartners, je nach Auftragsparametrierung. Die gelesenen Daten werden lokal in einem Datenbaustein, einem Bereich im Prozessabbild der Ein-/Ausgänge oder in einem Merkerbereich abgelegt.

Voraussetzung: Kommunikationsvariable projektieren Die Struktur der Variablen ist beim Kommunikationspartner (FMS-Server) festgelegt. Beim Aufbau der FMS-Verbindung wird die Strukturbeschreibung beim Kommunikationspartner ausgelesen. Diese steht dann auf dem PROFIBUS-CP für die Konvertierung der Daten in die FMS-Darstellung zur Verfügung.

Page 266: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.4 READ

Programmbausteine für SIMATIC NET S7-CPs 266 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Die Strukturbeschreibung wird nur dann beim Verbindungsaufbau gelesen, wenn die Kommunikationsvariable bei der Projektierung der FMS-Verbindung ausgewählt wurde.

Gesetzte Zugriffsrechte beachten Beachten Sie, dass für die Datenübertragung Zugriffsrechte gesetzt sein können. Die Übertragung ist dann nur möglich, wenn entsprechende Rechte für den FMS-Client zugeteilt sind.

FB Aufrufschnittstelle

Beispiel in AWL-Darstellung

AWL Erläuterung

call FB 3, DB 29 ( REQ := M 1.0, ID := DW#16#10001, VAR_1 := "SLAVE2".INDEX, RD_1 := "PROZESS".Motor1, NDR := M 1.1, ERROR := M 1.2, STATUS := MW 20 );

//READ Bausteinaufruf mit Instanz-DB //Flankensignal für die Ausführung des FB //mit Projektierung der FMS-Verbindung // abgeglichen //adressiert K.-Variable, die gelesen werden soll //adressiert Datenbereich, in den übertragen wird //Ausführungsbestätigung //zeigt fehlerhafte Ausführung an //detaillierte Fehlerentschlüsselung

6.4.2 Arbeitsweise READ

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit READ im Anwenderprogramm angestoßenen Datenübernahme.

Der Auftrag wird durch einen (positiven) Flankenwechsel des Parameters REQ aktiviert.

Jeder READ Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern NDR, ERROR und STATUS vom PROFIBUS-CP quittiert.

Page 267: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.5 REPORT

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 267

Gewährleistung der Datenübertragung Die Darstellung zeigt, dass mit der Anzeige NDR=1, ERROR=0 und STATUS=0000 das erfolgreiche Auslesen bestätigt wird.

Die positive Bestätigung des Leseauftrages besagt nicht unbedingt, dass der Lesevorgang von der Partnerapplikation registriert wurde.

6.5 REPORT

6.5.1 Bedeutung und Aufruf - REPORT

Bedeutung des Bausteins Der Funktionsbaustein REPORT (Melden) ermöglicht einem FMS-Server die unbestätigte Übertragung von Variablen. Diese Auftragsart wird insbesondere auch zur Übertragung auf Broadcast FMS-Verbindungen genutzt.

Die Struktur der zu meldenden Variablen muss per Projektierung lokal (FMS-Server) festgelegt worden sein.

Page 268: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.5 REPORT

Programmbausteine für SIMATIC NET S7-CPs 268 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

S7-Station als Kommunikationspartner Damit die gemeldeten Variablen beim Kommunikationspartner entgegengenommen werden können, müssen diese bei der Projektierung des Kommunikationspartners (FMS-Client) eingetragen werden.

Aufrufschnittstelle

Beispiel in AWL-Darstellung AWL Erläuterung

call FB 4, DB 28 ( REQ := M 1.0, ID := DW#16#10001, VAR_1 := "SLAVE2".INDEX, SD_1 := "PROZESS".Motor1, DONE := M 1.1, ERROR := M 1.2, STATUS := MW 20 );

//REPORT Bausteinaufruf mit Instanz-DB //Flankensignal für die Ausführung des FB //mit Projektierung der FMS-Verbindung abgeglichen //benennt K.-Variable, die gemeldet werden soll //adressiert Datenbereich, aus dem übertragen wird //Ausführungsbestätigung //zeigt fehlerhafte Ausführung an //detaillierte Fehlerentschlüsselung

Hinweis

Mit dem Parameter SD_1 wird der Datenbereich adressiert, aus dem die Variablenwerte gelesen und gemeldet werden. Entsprechend den FMS-Konventionen müssen Sie zusätzlich den Variablenindex an der FC-Schnittstelle angeben. Die Konsistenz der beiden Angaben wird bei der Aufrufbearbeitung jedoch nicht geprüft.

6.5.2 Arbeitsweise REPORT

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit REPORT im Anwenderprogramm angestoßenen Datenübertragung.

Der Auftrag wird durch einen (positiven) Flankenwechsel des Parameters REQ aktiviert.

Page 269: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.6 STATUS

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 269

Jeder REPORT Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern DONE, ERROR und STATUS vom PROFIBUS-CP quittiert.

6.6 STATUS

6.6.1 Bedeutung und Aufruf - STATUS

Bedeutung des Bausteins Der Funktionsbaustein STATUS ermöglicht es, Statusinformationen beim Kommunikationspartner auf der angegebenen FMS-Verbindung anzufordern.

Page 270: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.6 STATUS

Programmbausteine für SIMATIC NET S7-CPs 270 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Unterschieden werden:

● der logische Status der VFD; gibt z. B. Auskunft über die Kommunikationsbereitschaft.

● der physikalische Status der VFD; gibt Auskunft über den Gerätezustand.

● gerätespezifische Detailinformationen; liefert eine meist herstellerspezifische Zusatzinformation.

Die folgende Tabelle gibt Aufschluss über die Anzeigen, die ein Gerät aufgrund einer Statusabfrage liefern kann: Gerät Meldungsvariante Log Phys Local Detail S7 mit PROFIBUS-CP

1 00H: Kommunikations- bereit, CP in RUN, CPU in RUN

10H: Betriebsbereit, CPU in RUN

kein Eintrag

2 02H: Anzahl der Dien-ste begrenzt, CP im RUN, CPU in STOP

13H: Wartung erforder-lich, CPU in STOP

kein Eintrag

Fremdgerät generell möglich sind:

00H: Kommunikations- bereit 02H: Anzahl der Dien-ste begrenzt

10H: Betriebsbereit 11H Teilweise be-triebsbereit 12H Nicht betriebsbe-reit 13H Wartung erforder-lich

- hersteller-spezifisch -

Aufrufschnittstelle

Page 271: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.6 STATUS

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 271

Beispiel in AWL-Darstellung AWL Erläuterung

call FB 5, DB 21 ( REQ := M 1.0, ID := DW#16#10001, NDR := M 1.1, ERROR := M 1.2, STATUS := MW 20, PHYS := MB 22, LOG := MB 23, LOCAL := P#DB18.DBX0.0 WORD8 );

//STATUS Bausteinaufruf mit Instanz-DB //Flankensignal für die Ausführung des FB //mit Projektierung der FMS-Verbindung abgeglichen //zeigt an, wenn "neue Daten übernommen" //zeigt fehlerhafte Ausführung an //detaillierte Fehlerentschlüsselung //Datenbereich für physikalischen Status //Datenbereich für logischen Status //Datenbereich für "local detail"

6.6.2 Arbeitsweise STATUS

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf eines STATUS-Auftrages.

Der Auftrag wird durch einen (positiven) Flankenwechsel des Parameters REQ aktiviert.

Jeder STATUS-Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern NDR, ERROR und STATUS vom PROFIBUS-CP quittiert.

Page 272: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.7 WRITE

Programmbausteine für SIMATIC NET S7-CPs 272 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

6.7 WRITE

6.7.1 Bedeutung und Aufruf - WRITE

Bedeutung Der FB WRITE überträgt Daten aus einem angegebenen lokalen Datenbereich in einen Datenbereich des Kommunikationspartners. Der lokale Datenbereich kann ein Datenbaustein, ein Bereich im Prozessabbild der Ein-/Ausgänge oder ein Merkerbereich sein.(vgl. Parameter SD_1, FMS Bausteinparameter (Seite 260))

Der Datenbereich des Kommunikationspartners wird über einen Variablennamen oder einen Variablenindex angeben.

Page 273: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.7 WRITE

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 273

Voraussetzung: Kommunikationsvariable projektieren Die Struktur der Variablen ist beim Kommunikationspartner (FMS-Server) festgelegt. Beim Aufbau der FMS-Verbindung wird die Strukturbeschreibung beim Kommunikationspartner ausgelesen. Diese steht dann auf dem PROFIBUS-CP für die Konvertierung der Daten in die FMS-Darstellung zur Verfügung.

Die Strukturbeschreibung wird nur dann beim Verbindungsaufbau gelesen, wenn die Kommunikationsvariable bei der Projektierung der FMS-Verbindung ausgewählt wurde.

Gesetzte Zugriffsrechte beachten Beachten Sie, dass für die Datenübertragung Zugriffsrechte gesetzt sein können. Die Übertragung ist dann nur möglich, wenn entsprechende Rechte für den FMS-Client zugeteilt sind.

Aufrufschnittstelle

Beispiel in AWL-Darstellung

AWL Erläuterung

call FB 6, DB 28 ( REQ := M 1.0, ID := DW#16#10001, VAR_1 := "SLAVE2".INDEX, SD_1 := "PROZESS".Motor1, DONE := M 1.1, ERROR := M 1.2, STATUS := MW 20 );

//WRITE Bausteinaufruf mit Instanz-DB //Flankensignal für die Ausführung des FB //mit Projektierung der FMS-Verbindung abgeglichen //benennt K.-Variable, die geschrieben werden soll //adressiert Datenbereich, aus dem übertragen wird //Ausführungsbestätigung //zeigt fehlerhafte Ausführung an //detaillierte Fehlerentschlüsselung

6.7.2 Arbeitsweise WRITE

Arbeitsweise Die folgende Ablaufdarstellung zeigt den normalen zeitlichen Ablauf einer mit WRITE im Anwenderprogramm angestoßenen Datenübertragung.

Der Auftrag wird durch einen (positiven) Flankenwechsel des Parameters REQ aktiviert.

Page 274: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Programmbausteine für SIMATIC NET S7-CPs 274 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Jeder WRITE Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern DONE, ERROR und STATUS vom PROFIBUS-CP quittiert.

Gewährleistung der Datenübertragung Die Darstellung zeigt, dass mit der Bestätigung DONE=1, ERROR=0 und STATUS=0000 eine Übertragung der Daten zum Kommunikationspartner und der Eintrag im fernen Datenbereich gewährleistet ist.

Die positive Bestätigung des Auftrages besagt nicht unbedingt, dass die Daten von der Partnerapplikation bereits entgegengenommen bzw. verarbeitet wurden.

6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Aufbau der Tabellen Entnehmen Sie den folgenden Tabellen die Anzeigen und Fehlercodes, die Sie in Ihrem Anwenderprogramm hantieren müssen. Die Bedeutungen der Parameter DONE/NDR, ERROR und STATUS sind in FMS Bausteinparameter (Seite 260) - erläutert

Zur besseren Übersicht sind die Fehlercodes nach folgendem Schema aufgelistet:

Page 275: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 275

Fehlerfreie Auftragsbearbeitung Eine fehlerfreie Auftragsbearbeitung liefert folgende Anzeigen an der FB-Schnittstelle: DONE/NDR ERROR STATUS Bedeutung 1 0 0x0000 Auftrag fertig ohne Fehler 0 0 0x000B Auftrag läuft

Fehlerklassen Die möglichen Fehlercodes werden in folgende Fehlerklassen gruppiert:

Tabelle 6- 1 Fehlerklasse "Baustein"

Fehlerklasse Bedeutung Baustein Bezeichnet Fehler oder Probleme bzgl.:

• FB-Parametrierung; • Bausteinbearbeitung in CPU und CP.

Applikation Bezeichnet Fehler oder Probleme an der Schnittstelle zwischen Anwenderpro-gramm und FB.

Definition Bezeichnet Fehler, die meist auf Inkonsistenzen zwischen Anwenderprogramm und FMS-Projektierung hinweisen.

Betriebsmittel Bezeichnet Betriebsmittel-(Ressourcenprobleme) des PROFIBUS-CP. Dienst Bezeichnet Fehler oder Probleme im Zusammenhang mit dem angeforderten

FMS-Dienst. Zugriff Meldet zurückgewiesene Objektzugriffe aufgrund von:

• fehlenden Zugriffsrechten; • Hardwareproblemen; • sonstige Inkonsistenzen.

OV (Objekt-verzeichnis)

Bezeichnet Probleme beim Zugriff auf das Objektverzeichnis des VFD.

VFD-Status Nicht näher spezifiziertes Fehlerbild des VFD. sonst sonstige Fehlerbilder

Page 276: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Programmbausteine für SIMATIC NET S7-CPs 276 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

6.8.1 Lokal erkannte Fehler

Tabelle 6- 2 Fehlerklasse "Applikation"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0001 Kommunikationsproblem:

z. B. K-Bus-Verbindung wurde nicht aufgebaut. 0 1 0x0002 Funktion ist nicht ausführbar: entweder negative

Quittung vom CP oder Fehler in der Sequenzfolge z. B. K-BUS-Protokollfehler.

0 1 0x0003 Die Verbindung ist nicht projektiert (ungültige ID angegeben). Wenn die Verbindung doch projektiert ist, dann deutet die Fehlermeldung darauf hin, dass die zulässige Parallelität der Auftragsbearbeitung überschritten ist. Beispiel: SAC = 0 projektiert und es wird ein REPORT-Auftrag abgesetzt.

0 1 0x0004 Der Empfangsdatenbereich ist zu kurz oder die Datentypen stimmen nicht überein.

0 1 0x0005 Eine Reset-Anforderung ist vom CP eingetroffen (BRCV).

0 1 0x0006 Korrespondierende Auftragsbearbeitung im CP ist im Zustand DISABLED oder Reset-Anforderung ist vom CP eingetroffen; dadurch unvollständige Über-tragung.

0 1 0x0007 Korrespondierende Auftragsbearbeitung im CP ist im falschen Zustand. Bei REPORT: der Fehler ist im Diagnosepuffer nä-her spezifiziert.

0 1 0x0008 Auftragsbearbeitung des CPs meldet Zugriffsfehler auf Anwenderspeicher.

0 1 0x000A Zugriff auf lokalen Anwenderspeicher ist nicht mög-lich (z. B. wurde der DB gelöscht).

0 1 0x000C Beim Aufruf des unterlagerten BSEND- oder BRCV-SFBs wurde ein Instanz-DB, der nicht zum SFB 12 / SFB 13 gehört angegeben oder es wurde kein In-stanz-DB benutzt, sondern ein Global-DB.

0 1 0x0014 Es ist zu wenig Arbeits- oder Ladespeicher vorhan-den.

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0200 Unspezifizierter Applikationsreferenzfehler. 0 1 0x0201 Die projektierte Verbindung kann z. Zt. nicht aufge-

baut werden, z. B. LAN-Verbindung nicht aufgebaut.

Page 277: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 277

Tabelle 6- 3 Fehlerklasse "Definition"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0300 Unspezifizierter Definitionsfehler. 0 1 0x0301 Objekt mit angefordertem Index/Namen ist nicht

definiert. 0 1 0x0302 Objektattribute sind inkonsistent. 0 1 0x0303 Name existiert bereits.

Tabelle 6- 4 Fehlerklasse "Betriebsmittel"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0400 Unspezifizierter Betriebsmittelfehler. 0 1 0x0401 Kein Speicher verfügbar.

Tabelle 6- 5 Fehlerklasse "Dienst"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0500 Unspezifizierter Dienstfehler. 0 1 0x0501 Konflikt wegen Objektstatus. 0 1 0x0502 Projektierte PDU-Größe überschritten. 0 1 0x0503 Konflikt wegen Objektrestriktionen. 0 1 0x0504 Inkonsistente Parameter. 0 1 0x0505 Illegale Parameter.

Tabelle 6- 6 Fehlerklasse "Zugriff"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0600 Unspezifizierter Zugriffsfehler. 0 1 0x0601 Ungültiges Objekt oder kein OV geladen; 0 1 0x0602 Hardwarefehler 0 1 0x0603 Objektzugriff wurde abgelehnt. 0 1 0x0604 Ungültige Adresse. 0 1 0x0605 Inkonsistente Objektattribute. 0 1 0x0606 Objektzugriff wird nicht unterstützt.. 0 1 0x0607 Objekt existiert nicht im OV oder GetOV läuft noch. 0 1 0x0608 Typkonflikt oder Variableninhalt außerhalb des zu-

lässigen Wertebereiches. 0 1 0x0609 Zugriff per Namen wird nicht unterstützt..

Page 278: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Programmbausteine für SIMATIC NET S7-CPs 278 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 6- 7 Fehlerklasse "Objektverzeichnis" (OV) / Fehlerklasse VFD-Status/Reject

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0700 Unspezifizierter OV-Fehler. 0 1 0x0701 Zulässige Namenslänge ist überschritten. 0 1 0x0702 Überlauf des Objektverzeichnisses. 0 1 0x0703 Objektverzeichnis ist schreibgeschützt. 0 1 0x0704 Überlauf der Extension-Länge. 0 1 0x0705 Überlauf der Objektbeschreibungslänge. 0 1 0x0706 Verarbeitungsproblem.

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0100 unspezifizierter VFD-Status-Fehler. 0 1 0x0108 RCC/SAC/RAC-Fehler 0 1 0x0106 Dienst nicht unterstützt. 0 1 0x0105 PDU-Längenfehler. 0 1 0x0102 FMS-PDU fehlerhaft.

Tabelle 6- 8 Fehlerklasse "sonst"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x0800 Unspezifizierter Fehler .

6.8.2 Vom FMS-Partner gemeldete Fehler

Tabelle 6- 9 Fehlerklasse Applikation

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8200 Unspezifizierter Applikationsreferenzfehler. 0 1 0x8201 Applikation (z. B. Anwenderprogramm) nicht er-

reichbar.

Tabelle 6- 10 Fehlerklasse Definition

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8300 Unspezifizierter Definitionsfehler. 0 1 0x8301 Objekt mit angefordertem Index/Namen ist nicht

definiert. 0 1 0x8302 Objektattribute sind inkonsistent. 0 1 0x8303 Name existiert bereits.

Page 279: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 279

Tabelle 6- 11 Fehlerklasse Betriebsmittel

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8400 Unspezifizierter Betriebsmittelfehler. 0 1 0x8401 Kein Speicher verfügbar.

Tabelle 6- 12 Fehlerklasse Dienst

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8500 Unspezifizierter Dienstfehler. 0 1 0x8501 Konflikt wegen Objektstatus. 0 1 0x8502 Projektierte PDU-Größe überschritten. 0 1 0x8503 Konflikt wegen Objektrestriktionen. 0 1 0x8504 Inkonsistente Parameter. 0 1 0x8505 Illegale Parameter.

Tabelle 6- 13 Fehlerklasse Zugriff

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8600 Unspezifizierter Zugriffsfehler. 0 1 0x8601 Ungültiges Objekt. 0 1 0x8602 Hardwarefehler. 0 1 0x8603 Objektzugriff wurde abgelehnt. 0 1 0x8604 Ungültige Adresse. 0 1 0x8605 Inkonsistente Objektattribute. 0 1 0x8606 Objektzugriff wird nicht unterstützt. 0 1 0x8607 Objekt existiert nicht. 0 1 0x8608 Typkonflikt oder Variableninhalt außerhalb des zu-

lässigen Wertebereiches. 0 1 0x8609 Zugriff per Namen wird nicht unterstützt.

Tabelle 6- 14 Fehlerklasse OV (Objektverzeichnis)

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8700 Unspezifizierter OV-Fehler. 0 1 0x8701 Zulässige Namenslänge überschritten. 0 1 0x8702 Überlauf des Objektverzeichnisses. 0 1 0x8703 Objektverzeichnis ist schreibgeschützt. 0 1 0x8704 Überlauf der Extension-Länge. 0 1 0x8705 Überlauf der Objektbeschreibungslänge. 0 1 0x8706 Verarbeitungsproblem.

Page 280: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für PROFIBUS FMS 6.9 Mengengerüst / Ressourcenbedarf der FBs (PROFIBUS FMS)

Programmbausteine für SIMATIC NET S7-CPs 280 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Tabelle 6- 15 Fehlerklasse VFD-Status / Fehlerklasse "sonst"

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8100 Unspezifizierter VFD-Status-Fehler.

DONE/NDR ERROR STATUS Bedeutung 0 1 0x8000 unspezifizierter Fehler - vom Partner erkannt.

6.9 Mengengerüst / Ressourcenbedarf der FBs (PROFIBUS FMS)

Hinweis

Beachten Sie die Versionsangabe der Bausteine. Die aktuell mitgelieferten Bausteinversionen können von den hier angegebenen Bausteinversionen abweichen. Bei Bausteinen mit anderen Ausgabeständen kann der Ressourcenbedarf abweichen.

Angaben zu den aktuellen Bausteinversionen finden Sie unter folgender Beitrags-ID:

Link: (https://support.industry.siemens.com/cs/ww/de/view/9836605)

Tabelle 6- 16 Angaben für FBs bei S7-400

NAME Version FB Nr. Lade-Speicher-Bedarf [Byte]

Arbeits-Speicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

Instanz-DB [Byte]

Instanz-DB MC7 [Byte]

IDENT 1.4 2 1658 1364 1328 136 464 196 READ 1.5 3 2474 2086 2050 130 606 338 REPORT 1.5 4 2184 1818 1782 156 588 332 STATUS 1.3 5 1656 1390 1354 112 438 190 WRITE 1.5 6 2486 2094 2058 142 632 358

Tabelle 6- 17 Angaben für FBs bei S7-300

NAME Version FB Nr. Baustein [Byte]

Arbeits-Speicher-Bedarf [Byte]

MC7 [Byte] Lokaldaten [Byte]

Instanz-DB [Byte]

Instanz-DB MC7 [Byte]

IDENT 1.6 2 1462 1254 1218 86 306 158 READ 1.5 3 1998 1700 1664 64 218 70 REPORT 1.6 4 2036 1732 1696 76 230 72 STATUS 1.6 5 1430 1244 1208 60 182 46 WRITE 1.6 6 2028 1724 1688 76 230 72

Page 281: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 281

Dokument-Historie A

Dieses Kapitel gibt eine Übersicht zu den bisherigen Ausgabeständen dieses Handbuches und den funktionalen Ergänzungen der Programmbausteine.

Das war neu in Ausgabe 07 Diese Handbuchausgabe beinhaltete Korrekturen und Ergänzungen.

Änderungen / Ergänzungen:

● Bezeichnung der PROFIenergy-Programmbausteine für die S7-300 in STEP 7 Professional

● Mengengerüst / Ressourcenbedarf der Programmbausteine für Ethernet und PROFIBUS FMS

● Reaktion der SIMATIC NET-CPs auf ICMP-Telegramme

Das war neu in Ausgabe 06 Diese Handbuchausgabe beinhaltete Korrekturen.

Korrekturen:

● PROFIenergy-Programmbausteine

Das war neu in Ausgabe 05 Diese Handbuchausgabe beinhaltete Korrekturen und Ergänzungen.

Änderungen / Ergänzungen:

● PROFIenergy

Neue Programmbausteine für PROFIenergy-Funktionen

Das war neu in Ausgabe 04 Diese Handbuchausgabe beinhaltete Korrekturen und Ergänzungen.

Änderungen / Ergänzungen:

● Neuer Programmbaustein AG_CNTEX

● Anpassung an die neue Projektierungs-Software STEP 7 Professional

Programmbausteine werden in der neuen Projektiersoftware grundsätzlich nur mit ihren symbolischen Namen angegeben. Das vorliegende Handbuch trägt dem Rechnung, indem die Namen der Programmbausteine vorzugsweise verwendet werden. Eine Zuordnung der Bezeichnungen mit Baustein-Nummern gemäß der Verwendung in STEP 7 V5.5 ist aber nach wie vor enthalten.

Page 282: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Dokument-Historie

Programmbausteine für SIMATIC NET S7-CPs 282 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

● Ergänzter Programmbaustein FTP_CMD

Sie können SSL-gesicherte FTP-Verbindungen einrichten.

Das war neu in Ausgabe 03 Diese Handbuchausgabe beinhaltete Korrekturen und Ergänzungen.

Änderungen / Ergänzungen:

● Verweis auf FAQ-Beitrag zur Bausteinhantierung.

● Besonderheiten beim Einsatz des FBs für programmierte Verbindungen und IP-Konfiguration in hochverfügbaren Systemen (H-Systeme)

● DP_SEND / DP_RECV Erläuterung für Statusanzeige 8180H ergänzt.

● DP_CTRL: Die fehlende Beschreibung zur Auftragsart CTYPE = 4 wurde ergänzt.

Angaben zum CTYPE 1,7 und 8 wurden ergänzt, da diese ab Baugruppentyp DA02 nicht mehr unterstützt werden.

● DP_CTRL: Erläuterung für folgende Statusanzeigen wurde ergänzt: 8181H, 8183H, 8333H, 8334H

Das war neu in Ausgabe 02 Diese Handbuchausgabe beinhaltete Korrekturen und Ergänzungen.

Gegenüber dem vorherigen Ausgabestand kamen in diesem Ausgabestand hinzu:

Änderungen / Ergänzungen:

● Im Kapitel Industrial Ethernet

Für die ERPC-Kommunikation von ERPC-CPs wird ein neuer Funktionsbaustein FB 56 bereitgestellt.

● Im Kapitel FBs / FCs für FTP-Dienste

Die Beschreibung des Datenbausteins File-DB ist jetzt sowohl in der Online-Hilfe als auch in diesem Handbuch enthalten.

● Im Kapitel FBs für programmierte Verbindungen und IP-Konfiguration

Das Kapitel beinhaltet jetzt auch die vollständige Beschreibung des benötigten Konfigurations-Datenbausteins.

Ergänzend wurde hier die Möglichkeit beschrieben, bei bestimmten CP-Typen einen Gerätenamen zu konfigurieren.

● Im Kapitel FCs/FBs für PROFINET IO

Neu hinzugekommen ist die Möglichkeit, bei den FCs PNIO_SEND und PNIO_RECV die Übermittlung detaillierter Statusinformationen zu deaktivieren. Sie können so eine schnellere Reaktion an der Schnittstelle erzielen.

Page 283: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Dokument-Historie

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 283

Das war neu in Ausgabe 01 Diese Handbuchausgabe fasste die Bausteinbeschreibungen zusammen, die bisher in den nach Netztypen gegliederten Handbüchern für S7-CPs zu finden waren. In diesen Handbüchern werden die Bausteinbeschreibungen künftig nicht mehr enthalten sein.

Gegenüber den bisher aktuellen Ausgabeständen der Handbücher für S7-CPs kommen im Ausgabestand 1 folgende Neuerungen bei den Bausteinbeschreibungen hinzu:

● Im Kapitel Industrial Ethernet

Für den FTP-Client-Betrieb von Advanced-CPs wird ein neuer Funktionsbaustein FB 40 bereitgestellt. Mit diesem FB lassen sich komplette FTP-Auftragssequenzen im Anwenderprogramm effiizient erstellen.

● Im Kapitel PROFINET IO

Parameteränderung bei den Bausteinen für PROFINET IO

– FC11 PNIO_SEND (Bausteinversion 2.0)

– FC12 PNIO_RECV (Bausteinversion 2.0)

Diese beiden Funktionen müssen Sie für CPs einsetzen, die gleichzeitig den PROFINET IO-Controller- und Device-Betrieb nutzen.

Page 284: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Dokument-Historie

Programmbausteine für SIMATIC NET S7-CPs 284 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

Page 285: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 285

Literaturverzeichnis B

Auffinden der SIMATIC NET-Dokumentation ● Kataloge

Die Bestellnummern für die hier relevanten Siemens-Produkte finden Sie in den folgenden Katalogen:

– SIMATIC NET Industrielle Kommunikation / Industrielle Identifikation, Katalog IK PI

– SIMATIC Produkte für Totally Integrated Automation und Micro Automation, Katalog ST 70

Die Kataloge sowie zusätzliche Informationen können Sie bei Ihrer Siemens-Vertretung anfordern.

Die Industry Mall finden Sie unter folgender Adresse im Internet:

Link: (https://mall.industry.siemens.com)

● Dokumentation im Internet

Die SIMATIC NET-Handbücher finden Sie auf den Internet-Seiten des Siemens Automation Customer Support:

Link: (https://support.industry.siemens.com/cs/ww/de/ps/15247)

Navigieren Sie zur gewünschten Produktgruppe und nehmen Sie folgende Einstellungen vor:

Register "Beitragsliste", Beitragstyp "Handbücher / Betriebsanleitungen"

● Dokumentation in der STEP 7-Installation

Handbücher, die in der Online-Dokumentation der STEP 7-Installation auf Ihrem PG/PC vorhanden sind, finden Sie über das Startmenü ("Start" > "Alle Programme" > "Siemens Automation" > "Dokumentation").

B.1 Zur Projektierung, Inbetriebnahme und Nutzung des CP

/1/ SIMATIC NET S7-CPs für Industrial Ethernet Projektieren und in Betrieb nehmen Handbuch Teil A - Allgemeine Anwendungen Projektierungshandbuch Siemens AG Link zu Teil A: (https://support.industry.siemens.com/cs/ww/de/view/30374198)

Page 286: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Literaturverzeichnis B.2 Zur Programmierung

Programmbausteine für SIMATIC NET S7-CPs 286 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

B.2 Zur Programmierung

/2/ SIMATIC NET Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch Siemens AG Link: (https://support.industry.siemens.com/cs/ww/de/view/30564821)

/3/ SIMATIC NET Programmbausteine für SIMATIC NET S7-CPs Versionshistorie, Nachschlagewerk Siemens AG Beitrags-ID: Link: (https://support.industry.siemens.com/cs/ww/de/view/9836605)

/4/ SIMATIC Programmieren mit STEP 7 Siemens AG (Teil des STEP 7-Dokumentationspakets STEP 7 Grundwissen) (Bestandteil der Online-Dokumentation in STEP 7) Link: (https://support.industry.siemens.com/cs/ww/de/view/45531107)

/5/ SIMATIC System und Standardfunktionen für S7-300/400 - Band1/2 Referenzhandbuch Siemens AG (Teil des STEP 7-Dokumentationspakets STEP 7 Grundwissen) (Bestandteil der Online-Dokumentation in STEP 7) Im Internet unter folgender Beitrags-ID: Link: (https://support.industry.siemens.com/cs/ww/de/view/1214574)

Page 287: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch, 11/2015, C79000-G8900-C229-08 287

Index

A AG_CNTEX, 60 AG_CNTRL, 48 Auftragsheader, 23, 209, 211 Auftragspuffer, 209

B Baustein PNIO_ALARM (FB54)

Formalparameter, 167 Baustein PNIO_RECV (FC12)

Formalparameter, 153 Baustein PNIO_RW_REC (FB52)

Formalparameter, 162 Baustein PNIO_SEND (FC11)

Formalparameter, 145 Bausteinbibliothek, 204

C CONF_DB, 128 CONF_DB See Konfigurations-Datenbaustein, 111 CP-Adresse, 13, 15

E E-MAIL-Verbindung

Parameterblock für, 120 Ersatzteilfall, 15, 17

F FB, 13, 15

Anzeigen und Fehlermeldungen:Lokal erkannte Fehler, 276 Anzeigen und Fehlermeldungen:vom FMS-Partner gemeldete, 278 IDENTIFY, 263 READ, 265 REPORT, 267 STATUS, 269 WRITE, 272

FC-Bausteine AG_LOCK / AG_UNLOCK, 42

AG-RECV / AG_LRECV, 217 AG-RECV / AG_LRECV / AG_SRECV, 32 AG-SEND / AG_LSEND, 211 AG-SEND / AG_LSEND / AG_SSEND, 25 Allgemeine Hinweise, 13, 15 Bausteinnummer, 13, 15 für projektiert Verbindungen, 21

FC-Bausteine (FCs) für AG-AG-Verbindung, 209

FC-Bausteine zur Zugriffskoordinierung bei FETCH/WRITE, 42 FMS

Anzeigen und Fehlermeldungen, 274, 274 Bausteinparameter, 260

FTP-Verbindung Parameterblock für, 121

G Glossar, 5

I ISO-on-TCP Verbindung

Parameterblock für, 119

K Konfigurations-Datenbaustein, 111

P PE_DS3_Write_ET200S_CP, 14 PE_Mode_ID, 170, 196 Ping-Kommando, 60, 63 PROFIenergy-Controller, 170 PROFIenergy-Device, 170

S Service_Request_ID, 180 SIMATIC NET-Glossar, 5 Subblock-Typen, 122 Systemdaten

Parameterblock für, 116

Page 288: Programmbausteine für SIMATIC NET S7-CPs · FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb

Index

Programmbausteine für SIMATIC NET S7-CPs 288 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

T TCP-Verbindung

Parameterblock für, 117

U UDP- Verbindung

Parameterblock für, 118

V Verbindungs-ID, 117

Wertebereich, 117 Verbindungstypen

Parameterblöcke für, 117

Z Zugriffskoordinierung, 42