Programmbausteine für SIMATIC NET. S7-CPs SIMATIC NET. Programmbausteine für SIMATIC NET S7-CPs. Vorwort. Übersichten und Allgemeines zur Hantierung 1

Größe: px
Ab Seite anzeigen:

Download "Programmbausteine für SIMATIC NET. S7-CPs SIMATIC NET. Programmbausteine für SIMATIC NET S7-CPs. Vorwort. Übersichten und Allgemeines zur Hantierung 1"

Transkript

1 Programmbausteine für SIMATIC NET S7-CPs SIMATIC NET Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch 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 11/2015 C79000-G8900-C229-08

2 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: Marken 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. 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. Siemens AG Division Process Industries and Drives Postfach NÜRNBERG DEUTSCHLAND C79000-G8900-C P 12/2015 Änderungen vorbehalten Copyright Siemens AG Alle Rechte vorbehalten

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. Programmierhandbuch, 11/2015, C79000-G8900-C

4 Vorwort 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 FTP_CMD - universeller Programmbaustein für FTP-Dienste (Seite 77) Änderung / Ergänzung Funktionserweiterung des Bausteins "FTP_CMD" für den FTP-Client-Betrieb um die Funktion "Passives FTP" (Client baut Verbindung auf) Die Funktion wird vom CP Advanced mit Firmware-Version V3.2 unter STEP 7 V5 unterstützt. Hierfür benötigen Sie zusätzlich zur oben angegebenen Projektierungs-Software STEP 7 V5.5 das HSP 1105 sowie die Programmbaustein-Bibliothek "SIMATIC NET CP" Version V 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/ Programmierhandbuch, 11/2015, C79000-G8900-C229-08

5 Vorwort CP-Dokumentation auf der Manual Collection (Artikelnummer A5E ) 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: ( 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: ( 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: ( 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: ( Programmierhandbuch, 11/2015, C79000-G8900-C

6 Vorwort 6 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

7 Inhaltsverzeichnis Vorwort Übersichten und Allgemeines zur Hantierung Programmbausteine für Industrial Ethernet / PROFINET Programmbausteine für PROFIBUS Aufrufe der Programmbausteine parametrieren Parameter zur CP- und Verbindungszuordnung (Eingangsparameter) Parameter zur Angabe eines CPU-Datenbereichs (Eingangsparameter) Statusinformationen (Ausgangsparameter) Programmbausteine für Industrial Ethernet Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE- Schnittstelle) Programmbausteine und ihre Anwendung in der Übersicht AG_SEND / AG_LSEND / AG_SSEND Bedeutung und Aufruf - AG_SEND / AG_LSEND / AG_SSEND Arbeitsweise - AG_SEND / AG_LSEND / AG_SSEND Erläuterung der Formalparameter - AG_SEND / AG_LSEND / AG_SSEND Anzeigen AG_SEND, AG_LSEND und AG_SSEND AG_RECV / AG_LRECV / AG_SRECV Bedeutung und Aufruf - AG_RECV / AG_LRECV / AG_SRECV Arbeitsweise AG_RECV / AG_LRECV / AG_SRECV Erläuterung der Formalparameter - AG_RECV / AG_LRECV / AG_SRECV Anzeigen AG_RECV, AG_LRECV und AG_SRECV Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE Programmbausteine und ihre Anwendung in der Übersicht AG_LOCK Bedeutung und Aufruf - AG_LOCK Erläuterung der Formalparameter - AG_LOCK Anzeigen des Bausteins AG_LOCK AG_UNLOCK Bedeutung und Aufruf - AG_UNLOCK Erläuterung der Formalparameter - AG_UNLOCK Anzeigen des Bausteins AG_UNLOCK Programmbausteine zur Verbindungs- und Systemdiagnose AG_CNTRL Bedeutung und Aufruf - AG_CNTRL Arbeitsweise AG_CNTRL Erläuterung der Formalparameter - AG_CNTRL Anzeigen AG_CNTRL Kommandos und Auftragsergebnisse - AG_CNTRL AG_CNTEX Bedeutung und Aufruf - AG_CNTEX Programmierhandbuch, 11/2015, C79000-G8900-C

8 Inhaltsverzeichnis Arbeitsweise AG_CNTEX Arbeitsweise der Ping-Funktion Erläuterung der Formalparameter - AG_CNTEX Anzeigen AG_CNTEX Kommandos und Auftragsergebnisse - AG_CNTEX Programmbausteine für FTP-Dienste Übersicht zu FTP FTP_CMD - universeller Programmbaustein für FTP-Dienste Bedeutung und Aufruf - FTP_CMD Eingangsparameter - FTP_CMD Ausgangsparameter und Statusinformationen - FTP_CMD Migration von FC zum FTP_CMD FTP_CONNECT Bedeutung und Aufruf - FTP_CONNECT Erläuterung der Formalparameter - FTP_CONNECT FTP_STORE Bedeutung und Aufruf - FTP_STORE Erläuterung der Formalparameter - FTP_STORE FTP_RETRIEVE Bedeutung und Aufruf - FTP_RETRIEVE Erläuterung der Formalparameter - FTP_RETRIEVE FTP_DELETE Bedeutung und Aufruf - FTP_DELETE Erläuterung der Formalparameter - FTP_DELETE FTP_QUIT Bedeutung und Aufruf - FTP_QUIT Erläuterung der Formalparameter - FTP_QUIT Parameter zur CP- und Verbindungszuordnung (Eingangsparameter) Statusinformationen (Ausgangsparameter) Datenbaustein File-DB Aufbau der Datenbausteine (File-DB) für FTP-Dienste - FTP-Client-Betrieb Aufbau der Datenbausteine (File-DB) für FTP-Dienste - FTP-Server-Betrieb Programmbausteine für programmierte Verbindungen und IP-Konfiguration Arbeitsweise So gehen Sie vor Konfigurations-Datenbaustein (CONF_DB) Konfigurations-Datenbaustein - Beispiel Parameterblock für Systemdaten (IP-Konfiguration) Parameterblöcke für Verbindungstypen Parameterblock für TCP-Verbindung Parameterblock für UDP- Verbindung Parameterblock für ISO-on-TCP Verbindung Parameterblock für -Verbindung Parameterblock für FTP-Verbindung Subblock-Typen IP_CONFIG - Bedeutung und Aufruf Arbeitsweise IP_CONFIG Erläuterung der Formalparameter - IP_CONFIG Reservierte Port-Nummern - IP_CONFIG Anzeigen IP_CONFIG Programmbausteine für ERPC-CP Programmierhandbuch, 11/2015, C79000-G8900-C229-08

9 Inhaltsverzeichnis LOGICAL_TRIGGER für den logischen Trigger Arbeitsweise LOGICAL_TRIGGER Erläuterung der Formalparameter - LOGICAL_TRIGGER Anzeigen LOGICAL_TRIGGER Der Konfigurations-Datenbaustein Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet) Programmbausteine für PROFINET IO (S7-300) Programmbausteine und ihre Anwendung in der Übersicht PROFINET IO - Datenübertragung und Alarmauswertung PNIO_SEND Bedeutung und Aufruf - PNIO_SEND Erläuterung der Formalparameter - PNIO_SEND Anzeigen des Bausteins PNIO_SEND PNIO_RECV Bedeutung und Aufruf - PNIO_RECV Erläuterung der Formalparameter - PNIO_RECV Anzeigen des Bausteins PNIO_RECV Allgemeines Verhalten der FCs für PROFINET IO Datenkonsistenz Ersatzwerte PNIO_RW_REC Bedeutung und Aufruf - PNIO_RW_REC Erläuterung der Formalparameter - PNIO_RW_REC Anzeigen des Bausteins PNIO_RW_REC PNIO_ALARM Bedeutung und Aufruf - PNIO_ALARM Erläuterung der Formalparameter - PNIO_ALARM Anzeigen des Bausteins PNIO_ALARM PROFIenergy PROFIenergy-Programmbausteine für den CP PE_START_END_CP Bedeutung und Aufruf - PE_START_END_CP Erläuterung der Formalparameter von PE_START_END_CP Anzeigen von PE_START_END_CP PE_CMD_CP Bedeutung und Aufruf - PE_CMD_CP Erläuterung der Formalparameter von PE_CMD_CP Anzeigen von PE_CMD_CP Antwortdaten PE_I_DEV_CP Bedeutung und Aufruf - PE_I_DEV_CP Erläuterung der Formalparameter von PE_I_DEV_CP Anzeigen von PE_I_DEV_CP Ergänzende Programmbausteine für PE_I_DEV_CP Übersicht der FCs Verschaltung der FCs mit PE_I_DEV_CP Gemeinsame Parameter der FCs Individuelle Parameter der FCs DS3_WRITE_CP / PE_DS3_Write_ET200S_CP Bedeutung und Aufruf - DS3_WRITE_CP Programmierhandbuch, 11/2015, C79000-G8900-C

10 Inhaltsverzeichnis Erläuterung der Formalparameter von DS3_WRITE_CP Anzeigen von DS3_WRITE_CP Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFINET) Programmbausteine für PROFINET CBA PN_InOut / PN_InOut_Fast - Bedeutung und Aufruf Erläuterung der Formalparameter - PN_InOut / PN_InOut_Fast Anzeigen der Bausteine PN_InOut und PN_InOut_Fast Zeitgesteuerter Aufruf PN_InOut / PN_InOut_Fast - Empfehlung zur Anwendung Programmbausteine für PROFIBUS Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE- Schnittstelle) Anwendung in der Übersicht AG_SEND / AG_LSEND Bedeutung und Aufruf - AG_SEND / AG_LSEND Arbeitsweise - AG_SEND / AG_LSEND Erläuterung der Formalparameter - AG_SEND / AG_LSEND Anzeigen AG_SEND und AG_LSEND AG_RECV / AG_LRECV Bedeutung und Aufruf - AG_RECV / AG_LRECV Arbeitsweise - AG_RECV / AG_LRECV Erläuterung der Formalparameter - AG_RECV / AG_LRECV Anzeigen AG_RECV und AG_LRECV Programmbausteine für DP (Dezentrale Peripherie) bei S Anwendung in der Übersicht DP_SEND Bedeutung und Aufruf - DP_SEND Arbeitsweise - DP_SEND Erläuterung der Formalparameter - DP_SEND Anzeigen DP_SEND DP_RECV Bedeutung und Aufruf - DP_RECV Arbeitsweise - DP_RECV Erläuterung der Formalparameter - DP_RECV Anzeigen DP_RECV DPSTATUS - DP_RECV DP_DIAG Bedeutung und Aufruf - DP_DIAG Arbeitsweise - DP_DIAG Erläuterung der Formalparameter - DP_DIAG Auftragsarten - DP_DIAG Ringpuffer für Diagnosedaten - DP_DIAG Anzeigen DP_DIAG DP_CTRL Bedeutung und Aufruf - DP_CTRL Arbeitsweise - DP_CTRL Erläuterung der Formalparameter - DP_CTRL Auftragsarten - DP_CTRL Command Mode und Group Select - DP_CTRL Programmierhandbuch, 11/2015, C79000-G8900-C229-08

11 Inhaltsverzeichnis Anzeigen DP_CTRL Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS) Programmbausteine für PROFIBUS FMS Anwendung in der Übersicht FMS-Bausteinparameter IDENTIFY Bedeutung und Aufruf - IDENTIFY Arbeitsweise - IDENTIFY READ Bedeutung und Aufruf - READ Arbeitsweise READ REPORT Bedeutung und Aufruf - REPORT Arbeitsweise REPORT STATUS Bedeutung und Aufruf - STATUS Arbeitsweise STATUS WRITE Bedeutung und Aufruf - WRITE Arbeitsweise WRITE Anzeigen und Fehlermeldungen - FMS Bausteine Lokal erkannte Fehler Vom FMS-Partner gemeldete Fehler Mengengerüst / Ressourcenbedarf der FBs (PROFIBUS FMS) A Dokument-Historie B Literaturverzeichnis B.1 Zur Projektierung, Inbetriebnahme und Nutzung des CP B.2 Zur Programmierung Index Programmierhandbuch, 11/2015, C79000-G8900-C

12 Inhaltsverzeichnis 12 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

13 Übersichten und Allgemeines zur Hantierung 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 / Funktionsbereich Programmbaustein Bibliothek für SIMATIC NET SIMATIC_NET_CP SEND / RECEIVE (Offene Kommunikationsdienste) CP 300 CP 400 AG_SEND FC5 x x AG_LSEND FC50 x 2) x AG_SSEND FC53 x 3) AG_RECV FC6 x x AG_LRECV FC60 x 2) x Programmierte Kommunikationsverbindungen und IP- Konfiguration AG_SRECV FC63 x 3) AG_LOCK FC7 x x AG_UNLOCK FC8 x x AG_CNTRL FC10 x 3) x 3) AG_CNTEX FB10 x 3) x 3) 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 Programmierhandbuch, 11/2015, C79000-G8900-C

14 Übersichten und Allgemeines zur Hantierung 1.1 Programmbausteine für Industrial Ethernet / PROFINET Kommunikationsdienst / Funktionsbereich 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 Installation 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. 14 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

15 Übersichten und Allgemeines zur Hantierung 1.2 Programmbausteine für PROFIBUS 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: ( 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. Programmierhandbuch, 11/2015, C79000-G8900-C

16 Übersichten und Allgemeines zur Hantierung 1.2 Programmbausteine für PROFIBUS 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 / Funktionsbereich 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 AG_SEND FC5 x x (Offene Kommunikationsdienste) 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. 16 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

17 Übersichten und Allgemeines zur Hantierung 1.3 Aufrufe der Programmbausteine parametrieren 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: ( 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) Programmierhandbuch, 11/2015, C79000-G8900-C

18 Übersichten und Allgemeines zur Hantierung 1.4 Parameter zur CP- und Verbindungszuordnung (Eingangsparameter) 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. 18 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

19 Übersichten und Allgemeines zur Hantierung 1.5 Parameter zur Angabe eines CPU-Datenbereichs (Eingangsparameter) Ursache Unter der angegebenen CP- Adresse ist keine Baugruppe adressierbar oder identifizierbar. Die CP-Adresse zeigt auf einen anderen Baugruppentyp. Reaktion bzw. Anzeige Die CPU bleibt im Zustand STOP mit Systemfehler; werten Sie in diesem Fall den Diagnosepuffer der CPU aus. mögliche Fehleranzeige im Parameter STATUS des Kommunikationsbausteines: 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

20 Übersichten und Allgemeines zur Hantierung 1.6 Statusinformationen (Ausgangsparameter) 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 20 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

21 Programmbausteine für Industrial Ethernet Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 6GK EX10 0XE0 mit Firmware-Stand V2.2) müssen Sie auf TCP-Verbindungen statt des FC6 den FC60 verwenden. Für den CP (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. Programmierhandbuch, 11/2015, C79000-G8900-C

22 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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: ( Programmbeispiel für die SEND/RECEIVE-Schnittstelle mit den Bausteinen FC50 (AG_LSEND) und FC60 (AG_LRECV) für S7-400: ( 22 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

23 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 Advanced 6GK EX41 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) 8192 Byte 8192 Byte 8192 Byte 2048 Byte AG_SEND (S7-300) AG_SEND (S7-400) 240 Byte 240 Byte 240 Byte 240 Byte AG_LRECV (S7-400) 8192 Byte 8192 Byte 8192 Byte 2048 Byte AG_RECV (S7-300) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

24 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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: ; 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; 24 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

25 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 AG_SEND / AG_LSEND / AG_SSEND 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 Programmierhandbuch, 11/2015, C79000-G8900-C

26 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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 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. 26 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

27 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Programmierhandbuch, 11/2015, C79000-G8900-C

28 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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)! 28 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

29 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 Datenbereich gesendet. ID INPUT INT 1, (S7-400) Beim FC-Aufruf mit ACT = 0 werden die Statusanzeigen DONE, ERROR und STATUS aktualisiert. Im Parameter ID wird die Verbindungsnummer der Verbindung angegeben. 1, (S7-300) LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-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, bzw. bis "Längenangabe beim Parameter SEND") bei UDP: 1, bzw. bis "Längenangabe beim Parameter SEND") Anzahl der Bytes, die mit dem Auftrag aus dem Datenbereich 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 generell 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 unabhängig vom verwendeten Bausteintyp (AG_SEND/AG_LSEND). Mit dem AG_SSEND ist der Datenbereich auf maximal 1452 Byte beschränkt. Programmierhandbuch, 11/2015, C79000-G8900-C

30 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Parameter Deklaration Datentyp Wertebereich Beschreibung DONE OUTPUT BOOL 0: Auftrag läuft 1: Auftrag ausgeführt ERROR OUTPUT BOOL 0: - 1: Fehlerfall Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Solange DONE = 0 kann kein weiterer Auftrag angestoßen werden. DONE wird vom CP bei Auftragsannahme 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) 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) 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 H Auftrag fertig ohne Fehler H Kein Auftrag in Bearbeitung H Auftrag läuft H Die Anzeige ist nur bei S7-400 möglich: Der FC wurde mit ACT=0 aufgerufen; der Auftrag wird jedoch nicht bearbeitet H Die Projektierung fehlt oder der ISO-/TCP-Dienst im Ethernet-CP ist noch nicht gestartet H Unzulässiger Datentyp für den Parameter SEND angegeben. Systemfehler (Der Quelldatenbereich ist fehlerhaft) H Parameter LEN größer als Quell-Bereich SEND H Parameter ID ungültig. ID!= 1, (S7-300) ID!= 1, (S7-400) 30 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

31 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) DONE ERROR STATUS Bedeutung H Keine Empfangsressourcen bei Ziel-Station, Empfänger-Station kann empfangene Daten nicht schnell genug verarbeiten bzw. hat keine Empfangsressourcen bereitgestellt H Die Verbindung ist nicht aufgebaut. Der Sendeauftrag sollte erst nach einer Wartezeit >100 ms erneut abgesetzt werden H Zielstation ist unter der angegebenen Ethernet-Adresse nicht erreichbar H Ethernet-Fehler im CP F22H Quell-Bereich ungültig, z. B.: Bereich im DB nicht vorhanden Parameter LEN < F24H Bereichsfehler beim Lesen eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F32H Parameter enthält zu große DB-Nummer F33H DB-Nummernehler F3AH Bereich nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt F7FH Interner Fehler, z. B. unzulässige ANY-Referenz z.b. Parameter LEN = H Baugruppe mit dieser Baugruppen-Anfangsadresse nicht vorhanden; Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unterschiedliche FCs für S7-300 und S7-400 zu verwenden) H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben. (nur bei S7-400) A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. (bei neueren CPU-Ausgabeständen) B0H Baugruppe kennt den Datensatz nicht B1H Die Längenangabe (im Parameter LEN) ist falsch B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll) D2H Baugruppen-Anfangsadresse ist falsch. Siehe auch /5/ (Seite 286) Programmierhandbuch, 11/2015, C79000-G8900-C

32 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) AG_RECV / AG_LRECV / AG_SRECV 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 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 ); Erläuterungen //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. 32 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

33 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

34 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. 34 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

35 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

36 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. 36 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

37 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

38 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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, (S7-400) 1, (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. 38 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

39 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Parameter Deklaration Datentyp Wertebereich Beschreibung RECV INPUT ANY Angabe von Adresse und Länge NDR OUTPUT BOOL 0: - 1: neue Daten ERROR OUTPUT BOOL 0: - 1: Fehlerfall 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ängenangabe 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 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) 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, Gibt die Anzahl der Bytes an, die vom Ethernet-CP in den Datenbereich übernommen wurden. Bausteintyp beachten: bei UDP: 1, bei S7-300 Mit den aktuellen Versionen des FC AG_RECV lassen sich bis zu 8192 Byte (2048 Byte bei UDP) übertragen. bei S7-400 Mit dem FC AG_RECV ist der Datenbereich generell auf max. 240 Byte beschränkt. Mit dem FC AG_SRECV ist der Datenbereich auf max Byte beschränkt. Programmierhandbuch, 11/2015, C79000-G8900-C

40 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 H Neue Daten übernommen H Es liegen noch keine Daten vor (nicht bei AG_SRECV) H Auftrag läuft H Die Projektierung fehlt; Der ISO-Transport-Dienst im Ethernet-CP ist noch nicht gestartet; Die Verbindung ist nicht aufgebaut H Unzulässiger Datentyp für den Parameter RECV angegeben; Systemfehler H Ziel-Puffer (RECV)ist zu klein H Parameter ID ungültig. ID!= 1, (S7-300). ID!= 1, (S7-400) H Die Verbindung ist nicht aufgebaut. Der Empfangsauftrag sollte erst nach einer Wartezeit >100 ms erneut abgesetzt werden F23H Quell-Bereich ungültig. z. B.: Bereich im DB nicht vorhanden F25H Bereichsfehler beim Schreiben eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters 0 1 8F30H Parameter liegt im schreibgeschützten 1. aktuellen Datenbaustein F31H Parameter liegt im schreibgeschützten 2. aktuellen Datenbaustein F32H Parameter enthält zu große DB-Nummer F33H DB-Nummernfehler F3AH Zielbereich nicht geladen (DB) F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. 40 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

41 Programmbausteine für Industrial Ethernet 2.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) NDR ERROR STATUS Bedeutung 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt F7FH Interner Fehler. z.b. unzulässige ANY-Referenz H Baugruppe mit dieser Baugruppen-Anfangsadresse nicht vorhanden oder CPU in STOP; Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unterschiedliche FCs für S7-300 und S7-400 zu verwenden) H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben. (nur bei S7-400) A0H Negative Quittung beim Lesen von Baugruppe A4H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut B0H Baugruppe kennt den Datensatz nicht B1H 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) B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt C4H Kommunikationsfehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll D2H Baugruppen-Anfangsadresse ist falsch. Siehe auch /5/ (Seite 286) Programmierhandbuch, 11/2015, C79000-G8900-C

42 Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE 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 Datenzugriffes 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. 42 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

43 Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE 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. Programmierhandbuch, 11/2015, C79000-G8900-C

44 Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE AG_LOCK 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 call fc 7 ( ID := DB 100.DBW 2, LADDR := W#16#0100, LOCKED := DB 100.DBX 0.6, STATUS := DB 100.DBW 4 ); Erläuterung //Bausteinaufruf //Verbindungs-ID gemäß Projektierung //=LADDR 256 dez. in Hardware-Konfiguration //Zustandsanzeige der Zugriffssperre //Statusanzeige 44 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

45 Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE 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, bei S , 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 Zugriffssperre. STATUS OUTPUT WORD Statusanzeige Zur Bedeutung siehe unter Anzeigen des Bausteins AG_LOCK (Seite 45) Anzeigen des Bausteins AG_LOCK Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeigen STATUS. Tabelle 2-2 Anzeigen AG_LOCK STATUS 7000H 7001H 7002H 8183H 8186H 80A4H 80B0H 80B1H 80B2H 80C0H 80C1H 80C2H 80C3H Bedeutung CP bearbeitet keinen Auftrag FETCH läuft WRITE läuft FETCH/WRITE für diese Verbindung nicht projektiert (nur bei S7-400) ID-Nummer nicht im erlaubten Bereich (z.b bei S7-400 Industrial Ethernet CPs) Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei neueren CPU-Ausgabeständen) Baugruppe kennt den Datensatz nicht. Die Längenangabe (im Parameter LEN) ist falsch. Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. Datensatz kann nicht gelesen werden. Der angegebene Datensatz ist gerade in Bearbeitung. Es liegt ein Auftragsstau vor. Die Betriebsmittel (Speicher) der CPU sind temporär belegt. Programmierhandbuch, 11/2015, C79000-G8900-C

46 Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE STATUS 80C4H 80D2H Bedeutung Kommunikationsfehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll. Baugruppen-Anfangsadresse ist falsch AG_UNLOCK 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 call fc 8 ( ID := DB 100.DBW 2, LADDR := W#16#0100, STATUS := DB 100.DBW 4 ); Erläuterung //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. 46 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

47 Programmbausteine für Industrial Ethernet 2.2 Programmbausteine zur Zugriffskoordinierung bei FETCH/WRITE 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, bei S , 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) Anzeigen des Bausteins AG_UNLOCK Anzeigen Die folgende Tabelle informiert über die vom Anwenderprogramm auszuwertende Anzeige STATUS. Tabelle 2-3 Anzeigen AG_UNLOCK STATUS 7000H 7001H 7002H 8183H 8186H 80A4H 80B0H 80B1H 80B2H 80C0H 80C1H 80C2H 80C3H 80C4H 80D2H Bedeutung CP bearbeitet keinen Auftrag FETCH läuft WRITE läuft FETCH/WRITE für diese Verbindung nicht projektiert (nur bei S7-400) ID-Nummer nicht im erlaubten Bereich (z.b bei S7-400 Industrial Ethernet CPs) Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei neueren CPU-Ausgabeständen) Baugruppe kennt den Datensatz nicht. Die Längenangabe (im Parameter LEN) ist falsch. Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. Datensatz kann nicht gelesen werden. Der angegebene Datensatz ist gerade in Bearbeitung. Es liegt ein Auftragsstau vor. Die Betriebsmittel (Speicher) der CPU sind temporär belegt. Kommunikationsfehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll Baugruppen-Anfangsadresse ist falsch. Programmierhandbuch, 11/2015, C79000-G8900-C

48 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose AG_CNTRL 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. 48 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

49 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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 ( Programmierhandbuch, 11/2015, C79000-G8900-C

50 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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- 50 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

51 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 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, Im Parameter ID wird die Verbindungsnummer der oder Verbindung angegeben. Die Verbindungsnummer ist der Projektierung zu entnehmen. n ist die maximale 0 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 angegeben 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 ERROR OUTPUT BOOL 0: kein Fehler 1: Fehlerfall Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei 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 Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen AG_CNTRL (Seite 52) Programmierhandbuch, 11/2015, C79000-G8900-C

52 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 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 H 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 H Es erfolgte noch kein Bausteinaufruf bzw. der Baustein wurde mit ACT=0 aufgerufen H Auftrag läuft Der Bausteinaufruf ist mit den gleichen Parametern zu wiederholen, bis DONE oder ERROR gemeldet werden H Die Projektierung fehlt oder der Dienst im Ethernet-CP ist noch nicht gestartet H Der Parameter ID ist ungültig. Die zulässige ID ist abhängig vom gewählten Kommando H Der Parameter CMD ist ungültig H Sequenzfehler bei der ACT-Steuerung (Hinweis: diese Anzeige tritt in der Produktversion des CPs / der Firmware nicht auf) H 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 EX21/GX21 unterstützt; bei diesen tritt diese Anzeige nicht auf. 52 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

53 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose DONE ERROR STATUS Bedeutung H Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden. oder Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unterschiedliche FCs für S7-300 und S7-400 zu verwenden). oder Die Funktion wird von dieser Baugruppe nicht unterstützt H Die Baugruppen-Anfangsadresse liegt nicht auf Doppel-Wort-Raster B0H Die Baugruppe kennt den Datensatz nicht B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. Im H-System befindet sich die zugehörende CPU im Betriebszustand STOP C0H Der Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt C4H Kommunikationsfehler Der Fehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll D2H Die Baugruppen-Anfangsadresse ist falsch 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: ( 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 RESULT H Ablauf ohne Fehler RESULT H Default Programmierhandbuch, 11/2015, C79000-G8900-C

54 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Parameter Hex-Wert/Bereich Bit Wert/Bedeutung RESULT *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 Sendeauftrag verfügbar 01: vorangegangener Sendeauftrag positiv abgeschlossen 10: vorangegangener Sendeauftrag negativ abgeschlossen 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT *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 54 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

55 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose CMD Bedeutung Bit 5 Bits 6+7 Status aktueller Auftrag 0: Kein Empfangsauftrag in Bearbeitung 1: Empfangsauftrag in Bearbeitung vorangegangener Auftrag: 00: Keine Informationen zum vorangegangenen Empfangsauftrag verfügbar 01: vorangegangener Empfangsauftrag positiv abgeschlossen 10: vorangegangener Empfangsauftrag negativ abgeschlossen 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT *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 Programmierhandbuch, 11/2015, C79000-G8900-C

56 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Parameter Hex-Wert/Bereich Bit Wert/Bedeutung RESULT *000H Bits 12-15: Allgemeine CP-Informationen (ausgeschlossene Werte:0x3,0xB) Bit 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 Verbindungs-Reset durchgeführt. RESULT1 **** 0000H Bits 16-31: Reserviert 0 reserviert für spätere Erweiterungen RESULT H - reserviert für spätere Erweiterungen - 56 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

57 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 RESULT H Der Reset-Auftrag wurde erfolgreich an den CP übertragen. Der Verbindungsabbruch und der anschließende Verbindungsaufbau wurden angestoßen H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H Default CMD Bedeutung 3 CN_STATUS_ALL all connections status Dieses Kommando liefert in den Parametern RESULT1/2 (insgesamt 8 Byte Sammelinformation) den Verbindungsstatus 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 Verbindung abgebaut / nicht projektiert 1 Verbindung aufgebaut RESULT2 **** ****H 32 Bit: Verbindung Verbindung abgebaut / nicht projektiert 1 Verbindung aufgebaut Programmierhandbuch, 11/2015, C79000-G8900-C

58 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 RESULT H Der Reset-Auftrag wurde erfolgreich an den CP übertragen. Der Verbindungsabbruch und der anschließende Verbindungsaufbau aller Verbindungen wurden angestoßen. RESULT H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist ( z. B. CP in STOP). RESULT H 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 beschriebene separat absetzbare Auftrag wird daher nur in Sonderfällen benötigt. RESULT (für CMD = 5) Bedeutung Parameter Hex-Wert/Bereich RESULT H Der Clear-Auftrag wurde erfolgreich an den CP übertragen. RESULT H Der Clear-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H Default 58 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

59 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 RESULT H Der Auftrag wurde erfolgreich an den CP übertragen. Der Verbindungsabbruch wurde eingeleitet. RESULT H Der Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H 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 Auftragsergebnis entnehmen können. RESULT (für CMD = 7) Bedeutung Parameter Hex-Wert/Bereich RESULT H Der Auftrag zum Verbindungsaufbau wurde erfolgreich an den CP übertragen. Der Verbindungsaufbau wurde eingeleitet. RESULT H Der Auftrag zum Verbindungsaufbau konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H Default Siehe auch Beachten Sie weitere Hinweise im FAQ unter folgender Beitrags-ID: ( Programmierhandbuch, 11/2015, C79000-G8900-C

60 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose AG_CNTEX 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: ( 60 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

61 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung Beispiel in AWL-Darstellung AWL 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); Erläuterung //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 Programmierhandbuch, 11/2015, C79000-G8900-C

62 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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. 62 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

63 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

64 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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). 64 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

65 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 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. ID INPUT INT 1, 2,.., n, oder 0 Beim Aufruf mit ACT=0 erfolgt kein Funktionsaufruf und der Baustein wird sofort wieder verlassen. 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 Datenstruktur 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 Programmierhandbuch, 11/2015, C79000-G8900-C

66 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose Parameter Deklaration Datentyp Wertebereich Beschreibung DONE OUTPUT BOOL 0: Auftrag ist noch in Bearbeitung bzw. noch nicht angestoßen 1: Auftrag ausgeführt ERROR OUTPUT BOOL 0: kein Fehler 1: Fehlerfall Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei 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 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 ms Angabe optional; Default- Wert = 1000 ms Size INT Byte Angabe optional; Default- Wert = 32 Byte 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. 66 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

67 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose Tabelle 2-6 Anzeigen AG_CNTEX DONE ERROR STATUS Bedeutung H 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 H Es erfolgte noch kein Bausteinaufruf bzw. der Programmbaustein wurde mit ACT=0 aufgerufen H Auftrag läuft Der Bausteinaufruf ist mit den gleichen Parametern zu wiederholen, bis DONE oder ERROR gemeldet werden H Die Projektierung fehlt oder der Dienst im Ethernet-CP ist noch nicht gestartet H 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 H Der Parameter ID ist ungültig. Die zulässige ID ist abhängig vom gewählten Kommando H Der Parameter CMD ist ungültig H 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 H Die Baugruppen-Anfangsadresse liegt nicht auf Doppel-Wort-Raster H Die Baugruppen-Anfangsadresse ist falsch B0H Die Baugruppe kennt den Datensatz nicht B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut. Im H-System befindet sich die zugehörende CPU im Betriebszustand STOP C0H Der Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Die Betriebsmittel (Speicher) der CPU sind temporär belegt C4H Kommunikationsfehler Der Fehler tritt temporär auf; daher ist eine Wiederholung im Anwenderprogramm sinnvoll H Der Wert für die Angabe "Timeout" im PING-Datenblock liegt außerhalb des gültigen Wertebereichs H Die im Ping-DB angegebene IP-Adresse ist reserviert und daher unzulässig. Programmierhandbuch, 11/2015, C79000-G8900-C

68 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose DONE ERROR STATUS Bedeutung H 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 Sekunden ausgelesen H Das Datenvolumen für die Ping-Anforderung hat den zulässigen Bereich überschritten (maximal 1000 Bytes; siehe Datenstruktur für das PING-Kommando) AH Es befinden sich bereits 4 Ping-Anforderungen in Bearbeitung. Neue Anforderungen sind erst wieder nach Abarbeitung der bestehenden Anforderungen möglich BH Für die angegebene IP-Adresse befindet sich bereits eine PING-Anforderung in Bearbeitung. Verwenden Sie das Kommando PING-Ergebnisanforderung um die laufende Bearbeitung abzuschließen 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: ( 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 RESULT H Ablauf ohne Fehler RESULT H Default 68 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

69 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Parameter Hex-Wert/Bereich Bit Wert/Bedeutung RESULT *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 Sendeauftrag verfügbar 01: vorangegangener Sendeauftrag positiv abgeschlossen 10: vorangegangener Sendeauftrag negativ abgeschlossen 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT *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 Programmierhandbuch, 11/2015, C79000-G8900-C

70 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose CMD Bedeutung Bits 6+7 vorangegangener Auftrag: 00: Keine Informationen zum vorangegangenen Empfangsauftrag verfügbar 01: vorangegangener Empfangsauftrag positiv abgeschlossen 10: vorangegangener Empfangsauftrag negativ abgeschlossen 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Wert/Bedeutung Parameter Hex-Wert/Bereich Bit RESULT *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 70 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

71 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 entspricht dem Auftrag CN_CLEAR_RESET - siehe CMD = 5). RESULT (für CMD = 1) Parameter Hex-Wert/Bereich Bit Wert/Bedeutung RESULT *000H Bits 12-15: Allgemeine CP-Informationen (ausgeschlossene Werte:0x3,0xB) Bit 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 Verbindungs-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 RESULT H - reserviert für spätere Erweiterungen - Programmierhandbuch, 11/2015, C79000-G8900-C

72 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 RESULT H Der Reset-Auftrag wurde erfolgreich an den CP übertragen. Der Verbindungsabbruch und der anschließende Verbindungsaufbau wurden angestoßen H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H Default CMD Bedeutung 3 CN_STATUS_ALL all connections status Dieses Kommando liefert in den Parametern RESULT1/2 (insgesamt 8 Byte Sammelinformation) den Verbindungsstatus 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 Für jeweilige Verbindung: 32 Bit mit folgender Gültigkeit: 0 Verbindung abgebaut / nicht projektiert Bei S7-400: Bit 0-31 für Verbindung Verbindung aufgebaut Bei S7-300: Bit 0-15 für Verbindung 1-16 RESULT2 **** ****H 32 Bit mit folgender Gültigkeit: Bei S7-400: Bit 0-31 für Verbindung Für jeweilige Verbindung: 0 Verbindung abgebaut / nicht projektiert 1 Verbindung aufgebaut 72 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

73 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 RESULT H Der Reset-Auftrag wurde erfolgreich an den CP übertragen. Der Verbindungsabbruch und der anschließende Verbindungsaufbau aller Verbindungen wurden angestoßen. RESULT H Der Reset-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist ( z. B. CP in STOP). RESULT H 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 beschriebene separat absetzbare Auftrag wird daher nur in Sonderfällen benötigt. RESULT (für CMD = 5) Bedeutung Parameter Hex-Wert/Bereich RESULT H Der Clear-Auftrag wurde erfolgreich an den CP übertragen. RESULT H Der Clear-Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H Default Programmierhandbuch, 11/2015, C79000-G8900-C

74 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 RESULT H Der Auftrag wurde erfolgreich an den CP übertragen. Der Verbindungsabbruch wurde eingeleitet. RESULT H Der Auftrag konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H 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 Auftragsergebnis entnehmen können. RESULT (für CMD = 7) Bedeutung Parameter Hex-Wert/Bereich RESULT H Der Auftrag zum Verbindungsaufbau wurde erfolgreich an den CP übertragen. Der Verbindungsaufbau wurde eingeleitet. RESULT H Der Auftrag zum Verbindungsaufbau konnte nicht an den CP übertragen werden, da der Dienst im CP nicht gestartet ist (z. B. CP in STOP). RESULT H 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 RESULT H Die Ping-Anforderung wurde erfolgreich dem CP zugestellt. RESULT H 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. 74 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

75 Programmbausteine für Industrial Ethernet 2.3 Programmbausteine zur Verbindungs- und Systemdiagnose 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 wurden. 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 Überwachungszeit. 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: H Echo 3 -> empfangen nach 2 ms Echo 4 -> empfangen nach ms Wertebereiche für Datenworte in RESULT1 / RESULT 2: 0000H nicht verwendet 0001H... EA60H Antwortzeit in ms 0001H = 1 ms EA60H = ms EA61H... FFFEH nicht verwendet FFFFH Timeout: Kein Echo innerhalb der vorgegeben Überwachungszeit. Programmierhandbuch, 11/2015, C79000-G8900-C

76 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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) Parameter Hex-Wert/Bereich Bedeutung RESULT *H Die Anforderung liefert für die möglichen Verbindungstypen folgende Werte: RESULT H Default 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 Siehe auch Beachten Sie weitere Hinweise im FAQ unter folgender Beitrags-ID: ( 2.4 Programmbausteine für FTP-Dienste Ü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. 76 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

77 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 zum FTP_CMD (Seite 89) FTP_CMD - universeller Programmbaustein für FTP-Dienste Gültigkeit Der FB40 kann ab folgenden Baugruppentypen eingesetzt werden: Ab CP Advanced - GX30* ) / GX31** ) Ab CP 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 Programmierhandbuch, 11/2015, C79000-G8900-C

78 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Die Kommandos 33 "CONNECT_PASSIVE" und 49 "CONNECT_TLS_PRIVATE_PASSIVE" werden nur vom CP Advanced ab Firmware-Version V3.2 und ab der Bausteinversion 2.2 unterstützt 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. 78 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

79 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung Tabelle 2-8 Aufrufbeispiel in AWL-Darstellung AWL CALL FB 40, DB 40 ( ID := 4, LADDR := W#16#3FFD, CMD := B#16#3, NAME_STR := P#DB44.DBX 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); Erläuterung // 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 Eingangsparameter - FTP_CMD Erläuterung der Eingangsparameter Sie müssen jeden FTP-Bausteinaufruf mit folgenden Eingangsparametern versorgen: Programmierhandbuch, 11/2015, C79000-G8900-C

80 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Tabelle 2-9 Formalparameter des FB40 (FTP_CMD) - Eingangsparameter Parameter Deklaration Typ Wertebereich Bedeutung / Bemerkung ID INPUT INT Bei S7-300: Bei S7-400: Die FTP-Aufträge werden über FTP- Verbindungen abgewickelt. Der Parameter identifiziert die genutzte Verbindung. LADDR INPUT WORD Baugruppen-Anfangsadresse CMD INPUT BYTE Siehe Tabelle unten - FTP-Kommandos im Parameter "CMD" Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse ausgegeben. Geben Sie diese Adresse hier an.. 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 Fehlermeldung 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" zugelassen. 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 Parameter "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 folgende Strings im Zielbereich des ANY- Pointers anzugeben. Bei CMD = 2, 3, 4, 6, 7: Bei diesem Kommando spezifiziert der Parameter "NAME_STR" den Dateinamen auf dem FTP-Server, also die Datenquelle bzw. das Datenziel. Der Dateiname ist als String im Zielbereich des ANY-Pointers anzugeben. 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. 80 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

81 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Parameter Deklaration Typ Wertebereich Bedeutung / Bemerkung OFFSET INPUT DWORD Nur bei CMD = 7: LEN INPUT DWORD Nur bei CMD = 7: Offset in Byte, ab dem die Datei gelesen werden soll. 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 Original-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. Programmierhandbuch, 11/2015, C79000-G8900-C

82 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 ausgetauscht. Ablauf (verkürzt): 1. Der Client schickt eine Anfrage an den Steuerport 21 des Servers. Der Client schickt dem Server zudem die Nummer seines Datenports 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 ausgetauscht. Die Verwendung dieses Kommandos wird empfohlen, wenn sich der Client in einem geschützten (internen) Subnetz befindet. Ablauf (verkürzt): 1. Der Client schickt eine Anfrage an den Steuerport 21 des Servers. 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 3 (RETRIEVE) 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 vorhanden ist, wird diese überschrieben. 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. 82 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

83 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 7 (RETR_PART) NAME_STR FILE_DB_NR OFFSET LEN 17 (CONNECT_TLS_ PRIVATE) NAME_STR Ähnlich wie "STORE" speichert das Kommando "APPEND" (anhängen) 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. 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. 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 ausgetauscht. 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 Servers. Der Client schickt dem Server zudem die Nummer seines Datenports 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. Programmierhandbuch, 11/2015, C79000-G8900-C

84 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Kommando 49 (CONNECT_TLS_ PRIVATE_PASSIVE) Relevante Input- Parameter (zusätzlich zu ID und LADDR) NAME_STR Bedeutung / Handhabung 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 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 ausgetauscht. 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 Servers. 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 Name Typ 1) Beispiel Bedeutung Adresse 2) 0.0 ip_address STRING[100] IP-Adresse des FTP-Servers username STRING[32] benutzer Benutzername für das Login auf dem FTP-Server 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. 84 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

85 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Tabelle 2-12 Inhalt des Parametersatzes für CMD = 2, 3, 4, 6, 7 Relative Adresse 2) Name Typ 1) Beispiel Bedeutung filename STRING[220] bzw. anlage1/kessel2/druck.dat Dateiname der Ziel- bzw. Quelldatei STRING[212] 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 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 ERROR OUTPUT BOOL 0: - 1: Fehlerfall STATUS OUTPUT WORD Siehe nachfolgende Tabelle Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewikkelt wurde. Fehleranzeige Der Parameter meldet, wenn der Auftrag nicht fehlerfrei ausgeführt werden konnte. Statusanzeige Der Parameter liefert Detailinformation 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. Programmierhandbuch, 11/2015, C79000-G8900-C

86 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 H Kein Auftrag in Bearbeitung H Auftrag fertig ohne Fehler H 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 H Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden. Der verwendete Baustein passt nicht zur verwendeten Systemfamilie (für S7-300 und S7-400 sind unterschiedliche Bausteine zu verwenden) H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster H Typangabe im ANY-Pointer ungleich Byte A4H 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 B0H Baugruppe kennt den Datensatz nicht B1H Ziel-Bereich ist ungültig; beispielsweise Ziel-Bereich > 240 Byte B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut (bei älteren CPU-Ausgabeständen). (bei neueren CPU-Ausgabeständen siehe 80A4H) C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) D2H Baugruppen-Anfangsadresse ist falsch H Es liegen noch keine Daten vor. 86 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

87 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste DONE ERROR STATUS Bedeutung H Die Projektierung entspricht nicht den Auftragsparametern H Unzulässiger Datentyp für den Parameter NAME_STR angegeben H Der Zielpuffer (LEN) ist zu klein H Parameter ID ungültig. ID = 1, H Keine Empfangsressourcen in der Zielstation vorhanden H FTP-Verbindung nicht aufgebaut. Falsche oder nicht existierende Verbindungs-ID F22H Quell-Bereich ungültig; beispielsweise: Bereich im DB nicht vorhanden 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters 0 1 8F28H Ausrichtungfehler beim Lesen eines Parameters 0 1 8F32H Parameter enthält zu große DB-Nummer F33H 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 F55H 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) F60H 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ückgewiesen Der FTP-Server unterstützt keine SSL-gesicherten Verbindungen F63H 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 F65H 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 F66H 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. Programmierhandbuch, 11/2015, C79000-G8900-C

88 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 F69H Die FTP-Verbindung befindet sich in einem falschen Zustand, z.b.: Es erfolgt ein Aufruf der Verbindung ohne vorhergehenden Verbindungsabbau (bei gleicher Verbindungs-ID); Es erfolgt ein Verbindungsabbau auf eine bereits abgebaute Verbindung; Es wurde ein STORE-Kommando auf eine nicht aufgebaute Verbindung abgesetzt F6AH Die Verbindung konnte wegen temporärem Ressourcenengpass nicht aufgebaut werden. Abhilfe: Bausteinaufruf wiederholen F6BH 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 F6DH Der FTP-Client unterstützt keine SSL-gesicherte Verbindung F6EH Die Signatur des Zertifikats ist ungültig F6FH 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 F70H 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 F71H Das CA-Zertifikat eines nicht vertrauenswürdigen Gerätezertifikats konnte nicht gefunden werden F72H Das ursprüngliche CA-Zertifikat ist ungültig. Entweder handelt es sich nicht um ein CA-Zertifikat oder dessen Erweiterungen sind nicht konsistent mit dem beabsichtigten Zweck F73H Das ursprüngliche CA-Zertifikat ist für den angegebenen Zweck als nicht vertrauenswürdig gekennzeichnet F74H Es sind sonstige Fehler bei der Verifizierung eines Zertifikates aufgetreten F7FH Interner Fehler; beispielsweise unzulässige ANY-Referenz 88 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

89 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Migration von FC zum FTP_CMD Vergleich des Funktionsbausteins FB40 mit den älteren Funktionen FC Sämtliche CPs mit FTP-Funktionalität unterstützen die Funktionen FC Bestehende Anwenderprogramme können also unverändert verwendet werden. Wenn Sie von den FTP-Funktionen FC 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 FC umgesetzt werden. Übereinstimmungen sind mit "X" markiert. Fehlende Entsprechungen sind mit "-" gekennzeichnet. Kommandos des Parameters "CMD" des FTP_CMD Ältere FTP- Funktionen FC 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 und CMD (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 FC : BUFFER_DB_NR entfällt (durch Instanz-DB ersetzt) Programmierhandbuch, 11/2015, C79000-G8900-C

90 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste FTP_CONNECT 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 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); Erläuterung //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 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. 90 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

91 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Erläuterung der aufrufspezifischen Formalparameter Tabelle 2-15 Formalparameter für FTP_CONNECT Parameter Deklaration Datentyp Beschreibung LOGIN INPUT ANY (als VARTYPE sind nur zugelassen: BYTE) Dieser Parameter spezifiziert den mit der FTP-Verbindung anzusprechenden 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 Pufferbereich 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] ' ' IP-Adresse des FTP-Servers username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP-Server password STRING[32] 'passwort' Passwort für das Login auf dem FTP- Server 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. Programmierhandbuch, 11/2015, C79000-G8900-C

92 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste FTP_STORE 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 call fc41 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, FILE_NAME := P#DB40.DBX BYTE 220, BUFFER_DB_NR := 9, FILE_DB_NR := 42, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422); Erläuterung //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 92 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

93 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 Dieser Parameter spezifiziert das Datenziel. (weitere Details siehe in nachfolgender Tabelle) sind nur zugelassen: in dem die Zielangaben eingetragen sind. Anzugeben sind hier Adresse und Länge des Datenbereiches, BYTE) 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 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] ' ' IP-Adresse des FTP-Servers. 3) ) username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP- Server. 3) password STRING[32] 'passwort' Passwort für das Login auf dem FTP-Server. 3) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

94 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste FTP_RETRIEVE 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 call fc42 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, FILE_NAME := P#DB40.DBX BYTE 220, BUFFER_DB_NR := 9, FILE_DB_NR := 42, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422); Erläuterung //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 94 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

95 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 Dieser Parameter spezifiziert die Datenquelle. (weitere Details siehe in nachfolgender Tabelle) VARTYPE Anzugeben sind hier Adresse und Länge des Datenbereiches, in sind nur dem die Zielangaben eingetragen sind. zugelassen: Die angegebene Adresse verweist auf einen Datenbausteinbereich. BYTE) 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 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] ' ' IP-Adresse des FTP-Servers. 3) username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP- Server. 3) password STRING[32] 'passwort' Passwort für das Login auf dem FTP- Server. 3) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

96 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste FTP_DELETE Bedeutung und Aufruf - FTP_DELETE Bedeutung Mit diesem Funktionsaufruf löschen Sie eine Datei auf dem FTP-Server. Aufrufschnittstelle Aufrufbeispiel in AWL-Darstellung AWL call fc43 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, FILE_NAME := P#DB40.DBX BYTE 220, BUFFER_DB_NR := 9, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422); Erläuterung //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 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. 96 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

97 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Erläuterung der aufrufspezifischen Formalparameter Tabelle 2-18 Formalparameter für FTP_DELETE Parameter Deklaration Datentyp Beschreibung FILE_NAME INPUT ANY (als VARTYPE Dieser Parameter spezifiziert das Datenziel. (weitere Details siehe in nachfolgender Tabelle) sind nur zugelassen: dem die Zielangaben eingetragen sind. Anzugeben sind hier Adresse und Länge des Datenbereiches, in BYTE) 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 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] ' ' IP-Adresse des FTP-Servers. 3) username STRING[32] 'benutzer' Benutzername für das Login auf dem FTP- Server. 3) password STRING[32] 'passwort' Passwort für das Login auf dem FTP- Server. 3) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

98 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste FTP_QUIT 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 call fc44 ( ACT := M 420.0, ID := 4, LADDR := W#16#3FFD, DONE := M 420.1, ERROR := M 420.2, STATUS := MW 422); Erläuterung //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) 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. 98 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

99 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 Auftragsanstoß. 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 Parameterversorgung wie folgt gesetzt: DONE=0 ERROR=1 STATUS=8F70H Anmerkung / Empfehlung: In Ihrer Anwendung sollten Sie die FTP-Aufrufe bedingt ausfü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, Die FTP-Aufträge werden über FTP-Verbindungen abgewikkelt. Der Parameter identifiziert die genutzte Verbindung. LADDR INPUT WORD Baugruppen-Anfangsadresse Beim Aufruf eines FC-Bausteines übergeben Sie im Parameter LADDR die Baugruppen-Anfangsadresse des ADVANCED-CP. Die Baugruppen-Anfangsadresse des ADVANCED-CP können 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. Programmierhandbuch, 11/2015, C79000-G8900-C

100 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Statusinformationen (Ausgangsparameter) Statusinformationen (Ausgangsparameter) Für die Statusauswertung sind im Anwenderprogramm die Parameter auszuwerten: Parameter Deklaration Typ 1) Wertebereich Bedeutung DONE OUTPUT BOOL 0: - ERROR OUTPUT BOOL 0: - 1: Auftrag ausgeführt 1: Fehlerfall STATUS OUTPUT WORD siehe nachfolgende Tabelle Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Fehleranzeige Der Parameter meldet, wenn der Auftrag nicht fehlerfrei ausgeführt werden konnte. 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 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" 100 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

101 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste DONE ERROR STATUS Bedeutung H Auftrag fertig ohne Fehler H Kein Auftrag in Bearbeitung H Auftrag läuft H Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden. Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unterschiedliche FCs für S7-300 und S7-400 zu verwenden) H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster H Typangabe im ANY-Pointer ungleich Byte A4H 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 B0H Baugruppe kennt den Datensatz nicht B1H Ziel-Bereich ist ungültig. beispielsweise Ziel-Bereich > 240 Bytes B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut.(bei älteren CPU- Ausgabeständen; sonst 80A4H; ; weitere Angaben siehe dort) C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) D2H Baugruppen-Anfangsadresse ist falsch H Die Projektierung entspricht nicht den Auftragsparametern H Unzulässiger Datentyp für den Parameter FILE_NAME / LOGIN angegeben H Parameter ID ungültig. ID!= 1, F22H Quell-Bereich ungültig; beispielsweise: Bereich im DB nicht vorhanden 0 1 8F24H Bereichsfehler beim Lesen eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F32H Parameter enthält zu große DB-Nummer F33H DB-Nummer Fehler F3AH Bereich nicht geladen (DB) F50H 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 Programmierhandbuch, 11/2015, C79000-G8900-C

102 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 aufgebaut werden F65H 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 F66H 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 10 FTP- Verbindungen zu öffnen F68H 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 F69H FTP-Verbindung in falschem Zustand für diesen Aufruf, beispielsweise bei zweimaligem Connect-Aufruf oder bei Retrieve ohne vorheriges Connect (bei gleicher Verbindungs-ID) 0 1 8F6AH Die Verbindung konnte wegen temporärem Ressourcenengpass nicht aufgebaut werden. Abhilfe: Bausteinaufruf wiederholen F6CH Die Verbindung konnte nicht aufgebaut werden; der FTP-Client unterstützt nur SSLgesicherte Verbindungen. Abhilfe: Programmbaustein FTP_CMD verwenden F70H Aufruf eines FTP-Client-Bausteins mit ACT = F7FH Interner Fehler; beispielsweise unzulässige ANY-Referenz 102 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

103 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Datenbaustein File-DB 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ültigen Nutzdaten ("Datei existiert 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; Programmierhandbuch, 11/2015, C79000-G8900-C

104 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Parameter Typ Wert / Bedeutung Versorgung 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 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ändert seit letztem Schreibvorgang. Das Anwenderprogramm der S7- CPU hat die letzte Änderung registriert. 1: Das Anwenderprogramm der S7-CPU hat den letzten Schreibvorgang noch nicht registriert. 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. ACT_LENGTH DINT Aktuelle Länge des Nutzdatenbereiches. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1. 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 Kommando retr zu ermöglichen. 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. Die aktuelle Länge wird nach einem Schreibvorgang aktualisiert. 104 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

105 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Parameter Typ Wert / Bedeutung Versorgung MAX_LENGTH DINT Maximale Länge des Nutzdatenbereiches (Länge des gesamten DB abzüglich 20 Byte Header). 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. 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. Die maximale Länge sollte bei der DB- Projektierung festgelegt werden. Der Wert kann auch im laufenden Betrieb vom Anwenderprogramm geändert werden. Wird vom FTP-Client bei der FTP- Kommandobearbeitung aktualisiert. 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 Anlaufzeitpunkt des IT-CP (Initialisierungswert ist Uhr) 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 Programmierhandbuch, 11/2015, C79000-G8900-C

106 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste Parameter Typ Wert / Bedeutung Versorgung EXIST BOOL Das EXIST-Bit zeigt an, ob Das FTP-Kommando dele setzt EXIST=0; der Nutzdatenbereich gültige Daten enthält. Das FTP-Kommando store setzt EXIST=1; Das FTP-Kommando retrieve bearbeitet den Auftrag nur, wenn EXIST=1. 0: Der File-DB enthält keine gültigen Nutzdaten ("Datei existiert nicht"). 1: Der File-DB enthält gültige Nutzdaten ("Datei existiert"). 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 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 106 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

107 Programmbausteine für Industrial Ethernet 2.4 Programmbausteine für FTP-Dienste 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 registriert. 1: Das Anwenderprogramm der S7-CPU hat den letzten Schreibvorgang noch nicht registriert. FTP-Kommando store setzt nach der Bearbeitung NEW=1 Das Anwenderprogramm in der S7-CPU muss nach dem Lesen der Daten NEW=0 setzen, um ein erneutes store zu ermöglichen 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 Schreibrecht 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. ACT_LENGTH DINT Aktuelle Länge des Nutzdatenbereiches. Der Inhalt dieses Feldes ist nur dann gültig, wenn EXIST = 1. MAX_LENGTH DINT Maximale Länge des Nutzdatenbereiches (Länge des gesamten DB abzüglich 20 Byte Header). FTP_REPLY_CODE INT Der Parameter ist im FTP- Serverbetrieb ohne Bedeutung. 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 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. Die aktuelle Länge wird nach einem Schreibvorgang aktualisiert. Die maximale Länge sollte bei der DB- Projektierung festgelegt werden. Der Wert kann auch im laufenden Betrieb vom Anwenderprogramm geändert werden. Wird vom FTP-Server auf "0" gesetzt. 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 Anlaufzeitpunkt des IT-CP (Initialisierungswert ist Uhr). Programmierhandbuch, 11/2015, C79000-G8900-C

108 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 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! 108 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

109 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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. Programmierhandbuch, 11/2015, C79000-G8900-C

110 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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. 110 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

111 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

112 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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. 1 Parameterblöcke sind nachfolgend beschrieben in Parameterblock für Systemdaten (IP-Konfiguration) (Seite 116) 2 Subblocktypen sind nachfolgend beschrieben in Parameterblöcke für Verbindungstypen (Seite 117) Siehe auch Subblock-Typen (Seite 122) 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. 112 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

113 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration CONF_DB AWL DATA_BLOCK DB271 TITLE=IP_CONFIG für 1 aktive ntcp-connection, AUTHOR : SIMATIC //CP-Daten : IP= , Router= FAMILY : AS300 //Verbindungsdaten: Destination IP-Addr= , 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; // Subblock-Typ: Systemdaten für CP sys_id : INT:= 0; // System Parameter ID, immer 0 sys_sb_cnt: INT:= 3; // Anzahl Subblocks im Systemparameter Block ip_addr: SUB_IP_V4; // IP-Adresse des CPs ip_netmask: SUB_NETMASK; // Subnetzmaske des CPs ip_router: SUB_DEF_ROUTER; // Default Router // tcp VB tcp_pb_01 : int := 1; // Subblock-Typ: TCP-Verbindung tcp_id_01 : int := 1; // 1. TCP_VB tcp_sb_cnt_01 : int := 6; // 6 Elemente pro TCP-Verbindung tcp_vb_ip_01 : SUB_IP_V4; // IP-Adresse des Partners 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; // nur relevant für S7-400 rq_01 : ACT_CN_REQ; // // 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. Programmierhandbuch, 11/2015, C79000-G8900-C

114 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 114 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

115 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 Programmierhandbuch, 11/2015, C79000-G8900-C

116 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Siehe auch Subblock-Typen (Seite 122) 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 SUB_DEF_ROUTER 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 kenntlich zu machen. + *) Der Subblocktyp wird nur für -Verbindungen benutzt. **) ID wird nur bei bestimmten CP-Typen unterstützt. ***) ++ = zwingend; + = optional 116 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

117 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Siehe auch Subblock-Typen (Seite 122) 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, S7-300: 1, Parameterblock für TCP-Verbindung Aufbau Hinterlegen Sie die Parameter im Parameterblock für TCP-Verbindungen wie folgt: Typ = 1 -> 1 ID = Verbindungs-ID -> 2 Subblock_Anzahl = n Subblock 1 Subblock 2 Subblock n... Legende: 1 Kennung für den Verbindungstyp 2 frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben. Wertebereich für die Verbindungs-ID: bei S7-400: 1, bei S7-300: 1, Programmierhandbuch, 11/2015, C79000-G8900-C

118 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Partners ++ *) 9 SUB_LOC_PORT SUB_REM_PORT - ++ **) 18 SUB_CONNECT_NAME SUB_LOC_MODE SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest auf 2 eingestellt und muß daher nicht angegeben werden. 22 SUB_CON_ESTABL - ++ *) optional bei passiver Verbindung. ***) ++ = zwingend; + = optional ++ (bei S7-400) Siehe auch Subblock-Typen (Seite 122) Parameterblock für UDP- Verbindung Aufbau Hinterlegen Sie die Parameter im Parameterblock für UDP-Verbindungen wie folgt: Typ = 2 -> 1 ID = Verbindungs-ID -> 2 Subblock_Anzahl = n Subblock 1 Subblock 2 Subblock n... Legende: 1 Kennung für den Verbindungstyp 2 frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben. Wertebereich für die Verbindungs-ID: bei S7-400: 1, bei S7-300: 1, Programmierhandbuch, 11/2015, C79000-G8900-C229-08

119 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Partners ++ 9 SUB_LOC_PORT SUB_REM_PORT SUB_CONNECT_NAME SUB_LOC_MODE SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest auf 2 eingestellt und muss daher nicht angegeben werden. 23 SUB_ADDR_IN_DATABLOCK Falls über diesen Parameter die Option "Freie UDP-Verbindung" gewählt wird, entfallen die Parameter SUB_IP_V4 und SUB_REM_PORT. ***) ++ = zwingend; + = optional ++ (bei S7-400) + Siehe auch Subblock-Typen (Seite 122) Parameterblock für ISO-on-TCP Verbindung Aufbau Hinterlegen Sie die Parameter im Parameterblock für ISO-on-TCP-Verbindungen wie folgt: Typ = 3 -> 1 ID = Verbindungs-ID -> 2 Subblock_Anzahl = n Subblock 1 Subblock 2 Subblock n... Legende: 1 Kennung für den Verbindungstyp 2 frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben. Wertebereich für die Verbindungs-ID: bei S7-400: 1, bei S7-300: 1, Programmierhandbuch, 11/2015, C79000-G8900-C

120 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Partners ++ *) 11 SUB_LOC_TSAP SUB_REM_TSAP - ++ *) 18 SUB_CONNECT_NAME SUB_LOC_MODE SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest auf 2 eingestellt und muß daher nicht angegeben werden. 22 SUB_CON_ESTABL (bei S7-400) *) optional bei passiver Verbindung (Wenn die IP-Adresse angegeben wird, muss auch der TSAP angegeben werden.) ***) ++ = zwingend; + = optional Siehe auch Subblock-Typen (Seite 122) Parameterblock für -Verbindung Bedeutung Für das Senden von s ist grundsätzlich eine -Verbindung pro Advanced-CP einzurichten. Mit der -Verbindung ist der Mailserver festgelegt, über den sämtliche vom Advanced-CP gesendeten s zugestellt werden. Aufbau Hinterlegen Sie die Parameter im Parameterblock für -Verbindungen wie folgt: Typ = 4 -> 1 ID = Verbindungs-ID -> 2 Subblock_Anzahl = n Subblock 1 Subblock 2 Subblock n... Legende: 1 Kennung für den Verbindungstyp 2 frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben. Wertebereich für die Verbindungs-ID: bei S7-400: 1, bei S7-300: 1, Programmierhandbuch, 11/2015, C79000-G8900-C229-08

121 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 1 SUB_IP_V4 IP-Adresse des Mailservers, über den die s gesendet werden. ++ / + *) Die IP-Adresse kann absolut oder symbolisch angegeben werden. Die symbolische Angabe setzt voraus, dass dem Advanced-CP die Adresse des Domain Name Servers (DNS) bekannt ist. Ein entsprechender Eintrag ist bei der Projektierung des Advanced-CP in STEP 7 vorzunehmen; nähere Angaben hierzu finden Sie dort in der Online- Hilfe. 3 SUB_DNS_NAME DNS Name des Servers ++ / + *) 13 SUB_ _SENDER Absender Adresse SUB_CONNECT_NAME SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest ++ (bei S7-400) auf 0 eingestellt und muß daher nicht angegeben werden. 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) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

122 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Aufbau Hinterlegen Sie die Parameter im Parameterblock für FTP-Verbindungen wie folgt: Typ = 1 -> 1 ID = Verbindungs-ID -> 2 Subblock_Anzahl = n Subblock 1 Subblock 2 Subblock n... Legende: 1 Kennung für den Verbindungstyp 2 frei zu vergebene Verbindungsreferenz; im AG_SEND / AG_RECV anzugeben. Wertebereich für die Verbindungs-ID: bei S7-400: 1, bei S7-300: 1, Verwendbare Subblöcke Subblock Parameter ID Typ Besonderheiten / Hinweise Anwendung ***) 18 SUB_CONNECT_NAME SUB_LOC_MODE hier: 0x01 = FTP Protokoll SUB_KBUS_ADR Bei CPs für S7-300 ist dieser Wert fest auf 0 eingestellt und muß daher nicht angegeben werden. ***) ++ = zwingend; + = optional ++ (bei S7-400) Siehe auch Subblock-Typen (Seite 122) 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). 122 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

123 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 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_V IP-Adresse gemäß IPv4 2 SUB_NETMASK Subnetzmaske 3 SUB_DNS_NAME Länge DNS Name + 4 DNS Name 4 SUB_DNS_SERV_ADDR DNS Server Adresse. 8 SUB_DEF_ROUTER IP-Adresse des Default Router 9 SUB_LOC_PORT Lokaler Port 10 SUB_REM_PORT Ferner Port, auch für Verbindungen 11 SUB_LOC_TSAP TSAP-Länge + 4 Lokaler TSAP * 12 SUB_REM_TSAP TSAP-Länge + 4 Ferner TSAP * 13 SUB_ _SENDER Länge der Absender E Adresse des Absenders Mail Adresse SUB_DHCP_ENABLE IP-Adresse von einem DHCP-Server beziehen. 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, -, _ Programmierhandbuch, 11/2015, C79000-G8900-C

124 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Subblock ID 1) Subblock-Typ Subblock-Länge (in Byte) Bedeutung des Parameters 19 SUB_LOC_MODE 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 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 Einstellung der Betriebsart beim Kommunikationspartner. (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 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 Freie UDP-Verbindung wählen. Der ferne Teilnehmer wird vom Anwenderprogramm beim AG_SEND Aufruf im Auftragsheader 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. 124 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

125 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration Subblock ID 1) Subblock-Typ Subblock-Länge (in Byte) Bedeutung des Parameters 24 SUB_NTP_SERVER 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 eingebaut 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 insgesamt (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 Zeichen "-" 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 = ). Der Gerätename darf nicht mit der Zeichenfolge "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 verwendetes 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 eingerechnet werden. Siehe auch Konfigurations-Datenbaustein - Beispiel (Seite 112) Programmierhandbuch, 11/2015, C79000-G8900-C

126 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 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); Erläuterung //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. 126 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

127 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

128 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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! 128 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

129 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 Statusanzeigen DONE, ERROR und STATUS aktualisiert. LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP mit STEP 7 wird die Baugruppen-Anfangsadresse in der Konfigurationstabelle ausgegeben. Geben Sie diese Adresse hier an. CONF_DB INPUT ANY Der Parameter zeigt auf die Anfangsadresse des Konfigurations-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 abgeschlossen. ERROR OUTPUT BOOL 0: - 1: Fehlerfall Der Parameter zeigt an, ob der Konfigurations- Datenbereich vollständig übertragen wurde. Beachten Sie, dass der FB je nach Größe des Konfigurations-Datenbereiches mehrfach angestoßen (in mehreren 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) 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 Auftragsausführung an, welcher Parameter im Konfigurations- DB als Fehlerursache erkannt wurde. High Byte: Index des Parameterblockes Low Byte: Index des Subblockes innerhalb des Parameterblockes Programmierhandbuch, 11/2015, C79000-G8900-C

130 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration 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 PN IO UDP NTP UDP NTP UDP NTP UDP NTP 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 H Auftrag fertig ohne Fehler H Auftrag läuft Fehler, die an der Schnittstelle zwischen CPU und CP erkannt wurden A4H Kommunikationsfehler am K-Bus oder Datenfehler: Es ist nicht eingestellt, dass die Konfiguration über das Anwenderprogramm erfolgt. 130 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

131 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration DONE ERROR STATUS Bedeutung B1H Die Anzahl der zu sendenden Daten überschreitet die für diesen Dienst zulässige Obergrenze. (Obergrenze = 16 kbyte) C4H Kommunikationsfehler Der Fehler kann temporär auftreten; daher ist eine Wiederholung im Anwenderprogramm sinnvoll D2H 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 H Der CP lehnt die angeforderte Datensatznummer ab H Systemfehler bzw. unzulässiger Parametertyp. (Datentyp des ANY-Pointer CONF_DB nicht ok) (Aktuell wird nur der Datentyp Byte akzeptiert) H 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 H Unzulässiger Parameter erkannt H Ungültiger Zustand des FBs Der ANY-Pointer CONF_DB verweist nicht auf einen Datenbaustein. Eventuell wurden Daten im Header des CONF_DB überschrieben. Weitere Fehler, die an der Schnittstelle zwischen CPU und CP erkannt wurden A01H Die Statusanzeige im gelesenen Datensatz ist ungültig (Wert ist >= 3) A02H Es läuft kein Auftrag auf dem CP; der FB hat jedoch eine Quittung für gelaufenen Auftrag erwartet A03H 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 A04H 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 A05H 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 A06H Ein Auftrag ist fertig; der FB hat jedoch einen ersten Auftrag für Datensatz-Lesen angestoßen. Fehler, die bei Auswertungen des FBs im CP erkannt wurden B01H Kommunikationsfehler 0 1 8B02H Parameterfehler Der DB konnte nicht übertragen werden. Doppelter Parameterblock 0 1 8B03H Parameterfehler 0 1 8B04H Parameterfehler 0 1 8B05H Parameterfehler 0 1 8B06H Parameterfehler Der Subblock im Parameterblock ist nicht erlaubt. Die Länge, die am FB angegeben wurde, stimmt nicht mit der Länge der Parameterblöcke / Subblöcke überein. Die Länge des Parameterblockes ist ungültig. Die Länge des Subblockes ist ungültig. Programmierhandbuch, 11/2015, C79000-G8900-C

132 Programmbausteine für Industrial Ethernet 2.5 Programmbausteine für programmierte Verbindungen und IP-Konfiguration DONE ERROR STATUS Bedeutung 0 1 8B07H Parameterfehler 0 1 8B08H Parameterfehler 0 1 8B09H Systemfehler 0 1 8B0AH Datenfehler 0 1 8B0BH Strukturfehler 0 1 8B0CH Datenfehler 0 1 8B0DH Datenfehler Die ID des Parameterblockes ist ungültig Die ID des Subblockes ist ungültig Die Verbindung existiert nicht Der Inhalt des Subblockes ist nicht korrekt. Ein Subblock ist doppelt aufgeführt B0EH Datenfehler / Strukturfehler 0 1 8B0FH Systemfehler 0 1 8B10H Datenfehler 0 1 8B11H Datenfehler 0 1 8B12H Datenfehler Im Parameterblock sind nicht alle erforderlichen Parameter enthalten. Der CONF_DB enthält keinen Parameterblock für Systemdaten. Der Typ des CONF_DB ist ungültig B13H CP interner Fehler Der CP hat zu wenig Ressourcen, um den CONF_DB vollständig bearbeiten zu können. Es ist nicht eingestellt, dass die Konfiguration über das Anwenderprogramm erfolgt. Der angegebene Typ des Parameterblockes ist ungültig. Es wurden zu viele Verbindungen angegeben (entweder insgesamt oder zu viele für einen bestimmten Typ; es ist beispielsweise nur eine Verbindung möglich) B14H Die aktive Schutzstufe lässt die Aktion zur Änderung nicht zu. weitere Fehler, die an den Programmschnittstellen innerhalb der CPU erkannt wurden (SFC-Fehler) F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters F30H Der Parameter liegt im schreibgeschützten 1. aktuellen Datenbaustein F31H Der Parameter liegt im schreibgeschützten 2. aktuellen Datenbaustein F32H Der Parameter enthält eine zu große DB-Nummer F33H DB-Nummernfehler 0 1 8F3AH Der Zielbereich wurde nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt. 132 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

133 Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP DONE ERROR STATUS Bedeutung 0 1 8F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist gesperrt F7FH Interner Fehler Es wurde z. B. eine unzulässige ANY-Referenz erkannt. 2.6 Programmbausteine für ERPC-CP 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 ERPC Programmierhandbuch, 11/2015, C79000-G8900-C

134 Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP 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: ) //Baugruppenanfangsadresse //Konfigurations-Datenbaustein (hier: DB 1) //Quittiermodus (hier: 1) //Ausführungsanzeige //Fehleranzeige //Statusanzeige 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 Anwenderprogramm 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. 134 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

135 Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP 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) 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 Statusanzeigen DONE, ERROR und STATUS aktualisiert. 1 Beim FB-Aufruf mit ACT = 1 werden die aktuellen Trigger-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 Konfigurationsdaten der projektierten logischen Trigger. Programmierhandbuch, 11/2015, C79000-G8900-C

136 Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP 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 Konfigurations-DB (DB_CONF) wird gemeldet, ob der ERP-Teilnehmer erreichbar war oder ob sich die ERPC-Applikation im Store-and-Forward-Modus befindet. DONE OUTPUT BOOL 0: Auftrag läuft 1: Auftrag abgeschlossen ERROR OUTPUT BOOL 0: - 1: Fehlerfall STATUS OUTPUT WORD Siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER". Die Ende-zu-Ende-Quittung führt zu einer längeren Auftragslaufzeit als die Transportquittung. Der Parameter zeigt an, ob der Auftrag zur Übertragung des Konfigurations-Datenbereichs fehlerfrei abgewickelt wurde. DONE wird vom CP bei Auftragsannahme auf 0 gesetzt. Solange DONE = 0 ist, kann kein weiterer Auftrag ausgelöst werden. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER". Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER". Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe Tabelle "Anzeigen FB56 LOGICAL_TRIGGER". 136 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

137 Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP 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 H Auftrag fertig ohne Fehler. Der logische Trigger wurde erfolgreich abgeschlossen H Auftrag fertig ohne Fehler. Die Datenbank ist nicht erreichbar (Store-and-forward- Modus) H Auftrag läuft H Der FB56 wurde mit ACT = 0 aufgerufen. Der Auftrag wird jedoch nicht bearbeitet. Anzeigen zu Projektierung und Ablauf des logischen Triggers Rufen Sie den Baustein mindestens einmal mit ACT = 1 auf D2H Der eingesetzte CP unterstützt keine ERPC-Kommunikation (falscher CP-Typ) H Der eingesetzte CP unterstützt keine ERPC-Kommunikation (falscher CP-Typ) H Ungültiger Zustand des FB56 (unbekannter LOGICAL_TRIGGER_STATE). Rufen Sie den Baustein erneut auf A01H Die Anzahl der projektierten logischen Trigger ist gleich A02H Für diesen logischen Trigger ist keine Projektierung im Konfigurations-DB. Prüfen Sie die ILS-Workbench-Projektierung A03H 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ätehandbuch ERPC-CP) A04H 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) A05H Der projektierte Konfigurations-DB ist nicht in der CPU vorhanden A06H Bei einem Folgeaufruf wurde ein noch laufender Trigger mit einer anderen ID aufgerufen. Prüfen Sie die "ID" in den aufgerufenen Funktionsbausteinen FB A08H 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 A09H Im Konfigurations-DB wurde ein unbekannter Fehler gemeldet A0AH Der logische Trigger kann nicht gestartet werden, da gerade eine neue Trigger- Konfiguration geladen wird. Programmierhandbuch, 11/2015, C79000-G8900-C

138 Programmbausteine für Industrial Ethernet 2.6 Programmbausteine für ERPC-CP 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 A0DH 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 A0EH Die übergebene Trigger-ID liegt nicht im zulässigen Bereich von Korrigieren Sie den Wert im Aufruf des FB56 im Anwenderprogramm A0FH Der vorgegebene Quittiermodus (CnfLevel) ist ungültig. Korrigieren Sie den Wert im Aufruf des FB56 im Anwenderprogramm BxxH 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 C01H 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) C02H 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) C03 H Der logische Trigger enthält mehr als 255 Variablen C06 H Fehler beim Datensatz lesen D03 H Bei einer Datenbank-Aktion meldet die Firmware einen Timeout D04H Die Datenbank-Applikation meldet einen allgemeinen Fehler bei der Quittierung der aktuellen Aktion E01H Der projektierte Konfigurations-DB in der CPU ist nicht groß genug. Ändern Sie die Größe des Konfigurations-DB E06H Es wurde noch keine Verbindung zum logischen Trigger aufgebaut EXXH Bei Status-Codes mit Werten im Bereich von 8E02H... 8EFFH handelt es sich um Abbildungen einer internen Trigger-Antwort. Falls solche Werte auftreten, sind diese für Service-Zwecke relevant 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. 138 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

139 Programmbausteine für Industrial Ethernet 2.7 Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet) 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# header identifier *) data array[ ] DB-Größe (siehe nachfolgenden Warnhinweis) *) Byte *) END_STRUCT *) * ) Werte werden programmseitig eingetragen Hinweis DB-Größe Für die DB-Größe werden 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: ( Programmierhandbuch, 11/2015, C79000-G8900-C

140 Programmbausteine für Industrial Ethernet 2.7 Mengengerüst / Ressourcenbedarf der Programmbausteine (Ethernet) Tabelle 2-23 Angaben für FCs / FBs bei S7-400 NAME Version FC/FB Nr. Ladespeicher- Bedarf [Byte] Arbeitsspeicher- Bedarf [Byte] MC7 [Byte] AG_SEND 1.2 FC AG_RECV 1.2 FC AG_LOCK 1.0 FC AG_UNLOCK 1.0 FC AG_CNTRL 1.0 FC AG_CNTEX 1.0 FB AG_LSEND 3.1 FC AG_LRECV 3.1 FC AG_SSEND 1.2 FC AG_SRECV 1.2 FC IP_CONFIG 1.3 FB FTP_CMD 2.0 FB FTP_CONNECT 1.0 FC FTP_STORE 1.0 FC FTP_RETRIEVE 1.0 FC FTP_DELETE 1.0 FC FTP_QUIT 1.0 FC Lokaldaten [Byte] Tabelle 2-24 Angaben für FCs / FBs bei S7-300 NAME Version FC/FB Nr. Ladespeicher- Bedarf [Byte] Arbeitsspeicher- Bedarf [Byte] MC7 [Byte] AG_SEND 4.2 FC AG_RECV 4.7 FC AG_LOCK 4.0 FC AG_UNLOCK 4.0 FC AG_CNTRL 1.4 FC AG_CNTEX 1.0 FB IP_CONFIG 1.3 FB FTP_CMD 1.0 FB FTP_CONNECT 1.1 FC FTP_STORE 1.1 FC FTP_RETRIEVE 1.1 FC FTP_DELETE 1.1 FC FTP_QUIT 1.1 FC LOGICAL_TRIGGER 1.0 FB Lokaldaten [Byte] 140 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

141 Programmbausteine für PROFINET IO (S7-300) 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 weiterleiten. 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 empfangen. Für CPs im Parallelbetrieb von PROFINET IO-Controller und IO-Device stehen die FCs ab Version 2.0 zur Verfügung. Programmierhandbuch, 11/2015, C79000-G8900-C

142 Programmbausteine für PROFINET IO (S7-300) 3.1 Programmbausteine und ihre Anwendung in der Übersicht 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 142 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

143 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 3.2 PROFINET IO - Datenübertragung und Alarmauswertung PNIO_SEND 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. Programmierhandbuch, 11/2015, C79000-G8900-C

144 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Aufrufschnittstelle (ab Bausteinversion 2.0) Aufrufschnittstelle in FUP-Darstellung Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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) 144 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

145 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 INPUT BYTE Für XYH sind angebbar: Angabe zur Arbeitsweise des CP mit: (Parameter ab Version 2.0) X0H: IO-Controller Betrieb IO-Device Betrieb (wenn kein Parallelbetrieb) Es besteht Kompatibilität mit dem FC in der Version 1.0 X1H: IO-Device Betrieb (bei Parallelbetrieb) 0YH Statusbits werden in IOCS übertragen. 8YH Beschränkung auf Sammelmeldung in CHECK_IOCS; keine Statusbits in IOCS. 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. Programmierhandbuch, 11/2015, C79000-G8900-C

146 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung SEND IN_OUT ANY Die Adresse des Datenbereiches Angabe von Adresse und Länge verweist alternativ auf: IO-Controller-Betrieb: (als VARTYPE Merkerbereich ist nur BYTE Datenbausteinbereich zugelassen) Die Länge sollte der projektierten Gesamtlänge der dezentralen Peripherie entsprechen, wobei Adresslücken mit übertragen werden. Die Länge kann auch kürzer als die Gesamtlänge der dezentralen Peripherie sein, beispielsweise 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 Reihenfolge 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. 146 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

147 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung LEN INPUT INT Wert > 0 Die maximale Gesamtlänge der zu übertragenden Datenbereiche entnehmen Sie bitte dem gerätespezifischen Teil B dieses Handbuches unter Kapitel "Leistungsdaten". Sie kann für Controller- bzw. Device-Betrieb unterschiedlich sein. Länge des zu übertragenden Datenbereichs in Byte. Die Übertragung der Daten beginnt zwingend 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 Adresse der Devices angegeben werden. Die einzelnen Bereiche werden nicht zusammengefasst. 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 "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 Eingangsmodule am PROFINET IO- Controller-Strang für dieses PROFINET IO-Device projektiert sind. DONE OUTPUT BOOL 0: - 1: neue Daten übernommen ERROR OUTPUT BOOL 0: -1: Fehler Fehleranzeige STATUS OUTPUT WORD - Statusanzeige 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. Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Programmierhandbuch, 11/2015, C79000-G8900-C

148 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung CHECK_ IOCS OUTPUT BOOL 0: alle IOCS auf GOOD IOCS OUTPUT ANY (als VAR-TYPE ist nur BYTE zugelassen) 1: mindestens ein IOCS auf BAD Die Adresse des Datenbereiches verweist alternativ auf: Merkerbereich Datenbausteinbereich Länge: Den Maximalwert entnehmen Sie bitte dem gerätespezifischen Teil B dieses Handbuches unter Kapitel "Leistungsdaten". Sie kann für Controller- bzw. Device-Betrieb unterschiedlich sein. Sammelmeldung, die anzeigt, ob es erforderlich ist, den IOCS-Statusbereich auszuwerten. CHECK_IOCS wird unabhängig vom Parameter MODE immer geliefert. IO Consumer Status Pro Byte Nutzdaten wird ein Status-Bit übertragen. Voraussetzung: Die Übertragung ist im Parameter 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 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) 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. 148 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

149 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 H Datenübergabe läuft; oder der CP ist im Betriebszustand STOP H Baugruppe unterstützt nicht die Bausteinversion 2.0. Abhilfe: Bausteinversion 1.0 benutzen H Neue Daten fehlerfrei übergeben H 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 H Systemfehler bzw. unzulässiger Parametertyp H Der Parameter LEN ist größer als der Quell-Bereich SEND oder der Zielpuffer (IOCS) ist zu klein F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz). Programmierhandbuch, 11/2015, C79000-G8900-C

150 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung DONE ERROR STATUS Bedeutung 0 1 8F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein F32H Parameter enthält zu große DB-Nummer F3AH Zielbereich ist nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist gesperrt F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz H Baugruppe mit dieser Adresse ist nicht vorhanden A0H Negative Quittung beim Lesen von der Baugruppe A1H Negative Quittung beim Schreiben zur Baugruppe B0H Baugruppe kennt den Datensatz nicht B1H Die angegebene Datensatzlänge ist falsch. oder Der CP geht in den Betriebszustand STOP C0H Der Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) 150 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

151 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung PNIO_RECV 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. Programmierhandbuch, 11/2015, C79000-G8900-C

152 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Aufrufschnittstelle (ab Bausteinversion 2.0) Aufrufschnittstelle in FUP-Darstellung Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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) 152 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

153 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 INPUT BYTE Im Parameter MODE = XYH Angabe zur Arbeitsweise des CP mit: sind Werte mit folgender Bedeutung angebbar: bzw. Y = Angabe zur Betriebsart IO-Controller IO-Device; (Parameter ab Version 2.0) X0H: IO-Controller Betrieb IO-Device Betrieb (wenn kein Parallelbetrieb) Es besteht Kompatibilität mit dem FC in der Version 1.0 X1H: IO-Device Betrieb (bei Parallelbetrieb) 0YH Statusbits werden in IOPS übertragen. 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 YH Beschränkung auf Sammelmeldung in CHECK_IOPS; keine Statusbits in IOPS. Programmierhandbuch, 11/2015, C79000-G8900-C

154 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung RECV IN_OUT ANY (als Die Adresse des Datenbereiches verweist alternativ auf: IO-Controller-Betrieb: Angabe von Adresse und Länge VARTYPE ist nur Merkerbereich Die Länge sollte der projektierten Gesamtlänge der dezentralen Peripherie entspre- BYTE zugelassen) Datenbausteinbereich chen, wobei Adresslücken mit übertragen werden. Die Länge kann auch kürzer als die Gesamtlänge der dezentralen Peripherie sein, beispielsweise 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 Reihenfolge 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 projektierten 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. 154 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

155 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung LEN INPUT INT Wert > 0 Die maximale Gesamtlänge der zu übertragenden Daten entnehmen Sie bitte dem Kapitel "Leistungsdaten" der CP- Dokumentation. Die maximale Gesamtlänge kann für Controller- und Device-Betrieb unterschiedlich sein. Länge des zu übertragenden Datenbereichs in Byte. Die Übertragung der Daten beginnt zwingend 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 Adresse der Devices angegeben werden. Die einzelnen Bereiche werden nicht zusammengefasst. 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). NDR OUTPUT BOOL 0: - 1: Daten übernommen ERROR OUTPUT BOOL 0: - 1: Fehler STATUS OUTPUT WORD - Statusanzeige CHECK_ OUTPUT BOOL 0: alle IOPS auf GOOD IOPS 1: mindestens ein IOPS auf BAD IO-Device-Betrieb: Die Daten werden in der Reihenfolge der Steckplätze so übertragen, wie die Eingangsmodule 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. Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Fehleranzeige Sammelmeldung, die anzeigt, ob es erforderlich ist, den IOPS-Statusbereich auszuwerten. Die Sammelmeldung CHECK_IOPS wird unabhängig vom Parameter MODE immer geliefert. Programmierhandbuch, 11/2015, C79000-G8900-C

156 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung IOPS OUTPUT ANY (als VARTYPE Die Adresse des Datenbereiches verweist alternativ auf: IO Provider Status ist nur Merkerbereich BYTE zugelassen) Datenbausteinbereich Länge: Den Maximalwert entnehmen Sie bitte dem gerätespezifischen Teil B dieses Handbuches unter Kapitel "Leistungsdaten". Sie kann für Controller- bzw. Device-Betrieb unterschiedlich sein. Pro Byte Nutzdaten wird ein Status-Bit übertragen. Voraussetzung: Die Übertragung ist im Parameter 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 Parameter 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 (EX30) ab FW V2.0 CP Lean (CX10) ab FW V2.0 CP Advanced (GX30) ab FW V1.0 Bei älteren Firmwareversionen ist der Parameter reserviert. 156 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

157 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 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 H Datenübernahme läuft; oder der CP ist im Betriebszustand STOP H Baugruppe unterstützt nicht die Bausteinversion 2.0. Abhilfe: Bausteinversion 1.0 benutzen H Neue Daten fehlerfrei übernommen. Programmierhandbuch, 11/2015, C79000-G8900-C

158 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung NDR ERROR STATUS Bedeutung H 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 H Systemfehler bzw. unzulässiger Parametertyp H Ziel-Puffer (RECV oder IOCS) ist zu klein F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein F32H Parameter enthält zu große DB-Nummer F3AH Zielbereich ist nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist gesperrt F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz H Baugruppe mit dieser Adresse ist nicht vorhanden A0H Negative Quittung beim Lesen von der Baugruppe A1H Negative Quittung beim Schreiben zur Baugruppe B0H Baugruppe kennt den Datensatz nicht B1H Die angegebene Datensatzlänge ist falsch. oder Der CP geht in den Betriebszustand STOP C0H Der Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung. 158 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

159 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung NDR ERROR STATUS Bedeutung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

160 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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. 160 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

161 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 PNIO_RW_REC 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: ( Programmierhandbuch, 11/2015, C79000-G8900-C

162 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Aufrufschnittstelle Aufrufschnittstelle in FUP-Darstellung: Beispiel in AWL-Darstellung: AWL 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 ); Erläuterung //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) 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_RE C 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. 162 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

163 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung INDEX INPUT WORD Siehe Herstellerinformation, welche Datensatznummern von der Baugruppe bzw. dem Modul unterstützt werden. DONE OUTPUT BOOL 0: - 1: Datensatz erfolgreich übertragen ERROR OUTPUT BOOL 0: - 1: Fehler Datensatznummer, die der Anwender lesen oder schreiben möchte. Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Fehleranzeige STATUS OUTPUT WORD - Statusanzeige LEN IN_OUT INT Die Maximallänge ist 480 Byte. Datensatz lesen: Reiner OUTPUT-Parameter; nach erfolgreichem Lesen wird hier die Länge 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 Datensatzes 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 erfolgreichem 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 Parameter LEN vorgibt. Programmierhandbuch, 11/2015, C79000-G8900-C

164 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 H Datenübergabe läuft H Datensatz erfolgreich übertragen H Fehlende PROFINET IO-Controller-Projektierung, Falsche CPLADDR oder CP im Betriebszustand STOP H Systemfehler bzw. unzulässiger Parametertyp H 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 F31H Parameter liegt im schreibgeschützten 2. aktiven Datenbaustein F32H Parameter enthält zu große DB-Nummer F3AH Zielbereich nicht geladen (DB) F42H 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 F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist gesperrt F7FH Interner Fehler. z. B. unzulässige ANY-Referenz H Baugruppe mit dieser Adresse ist nicht vorhanden. 164 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

165 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung DONE ERROR STATUS Bedeutung A0H Negative Quittung beim Lesen von der Baugruppe A1H Negative Quittung beim Schreiben zur Baugruppe A3H Allgemeiner PROFINET IO-Context-Management-Fehler A9H PROFINET IO-Device oder Baugruppe meldet einen unzulässigen Typ B0H Baugruppe kennt den Datensatz nicht B1H Die angegebene Datensatzlänge ist falsch; oder Der CP geht in den Betriebszustand STOP B2H Die logische Adresse oder der projektierte Steckplatz ist nicht belegt B4H PROFINET IO-Device oder Baugruppe meldet einen Zugriff auf unzulässigen Bereich B6H PROFINET IO-Device oder Baugruppe verweigert den Zugriff B8H Die Baugruppe meldet einen unzulässigen Parameter B9H Der Blocktyp und / oder die Version sind unzulässig C0H Der Datensatz kann nicht gelesen werde.n C1H 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 C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) PNIO_ALARM Bedeutung und Aufruf - PNIO_ALARM Bedeutung und Arbeitsweise Der FB 54 dient der Alarmauswertung durch einen als PROFINET IO-Controller betriebenen CP 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. Programmierhandbuch, 11/2015, C79000-G8900-C

166 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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 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 ); Erläuterung //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 166 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

167 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung 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ösenden Baugruppe DONE OUTPUT BOOL 0: - 1: Alarminformation erfolgreich übertragen ERROR OUTPUT BOOL 0: - 1: Fehler NEW OUTPUT BOOL 0: Datenübertragung läuft oder kein neuer Alarm 1: Neuen Alarm empfangen und quittiert Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Bei DONE = 1 muss zusätzlich der Parameter NEW geprüft werden. Fehleranzeige Bei DONE = 1 und NEW = 1 wird hier ein neu empfangener Alarm signalisiert. STATUS OUTPUT WORD - Statusanzeige ID OUTPUT WORD Logische Anfangsadresse der Alarm auslösenden PNIO-Komponente (Baugruppe 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 angegeben. LEN OUTPUT INT Länge der empfangenen Alarminformation (AINFO) MODE IN_OUT DWORD 0 Reserviert Programmierhandbuch, 11/2015, C79000-G8900-C

168 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung Parameter Deklaration Datentyp Wertebereich Beschreibung TINFO IN_OUT ANY (als VARTYPE ist Die Adresse des Datenbereichs verweist alternativ auf: (task information) BYTE, WORD Merkerbereich und DWORD zugelassen) Datenbausteinbereich AINFO IN_OUT ANY (als VARTYPE sind BYTE, WORD und DWORD zugelassen) Die Länge des ANY-Pointer muss >= 32 Byte sein. Die Adresse des Datenbereichs verweist alternativ auf: Merkerbereich Datenbausteinbereich Die Länge des ANY-Pointer muss größer oder gleich der max. zu erwartenden Alarmzusatzinformation sein, maximal 1432 Byte (siehe Parameter LEN) Zielbereich für die Alarm- Verwaltungsinformation. Die Fehler-OB-Startinformation (OB- Header = Byte von TINFO) wird von der CP-Firmware - soweit möglich - nachgebildet. Siehe auch 1) (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) 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 H Datenübergabe läuft H Alarmdaten erfolgreich übertragen und Alarm quittiert H Keine Alarmdaten vorhanden 168 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

169 Programmbausteine für PROFINET IO (S7-300) 3.2 PROFINET IO - Datenübertragung und Alarmauswertung DONE NEW ERROR STATUS Bedeutung H Fehlende PROFINET IO-Controller-Projektierung, Falsche CPLADDR oder CP im Betriebszustand STOP H Systemfehler bzw. unzulässiger Parametertyp H Ziel-Puffer (TINFO oder AINFO) ist zu klein F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters F30H Parameter liegt im schreibgeschützten 1. aktiven Datenbaustein F31H Parameter liegt im schreibgeschützten 2. aktiven Datenbaustein F32H Parameter enthält zu große DB-Nummer F3AH Zielbereich nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist gesperrt F7FH Interner Fehler. z. B. unzulässige ANY-Referenz H Baugruppe mit dieser Adresse ist nicht vorhanden A0H Negative Quittung beim Lesen von der Baugruppe A1H Negative Quittung beim Schreiben zur Baugruppe B0H Baugruppe kennt den Datensatz nicht B1H Die angegebene Datensatzlänge ist falsch oder Der CP geht in den Betriebszustand STOP C0H Der Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) Programmierhandbuch, 11/2015, C79000-G8900-C

170 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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. 170 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

171 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

172 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 PE_START_END_CP 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. 172 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

173 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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. Programmierhandbuch, 11/2015, C79000-G8900-C

174 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 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 ); Erläuterung //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 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 Eine steigende Flanke aktiviert den Befehl "Start_Pause" (Energiesparpause einleiten) 0 = Befehl nicht aktiv END INPUT BOOL 1 = Befehl aktiv Eine steigende Flanke aktiviert den Befehl "End_Pause" (Beenden der Energiesparpause) 0 = Befehl nicht aktiv ID INPUT WORD Logische Adresse des Ziel-PROFIenergy- Device 174 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

175 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Parameter Deklaration Datentyp Wertebereich Beschreibung PAUSE_ TIME PE_MODE_ ID INPUT TIME T#-24D_20H_31M_23S_648MS bis T#24D_20H_31M_23S_647MS OUTPUT BYTE 00h: Spannung AUS (Pause) 01h...FEh: Projektierbar FFh: Betriebsbereit IEC-Zeit in Schritten von 1 ms, Ganzzahl mit Vorzeichen ID des Energiesparmodus, der vom IO-Device nach der Ausführung des Befehls angenommen wurde. VALID OUTPUT BOOL 0: - 1: Bearbeitung erfolgreich beendet Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. BUSY OUTPUT BOOL 0: Bearbeitung abgeschlossen, abgebrochen oder noch nicht Anzeige des Bearbeitungs-Status des Programmbausteins begonnen 1: Bearbeitung läuft 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) 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 Programmierhandbuch, 11/2015, C79000-G8900-C

176 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy STATUS FE06h FE07h FE08h FE09h FE0Ah FE0Bh FE50h FE51h FE52h Bedeutung Energiesparmodus (PE_Mode_ID) nicht unterstützt Antwort länger als max. Transferlänge Ungültige Anzahl an Befehlen Ungültiger Block Type (siehe Telegramm-Header) Ungültige Block Length (siehe Telegramm-Header) Ungültige Block Version (siehe Telegramm-Header) Kein passender Energiesparmodus (PE_Mode_ID) Wert für PAUSE_TIME nicht unterstützt 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) PE_CMD_CP 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 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. 176 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

177 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Aufrufschnittstelle in FUP-Darstellung Aufrufschnittstelle in AWL-Darstellung AWL 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 ); Erläuterung //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) Programmierhandbuch, 11/2015, C79000-G8900-C

178 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Service_Request_ID des PROFIenergy- Befehls. 02: End_Pause Die Bedeutung der Befehle finden Sie unterhalb dieser Tabelle. 03: Query_Modes 04: PEM_Status 05: PE_Identity 16: Query_Measurement 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, Bedeutung: 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 Abschnitt des jeweiligen Befehls. Modifier 00 bedeutet "keine Optionen". 178 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

179 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Parameter Deklaration Datentyp Wertebereich Beschreibung CMD_PARA INPUT ANY Any-Pointer auf Parameter für Befehle CMD_PARA _LEN RESPONSE _DATA Für Befehl 01 Start_Pause: "Pause_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 "Measurement_IDs" Informationen zu den Parametern finden Sie im Abschnitt Antwortdaten (Seite 182) im Abschnitt des jeweiligen Befehls. Der komplette Datenbereich des zu schreibenden Datensatzes (Service_Data_Request) wird eingetragen. Max. Länge: 234 Byte INPUT INT Tatsächliche Länge der Parameter in CMD_PARA. Max. Länge: 234 Byte 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 gespeichert. VALID OUTPUT BOOL 0: - 1: Bearbeitung erfolgreich beendet BUSY OUTPUT BOOL 0: Bearbeitung noch nicht begonnen, abgeschlossen oder abgebrochen 1: Bearbeitung läuft ERROR OUTPUT BOOL 0: - 1: Fehler Der Zustandsparameter des Programmbausteins zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Anzeige des Bearbeitungs-Status des Programmbausteins Fehleranzeige Zur Bedeutung im Zusammenhang mit dem Parameter STATUS siehe Anzeigen von PE_CMD_CP (Seite 181). Programmierhandbuch, 11/2015, C79000-G8900-C

180 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 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. 180 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

181 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 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 Programmierhandbuch, 11/2015, C79000-G8900-C

182 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy STATUS FE07h FE08h FE09h FE0Ah FE0Bh FE50h FE51h FE52h Bedeutung Antwort länger als max. Transferlänge Ungültige Anzahl an Befehlen Ungültiger Block Type (siehe Telegramm-Header) Ungültige Block Length (siehe Telegramm-Header) Ungültige Block Version (siehe Telegramm-Header) Kein passender Energiesparmodus (PE_Mode_ID) Wert für PAUSE_TIME nicht unterstützt 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) 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 182 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

183 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Blockdefinitionen Attribute Wert Datentyp Beschreibung Response Header Service_Request_ID 01h...FFh Unsigned8 01h: Start_Pause Service Header Response Service Data Response 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) 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 abhängig von der Service_Request_ID FFh: error Antwortdaten des IO-Device Abhängig vom jeweiligen PROFIenergy-Befehl (nachfolgend 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 Programmierhandbuch, 11/2015, C79000-G8900-C

184 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 184 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

185 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Parameter Wert Datentyp Number_of_PE_Mode_IDs * 01h Unsigned8 PE_Mode_IDs * Anzahl der Energiesparmodi Unsigned8-Array of Number_of_PE_Mode_IDs (Unique ID for mode) 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 Time_to_Pause Time_to_operate Time_min_length_of_stay Time_max_length_of_stay Mode_Power_Consumption Energy_Consumption_to_pause Energy_Consumption_to_operate * 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 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Float32 Float32 Float32 PROFIenergy-Befehl "PEM_Status" Service Data Request CMD = 04 CMD_MODIFIER = 00 CMD_PARA_LEN = 00 CMD_PARA = irrelevant Service Data Response Programmierhandbuch, 11/2015, C79000-G8900-C

186 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Parameter Wert Datentyp PE_Mode_ID_Source * PE_Mode_ID_Destination * Time_to_operate Remaining_time_to_destination Mode_Power_Consumption Energy_Consumption_to_Destination Energy_Consumption_to_operate 00h 01h...FEh FFh 00h 01h...FEh FFh Unsigned8 Unsigned8 Unsigned32 Unsigned32 Float32 Float32 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 186 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

187 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 ** Accuracy_Domain 1 Accuracy_Class 2 Range 3 Measurement_ID *** Accuracy_Domain 1 Accuracy_Class 2 Range 3 * 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 = Genauigkeit gemäß EN Kapitel 8 2 Genauigkeitsklasse (Bereich ): 0 = Reserviert 1 (0,01%) (>20%) Unsigned16 Unsigned8 Unsigned8 Float32 Unsigned16 Unsigned8 Unsigned8 Float32 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: Programmierhandbuch, 11/2015, C79000-G8900-C

188 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Transmission_Data_Type End_of_demand Length_of_Structure Measurement_Data_Structure_ID Measurement_ID *** Status_of_Measurement_Value Transmission_Data_Type End_of_demand * Anzahl der Measurement_IDs ** Erster abgefragter Messwert *** Letzter abgefragter Messwert 1 = Gültig 2 = Nicht verfügbar 3 = Zeitweise nicht verfügbar Unsigned8 Float32 Unsigned32 oder Unsigned16 Unsigned16 Unsigned8 Unsigned16 Unsigned8 Float32 Unsigned32 oder Unsigned Programmierhandbuch, 11/2015, C79000-G8900-C229-08

189 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy PE_I_DEV_CP 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 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 Erläuterung //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 Programmierhandbuch, 11/2015, C79000-G8900-C

190 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy AWL :=P#DB400.DBX0.0 BYTE 244 ); Erläuterung 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 Programmbausteins 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 Anwenderprogramm VALID = 1 gesetzt werden. Anschließend stellt der Programmbaustein die Daten dem IO-Controller zur Verfügung. NEW wird auf 0 gesetzt. CMD OUTPUT INT 01: Start_Pause Service-ID des PROFIenergy-Befehls 02: End_Pause 03: Query_Modes 04: PEM_Status 05: PE_Identity 16: Query_Measurement 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 PROFIenergy-Modi 02 (Get_Mode): Liest die Daten des selektierten PROFIenergy-Modus Befehl "Query_Measurement", Modifier: 01 (Get_Measurement_List): Liest alle projektierten Measurement_IDs. 02 (Get_Measurement_Values): Liest die Messwerte der selektierten Measurement_IDs. 190 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

191 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Energiesparmodus)Länge = 1 Für "Get_Measurement_Values":Messwerte der Measurement_IDs Länge = max. 236 Byte (komplettes Telegramm des Controller-Befehls ohne Header) INDEX OUTPUT INT Nummer des PROFIenergy-Datensatzes (80A0h) NEW OUTPUT BOOL 0: Bearbeitung noch nicht begonnen, abgeschlossen oder abgebrochen 1: Bearbeitung läuft ERROR OUTPUT BOOL 0: - 1: Fehler Anzeigen des Bearbeitungs-Status des Programmbausteins Fehleranzeige Zur Bedeutung im Zusammenhang mit dem Parameter STATUS siehe Anzeigen von PE_I_DEV_CP (Seite 191). STATUS OUTPUT WORD Statusanzeige RESPONSE _DATA INOUT ANY Siehe "Antwortdaten" des Programmbausteins Zur Bedeutung im Zusammenhang mit dem Parameter ERROR siehe Anzeigen von PE_I_DEV_CP (Seite 191). Zeiger auf den Datenbereich der Antwort des IO-Device (komplettes Antwort- Telegramm inklusive Header). Der Datenbereich muss mit dem Datenbereich 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 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) Programmierhandbuch, 11/2015, C79000-G8900-C

192 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Ergänzende Programmbausteine für PE_I_DEV_CP Ü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 FC 0 FC 1 FC 2 FC 3 FC 4 FC 5 FC 6 FC 7 FC 8 Name PE_ERROR_RSP PE_START_RSP PE_END_RSP PE_LIST_MODES_RSP PE_GET_MODE_RSP PE_PEM_STATUS_RSP PE_IDENTIFY_RSP PE_MEASUREMENT_LIST_RSP PE_MEASUREMENT_VALUE_RSP Siehe auch Individuelle Parameter der FCs (Seite 194) 192 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

193 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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. Programmierhandbuch, 11/2015, C79000-G8900-C

194 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Datenbereich "DATA_ERRORRSP" zu kopieren. 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 verschaltet 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 Fehleranzeige 1: Fehler STATUS OUTPUT WORD 0: Kein Fehler Statusanzeige 80B1h: Fehler bei der ANY-Angabe (z. B. falscher Bereich) Individuelle Parameter der FCs Individuelle Parameter von FC 0 bis FC 8 Nachfolgend finden Sie die Beschreibung der individuellen Parameter der FCs. 194 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

195 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Zeiger auf den Bereich, in dem die Energiesparmodi hinterlegt sind. 01h...FEh Als Anwender müssen Sie hier die IDs der FFh Energiesparmodi hinterlegen. Eine Energiesparmodus-ID wird im Format Unsigned8 projektiert. Zulässiger Bereich: 1 bis 254 Byte. Programmierhandbuch, 11/2015, C79000-G8900-C

196 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Energiesparmodus Time_to_operate * INPUT Unsigned32 Max. Einschaltdauer bis PE_ready_to_operate Time_to_operate kann direkt verwendet werden für entsprechende Berechnungen. Der Wert kann entweder ein statischer MAX-Wert sein oder vom PE-Device dynamisch berechnet 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 ** Energy_Consumption _to_operate ** INPUT Float32 Energieverbrauch von PE_ready_to_operate bis zum aktuellen PE_Mode [kwh] 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. 196 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

197 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Energiesparmodus PE_Mode_ID_Destination INPUT BYTE 00h 01h...FEh ID des vom Controller vorgegebenen Energiesparmodus FFh Time_to_operate * INPUT Unsigned32 Max. Einschaltdauer bis PE_ready_to_operate Remaining_time_to _destination * Mode_Power _Consumption ** Energy_Consumption _to_destination ** Energy_Consumption _to_operate ** Time_to_operate kann direkt verwendet werden für entsprechende Berechnungen. Der Wert kann entweder ein statischer MAX-Wert sein oder vom PE-Device dynamisch berechnet werden. INPUT Unsigned32 Optional: verbleibende Zeit bis zum angeforderten PE_Mode. Dynamischer Wert oder statischer MAX-Wert INPUT Float32 Energieverbrauch im aktuellen PE_Mode [kw] INPUT Float32 Energieverbrauch bis zum angeforderten PE_Mode [kwh] 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. Programmierhandbuch, 11/2015, C79000-G8900-C

198 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Tabelle 3-14 Individuelle Parameter von FC 6 PE_IDENTIFY_RSP Parameter Deklaration Datentyp Wertebereich Beschreibung Count INPUT BYTE Anzahl der unterstützten PROFIenergy- Befehle Start_Pause INPUT BOOL : Befehl wird unterstützt 0: Befehl wird nicht unterstützt End_Pause INPUT BOOL : Befehl wird unterstützt 0: Befehl wird nicht unterstützt Query_Modes INPUT BOOL : Befehl wird unterstützt 0: Befehl wird nicht unterstützt PEM_Status INPUT BOOL : Befehl wird unterstützt 0: Befehl wird nicht unterstützt PEM_Identify INPUT BOOL : Befehl wird unterstützt 0: Befehl wird nicht unterstützt Query_Measurement INPUT BOOL : 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 (Measurement_ID) Measurement_List INPUT ANY Zeiger auf den Datenbereich mit den unterstützten Messwert-IDs. Als Anwender müssen Sie in diesem Datenbereich die Messwert-IDs hinterlegen. Pro Telegramm können maximal 29 Messwert- IDs übertragen werden. Zum Aufbau des Arrays siehe Kapitel Antwortdaten (Seite 182) > "Query_Measurement" Get_Measurement_List. 198 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

199 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 Messwerte übertragen werden. Zum Aufbau des Arrays siehe Kapitel Antwortdaten (Seite 182) > "Query_Measurement" Get_Measurement_List 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

200 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy Aufrufschnittstelle in FUP-Darstellung Aufrufschnittstelle in AWL-Darstellung AWL 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 ); Erläuterung //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 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 Bearbeitung des Programmbausteins. ID INPUT WORD Logische Adresse des Header-Steckplatzes des IO-Device SLOT_NO_1 INPUT INT Steckplatznummer des ersten Powermoduls 200 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

201 Programmbausteine für PROFINET IO (S7-300) 3.3 PROFIenergy 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 begonnen, abgeschlossen oder abgebrochen 1: Bearbeitung läuft DONE OUTPUT BOOL 0: - 1: Datensatz erfolgreich übertragen ERROR OUTPUT BOOL 0: - 1: Fehler Anzeige des Bearbeitungs-Status des Programmbausteins Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Fehleranzeige STATUS OUTPUT WORD Statusanzeige Zur Bedeutung von DONE, ERROR und STATUS siehe Anzeigen von DS3_WRITE_CP (Seite 201) 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) Programmierhandbuch, 11/2015, C79000-G8900-C

202 Programmbausteine für PROFINET IO (S7-300) 3.4 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFINET) 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: ( Tabelle 3-17 Angaben für FCs / FBs bei S7-400 NAME Version FC/FB Nr. Ladespeicher- Bedarf [Byte] Arbeitsspeicher- Bedarf [Byte] MC7 [Byte] PN_InOut 1.3 FB PN_InOut_Fast 1.0 FB Lokaldaten [Byte] Tabelle 3-18 Angaben für FCs / FBs bei S7-300 NAME Version FC/FB Nr. Ladespeicher- Bedarf [Byte] Arbeitsspeicher- Bedarf [Byte] MC7 [Byte] PN_InOut 1.5 FB PNIO_SEND 3.0 FC PNIO_RECV 3.0 FC PNIO_RW_REC 1.1 FB PNIO_ALARM 1.1 FB PE_START_END_C P 1.0 FB PE_CMD_CP 1.0 FB PE_I_DEV_CP 1.0 FB DS3_WRITE_CP 1.0 FB Lokaldaten [Byte] 202 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

203 Programmbausteine für PROFINET CBA 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; Programmierhandbuch, 11/2015, C79000-G8900-C

204 Programmbausteine für PROFINET CBA 4.1 PN_InOut / PN_InOut_Fast - Bedeutung und Aufruf 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 S 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 Call FB 88, DB88 ( LADDR := W#16#0120, DONE := M 99.1, ERROR := M 99.0, STATUS := MW 104); Erläuterung //Bausteinaufruf mit Instanz DB Programmierhandbuch, 11/2015, C79000-G8900-C229-08

205 Programmbausteine für PROFINET CBA 4.2 Erläuterung der Formalparameter - PN_InOut / PN_InOut_Fast 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 unterstü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. Statusanzeigen 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 H Auftrag fertig ohne Fehler H Kein Auftrag in Bearbeitung; der Baustein ist aufrufbar H Auftrag läuft. oder (nur bei FB90) : Verbindungsaufbau zur adressierten Baugruppe läuft (siehe auch Angaben unter 8090H ) H (nur bei S7-300) Der Dienst wurde noch nicht gestartet; Datenübernahme ist noch nicht möglich H 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. Programmierhandbuch, 11/2015, C79000-G8900-C

206 Programmbausteine für PROFINET CBA 4.3 Anzeigen der Bausteine PN_InOut und PN_InOut_Fast DONE ERROR STATUS Bedeutung H (nur bei FB90) Der Interface-DB ist fehlerhaft H (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ächlich 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 A1H (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 B0H (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 B1H (nur bei S7-300) Bausteinfehler: Datensatzlänge oder Offset sind falsch B3H (nur bei S7-300) Parameterfehler: falsche CP-Adresse C1H (nur bei S7-300) Temporärer Fehler: Der angegebene Datensatz ist gerade in Bearbeitung C2H (nur bei S7-300) Temporärer Fehler: Es liegt ein Auftragsstau vor; der Datensatz kann noch nicht gelesen werden C3H (nur bei S7-300) Temporärer Fehler: Betriebsmittel (Speicher) belegt C4H (nur bei S7-300) Kommunikationsfehler: tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll D0H (nur bei S7-300) Projektierungsfehler: Die maximale Anzahl der Ein- und Ausgabedatenblöcke ist überschritten; der Interface DB ist zu groß. 206 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

207 Programmbausteine für PROFINET CBA 4.3 Anzeigen der Bausteine PN_InOut und PN_InOut_Fast DONE ERROR STATUS Bedeutung D1H (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 unterstützt D2H (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 unterstützt. Parameterfehler: falsche CP-Adresse H (nur bei FB90) Der Interface-DB ist fehlerhaft H (nur bei FB90) Die Nummer des Interface-DB ist zu groß AH (nur bei FB90) Der Zugriff auf den Interface-DB ist nicht möglich (beispielsweise weil der Interface-DB gelöscht wurde) H (nur bei FB90) Der Interface-DB ist fehlerhaft AH (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" Programmierhandbuch, 11/2015, C79000-G8900-C

208 Programmbausteine für PROFINET CBA 4.4 Zeitgesteuerter Aufruf PN_InOut / PN_InOut_Fast - Empfehlung zur Anwendung 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. 208 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

209 Programmbausteine für PROFIBUS Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 Anwenderprogramm 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 übertragen. 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 Dokumentations- und Bausteinhistorie. Programmierhandbuch, 11/2015, C79000-G8900-C

210 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. 210 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

211 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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! AG_SEND / AG_LSEND 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. Programmierhandbuch, 11/2015, C79000-G8900-C

212 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Aufruf Aufrufschnittstelle in FUP-Darstellung Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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 PB-Adresse FDL-Verbindungstyp unspezifiziert: freie Layer 2 2) Broadcast Multicast Adresse der Zielstation bei AG_SEND ohne Bedeutung; Bereich aber zu reservieren. Wertebereich: je nach Teilnehmer / 127 für Broadcast/Multicast bei AG_SEND ohne Bedeutung; Bereich aber zu reservieren. 212 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

213 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Parameter FDL-Verbindungstyp LSAP LSAP der Zielstation Wertebereich: je nach Teilnehmer / 63 für Broadcast ohne Bedeutung; Bereich aber zu reservieren. ohne Bedeutung; Bereich aber zu reservieren. Service 1) SDA ( Send Data with Acknowledge): Wert: 00H ohne Bedeutung; Bereich aber zu reservieren. ohne Bedeutung; Bereich aber zu reservieren. SDN ( Send Data with No Acknowledge): Wert: 01H 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

214 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 Datenbereich gesendet. ID INPUT INT 1, (S7-400) Beim FC-Aufruf mit ACT = 0 werden die Statusanzeigen DONE, ERROR und STATUS aktualisiert. Im Parameter ID wird die Verbindungsnummer der FDL-Verbindung angegeben. 1, (S7-300) LADDR INPUT WORD Baugruppen-Anfangsadresse Bei der Konfiguration des CP wird die Baugruppen- Anfangsadresse in der Konfigurationstabelle ausgegeben. Geben Sie diese Adresse hier an. 214 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

215 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Parameter Deklaration Datentyp Wertebereich Beschreibung SEND INPUT ANY Angabe von Adresse und Länge (als VARTYPE sind nur zugelassen: BYTE, WORD und DWORD 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, (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 Parameter SEND" liegen. Bei Aufruf mit Auftragsheader setzt sich die Längenangabe aus dem Auftragsheader (4 Byte) + Nutzdaten ( Byte) zusammen. Es gilt daher LEN >= 4! DONE OUTPUT BOOL 0: - 1: neue Daten Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei 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) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

216 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) Tabelle 5-2 Anzeigen AG_SEND DONE ERROR STATUS Bedeutung H Auftrag fertig ohne Fehler H Kein Auftrag in Bearbeitung H Auftrag läuft H Die Anzeige ist nur bei S7-400 möglich: Der FC wurde mit ACT=0 aufgerufen; der Auftrag wird jedoch nicht bearbeitet H Die Projektierung fehlt oder der FDL-Dienst im PROFIBUS-CP ist noch nicht gestartet H 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 Parameter im Auftragsheader (bei freiem Layer 2 Zugang) H Parameter LEN größer als Quell-Bereich SEND H Parameter ID ungültig. ID!= 1, H SAP bei Ziel-Station nicht aktiviert H keine Empfangsressourcen bei Ziel-Station, Empfänger-Station kann empfangene Daten nicht schnell genug verarbeiten bzw. hat kein Empfangsressourcen bereitgestellt H 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 H Die FDL-Verbindung ist nicht aufgebaut H Die Zielstation ist unter der angegebenen PROFIBUS-Adresse nicht erreichbar oder der benutzte Service ist für die angegebene PROFIBUS-Adresse nicht möglich H PROFIBUS-Fehler im CP : z. B. Buskurzschluss, eigene Station nicht am Ring, H Mögliche Ursachen: Interner Parameterfehler bei einer FDL-Verbindung mit Auftragsheader: Parameter LEN<4 oder unzulässiger Parameter im Auftragsheader (bei freiem Layer 2 Zugang). Busstörung Mögliche zusätzliche Bedeutung: Die Fehleranzeige kann auch bei Busstörungen auftreten (beispielsweise bei physikalischen Störungen aufgrund fehlerhafter Leitungsabschlüsse oder unterschiedlicher Einstellungen der Übertragungsgeschwindigkeit bei den Teilnehmern) F22H Quell-Bereich ungültig. z. B.: Bereich im DB nicht vorhanden Parameter LEN < F24H Bereichsfehler beim Lesen eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F32H Parameter enthält zu große DB-Nummer F33H DB-Nummer Fehler F3AH Bereich nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich. 216 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

217 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) DONE ERROR STATUS Bedeutung 0 1 8F44H Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt F7FH Interner Fehler. z. B. unzulässige ANY-Referenz z. B. Parameter LEN = H Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden. Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unterschiedliche FCs für S7-300 und S7-400 zu verwenden) H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben. (nur bei S7-400) A4H 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) B0H Baugruppe kennt den Datensatz nicht B1H 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) B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut.(bei älteren CPU- Ausgabeständen; sonst 80A4H; weitere Angaben siehe dort) C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll D2H Baugruppen-Anfangsadresse ist falsch AG_RECV / AG_LRECV 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. Programmierhandbuch, 11/2015, C79000-G8900-C

218 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 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 ); Erläuterung //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 PB-Adresse LSAP Service FDL-Verbindungstyp unspezifiziert: freie Layer 2) Broadcast Multicast Adresse des Senders Wertebereich: je nach Teilnehmer LSAP des Senders Wertebereich: je nach Teilnehmer SDN-Anzeige SDN-Anzeige SDN-Anzeige (Send Data with No Acknowledge - Indication): Wert: 01H oder SDA-Anzeige ( Send Data with Acknowledge - Indication): Wert: 00H (Send Data with No Acknowledge - Indication): Wert: 7FH (Send Data with No Acknowledge - Indication): Wert: 7FH 218 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

219 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

220 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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, (S7-300) 1, (S7-400) Im Parameter ID wird die Verbindungsnummer der FDL-Verbindung angegeben. LADDR INPUT WORD Baugruppen-Anfangsadresse RECV INPUT ANY (als VARTYPE sind nur zugelassen: BYTE, WORD und DWORD Bei der Konfiguration des CP wird die Baugruppen- Anfangsadresse in der Konfigurationstabelle ausgegeben. Geben Sie diese Adresse hier an. Angabe von Adresse und Länge Die Adresse des FDL-Datenbereiches verweist alternativ auf: PA-Bereich Merkerbereich Datenbausteinbereich Bei Aufruf mit Auftragsheader enthält der FDL- Datenbereich den Auftragsheader und die Nutzdaten. LEN OUTPUT INT 1,2, Gibt die Anzahl der Bytes an, die vom PROFIBUS-CP in den FDL-Datenbereich übernommen wurden. Bei Aufruf mit Auftragsheader setzt sich die Längenangabe aus dem Auftragsheader (4 Byte) + Nutzdaten ( Byte) zusammen. Es gilt daher LEN >= 4! NDR OUTPUT BOOL 0: - 1: neue Daten ERROR OUTPUT BOOL 0: - 1: Fehlerfall Der Parameter zeigt an, ob neue Daten übernommen wurden. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen AG_RECV und AG_LRECV (Seite 221). Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und STATUS siehe unter Anzeigen AG_RECV und AG_LRECV (Seite 221). STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und ERROR siehe unter Anzeigen AG_RECV und AG_LRECV (Seite 221). 220 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

221 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) 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 H Neue Daten übernommen H Es liegen noch keine Daten vor. Die Projektierung fehlt oder der FDL-Dienst im PROFIBUS-CP ist noch nicht gestartet (tritt anstelle der Anzeige 0,1,8183H auf!) H Auftrag läuft H Die Projektierung fehlt oder der FDL-Dienst im PROFIBUS-CP ist noch nicht gestartet H Unzulässiger Datentyp für den Parameter RECV angegeben. Systemfehler H Ziel-Puffer (RECV)ist zu klein H Parameter ID ungültig. ID!= 1, H 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 H Die FDL-Verbindung ist nicht aufgebaut F23H Quell-Bereich ungültig. z. B.: Bereich im DB nicht vorhanden F25H Bereichsfehler beim Schreiben eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein F32H Parameter enthält zu große DB-Nummer F33H DB-Nummer Fehler F3AH Zielbereich nicht geladen (DB) F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich. Programmierhandbuch, 11/2015, C79000-G8900-C

222 Programmbausteine für PROFIBUS 5.1 Programmbausteine für Offene Kommunikationsdienste (SEND/RECEIVE-Schnittstelle) NDR ERROR STATUS Bedeutung 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz H Eine Baugruppe mit dieser Baugruppen-Anfangsadresse ist nicht vorhanden. Der verwendete FC passt nicht zur verwendeten Systemfamilie (es sind unterschiedliche FCs für S7-300 und S7-400 zu verwenden) H Baugruppen-Anfangsadresse nicht auf Doppel-Wort-Raster H In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben. (nur bei S7-400) A0H Negative Quittung beim Lesen von Baugruppe A4H 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) B0H Baugruppe kennt den Datensatz nicht B1H 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) B2H Die K-Busverbindung zwischen CPU und CP ist nicht aufgebaut C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler(tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll) D2H Baugruppen-Anfangsadresse ist falsch. 222 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

223 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S Programmbausteine für DP (Dezentrale Peripherie) bei S 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. Programmierhandbuch, 11/2015, C79000-G8900-C

224 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S DP_SEND 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 224 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

225 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 Aufrufbeispiel in AWL-Darstellung AWL 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 ); Erläuterung //DP_SEND Bausteinaufruf 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. Programmierhandbuch, 11/2015, C79000-G8900-C

226 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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. 226 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

227 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S 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 SEND INPUT ANY (als VARTYPE sind nur zugelassen: bei FC1 ab V3: BYTE bei FC1 bis V2.x: BYTE, WORD und DWORD) DONE OUTPUT BOOL 0: - 1: neue Daten ERROR OUTPUT BOOL 0: - 1: Fehlerfall Bei der Konfiguration des CP wird die Baugruppen- Anfangsadresse in der Konfigurationstabelle ausgegeben. Geben Sie diese Adresse hier an. 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: DP-Slave: Der Zustandsparameter zeigt an, ob der Auftrag fehlerfrei abgewickelt wurde. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen DP_SEND (Seite 228). Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und STATUS siehe unter Anzeigen DP_SEND (Seite 228) STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern DONE und ERROR siehe unter Anzeigen DP_SEND (Seite 228) Programmierhandbuch, 11/2015, C79000-G8900-C

228 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S 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 H 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) H Neue Daten fehlerfrei übergeben H Projektierung fehlt oder DP-Dienst im PROFIBUS-CP noch nicht gestartet H Systemfehler bzw. unzulässiger Parametertyp F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein F32H Parameter enthält zu große DB-Nummer F33H DB-Nummernfehler F3AH Zielbereich nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich F44H Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt. 228 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

229 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 DONE ERROR STATUS Bedeutung 0 1 8F45H Adresse des zu schreibenden Parameters in der Zugriffspur gesperrt F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz H Baugruppe mit dieser Adresse nicht vorhanden H Logische Basisadresse nicht auf Doppel-Wort-Raster A1H Negative Quittung beim Schreiben zur Baugruppe B0H Baugruppe kennt den Datensatz nicht B1H 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) C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll.) D2H Logische Basisadresse falsch DP_RECV 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. Programmierhandbuch, 11/2015, C79000-G8900-C

230 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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 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 ); Erläuterung //DP_RECV Bausteinaufruf 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. 230 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

231 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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. Programmierhandbuch, 11/2015, C79000-G8900-C

232 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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 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 Angabe von Adresse und Länge (als VARTYPE sind nur zugelassen: bei FC1 ab V3: BYTE bei FC1 bis V2.x: BYTE, WORD und DWORD) NDR OUTPUT BOOL 0: - 1: neue Daten übernommen ERROR OUTPUT BOOL 0: - 1: Fehlerfall Die Adresse des DP-Datenbereiches verweist alternativ auf: PA-Bereich Merkerbereich Datenbausteinbereich Die Länge ist einzustellen für: DP-Master: DP-Slave: DP-Master; nur Statusbyte lesen: 1 (siehe auch CP-Gerätehandbuch) 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) Fehleranzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und STATUS siehe unter Anzeigen DP_RECV (Seite 233) 232 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

233 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 Parameter Deklaration Datentyp Wertebereich Beschreibung STATUS OUTPUT WORD Statusanzeige DPSTATUS OUTPUT Byte Codierung siehe nachfolgend unter DPSTATUS Zur Bedeutung im Zusammenhang mit den Parametern NDR und ERROR siehe unter Anzeigen DP_RECV (Seite 233) DP-Statusanzeige 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 H 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) H Neue Daten fehlerfrei übernommen H Projektierung fehlt oder DP-Dienst im PROFIBUS-CP noch nicht gestartet H Systemfehler bzw. unzulässiger Parametertyp F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) F23H Bereichslängenfehler beim Schreiben eines Parameters (z. B. DB zu kurz) F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters. Programmierhandbuch, 11/2015, C79000-G8900-C

234 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 NDR ERROR STATUS Bedeutung 0 1 8F30H Parameter liegt im schreibgeschützten 1. akt. Datenbaustein F31H Parameter liegt im schreibgeschützten 2. akt. Datenbaustein F32H Parameter enthält zu große DB-Nummer F33H DB-Nummer Fehler F3AH Zielbereich nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben eines Parameters in den Peripheriebereich F44H Adresse des zu lesenden Parameters in der Zugriffsspur gesperrt F45H Adresse des zu schreibenden Parameters in der Zugriffsspur gesperrt F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz H Baugruppe mit dieser Adresse nicht vorhanden H Logische Basisadresse nicht auf Doppel-Wort-Raster A0H Negative Quittung beim Lesen von der Baugruppe B0H Baugruppe kennt den Datensatz nicht B1H 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) C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll) D2H Logische Basisadresse falsch 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. 234 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

235 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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. Programmierhandbuch, 11/2015, C79000-G8900-C

236 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S DP_DIAG 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. 236 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

237 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 Aufrufschnittstelle Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //DP_DIAG Bausteinaufruf 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 Programmierhandbuch, 11/2015, C79000-G8900-C

238 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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. 238 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

239 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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 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 ausgegeben. Geben Sie diese Adresse hier an. DTYPE INPUT BYTE 0: Stationsliste Diagnosetyp 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 STATION INPUT BYTE Stationsadresse des DP-Slaves DIAG INPUT ANY (als Die Länge ist einzustellen von Angabe von Adresse und Länge Adresse des Datenbereiches. Verweist alternativ auf: VARTYPE PA-Bereich sind nur zugelassen: Merkerbereich BYTE, Datenbausteinbereich WORD und DWORD) Programmierhandbuch, 11/2015, C79000-G8900-C

240 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 Parameter Deklaration Datentyp Wertebereich Beschreibung NDR OUTPUT BOOL 0: - 1: neue Daten ERROR OUTPUT BOOL 0: - 1: Fehlerfall Der Zustandsparameter zeigt an, ob neue Daten übernommen wurden. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen DP_DIAG (Seite 243) Fehleranzeige STATUS OUTPUT WORD Statusanzeige Zur Bedeutung im Zusammenhang mit den Parametern NDR und STATUS siehe unter Anzeigen DP_DIAG (Seite 243) Zur Bedeutung im Zusammenhang mit den Parametern 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 Puffergröß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 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 0 DP-Stationsliste lesen 1 DP-Diagnoseliste lesen 2 Aktuelle DP- Einzeldiagnose lesen Parameter STATION DIAGLNG wird nicht berücksichtigt wird nicht berücksichtigt - Quittungscode (enthalten im Parameter STATUS; angegeben in Tabelle "Anzeigen DP_DIAG") Mit der DP-Stationsliste erhalten Sie im Anwenderprogramm 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. Mit der DP-Diagnoseliste erhalten Sie im Anwenderprogramm die Information, bei welchen DP-Slaves neue Diagnosedaten vorliegen >=6 Mit der aktuellen DP-Einzeldiagnose erhalten Sie im AnwenderprogrammCPU-Programm die aktuellen Diagnosedaten eines DP-Slave. 240 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

241 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 DTYPE Entspricht Auftrag 3 Ältere DP- Einzeldiagnose lesen 4 Mit DP-CTRL- Auftrag (CTYPE=4) angeforderten Betriebszustand lesen Parameter DIAGLNG Quittungscode STATION (enthalten im Parameter STATUS; angegeben in Tabelle "Anzeigen DP_DIAG") >=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 werden nach dem Prinzip "Last in first out" im Ringpuffer gelesen. 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. =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 abgebildet) *) 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 abgebildet) *) OFFLINE 6 DP-Betriebszustand für CP- STOP lesen Als DEFAULT-Wert bei CPU-STOP geht der PROFIBUS- CP in den DP-Betriebszustand CLEAR.. =1 Mit diesem Auftrag ermitteln Sie, in welchen DP- Betriebszustand der PROFIBUS-CP bei CP-STOP geht : STOP (wird auf den Betriebszustand OFFLINE abgebildet) *) OFFLINE 7 Eingangsdaten lesen Als DEFAULT-Wert bei CP-STOP geht der PROFIBUS-CP in den DP-Betriebszustand OFFLINE >=1 Mit diesem Auftrag lesen Sie als DP-Master (Klasse 2) die Eingangsdaten eines DP-Slave. Dieser Vorgang wird auch als "Shared Input" bezeichnet. Programmierhandbuch, 11/2015, C79000-G8900-C

242 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 DTYPE Entspricht Auftrag 8 Ausgangsdaten lesen 10 Aktuellen DP- Slave-Zustand lesen Parameter DIAGLNG Quittungscode STATION (enthalten im Parameter STATUS; angegeben in Tabelle "Anzeigen DP_DIAG") >=1 Mit diesem Auftrag lesen Sie als DP-Master (Klasse 2) die Ausgangsdaten eines DP-Slave. Dieser Vorgang wird auch als "Shared Output" bezeichnet >=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 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. 242 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

243 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S 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 H 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) H 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) H 1 Keine neue Diagnose vorhanden. Der DP-Master ist nicht gestartet wegen CP-STOP oder H 0, 1 und 4-9 "keine Parametrierung (tritt hier anstelle der Anzeige 0,1,8183H auf). 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 fehlerfreie Ausführung detaillierte Statuscodes für den Bereich: 82XXH Bei fehlerbehafteter Ausführung erhalten Sie Statuscodes in den folgenden Bereichen: 80XXH, 83XXH, 8FXXH Programmierhandbuch, 11/2015, C79000-G8900-C

244 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 NDR ERROR STATUS Möglich bei DTYPE Bedeutung H 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 erwartet H 7, 8 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : es sind keine Daten vorhanden H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN" H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "CLEAR" H 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 H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "OFFLINE" AH 2, 3, 7, 8 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : es wurden 241 oder 242 Byte Daten gelesen. Bereitgestellt werden 240 Byte H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der angegebene DP-Slave wurde nicht projektiert H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : in der Modulliste des CP-Slave in der CP-Datenbasis sind nur Leer -Module enthalten H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist im Zustand "Eingangsdaten zyklisch lesen" H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist im Zustand "Ausgangsdaten zyklisch lesen" H 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Anmerkung: Dies ist für die genannten Diagnosetypen die Standardanzeige, sofern keine zu signalisierenden Besonderheiten vorliegen H 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) AH 2, 3, 10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist deaktiviert aufgrund eines DP_CTRL- Auftrages im Anwenderprogramm H 0-10 Logische Basisadresse der Baugruppe ist ungültig B0H 0-10 Die Baugruppe kennt den Datensatz nicht oder befindet sich im RUN --> STOP Übergang B1H 0-10 Angegebene Datensatzlänge ist falsch C0H 0-10 Datensatz kann nicht gelesen werden C1H 0-10 Der angegebene Datensatz ist gerade in Bearbeitung 244 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

245 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 NDR ERROR STATUS Möglich bei DTYPE Bedeutung C2H 0-10 Es liegt ein Auftragsstau vor C3H 0-8 Betriebsmittel (Speicher) belegt C4H 0-10 Kommunikationsfehler D2H 0-10 Logische Basisadresse falsch H 0-10 DP Master nicht projektiert H 0-8 Systemfehler bzw. unzulässiger Parametertyp H >=2 Parameter DTYPE außerhalb des Wertebereichs H 2, 3, 7, 8, 10 Parameter STATION außerhalb des Wertebereichs H >=2 Der DP-Slave stellt keine gültigen Daten zur Verfügung H 7, 8 Der DP-Slave stellt mehr als 242 Byte Daten zur Verfügung. Der PROFIBUS- CP unterstützt maximal 242 Byte H 7, 8 Der PROFIBUS-CP ist im PROFIBUS-Status: "Station nicht im Ring" H 2, 3, 7, 8, 10 Der angegebene Slave wurde nicht projektiert H 7, 8 Der DP-Slave mit der im Parameter STATION angegebenen PROFIBUS- Adresse ist nicht erreichbar H 7, 8 Der DP-Master ist im Zustand OFFLINE F22H 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 Programmierhandbuch, 11/2015, C79000-G8900-C

246 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S DP_CTRL 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 246 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

247 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //DP_CTRL Bausteinaufruf // Der Puffer für den Control-Auftrag // belegt die ersten 30 Bytes im DB 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. Programmierhandbuch, 11/2015, C79000-G8900-C

248 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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 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 ausgegeben. Geben Sie diese Adresse hier an. CONTROL INPUT ANY (als VARTYPE sind nur zugelassen: Die Länge ist einzustellen von Angabe von Adresse und Länge des CONTROL- Auftragsblockes Adresse des Datenbereichs. Verweist alternativ auf: PA-Bereich BYTE, WORD Merkerbereich und DWORD) Datenbausteinbereich Die Länge muss mindestens so groß wie die Parameteranzahl gewählt werden. DONE OUTPUT BOOL 0: - 1: Auftrag fehlerfrei ausgeführt. ERROR OUTPUT BOOL 0: - 1: Fehlerfall Zeigt an, ob der Auftrag gesendet und fehlerfrei abgeschlossen wurde. Zur Bedeutung im Zusammenhang mit den Parametern ERROR und STATUS siehe unter Anzeigen DP_CTRL (Seite 253) 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) 248 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

249 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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) 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. Programmierhandbuch, 11/2015, C79000-G8900-C

250 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 CTYPE Entspricht Auftrag Parameter im Auftragsblock Beschreibung 0 Global Control anstoßen 1 *) Zyklischen Global Control anstoßen Name 1. Byte: Command Mode 2. Byte: Group Select (siehe im Anschluss an diese Tabelle) 1. Byte: Command Mode 2. Byte: Group Select 3. Byte: Autoclear (siehe im Anschluss an diese Tabelle) Anzahl 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. 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 Datentransferphase ist, wird bei Autoclear = 1 zusätzlich der CLEAR-Modus eingeschaltet. Das heißt, die Ausgangsdaten der DP-Slaves werden auf "0" gesetzt. Im Parameter Command Mode können folgende Global Control Aufträge eingeschaltet werden : SYNC FREEZE CLEAR (CLEAR-Bit = 1) - wird nicht unterstützt (bitte beachten Sie auch die Angaben im Gerätehandbuch) 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. 250 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

251 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 CTYPE Entspricht Auftrag Parameter im Auftragsblock Beschreibung 3 Ältere DP- Einzeldiagnose löschen 4 Aktuellen DP- Betriebszustand setzen 5 DP-Betriebszustand für CPU-STOP setzen Name Anzahl 1. Byte: Slv_Adresse = alle Slaves 1. Byte: RUN = 00H CLEAR = 01H OFFLINE = 03H RUN mit AUTOCLEAR = 04H RUN ohne AUTOCLEAR = 04H 1. Byte: RUN = 00H CLEAR = 01H OFFLINE = 03H 1 Es werden die älteren, im PROFIBUS-CP gespeicherten DP-Enzeldiagnosedaten für einen oder alle DP- Slaves gelöscht. 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 aktuellen Baugruppen nicht mehr unterstützt (ab Baugruppentyp DA02). Eine Angabe STOP = 02H wird auf den Betriebszustand OFFLINE abgebildet. 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 erhalten. Hinweise: Der Betriebszustand STOP = 02H wird bei den aktuellen Baugruppen (ab Baugruppentyp DA02) nicht mehr unterstützt. Eine Angabe STOP = 02H wird auf den Betriebszustand OFFLINE abgebildet. Programmierhandbuch, 11/2015, C79000-G8900-C

252 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 CTYPE Entspricht Auftrag Parameter im Auftragsblock Beschreibung 6 DP-Betriebszustand für CP-STOP setzen 7 *) Zyklisches Lesen der Eingangsdaten (DP- Master Klasse 2) 8 *) Zyklisches Lesen der Ausgangsdaten (DP- Master Klasse 2) 9 Zyklisches Bearbeiten des DP-Slave vom DP-Master (Klasse 1 /Klasse 2) beenden 10 Zyklisches Bearbeiten als DP-Master (Klasse 1) aufnehmen Name 1. Byte: OFFLINE=03H 1. Byte: Slave-Adresse Byte: Slave-Adresse Byte: Slave-Adresse Byte: Slave-Adresse Anzahl 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 erhalten. Hinweise: Der Betriebszustand STOP = 02H wird bei den aktuellen Baugruppen (ab Baugruppentyp DA02) nicht mehr unterstützt. Eine Angabe STOP = 02H wird auf den Betriebszustand OFFLINE abgebildet. 1 Dieser Auftrag wird nicht unterstützt. Bitte beachten Sie auch die Angaben im Gerätehandbuch. 1 Dieser Auftrag wird nicht unterstützt. Bitte beachten Sie auch die Angaben im Gerätehandbuch. 1 Mit diesem Auftrag wird das zyklische Lesen der Eingangsdaten 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. 1 Der PROFIBUS-CP als DP-Master (Klasse 1) parametriert 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 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 252 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

253 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

254 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 Tabelle 5-10 Anzeigen DP_CTRL DONE ERROR STATUS Möglich bei CTYPE Bedeutung H 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 H Auftrag fertig ohne Fehler H 0, 1 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : zyklischer Global Control Auftrag wird als azyklischer Global Control Auftrag gesendet H 0, 1 Auftrag abgeschlossen ohne Fehler. Die in der selektierten Gruppe angesprochenen DP-Slaves sind alle deaktiviert H 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 H 0, 1 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : die in selektierten Gruppen angesprochenen DP- Slaves besitzen keine Eingangsmodule H 0, 1 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : die in selektierten Gruppen angesprochenen DP- Slaves besitzen keine Ausgangsmodule H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN" H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "CLEAR" H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "STOP" H 4, 5, 6 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "OFFLINE" H 4 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN" mit eingeschaltetem AUTOCLEAR H 4 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Betriebszustand ist bereits "RUN" mit ausgeschaltetem AUTOCLEAR H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung: der angegebene DP-Slave wurde nicht projektiert H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits deaktiviert, da in der Modulliste des DP-Slave in der CP-Datenbasis nur Leer-Module enthalten sind. 254 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

255 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 DONE ERROR STATUS Möglich bei CTYPE Bedeutung H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits im Zustand "Eingangsdaten zyklisch lesen" H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits im Zustand "Ausgangsdaten zyklisch lesen" H 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 H 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung: der Slave ist wegen eines Wechsels des DP- Betriebszustandes deaktiviert AH 7-10 Auftrag abgeschlossen ohne Fehler. Hinweis-Meldung : der DP-Slave ist bereits deaktiviert aufgrund eines DP_CTRL Auftrages im CPU-Programm H Baugruppe mit dieser Adresse nicht vorhanden H Logische Adresse nicht auf Doppel-Wort-Raster B0H Baugruppe kennt den Datensatz nicht B1H Angegebene Datensatzlänge ist falsch C0H Datensatz kann nicht gelesen werden C1H Der angegebene Datensatz ist gerade in Bearbeitung C2H Es liegt ein Auftragsstau vor C3H Betriebsmittel (Speicher) belegt H DP-Master ist nicht projektiert... Anmerkung: Wenn sich der DP-Master im Betriebszustand "STOP" befindet, dann kann auch der Status 8181 H ausgegeben werden H Systemfehler bzw. unzulässiger Parametertyp H Parameter CTYPE außerhalb des Wertebereichs H Länge des Bereiches im Parameter CONTROL ist zu klein H 3, 7, 8, 9, 10 Parameter Slave-Adresse außerhalb des Wertebereichs H 0, 1 Alle DP-Slaves der im global Control angegebenen Gruppe sind deaktiviert (tritt bei leerer Gruppe immer auf) H 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öglich H 0, 1, 4, 5, 6 Parameter 1. Byte des Auftragsdatenblocks liegt außerhalb des Wertebereichs. Bei GLOBAL CONTROL wurde CLEAR mit SYNC verwendet oder ein GLOBAL CONTROL mit gesetztem CLEAR an die Gruppe 0 gesendet AH 0, 1 Mindestens ein DP-Slave beherrscht FREEZE nicht BH 0, 1 Mindestens ein DP-Slave beherrscht SYNC nicht. Programmierhandbuch, 11/2015, C79000-G8900-C

256 Programmbausteine für PROFIBUS 5.2 Programmbausteine für DP (Dezentrale Peripherie) bei S7-300 DONE ERROR STATUS Möglich bei CTYPE Bedeutung H 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 H 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 H 0, 1 Der PROFIBUS-CP ist im PROFIBUS-Status: "Station nicht im Ring" H 0, 1 Mindestens ein DP-Slave der selektierten Gruppe befindet sich nicht in der Datentransferphase CH 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) H 7-10 Der angegebene DP-Slave wurde nicht projektiert H DP Master nicht projektiert H - Systemfehler bzw. unzulässiger Parametertyp F22H Bereichslängenfehler beim Lesen eines Parameters (z. B. DB zu kurz) F23H Bereichslängenfehler beim Schreiben eines Parameters F24H Bereichsfehler beim Lesen eines Parameters F25H Bereichsfehler beim Schreiben eines Parameters F28H Ausrichtungsfehler beim Lesen eines Parameters F29H Ausrichtungsfehler beim Schreiben eines Parameters F30H Der Parameter liegt im schreibgeschützten 1. aktuellen Datenbaustein F31H Der Parameter liegt im schreibgeschützten 2. aktuellen Datenbaustein F32H Parameter enthält zu große DB-Nummer F33H DB-Nummer Fehler F3AH Bereich nicht geladen (DB) F42H Quittungsverzug beim Lesen eines Parameters aus dem Peripheriebereich F43H Quittungsverzug beim Schreiben des Parameters in den Peripheriebereich F44H Der Zugriff auf einen in der Bausteinbearbeitung zu lesenden Parameter ist gesperrt F45H Der Zugriff auf einen in der Bausteinbearbeitung zu schreibenden Parameter ist gesperrt F7FH Interner Fehler. z. B. Unzulässige ANY-Referenz C4H Kommunikationsfehler (tritt temporär auf; daher ist Wiederholung im Anwenderprogramm sinnvoll) D2H Logische Basisadresse falsch. 256 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

257 Programmbausteine für PROFIBUS 5.3 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS) 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: ( Tabelle 5-11 Angaben für FCs / FBs bei S7-400 NAME Version FC/FB Nr. Ladespeicher- Bedarf [Byte] Arbeitsspeicher- Bedarf [Byte] MC7 [Byte] AG_SEND 1.2 FC AG_RECV 1.2 FC AG_LSEND 3.1 FC AG_LRECV 3.1 FC Lokaldaten [Byte] Tabelle 5-12 Angaben für FCs / FBs bei S7-300 NAME Version FC/FB Nr. Ladespeicher- Bedarf [Byte] Arbeitsspeicher- Bedarf [Byte] MC7 [Byte] DP_SEND 3.0 FC DP_RECV 3.0 FC DP_DIAG 3.0 FC DP_CTRL 3.0 FC AG_SEND 4.2 FC AG_RECV 4.7 FC Lokaldaten [Byte] Programmierhandbuch, 11/2015, C79000-G8900-C

258 Programmbausteine für PROFIBUS 5.3 Mengengerüst / Ressourcenbedarf der Programmbausteine (PROFIBUS) 258 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

259 Programmbausteine für PROFIBUS FMS 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: Typ Busteinnummer FMS-Client FMS-Server Bedeutung / Funktion IDENTIFY FB2 X X für die Abfrage von Gerätemerkmalen 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. Programmierhandbuch, 11/2015, C79000-G8900-C

260 Programmbausteine für PROFIBUS FMS 6.2 FMS-Bausteinparameter 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 / Speicherbereich REQ ID Flankensignal für die Ausführung des Bausteins. 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 dieser abgleichen! BOOL DWORD (bei FB 1: WORD) 0=FALSE; 1=TRUE 0->1: "starten"/ E,A,M,D,L FFFF FFFF / E,A,M,D,L verwendet in FB Programmierhandbuch, 11/2015, C79000-G8900-C229-08

261 Programmbausteine für PROFIBUS FMS 6.2 FMS-Bausteinparameter INPUT-Parameter Bedeutung Datentyp Wertebereich / Speicherbereich VAR_1 SD_1 RD_1 Der Parameter adressiert die ferne Kommunikationsvariable, die gelesen oder geschrieben werden soll. Angegeben werden kann, je nach Projektierung beim FMS-Server, ein Name oder ein Index. Adresse eines lokalen Datenbereiches, aus dem Variablen übertragen werden sollen. Adresse eines lokalen Datenbereiches, in den Variablen übertragen werden sollen. ANY ANY ANY String: Max. Länge = 254 Bytes z. B. '<102>' (Indexzugriff) "SLAVE2" (Zugriff über Name) DB 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 werden die ersten 16 Bytes des DB 17 übertragen. E,A,M,D,L,Z,T, DBx 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 werden 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 Empfangsbereiches 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. verwendet in FB Programmierhandbuch, 11/2015, C79000-G8900-C

262 Programmbausteine für PROFIBUS FMS 6.2 FMS-Bausteinparameter OUTPUT-Parameter OUTPUT-Parameter Bedeutung Datentyp Wertebereich / Speicherbereich DONE NDR ERROR STATUS Zeigt die Abarbeitung des Auftrags an. Zeigt den Empfang von Daten an. Zeigt an, ob ein Fehler aufgetreten ist. Gibt nach Abarbeitung des Auftrages detaillierte Auskunft über Warnungen oder Fehler. BOOL BOOL BOOL WORD 0=FALSE 1=TRUE: Auftrag ist fertig; E,A,M,D,L 0=FALSE 1=TRUE: neue Daten wurden übernommen; E,A,M,D,L 0=FALSE 1=TRUE: Fehler ist aufgetreten; E,A,M,D,L Entnehmen Sie die detaillierten Entschlüsselungen den nachfolgenden Kapiteln. E,A,M,D,L verwendet in FB INPUT/OUTPUT-Parameter INOUT-Parameter Bedeutung Datentyp Wertebereich / Speicherbereich PHYS Zeigt den physikalischen BYTE Zustand des Partnergerätes (VFD) an. E,A,M,D,L LOG Zeigt den logischen Zustand BYTE des Partnergerätes (VFD) an. E,A,M,D,L LOCAL VENDOR Parameter "local detail" des Partners Name des Geräteherstellers ANY STRING MODEL Name des Gerätemodells STRING Länge<255 D REVISION Ausgabestand des Gerätes STRING Länge<255 D Das Detail kann bis zu 16 Byte umfassen. E,A,M,D,L Länge<255 D verwendet in FB Speicherbereich Die in der Tabelle in Kurzform angegebenen Speicherbereiche entsprechen: Kurzform E A Typ Eingang Ausgang 262 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

263 Programmbausteine für PROFIBUS FMS 6.3 IDENTIFY Kurzform M L D Z T DBX Typ Merker temporäre Lokaldaten Datenbaustein-Bereich Zähler Timer 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 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; Programmierhandbuch, 11/2015, C79000-G8900-C

264 Programmbausteine für PROFIBUS FMS 6.3 IDENTIFY Aufrufschnittstelle Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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 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. 264 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

265 Programmbausteine für PROFIBUS FMS 6.4 READ 6.4 READ 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. Programmierhandbuch, 11/2015, C79000-G8900-C

266 Programmbausteine für PROFIBUS FMS 6.4 READ 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 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 ); Erläuterung //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 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. 266 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

267 Programmbausteine für PROFIBUS FMS 6.5 REPORT 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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

268 Programmbausteine für PROFIBUS FMS 6.5 REPORT 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 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 ); Erläuterung //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 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. 268 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

269 Programmbausteine für PROFIBUS FMS 6.6 STATUS Jeder REPORT Auftrag des Anwenderprogrammes wird mit einer Anzeige in den Ausgabeparametern DONE, ERROR und STATUS vom PROFIBUS-CP quittiert. 6.6 STATUS Bedeutung und Aufruf - STATUS Bedeutung des Bausteins Der Funktionsbaustein STATUS ermöglicht es, Statusinformationen beim Kommunikationspartner auf der angegebenen FMS-Verbindung anzufordern. Programmierhandbuch, 11/2015, C79000-G8900-C

270 Programmbausteine für PROFIBUS FMS 6.6 STATUS 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 kein Eintrag PROFIBUS-CP Fremdgerät 1 00H: Kommunikationsbereit, CP in RUN, CPU in RUN 2 02H: Anzahl der Dienste begrenzt, CP im RUN, CPU in STOP generell möglich sind: 00H: Kommunikationsbereit 02H: Anzahl der Dienste begrenzt 10H: Betriebsbereit, CPU in RUN 13H: Wartung erforderlich, CPU in STOP 10H: Betriebsbereit 11H Teilweise betriebsbereit 12H Nicht betriebsbereit 13H Wartung erforderlich kein Eintrag - herstellerspezifisch - Aufrufschnittstelle 270 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

271 Programmbausteine für PROFIBUS FMS 6.6 STATUS Beispiel in AWL-Darstellung AWL 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 ); Erläuterung //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" 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. Programmierhandbuch, 11/2015, C79000-G8900-C

272 Programmbausteine für PROFIBUS FMS 6.7 WRITE 6.7 WRITE 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. 272 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

273 Programmbausteine für PROFIBUS FMS 6.7 WRITE 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 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 ); Erläuterung //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 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. Programmierhandbuch, 11/2015, C79000-G8900-C

274 Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine 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: 274 Programmierhandbuch, 11/2015, C79000-G8900-C229-08

275 Programmbausteine für PROFIBUS FMS 6.8 Anzeigen und Fehlermeldungen - FMS Bausteine 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 Baustein Bedeutung Bezeichnet Fehler oder Probleme bzgl.: FB-Parametrierung; Bausteinbearbeitung in CPU und CP. Applikation Definition Betriebsmittel Dienst Zugriff Bezeichnet Fehler oder Probleme an der Schnittstelle zwischen Anwenderprogramm und FB. Bezeichnet Fehler, die meist auf Inkonsistenzen zwischen Anwenderprogramm und FMS-Projektierung hinweisen. Bezeichnet Betriebsmittel-(Ressourcenprobleme) des PROFIBUS-CP. Bezeichnet Fehler oder Probleme im Zusammenhang mit dem angeforderten FMS-Dienst. Meldet zurückgewiesene Objektzugriffe aufgrund von: fehlenden Zugriffsrechten; Hardwareproblemen; sonstige Inkonsistenzen. OV (Objektverzeichnis) VFD-Status sonst Bezeichnet Probleme beim Zugriff auf das Objektverzeichnis des VFD. Nicht näher spezifiziertes Fehlerbild des VFD. sonstige Fehlerbilder Programmierhandbuch, 11/2015, C79000-G8900-C

SIMATIC NET. Funktionen (FC) und Funktionsbausteine (FB) für SIMATIC NET S7-CPs. Vorwort. Übersichten und Allgemeines zur FC-/FB- Hantierung

SIMATIC NET. Funktionen (FC) und Funktionsbausteine (FB) für SIMATIC NET S7-CPs. Vorwort. Übersichten und Allgemeines zur FC-/FB- Hantierung Vorwort Übersichten und Allgemeines zur FC-/FB- Hantierung 1 SIMATIC NET Funktionen (FC) und Funktionsbausteine (FB) für SIMATIC NET S7-CPs Programmierhandbuch FCs / FBs für Industrial Ethernet 2 FCs /

Mehr

Einschalten SIMATIC. Einschalten. Übersicht 1. Einschalten. IP-Adresse über das Display vergeben 3. Getting Started A5E

Einschalten SIMATIC. Einschalten. Übersicht 1. Einschalten. IP-Adresse über das Display vergeben 3. Getting Started A5E Übersicht 1 2 SIMATIC IP-Adresse über das Display vergeben 3 Getting Started 03/2013 A5E03973960-01 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen

Mehr

Aufbau montieren SIMATIC. Aufbau montieren. Übersicht 1. Aufbau montieren. Getting Started A5E

Aufbau montieren SIMATIC. Aufbau montieren. Übersicht 1. Aufbau montieren. Getting Started A5E Übersicht 1 2 SIMATIC Getting Started 03/2013 A5E03973658-01 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden

Mehr

SIMATIC. Prozessleitsystem PCS 7 SIMATIC Management Console - Liesmich (Online) Security-Hinweise 1. Übersicht 2

SIMATIC. Prozessleitsystem PCS 7 SIMATIC Management Console - Liesmich (Online) Security-Hinweise 1. Übersicht 2 Security-Hinweise 1 Übersicht 2 SIMATIC Prozessleitsystem PCS 7 SIMATIC Management Console - Liesmich (Online) Welche Produkte können mit Hilfe der SIMATIC Management Console installiert werden? 3 Hinweise

Mehr

Programmbausteine für SIMATIC NET. S7-CPs SIMATIC NET. Programmbausteine für SIMATIC NET S7-CPs. Vorwort. Übersichten und Allgemeines zur Hantierung

Programmbausteine für SIMATIC NET. S7-CPs SIMATIC NET. Programmbausteine für SIMATIC NET S7-CPs. Vorwort. Übersichten und Allgemeines zur Hantierung Programmbausteine für SIMATIC NET S7-CPs SIMATIC NET Programmbausteine für SIMATIC NET S7-CPs Programmierhandbuch Vorwort Übersichten und Allgemeines zur Hantierung 1 Programmbausteine für Industrial Ethernet

Mehr

Allgemeines 1. Klasse: KDictionary 2 COMOS. Platform Klassendokumentation COMOSKDictionary_dll. Programmierhandbuch 05/2016 V 10.

Allgemeines 1. Klasse: KDictionary 2 COMOS. Platform Klassendokumentation COMOSKDictionary_dll. Programmierhandbuch 05/2016 V 10. Allgemeines 1 Klasse: KDictionary 2 COMOS Platform Klassendokumentation COMOSKDictionary_dll Programmierhandbuch 05/2016 V 10.2 A5E37084075-AA Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält

Mehr

Leistungsdaten abgn PCIe Minicard MPCIE-R1-ABGN-U3 SIMATIC NET. Industrial Wireless LAN Leistungsdaten abgn PCIe Minicard MPCIE-R1-ABGN-U3

Leistungsdaten abgn PCIe Minicard MPCIE-R1-ABGN-U3 SIMATIC NET. Industrial Wireless LAN Leistungsdaten abgn PCIe Minicard MPCIE-R1-ABGN-U3 Leistungsdaten 802.11abgn PCIe Minicard MPCIE-R1-ABGN-U3 Technische Daten 1 SIMATIC NET Industrial Wireless LAN Leistungsdaten 802.11abgn PCIe Minicard MPCIE-R1-ABGN-U3 Nachschlagewerk 10/2015 C79000-G8900-C274-06

Mehr

Teamengineering über Inter Project. Engineering. TIA Portal. Teamengineering über Inter Project Engineering. Grundlagen zu "Inter Project Engineering"

Teamengineering über Inter Project. Engineering. TIA Portal. Teamengineering über Inter Project Engineering. Grundlagen zu Inter Project Engineering Teamengineering über Inter Project Engineering TIA Portal Grundlagen zu "Inter Project Engineering" 1 IPE-Datei erzeugen 2 IPE-Datei importieren 3 Teamengineering über Inter Project Engineering Getting

Mehr

Safety Integrated. Einführung und Begriffe zur funktionalen Sicherheit von Maschinen und Anlagen. Nachschlagewerk Januar Answers for industry.

Safety Integrated. Einführung und Begriffe zur funktionalen Sicherheit von Maschinen und Anlagen. Nachschlagewerk Januar Answers for industry. Siemens AG 2013 Einführung und Begriffe zur funktionalen Sicherheit von Maschinen und Anlagen Nachschlagewerk Januar 2013 Safety Integrated Answers for industry. Einführung und Begriffe zur funktionalen

Mehr

Leistungsdaten abgn SCALANCE W770/W730 SIMATIC NET. Industrial Wireless LAN Leistungsdaten abgn SCALANCE W770/W730.

Leistungsdaten abgn SCALANCE W770/W730 SIMATIC NET. Industrial Wireless LAN Leistungsdaten abgn SCALANCE W770/W730. Leistungsdaten 802.11 abgn SCALANCE W770/W730 Technische Daten 1 SIMATIC NET Industrial Wireless LAN Leistungsdaten 802.11 abgn SCALANCE W770/W730 Nachschlagewerk 07/2014 C79000-G8900-C370-01 Rechtliche

Mehr

COMOS. Platform Klassendokumentation RevisionMaster_dll. Klasse: RevisionInfo 1. Klasse: RevisionMaster 2. Programmierhandbuch

COMOS. Platform Klassendokumentation RevisionMaster_dll. Klasse: RevisionInfo 1. Klasse: RevisionMaster 2. Programmierhandbuch Klasse: RevisionInfo 1 Klasse: RevisionMaster 2 COMOS Platform Klassendokumentation RevisionMaster_dll Programmierhandbuch 03/2017 V10.2.1 A5E39859864-AA Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch

Mehr

Voraussetzungen SIMATIC. Voraussetzungen. Einleitung. Voraussetzungen. Weiterführende Informationen 3. Getting Started 05/2014 A5E

Voraussetzungen SIMATIC. Voraussetzungen. Einleitung. Voraussetzungen. Weiterführende Informationen 3. Getting Started 05/2014 A5E Einleitung 1 2 SIMATIC Weiterführende Informationen 3 Getting Started 05/2014 A5E03973602-02 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit

Mehr

Voraussetzungen SIMATIC. Voraussetzungen. Einleitung 1. Voraussetzungen. Weiterführende Informationen 3. Getting Started A5E

Voraussetzungen SIMATIC. Voraussetzungen. Einleitung 1. Voraussetzungen. Weiterführende Informationen 3. Getting Started A5E Einleitung 1 2 SIMATIC Weiterführende Informationen 3 Getting Started 03/2013 A5E03973602-01 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit

Mehr

Service & Support. Übertragung von Daten mit variabler Telegrammlänge über das TCP- Protokoll mit S FB103 AG_RECV_TCP_xVAR.

Service & Support. Übertragung von Daten mit variabler Telegrammlänge über das TCP- Protokoll mit S FB103 AG_RECV_TCP_xVAR. Deckblatt Übertragung von Daten mit variabler Telegrammlänge über das TCP- Protokoll mit S7-300 FB103 AG_RECV_TCP_xVAR FAQ Juni 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag

Mehr

SIMATIC. Prozessleitsystem PCS 7 PCS 7 Systemdokumentation - Liesmich V8.0 SP2 (Update 1) Zugriffsmöglichkeiten auf die Dokumentationen 1

SIMATIC. Prozessleitsystem PCS 7 PCS 7 Systemdokumentation - Liesmich V8.0 SP2 (Update 1) Zugriffsmöglichkeiten auf die Dokumentationen 1 Zugriffsmöglichkeiten auf die Dokumentationen 1 Hinweise zu Produktdokumentationen 2 SIMATIC Prozessleitsystem PCS 7 PCS 7 Systemdokumentation - Liesmich V8.0 SP2 (Update 1) Hinweise zur Systemdokumentation

Mehr

Programm erstellen. TIA Portal. SIMATIC Programm erstellen. Bausteinbibliothek laden 1. Programmbaustein Main [OB1] löschen

Programm erstellen. TIA Portal. SIMATIC Programm erstellen. Bausteinbibliothek laden 1. Programmbaustein Main [OB1] löschen Bausteinbibliothek laden 1 Programmbaustein Main [OB1] löschen 2 TIA Portal SIMATIC Getting Started Programmbausteine kopieren 3 Variablentabellen kopieren 4 Projekt übersetzen 5 Projekt in die CPU laden

Mehr

Selektivitätstabellen 3VA 1 SENTRON. Schutzgeräte Selektivität Kompaktleistungsschalter 3VA. Projektierungshandbuch 12/2014 A5E

Selektivitätstabellen 3VA 1 SENTRON. Schutzgeräte Selektivität Kompaktleistungsschalter 3VA. Projektierungshandbuch 12/2014 A5E 1 SENTRON Schutzgeräte Selektivität Kompaktleistungsschalter 3VA Projektierungshandbuch 12/2014 A5E03603181001-01 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer

Mehr

SIMATIC. Prozessleitsystem PCS 7 SIMATIC Management Console - Software-Aktualisierung. Software-Aktualisierung 1. Installationshandbuch

SIMATIC. Prozessleitsystem PCS 7 SIMATIC Management Console - Software-Aktualisierung. Software-Aktualisierung 1. Installationshandbuch Software-Aktualisierung 1 SIMATIC Prozessleitsystem PCS 7 SIMATIC Management Console - Software-Aktualisierung Installationshandbuch Gültig nur für die Software-Aktualisierung der SIMATIC Management Console

Mehr

PROJEKTIEREN DER HW UND DER VERBINDUNGEN...

PROJEKTIEREN DER HW UND DER VERBINDUNGEN... Inhaltsverzeichnis 1 PROJEKTIEREN DER HW UND DER VERBINDUNGEN... 2 1.1 KONFIGURATION DER HW... 2 1.2 KONFIGURATION DER VERBINDUNGEN... 3 1.2.1 Konfiguration UDP- Verbindung...3 1.2.2 Konfiguration TCP

Mehr

Verdrahten SIMATIC. Verdrahten. Übersicht 1. Verdrahtungsregeln. Netzanschluss-Stecker verdrahten 3. Laststromversorung (PM) mit der CPU verdrahten 4

Verdrahten SIMATIC. Verdrahten. Übersicht 1. Verdrahtungsregeln. Netzanschluss-Stecker verdrahten 3. Laststromversorung (PM) mit der CPU verdrahten 4 Übersicht 1 Verdrahtungsregeln 2 SIMATIC Getting Started Netzanschluss-Stecker verdrahten 3 Laststromversorung (PM) mit der CPU verdrahten 4 Potenzialbrücken 5 Digitaleingabemodul verdrahten 6 Digitalausgabemodul

Mehr

Service & Support. Anleitung zur Projektierung einer ISO-on-TCP-Verbindung. S7-300 / S7-400 Industrial Ethernet CPs.

Service & Support. Anleitung zur Projektierung einer ISO-on-TCP-Verbindung. S7-300 / S7-400 Industrial Ethernet CPs. Deckblatt Anleitung zur Projektierung einer ISO-on-TCP-Verbindung S7-300 / S7-400 Industrial Ethernet CPs FAQ Januar 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus

Mehr

Service & Support. Anleitung zur Projektierung einer UDP-Verbindung. S7-300 / S7-400 Industrial Ethernet CPs. FAQ Januar Answers for industry.

Service & Support. Anleitung zur Projektierung einer UDP-Verbindung. S7-300 / S7-400 Industrial Ethernet CPs. FAQ Januar Answers for industry. Deckblatt Anleitung zur Projektierung einer UDP-Verbindung S7-300 / S7-400 Industrial Ethernet CPs FAQ Januar 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support

Mehr

Automatisierungsaufgabe SIMATIC. Automatisierungsaufgabe. Einleitung 1. Applikation. Hardwarekonfiguration 3. Beispielprojekt 4.

Automatisierungsaufgabe SIMATIC. Automatisierungsaufgabe. Einleitung 1. Applikation. Hardwarekonfiguration 3. Beispielprojekt 4. Einleitung 1 Applikation 2 SIMATIC Hardwarekonfiguration 3 Beispielprojekt 4 Getting Started 03/2013 A5E31938097-AA Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer

Mehr

Produktinformation Parameter (GSD- Datei) für die Peripheriemodule SIMATIC. ET 200SP Produktinformation Parameter (GSD-Datei) für die Peripheriemodule

Produktinformation Parameter (GSD- Datei) für die Peripheriemodule SIMATIC. ET 200SP Produktinformation Parameter (GSD-Datei) für die Peripheriemodule Produktinformation Parameter (GSD- Datei) für die Peripheriemodule Parameter 1 SIMATIC ET 200SP Produktinformation Parameter (GSD-Datei) für die Peripheriemodule Produktinformation 09/2013 A5E32084714-02

Mehr

SIMATIC. Prozessleitsystem PCS 7 VXM-Liesmich V8.2 (Online) Security-Hinweise 1. Übersicht 2. Installationshinweise 3. Benutzungshinweise 4.

SIMATIC. Prozessleitsystem PCS 7 VXM-Liesmich V8.2 (Online) Security-Hinweise 1. Übersicht 2. Installationshinweise 3. Benutzungshinweise 4. Security-Hinweise 1 Übersicht 2 SIMATIC Prozessleitsystem PCS 7 Installationshinweise 3 Benutzungshinweise 4 Liesmich 04/2016 A5E36515406-AA Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält

Mehr

Modbus/TCP- Kommunikation über IE CP

Modbus/TCP- Kommunikation über IE CP FAQ 02/2015 Modbus/TCP- Kommunikation über IE CP SIMATIC Modbus/TCP CP, SIMATIC S7-300/S7-400 http://support.automation.siemens.com/ww/view/de/75312612 Dieser Beitrag stammt aus dem Siemens Industry Online

Mehr

FAQ 02/2017. Offene Benutzerkommunikation. TSEND_C und TRCV_C SIMATIC S CPU. https://support.industry.siemens.com/cs/ww/de/view/

FAQ 02/2017. Offene Benutzerkommunikation. TSEND_C und TRCV_C SIMATIC S CPU. https://support.industry.siemens.com/cs/ww/de/view/ FAQ 02/2017 Offene Benutzerkommunikation mit TSEND_C und TRCV_C SIMATIC S7-1200 CPU https://support.industry.siemens.com/cs/ww/de/view/67196808 Dieser Beitrag stammt aus dem Siemens Industry Online Support.

Mehr

Deckblatt. S7-Kommunikation mit S PUT und GET. FAQ November Service & Support. Answers for industry.

Deckblatt. S7-Kommunikation mit S PUT und GET. FAQ November Service & Support. Answers for industry. Deckblatt PUT und GET FAQ November 2012 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die dort genannten Nutzungsbedingungen

Mehr

SIMATIC HMI. WinCC V6.2 SP2 / V7.0 HMI Manual Collection. Dokumentation zu WinCC Basis / Optionen V6.2 SP2

SIMATIC HMI. WinCC V6.2 SP2 / V7.0 HMI Manual Collection. Dokumentation zu WinCC Basis / Optionen V6.2 SP2 SIMATIC HMI WinCC V6.2 SP2 / V7.0 SIMATIC HMI Dokumentation zu WinCC Basis / Optionen V6.2 SP2 1 Dokumentation zu WinCC Basis / Optionen V7.0 2 So laden Sie die Dokumentation aus dem 3 Internet WinCC V6.2

Mehr

Kommunikationsprozessor CP 341 Erste Schritte zur Inbetriebnahme

Kommunikationsprozessor CP 341 Erste Schritte zur Inbetriebnahme SIMATIC Kommunikationsprozessor SIMATIC Kommunikationsprozessor Getting Started 09/2008 A5E02291898-01 Rechtliche Hinweise Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie

Mehr

Liesmich SIMATIC Safety V13 SP1 UPD5 SIMATIC. Industrie Software. Security-Hinweise 1. Hinweise zur Benutzung. Geräte und Netze bearbeiten

Liesmich SIMATIC Safety V13 SP1 UPD5 SIMATIC. Industrie Software. Security-Hinweise 1. Hinweise zur Benutzung. Geräte und Netze bearbeiten Liesmich SIMATIC Safety V13 SP1 UPD5 SIMATIC Security-Hinweise 1 Hinweise zur Benutzung 2 Geräte und Netze bearbeiten 3 PLC programmieren 4 Industrie Software Liesmich 10/2015 A5E32923646-AD Rechtliche

Mehr

Simatic. Liesmich Runtime Advanced. Allgemeine Hinweise 1. Verbesserungen in Update 5 2. Verbesserungen in Update 4 3. Verbesserungen in Update 3 4

Simatic. Liesmich Runtime Advanced. Allgemeine Hinweise 1. Verbesserungen in Update 5 2. Verbesserungen in Update 4 3. Verbesserungen in Update 3 4 Allgemeine Hinweise 1 Verbesserungen in Update 5 2 Simatic Verbesserungen in Update 4 3 Verbesserungen in Update 3 4 Liesmich 11/2012 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise,

Mehr

SIMATIC HMI. Key Panel Library TIA Portal Projektierungshandbuch, 09/2012 Ausgabe 2 1 von 13. Vorwort. Installation Key Panels Library

SIMATIC HMI. Key Panel Library TIA Portal Projektierungshandbuch, 09/2012 Ausgabe 2 1 von 13. Vorwort. Installation Key Panels Library Vorwort Installation Key Panels Library Mit Key Panels Library arbeiten Funktionsbeschreibung SIMATIC HMI Key Panel Library / TIA Portal Projektierungshandbuch Projektierungshandbuch, 09/ Ausgabe 2 1 von

Mehr

WebEx Sitzungstypen. SINUMERIK 810D/840Di/840D. eps Network Services WebEx SC5.0 Sitzungstypen. White Paper 11/2006 --

WebEx Sitzungstypen. SINUMERIK 810D/840Di/840D. eps Network Services WebEx SC5.0 Sitzungstypen. White Paper 11/2006 -- 1 SINUMERIK 810D/840Di/840D eps Network Services White Paper 11/2006 -- Sicherheitshinweise Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden

Mehr

Fremdsoftware COMOS. Platform Fremdsoftware. Marken 1. Anforderungen Systemumgebung. Freigaben Fremdsoftware. Bedienhandbuch 08/2011 A5E03638320-01

Fremdsoftware COMOS. Platform Fremdsoftware. Marken 1. Anforderungen Systemumgebung. Freigaben Fremdsoftware. Bedienhandbuch 08/2011 A5E03638320-01 Marken 1 Anforderungen Systemumgebung 2 COMOS Freigaben 3 Platform Bedienhandbuch 08/2011 A5E03638320-01 Rechtliche Hinweise Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die

Mehr

Deckblatt. Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über PROFIBUS. FDL-Protokoll. FAQ Februar Service & Support. Answers for industry.

Deckblatt. Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über PROFIBUS. FDL-Protokoll. FAQ Februar Service & Support. Answers for industry. Deckblatt Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über PROFIBUS FDL-Protokoll FAQ Februar 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support

Mehr

S7-Kommunikation mit PUT/GET

S7-Kommunikation mit PUT/GET FAQ 10/2013 S7-Kommunikation mit PUT/GET S7-1500 CPUs http://support.automation.siemens.com/ww/view/de/82212115 Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die dort genannten

Mehr

Service & Support. Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über PROFIBUS. FDL-Protokoll mit freiem Layer 2 Zugang.

Service & Support. Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über PROFIBUS. FDL-Protokoll mit freiem Layer 2 Zugang. Deckblatt Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über PROFIBUS FDL-Protokoll mit freiem Layer 2 Zugang FAQ Februar 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt

Mehr

Liesmich WinCC Runtime Advanced SIMATIC HMI. WinCC V11 SP1. Besonderheiten bei Windows 7. Installation. Runtime. Systemhandbuch

Liesmich WinCC Runtime Advanced SIMATIC HMI. WinCC V11 SP1. Besonderheiten bei Windows 7. Installation. Runtime. Systemhandbuch Liesmich WinCC Runtime Advanced SIMATIC HMI Besonderheiten bei Windows 7 1 Installation 2 Runtime 3 WinCC V11 SP1 Systemhandbuch Ausdruck der Online-Hilfe 07/2011 Ausdruck der Online-Hilfe Rechtliche Hinweise

Mehr

Service & Support. Anleitung zur Projektierung einer S7- Verbindung. S7-300 / S7-400 Industrial Ethernet CPs. FAQ Januar 2011. Answers for industry.

Service & Support. Anleitung zur Projektierung einer S7- Verbindung. S7-300 / S7-400 Industrial Ethernet CPs. FAQ Januar 2011. Answers for industry. Deckblatt Anleitung zur Projektierung einer S7- Verbindung S7-300 / S7-400 Industrial Ethernet CPs FAQ Januar 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support

Mehr

Erste Schritte zur Inbetriebnahme CPU. 31xC: Regeln SIMATIC. S7-300 Erste Schritte zur Inbetriebnahme CPU 31xC: Regeln. Einleitung 1.

Erste Schritte zur Inbetriebnahme CPU. 31xC: Regeln SIMATIC. S7-300 Erste Schritte zur Inbetriebnahme CPU 31xC: Regeln. Einleitung 1. Erste Schritte zur Inbetriebnahme CPU 31xC: Regeln SIMATIC S7-300 Erste Schritte zur Inbetriebnahme CPU 31xC: Regeln Einleitung 1 Vorbereitung 2 Lerneinheiten 3 Weiterführende Informationen 4 Getting Started

Mehr

Deckblatt. Konfiguration einer S7-300 CPU als DP-Slave am CP342-5 als DP-Master PROFIBUS DP. FAQ Mai Service & Support. Answers for industry.

Deckblatt. Konfiguration einer S7-300 CPU als DP-Slave am CP342-5 als DP-Master PROFIBUS DP. FAQ Mai Service & Support. Answers for industry. Deckblatt Konfiguration einer S7-300 CPU als DP-Slave am CP342-5 als DP-Master PROFIBUS DP FAQ Mai 2010 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support

Mehr

Deckblatt. Konfiguration eines CP342-5 als DP- Slave am CP342-5 als DP- Master PROFIBUS DP. FAQ Juni Service & Support. Answers for industry.

Deckblatt. Konfiguration eines CP342-5 als DP- Slave am CP342-5 als DP- Master PROFIBUS DP. FAQ Juni Service & Support. Answers for industry. Deckblatt Konfiguration eines CP342-5 als DP- Slave am CP342-5 als DP- Master PROFIBUS DP FAQ Juni 2010 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support

Mehr

SINEC TF Net 1413/ MSDOS/Windos TM

SINEC TF Net 1413/ MSDOS/Windos TM SINEC TF Net 1413/ MSDOS/Windos TM Handbuch C79000 G8900 C023 Ausgabe 02 Band 1 von1 Windows ist ein eingetragenes Warenzeichen von Microsoft Siemens Aktiengesellschaft Sicherheitstechnische Hinweise!

Mehr

FAQ Kommunikation über IE

FAQ Kommunikation über IE FAQ Kommunikation über IE S5-kompatible Kommunikation über Industrial Ethernet zwischen PC-Station und SIMATIC S7 FAQ Inhaltsverzeichnis Inhaltsverzeichnis... 2 Frage... 2 Wie konfiguriere ich die S5-kompatible

Mehr

Link-Status der PROFINETSchnittstelle auslesen

Link-Status der PROFINETSchnittstelle auslesen FAQ 03/2016 Link-Status der PROFINETSchnittstelle auslesen S7-300 CPU / STEP 7 V13 SP1 (TIA Portal) https://support.industry.siemens.com/cs/ww/de/view/86645644 Dieser Beitrag stammt aus dem Siemens Industry

Mehr

FAQ Kommunikation über PROFIBUS

FAQ Kommunikation über PROFIBUS FAQ Kommunikation über PROFIBUS FDL-Verbindung über PROFIBUS zwischen PC- Station und SIMATIC S7 FAQ Inhaltsverzeichnis Inhaltsverzeichnis... 2 Frage... 2 Wie konfiguriere ich eine FDL-Verbindung zur SIMATIC

Mehr

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER FAQ 12/2014 MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER S7-1200 http://support.automation.siemens.com/ww/view/de/83130159 Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten

Mehr

Besonderheiten bei Windows 7 1. Installation 2. Runtime SIMATIC HMI. WinCC V11 Liesmich WinCC Runtime Advanced. Systemhandbuch 04/2011

Besonderheiten bei Windows 7 1. Installation 2. Runtime SIMATIC HMI. WinCC V11 Liesmich WinCC Runtime Advanced. Systemhandbuch 04/2011 Besonderheiten bei Windows 7 1 Installation 2 SIMATIC HMI Runtime 3 WinCC V11 Liesmich WinCC Runtime Advanced Systemhandbuch 04/2011 Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise,

Mehr

SIMATIC HMI. WinCC flexible 2008 SP2 HSP Mobile Panel 277 Wireless V2. Gültigkeit 1. Installation 2. Hinweise zu den Bediengeräten 3

SIMATIC HMI. WinCC flexible 2008 SP2 HSP Mobile Panel 277 Wireless V2. Gültigkeit 1. Installation 2. Hinweise zu den Bediengeräten 3 Gültigkeit 1 Installation 2 SIMATIC HMI WinCC flexible 2008 SP2 Hinweise zu den Bediengeräten 3 Behobene Software- Probleme 4 Liesmich 10/2010 Liesmich Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch

Mehr

Was ist neu in SIMATIC imap V2.0 SP1?

Was ist neu in SIMATIC imap V2.0 SP1? s SIMATIC Produktinformation 08/2004 Diese Produktinformation enthält wichtige Informationen zu SIMATIC imap V2.0 SP1. Die Produktinformation ist Bestandteil des gelieferten Produkts und die darin enthaltenen

Mehr

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL D12

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL D12 Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL D12 PROFIBUS DP mit Master CP 342-5DP / Master CP 342-5DP T I A Ausbildungsunterlage Seite 1

Mehr

ab Ausgabestand 3 (ab Firmware Stand V1.1) LED Anzeigen AUI/ITP Schnittstelle: 15 polige SUB D Buchse mit Schiebeverriegelung

ab Ausgabestand 3 (ab Firmware Stand V1.1) LED Anzeigen AUI/ITP Schnittstelle: 15 polige SUB D Buchse mit Schiebeverriegelung SIMATIC NET S7 CPs für Industrial Ethernet CP 343 1 PN 6GK7 343 1HX00 0XE0 für SIMATIC S7 300 / C7 300 ab Ausgabestand 3 (ab Firmware Stand V1.1) LED Anzeigen AUI/ITP Schnittstelle: 15 polige SUB D Buchse

Mehr

Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) SIMATIC

Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) SIMATIC Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) SIMATIC Vorwort Eigenschaften 1 Diagnose 2 Dezentrale Peripherie ET 200S Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) Gerätehandbuch

Mehr

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

https://support.industry.siemens.com/cs/ww/de/view/ Modbus/TCP mit den Anweisungen MB_CLIENT und MB_SERVER S7-1500 CPU und S7-1200 CPU https://support.industry.siemens.com/cs/ww/de/view/102020340 Siemens Industry Online Support Dieser Beitrag stammt aus

Mehr

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) Vorwort. Eigenschaften 1. Diagnose 2.

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) Vorwort. Eigenschaften 1. Diagnose 2. SIMATIC Dezentrale Peripherie ET 200S SIMATIC Vorwort Eigenschaften 1 Diagnose 2 Dezentrale Peripherie ET 200S Digitales Elektronikmodul 8DI DC24V (6ES7131-4BF00-0AA0) Gerätehandbuch 04/2007 A5E01077338-01

Mehr

Programmhandbuch Ergänzung. Kommunikation zwischen Objekterkennungssensor O2D2xx und Siemens Simatic S / / 2011

Programmhandbuch Ergänzung. Kommunikation zwischen Objekterkennungssensor O2D2xx und Siemens Simatic S / / 2011 Programmhandbuch Ergänzung Kommunikation zwischen Objekterkennungssensor O2D2xx und Siemens Simatic S7 704567 / 00 02 / 2011 Inhalt 1 Vorbemerkung 3 1.1 Verwendete Symbole 3 2 Allgemeines 3 3 Ethernet-Kopplung

Mehr

How-To-Do. Ethernet-Konfiguration der CPU 31xNET mit dem SIMATIC Manager von Siemens

How-To-Do. Ethernet-Konfiguration der CPU 31xNET mit dem SIMATIC Manager von Siemens How-To-Do Ethernet-Konfiguration der CPU 31xNET mit dem SIMATIC Manager von Siemens Inhaltsverzeichnis Ethernet-Konfiguration der CPU 31xNET mit dem SIMATIC Manager von SiemensFehler! Textmarke nicht definiert.

Mehr

Kommunikationsdienste

Kommunikationsdienste FAQ 06.2014 Kommunikationsdienste SINUMERIK 840D sl Unterschiede bezüglich SIMATIC PLC http://support.automation.siemens.com/ww/view/de/54058408 Dieser Beitrag stammt aus dem Siemens Industry Online Support.

Mehr

Belegung von Verbindungsressourcen

Belegung von Verbindungsressourcen bei automatischer Verbindung Sobald Sie das PG bzw. HMI Gerät mit einer CPU physikalisch und online in STEP 7 verbunden haben, werden Verbindungsressourcen belegt. beim programmierten Einrichten einer

Mehr

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 2DO AC V (6ES7132-4FB01-0AB0) Vorwort. Eigenschaften 1. Parameter 2.

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 2DO AC V (6ES7132-4FB01-0AB0) Vorwort. Eigenschaften 1. Parameter 2. SIMATIC Dezentrale Peripherie ET 200S SIMATIC Dezentrale Peripherie ET 200S Digitales Elektronikmodul 2DO AC24..230V (6ES7132-4FB01-0AB0) Gerätehandbuch Vorwort Eigenschaften 1 Parameter 2 Diagnose 3 04/2007

Mehr

FAQ Kommunikation über IE

FAQ Kommunikation über IE FAQ Kommunikation über IE hochverfügbare S7-Kommunikation über IE FAQ Inhaltsverzeichnis Inhaltsverzeichnis... 2 Frage... 2 Wie erstelle ich eine hochverfügbare S7 -Verbindung für den SIMATIC NET OPC Server

Mehr

Deckblatt. Topologiedaten eines PROFINET IO- Systems auslesen SFB52 RDREC. FAQ September Service & Support. Answers for industry.

Deckblatt. Topologiedaten eines PROFINET IO- Systems auslesen SFB52 RDREC. FAQ September Service & Support. Answers for industry. Deckblatt Topologiedaten eines PROFINET IO- Systems auslesen SFB52 RDREC FAQ September 2009 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support Portal der

Mehr

SIMATIC NET NCM S7 für Industrial Ethernet Handbuch

SIMATIC NET NCM S7 für Industrial Ethernet Handbuch SIMATIC NET NCM S7 für Industrial Ethernet Handbuch für NCM S7 ab V5.2 Vorwort, Inhaltsverzeichnis Kommunikation über Ethernet 1 CPs in S7 Stationen Den Ethernet CP mit 2 STEP 7 in Betrieb nehmen SEND/RECEIVE

Mehr

Modbus Kopplung Simatic S7 (STEP 7)

Modbus Kopplung Simatic S7 (STEP 7) Softwarebeschreibung Modbus Kopplung Simatic S7 (STEP 7) mit Simatic S7 300 über CP343-1 V2.0-1/2016 Inhaltsverzeichnis 1 Haftung und Gewährleistung... 3 2 STEP7 V5.x... 4 2.1 Beschreibung... 4 2.2 Lieferumfang...

Mehr

SIMATIC Virtualization as a Service (V1.1) - Quick Install Guide

SIMATIC Virtualization as a Service (V1.1) - Quick Install Guide Einleitung 1 Was wird benötigt? 2 Vorbereitung 3 SIMATIC Virtualization as a Service (V1.1) - Quick Install Guide Betriebsanleitung Konfiguration des Virtualisierungsservers 4 Konfiguration des Thin Clients

Mehr

S7-Kommunikation zwischen SIMATIC S und SIMATIC S STEP 7 V13 (TIA Portal) / STEP 7 V5.5 SP3 FAQ 05/2014

S7-Kommunikation zwischen SIMATIC S und SIMATIC S STEP 7 V13 (TIA Portal) / STEP 7 V5.5 SP3 FAQ 05/2014 FAQ 05/2014 S7-Kommunikation zwischen SIMATIC S7-1200 und SIMATIC S7-300 STEP 7 V13 (TIA Portal) / STEP 7 V5.5 SP3 http://support.automation.siemens.com/ww/view/de/bid Dieser Beitrag stammt aus dem Siemens

Mehr

FAQ Kommunikation über PROFIBUS

FAQ Kommunikation über PROFIBUS FAQ Kommunikation über PROFIBUS S7-Kommunikation über PROFIBUS FAQ Inhaltsverzeichnis Inhaltsverzeichnis... 2 Frage... 2 Wie projektieren Sie eine S7-Verbindung für den SIMATIC NET OPC- Server über PROFIBUS

Mehr

SIMATIC HMI. Einsatz von OPC über DCOM mit Windows XP SP3. Grundeinstellungen 1. Konfiguration der Firewall 2. DCOM-Konfiguration 3

SIMATIC HMI. Einsatz von OPC über DCOM mit Windows XP SP3. Grundeinstellungen 1. Konfiguration der Firewall 2. DCOM-Konfiguration 3 Grundeinstellungen 1 Konfiguration der Firewall 2 SIMATIC HMI DCOM-Konfiguration 3 DCOM-Konfiguration als "Machine Default" 4 Einsatz von OPC über DCOM mit Windows XP SP3 Readme 01/2010 Warnhinweiskonzept

Mehr

FAQ S7-Kommunikation über IE

FAQ S7-Kommunikation über IE FAQ S7-Kommunikation über IE S7-Kommunikation über Industrial Ethernet FAQ Inhaltsverzeichnis Inhaltsverzeichnis... 2 Frage... 2 Wie projektieren Sie ein S7-Verbindung über Ethernet mit dem SIMATIC NET-OPC

Mehr

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER FAQ 09/2014 MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER S7-1500 CPU und S7-1200 CPU http://support.automation.siemens.com/ww/view/de/102020340 Dieser Beitrag stammt aus dem Siemens Industry

Mehr

Service & Support. Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über Industrial Ethernet. CP343-1 / CP443-1 und CP143 / CP1430.

Service & Support. Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über Industrial Ethernet. CP343-1 / CP443-1 und CP143 / CP1430. Deckblatt Kommunikation zwischen SIMATIC S5 und SIMATIC S7 über Industrial Ethernet CP343-1 / CP443-1 und CP143 / CP1430 FAQ Januar 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag

Mehr

Deckblatt. Konsistente Daten. PROFIBUS DP und PROFINET IO. FAQ September 2009. Service & Support. Answers for industry.

Deckblatt. Konsistente Daten. PROFIBUS DP und PROFINET IO. FAQ September 2009. Service & Support. Answers for industry. Deckblatt PROFIBUS DP und PROFINET IO FAQ September 2009 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem Service&Support Portal der Siemens AG, Sector Industry, Industry

Mehr

Service & Support. S7-Programm zur Erkennung von Änderungen in Anwenderprogramm und Hardware-Projektierung SIMATIC S7-300/400 CPU.

Service & Support. S7-Programm zur Erkennung von Änderungen in Anwenderprogramm und Hardware-Projektierung SIMATIC S7-300/400 CPU. Deckblatt S7-Programm zur Erkennung von Änderungen in Anwenderprogramm und Hardware-Projektierung SIMATIC S7-300/400 CPU FAQ Juli 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag

Mehr

SIMATIC NET. S7 CPs für PROFIBUS CP ab Ausgabestand 2 (ab Firmware Stand V4.1) für SIMATIC S7 300 / C7 300 CP (9 polige Sub D Buchse)

SIMATIC NET. S7 CPs für PROFIBUS CP ab Ausgabestand 2 (ab Firmware Stand V4.1) für SIMATIC S7 300 / C7 300 CP (9 polige Sub D Buchse) SIMATIC NET S7 CPs für PROFIBUS CP 343 5 6GK7 343 5FA01 0XE0 für SIMATIC S7 300 / C7 300 ab Ausgabestand 2 (ab Firmware Stand V4.1) CP 343 5 (9 polige Sub D Buchse) Status- und Fehleranzeigen Betriebsartenschalter

Mehr

Wie können Sie die Verbindung vom Bediengerät zur Steuerung über die Geräte-Einstellungen wechseln?

Wie können Sie die Verbindung vom Bediengerät zur Steuerung über die Geräte-Einstellungen wechseln? FAQ 02/2016 Wie können Sie die Verbindung vom Bediengerät zur Steuerung über die Geräte-Einstellungen wechseln? WinCC Professional V13, Basic Panel 2 nd Generation und Comfort Panel https://support.industry.siemens.com/cs/ww/de/view/67653385

Mehr

Mengengerüste für Produkte der CD SIMATIC NET, PC Software, Edition 2008 (MS Windows)

Mengengerüste für Produkte der CD SIMATIC NET, PC Software, Edition 2008 (MS Windows) Mengengerüste für Produkte der CD SIMATIC NET, PC Software, Edition 2008 (MS Windows) 1 Kommunikationspartner und Mengengerüste für CP 5603, CP 5613, CP 5613 A2, CP 5613 FO, CP 5614, CP 5614 A2, CP 5614

Mehr

SIMATIC NET. NCM S7 für Industrial Ethernet. Erste Schritte. Vorwort. Die Schritte in der Übersicht Das S7 Beispielprojekt PROJECT ETHERNET

SIMATIC NET. NCM S7 für Industrial Ethernet. Erste Schritte. Vorwort. Die Schritte in der Übersicht Das S7 Beispielprojekt PROJECT ETHERNET SIMATIC NET Vorwort Die Schritte in der Übersicht Das S7 Beispielprojekt 2 PROJECT ETHERNET 1 NCM S7 für Industrial Ethernet Erste Schritte Kommunikation über die SEND/RECEIVE Schnittstelle......zwischen

Mehr

Bedienungsanleitung Operating instructions Instructions de service. SBSI Funktionsbausteine für Siemens Step 7 V10_StdLib

Bedienungsanleitung Operating instructions Instructions de service. SBSI Funktionsbausteine für Siemens Step 7 V10_StdLib Bedienungsanleitung Operating instructions Instructions de service SBSI Funktionsbausteine für Siemens Step 7 V10_StdLib 1 1 Inhalt 1 Inhalt... 2 2 Allgemein... 3 3 Konfiguration... 4 3.1 Ethernet TCP/IP

Mehr

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

https://support.industry.siemens.com/cs/ww/de/view/ Wie ersetzen Sie eine CPU 41x durch die CPU 410-5H Process Automation? SIMATIC PCS 7 https://support.industry.siemens.com/cs/ww/de/view/85014617 Siemens Industry Online Support Frei verwendbar Dieser Beitrag

Mehr

Klassendokumentation ELOLib_dll COMOS. Platform Klassendokumentation ELOLib_dll. Marken 1. ELOLib_dll. Programmierhandbuch A5E

Klassendokumentation ELOLib_dll COMOS. Platform Klassendokumentation ELOLib_dll. Marken 1. ELOLib_dll. Programmierhandbuch A5E Marken 1 ELOLib_dll 2 COMOS Platform Programmierhandbuch 04/2012 A5E03777176-01 Rechtliche Hinweise Rechtliche Hinweise Warnhinweiskonzept Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen

Mehr

Kurzanleitung zur Inbetriebnahme. SIMATIC FM Kurzanleitung zur Inbetriebnahme SIMATIC FM Getting Started 09/2007 A5E

Kurzanleitung zur Inbetriebnahme. SIMATIC FM Kurzanleitung zur Inbetriebnahme SIMATIC FM Getting Started 09/2007 A5E SIMATIC Kurzanleitung zur Inbetriebnahme 1 SIMATIC FM 350-2 Kurzanleitung zur Inbetriebnahme Getting Started 09/2007 A5E00271808-02 Sicherheitshinweise Sicherheitshinweise Dieses Handbuch enthält Hinweise,

Mehr

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 4DO DC24V/0,5A ST (6ES7132-4BD02-0AA0) Vorwort. Eigenschaften 2.

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 4DO DC24V/0,5A ST (6ES7132-4BD02-0AA0) Vorwort. Eigenschaften 2. SIMATIC Dezentrale Peripherie ET200S SIMATIC Vorwort 1 Eigenschaften 2 Diagnose 3 Dezentrale Peripherie ET200S Digitales Elektronikmodul 4DO DC24V/0,5A ST (6ES7132-4BD02- Gerätehandbuch 01/2008 A5E01254026-01

Mehr

Beschreibung der Funktionsbausteine zur Modemkopplung über CP 340 / 341

Beschreibung der Funktionsbausteine zur Modemkopplung über CP 340 / 341 Beschreibung der Funktionsbausteine zur Modemkopplung über CP 340 / 341 Mit den hier beschriebenen Funktionsbausteinen FB100 Mod_CP340 und FB101 Mod_CP341 ist es möglich eine Modemkopplung zwischen zwei

Mehr

SIMATIC S7-300/400/1200/1500

SIMATIC S7-300/400/1200/1500 Deckblatt SINAMICS G/S: Konfiguration von Standardtelegrammen im TIA Portal Zyklische Kommunikation zwischen SIMATIC S7-300/400/1200/1500 und SINAMICS G/S FAQ Oktober 2013 Service & Support Answers for

Mehr

S7-CPs für Industrial Ethernet SIMATIC NET. S Industrial Ethernet S7-CPs für Industrial Ethernet. CP Advanced.

S7-CPs für Industrial Ethernet SIMATIC NET. S Industrial Ethernet S7-CPs für Industrial Ethernet. CP Advanced. S7-CPs für Industrial Ethernet CP 343-1 Advanced SIMATIC NET S7-300 - Industrial Ethernet S7-CPs für Industrial Ethernet CP 343-1 Advanced Gerätehandbuch Vorwort Eigenschaften und Dienste 1 Leistungsdaten

Mehr

CP (EX30) SIMATIC NET. S Industrial Ethernet CP (EX30) Vorwort. Eigenschaften und Dienste 1. Leistungsdaten 2

CP (EX30) SIMATIC NET. S Industrial Ethernet CP (EX30) Vorwort. Eigenschaften und Dienste 1. Leistungsdaten 2 Vorwort Eigenschaften und Dienste 1 SIMATIC NET S7-400 - Industrial Ethernet Gerätehandbuch Leistungsdaten 2 Voraussetzungen für den Einsatz 3 LEDs 4 Montage und Inbetriebsetzung 5 Projektierung und Betrieb

Mehr

Copyright by HMS GmbH. All rights reserved.

Copyright by HMS GmbH. All rights reserved. Hilfsdokument Hinweise zur Inbetriebnahme einer Siemens CP342-5 als Profibus an einem Anybus M, Anybus X-gateway mit einem Profibus Master oder dem Profibus Master Simulator Haftungsausschluß Die Schaltungen

Mehr

Gerätename und IP-Adresse zuweisen

Gerätename und IP-Adresse zuweisen Erstmaliges Zuweisen von IP-Adresse und Subnetzmaske bei einem IO-Controller Dazu gibt es verschiedene Möglichkeiten. Bei der Parametrierung der PROFINET-Schnittstelle müssen Sie einstellen, ob die IP-Adresse

Mehr

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 4DI DC24V HF (6ES7131-4BD01-0AB0) Vorwort. Eigenschaften 1. Parameter 2.

SIMATIC. Dezentrale Peripherie ET 200S Digitales Elektronikmodul 4DI DC24V HF (6ES7131-4BD01-0AB0) Vorwort. Eigenschaften 1. Parameter 2. SIMATIC Dezentrale Peripherie ET 200S SIMATIC Dezentrale Peripherie ET 200S Digitales Elektronikmodul 4DI DC24V HF (6ES7131-4BD01-0AB0) Vorwort Eigenschaften 1 Parameter 2 Diagnose 3 Gerätehandbuch 04/2007

Mehr

Service & Support. Vergabe der IP-Adresse unter Verwendung des Primary Setup Tools (PST) Electrical Lean Switch. FAQ Juni Answers for industry.

Service & Support. Vergabe der IP-Adresse unter Verwendung des Primary Setup Tools (PST) Electrical Lean Switch. FAQ Juni Answers for industry. Deckblatt Vergabe der IP-Adresse unter Verwendung des Primary Setup Tools (PST) Electrical Lean Switch FAQ Juni 2011 Service & Support Answers for industry. Fragestellung Dieser Beitrag stammt aus dem

Mehr

Mengengerüste für Produkte der CD SIMATIC NET PC Software V8.0 (MS Windows 7)

Mengengerüste für Produkte der CD SIMATIC NET PC Software V8.0 (MS Windows 7) Mengengerüste für Produkte der CD SIMATIC NET PC Software V8.0 (MS Windows 7) 1 Kommunikationspartner und Mengengerüste für CP 5603, CP 5613 A2, CP 5613 FO, CP 5614 A2, CP 5623 und CP 5624...2 1.1 Mengengerüst

Mehr

SIMATIC. Dezentrale Peripherie ET 200S Powermodul PM-E DC24V (6ES7138-4CA01-0AA0) Vorwort. Eigenschaften 1. Parameter 2. Diagnose 3.

SIMATIC. Dezentrale Peripherie ET 200S Powermodul PM-E DC24V (6ES7138-4CA01-0AA0) Vorwort. Eigenschaften 1. Parameter 2. Diagnose 3. SIMATIC Dezentrale Peripherie ET 200S SIMATIC Dezentrale Peripherie ET 200S Powermodul PM-E DC24V (6ES7138-4CA01-0AA0) Vorwort Eigenschaften 1 Parameter 2 Diagnose 3 Konfigurieren 4 Gerätehandbuch 04/2007

Mehr

How-To-Do. Hardware Konfiguration SLIO CPU 014

How-To-Do. Hardware Konfiguration SLIO CPU 014 How-To-Do Hardware Konfiguration SLIO CPU 014 Mit dem SIMATIC Manager der SIEMENS AG Inhaltsverzeichnis 1 Allgemein... 2 1.1 Information... 2 1.2 Hinweis... 2 2 Schrittweise Hardware Konfiguration... 3

Mehr

Siemens IOL_CALL mit CPX I-Port Master für IO Link Devices

Siemens IOL_CALL mit CPX I-Port Master für IO Link Devices Application Note Siemens IOL_CALL mit CPX I-Port Master für IO Link Devices Über den Siemens IOL_CALL Baustein können azyklisch die Parameter von einem IO Link Gerät geändert/gelesen werden. Da bei unserem

Mehr

Projekt erstellen und Hardware anlegen. TIA Portal. SIMATIC Projekt erstellen und Hardware anlegen. Einführung ins TIA-Portal 1.

Projekt erstellen und Hardware anlegen. TIA Portal. SIMATIC Projekt erstellen und Hardware anlegen. Einführung ins TIA-Portal 1. Einführung ins TIA-Portal 1 Projekt anlegen 2 TIA Portal SIMATIC Projekt erstellen und Hardware anlegen Getting Started CPU S7-1500 erstellen 3 Hardware-Erkennung durchführen 4 ET 200 Interfacemodule anlegen

Mehr

SIMATIC. SIMATIC Virtualization as a Service - Quick Install Guide. Einleitung. Was wird benötigt? Vorbereitung 3

SIMATIC. SIMATIC Virtualization as a Service - Quick Install Guide. Einleitung. Was wird benötigt? Vorbereitung 3 Einleitung 1 Was wird benötigt? 2 SIMATIC SIMATIC Virtualization as a Service - Quick Install Guide Betriebsanleitung Vorbereitung 3 Konfiguration des Virtualisierungsservers 4 Konfiguration des Thin Clients

Mehr

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL D11

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL D11 Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL D11 PROFIBUS DP mit Master CP 342-5DP / Slave CP 342-5DP T I A Ausbildungsunterlage Seite 1

Mehr

Funktionsbaustein für die Auswertung der Normdiagnose in Step 7

Funktionsbaustein für die Auswertung der Normdiagnose in Step 7 Funktionsbaustein für die Auswertung der Normdiagnose in Step 7, Deutsch Version 1.0.0 2 Allgemeines Copyright 2006 by WAGO Kontakttechnik GmbH & Co. KG Alle Rechte vorbehalten. WAGO Kontakttechnik GmbH

Mehr

CP SIMATIC NET. S Industrial Ethernet / PROFINET CP Vorwort. Eigenschaften / Dienste. Leistungsdaten 2

CP SIMATIC NET. S Industrial Ethernet / PROFINET CP Vorwort. Eigenschaften / Dienste. Leistungsdaten 2 Vorwort Eigenschaften / Dienste 1 SIMATIC NET S7-300 - Industrial Ethernet / PROFINET Gerätehandbuch Leistungsdaten 2 Voraussetzungen für den Einsatz 3 LED-Anzeigen 4 Montage, Anschluss und Inbetriebnahme

Mehr