14
Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ November 2012

„PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

Embed Size (px)

Citation preview

Page 1: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

Service & Support

Answers for industry.

Deckblatt

S7-Kommunikation mit S7-1200

„PUT“ und „GET“

FAQ November 2012

Page 2: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

Fragestellung

2 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die dort genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen). Durch den folgenden Link gelangen Sie direkt zur Downloadseite dieses Dokuments. http://support.automation.siemens.com/WW/view/de/65975617 Vorsicht Die in diesem Beitrag beschriebenen Funktionen und Lösungen beschränken sich überwiegend auf die Realisierung der Automatisierungsaufgabe. Bitte beachten Sie darüber hinaus, dass bei Vernetzung Ihrer Anlage mit anderen Anlagenteilen, dem Unternehmensnetz oder dem Internet entsprechende Schutzmaßnahmen im Rahmen von Industrial Security zu ergreifen sind. Weitere Informationen dazu finden Sie unter der Beitrags-ID 50203404. http://support.automation.siemens.com/WW/view/de/50203404

Frage Wie werden die Anweisungen „GET“ und „PUT“ im Anwenderprogramm der SIMATIC S7-1200 CPU programmiert, um mehr als 160 Byte Daten zu übertragen?

Antwort Folgen Sie zur umfassenden Beantwortung dieser Frage den in diesem Dokument aufgeführten Handlungsanweisungen und Hinweisen.

Page 3: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

Inhaltsverzeichnis

S7-Kommunikation mit S7-1200 V1.0, Beitrags-ID: 65975617 3

Inhaltsverzeichnis 1 Einleitung........................................................................................................4 2 Beschreibung des Anwenderprogramms......................................................5

2.1 OB100...............................................................................................5 2.2 OB1...................................................................................................5 2.3 FB111 ...............................................................................................6

Page 4: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

1 Einleitung

4 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

1 Einleitung Um mit der SIMATIC S7-1200 CPU Daten über eine projektierte S7-Verbindung übertragen zu können, müssen Sie im Anwenderprogramm folgende Anweisungen aufrufen: GET zum Auslesen von Daten aus der Partner-CPU PUT zum Schreiben von Daten in die Partner-CPU

Die S7-Verbindung muss nicht beidseitig projektiert werden, da die Kommunikation über S7-Verbindungen mittels „GET“ und „PUT“ auf dem Server-Client-Prinzip basiert. Die Anweisungen „PUT“ und „GET“ finden Sie in der Task Card „Anweisungen“ in der Palette „Kommunikation > S7-Kommunikation“.

Page 5: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

S7-Kommunikation mit S7-1200 V1.0, Beitrags-ID: 65975617 5

2 Beschreibung des Anwenderprogramms Über eine projektierte S7-Verbindung darf immer nur ein Auftrag mittels der Anweisungen „GET“ und „PUT“ angestoßen werden. Mehrere gleichzeitige Auftragsanstöße mittels der Anweisungen „GET“ und „PUT“ über eine S7-Verbindung sind nicht möglich. Die Anweisungen „GET“ und „PUT“ können nur sequentiell, d. h. nacheinander aufgerufen werden. Erst wenn ein Auftrag abgeschlossen ist, wird der nächste Auftrag angestoßen. In diesem Programmbeispiel werden die Anweisungen „GET“ und „PUT“ sequentiell aufgerufen, so dass die SIMATIC S7-1200 CPU über eine projektierte S7-Verbindung 240 Byte Daten senden und 400 Byte Daten empfangen kann. Zunächst erstellen Sie die Konfiguration Ihrer SIMATIC S7-1200 CPU und projektieren die S7-Verbindung. Projektieren Sie das Merkerbyte 10 als Taktmerker. Über diesen Taktmerker wird der Sendeauftrag angestoßen. Speichern Sie das Projekt und übersetzen Sie die Hardware der SIMATIC S7-1200 CPU. Laden Sie die Hardwarekonfiguration in die SIMATIC S7-1200 CPU. Das Anwenderprogramm besteht aus folgenden Bausteinen: Tabelle 2-1

Baustein Beschreibung

OB100 Anlauf-OB für die Anlaufart Neustart (Warmstart) OB1 Das Betriebssystem der CPU bearbeitet den OB1 zyklisch. Die

zyklische Bearbeitung des OB1 wird nach Beendigung des Anlaufs begonnen.

FB111 Der FB111 ruft die Anweisungen „GET“ und „PUT“ sequentiell auf, um über eine S7-Verbindung 240 Byte Daten zu senden und 400 Byte Daten zu empfangen.

DB111 Instanz-Datenbaustein des FB111 DB200 Im Datenbaustein DB200 werden die Sendedaten gespeichert. DB201 Im Datenbaustein DB201 werden die Empfangsdaten gespeichert.

2.1 OB100

Der OB100 ist ein Anlauf-OB und wird beim Neustart (Warmstart) der CPU durchlaufen. In diesem OB wird mit dem Merker M0.3 die Freigabe für den ersten Kommunikationsanstoß erteilt.

2.2 OB1

Der OB1 wird zyklisch aufgerufen. Im OB1 wird der FB111 mit dem Instanz-Datenbaustein DB111 und dem M0.3 als Parameter INIT_COM aufgerufen. Der Merker M0.3 wird im OB1 nach dem Aufruf des FB111 wieder zurückgesetzt.

Page 6: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

6 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

Abbildung 2-1

Abbildung 2-2

2.3 FB111

Der FB111 wird zyklisch im OB1 aufgerufen. Mit Hilfe einer Schrittkette werden im FB111 der Anweisungen „GET“ und zwei Anweisungen „PUT“ sequentiell, d. h. nacheinander, aufgerufen.

Verbindungsnummer definieren Weisen Sie allen Anweisungen „GET“ und „PUT“ am Eingangsparameter „ID“ dieselbe Verbindungsnummer zu, so dass alle Aufträge nacheinander über dieselbe S7-Verbindung angestoßen werden. Die Verbindungsnummer ermitteln Sie im Hardware- und Netzwerkeditor.

Page 7: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

S7-Kommunikation mit S7-1200 V1.0, Beitrags-ID: 65975617 7

Verbindungsnummer im Hardware- und Netzwerkeditor ermitteln In der Projektnavigation doppelklicken Sie auf den Eintrag „Geräte & Netze“, um den Hardware- und Netzwerkeditor zu öffnen. Abbildung 2-3

Im Hardware- und Netzwerkeditor wechseln Sie in die Netzsicht. Abbildung 2-4

Im tabellarischen Bereich der Netzsicht öffnen Sie die Tabelle „Verbindungen“. Hier entnehmen Sie die Verbindungsnummer der projektierten S7-Verbindung. Abbildung 2-5

Page 8: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

8 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

Erster Auftragsanstoß mittel Anweisung „GET“ Wenn der Taktmerker M10.5 eine positive Flanke hat und kein Auftrag läuft, dann: wird die erste Anweisung „GET“ über den Eingangsparameter aktiviert. wird die Schrittkette initialisiert.

Der Eingangsparameter ADDR_1 verweist auf einen Datenbereich in der Partner-CPU, aus dem die Daten gelesen werden. Die ersten 160 Byte Daten werden aus dem DB200 ab Adresse 0 gelesen. Der Eingangsparameter RD_1 verweist auf einen Datenbereich in der lokalen CPU, in dem die gelesen Daten gespeichert werden. Die gelesenen Daten werden in der lokalen CPU im DB201 ab Adresse 0 gespeichert. Die Ausgangsparameter NDR, ERROR und STATUS werden für die Auftragsauswertung benötigt und sind nur im gleichen Zyklus gültig. Wenn die erste Anweisung „GET“ erfolgreich oder mit Fehler abgeschlossen ist, dann wird der Eingangsparameter REQ der ersten Anweisung „GET“ auf den Wert 0 zurückgesetzt, so dass der nächste Auftrag angestoßen werden kann. Abbildung 2-6

Abbildung 2-7

Page 9: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

S7-Kommunikation mit S7-1200 V1.0, Beitrags-ID: 65975617 9

Wenn die erste Anweisung „GET“ mit Fehler abgeschlossen ist, dann wird der Wert des Ausgangsparameters STATUS für eine Fehleranalyse gesichert. Abbildung 2-8

Zweiter Auftragsanstoß mittels Anweisung „GET“ Wenn die erste Anweisung „GET“ erfolgreich abgeschlossen ist und kein Auftrag läuft, dann wird die zweite Anweisung „GET“ über den Eingangsparameter „REQ“ aktiviert. Der Eingangsparameter ADDR_1 verweist auf einen Datenbereich in der Partner-CPU, aus dem die Daten gelesen werden. Nachdem die ersten 160 Byte Daten erfolgreich empfangen wurden, werden weitere 160 Byte Daten aus dem DB200 ab Adresse 160 gelesen. Der Eingangsparameter RD_1 verweist auf einen Datenbereich in der lokalen CPU, in dem die gelesen Daten gespeichert werden. Die gelesenen Daten werden in der lokalen CPU im DB201 ab Adresse 160 gespeichert. Die Ausgangsparameter NDR, ERROR und STATUS werden für die Auftragsauswertung benötigt und sind nur im gleichen Zyklus gültig. Wenn die zweite Anweisung „GET“ erfolgreich oder mit Fehler abgeschlossen ist, dann wird der Eingangsparameter REQ der zweiten Anweisung „GET“ auf den Wert 0 zurückgesetzt, so dass der nächste Auftrag angestoßen werden kann. Abbildung 2-9

Page 10: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

10 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

Abbildung 2-10

Wenn die zweite Anweisung „GET“ mit Fehler abgeschlossen ist, dann wird der Wert des Ausgangsparameters STATUS für eine Fehleranalyse gesichert. Abbildung 2-11

Dritter Auftragsanstoß mittels Anweisung „GET“ Wenn die zweite Anweisung „GET“ erfolgreich abgeschlossen ist und kein Auftrag läuft, dann wird die dritte Anweisung „GET“ über den Eingangsparameter „REQ“ aktiviert. Der Eingangsparameter ADDR_1 verweist auf einen Datenbereich in der Partner-CPU, aus dem die Daten gelesen werden. Nachdem insgesamt 320 Byte Daten erfolgreich empfangen wurden, werden weitere 80 Byte Daten aus dem DB200 ab Adresse 320 gelesen. Der Eingangsparameter RD_1 verweist auf einen Datenbereich in der lokalen CPU, in dem die gelesen Daten gespeichert werden. Die gelesenen Daten werden in der lokalen CPU im DB201 ab Adresse 320 gespeichert. Die Ausgangsparameter NDR, ERROR und STATUS werden für die Auftragsauswertung benötigt und sind nur im gleichen Zyklus gültig. Wenn die dritte Anweisung „GET“ erfolgreich oder mit Fehler abgeschlossen ist, dann wird der Eingangsparameter REQ der dritten Anweisung „GET“ auf den Wert 0 zurückgesetzt, so dass der nächste Auftrag angestoßen werden kann.

Page 11: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

S7-Kommunikation mit S7-1200 V1.0, Beitrags-ID: 65975617 11

Abbildung 2-12

Abbildung 2-13

Wenn die dritte Anweisung „GET“ mit Fehler abgeschlossen ist, dann wird der Wert des Ausgangsparameters STATUS für eine Fehleranalyse gesichert. Abbildung 2-14

Page 12: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

12 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

Erster Auftragsanstoß mittels Anweisung „PUT“ Wenn die dritte Anweisung „GET“ erfolgreich abgeschlossen ist und kein Auftrag läuft, dann: wurden insgesamt 400 Byte Daten gelesen und als Empfangsdaten im DB201

ab Adresse gesichert. wird ein weiterer Auftrag zum Senden von Daten mittels der Anweisung „PUT“

angestoßen. Die erste Anweisung „PUT“ wird über den Eingangsparameter „REQ“ aktiviert.

Der Eingangsparameter ADDR_1 verweist auf einen Datenbereich in der Partner-CPU, in den die Daten geschrieben werden. Die geschriebenen Daten werden in der Partner-CPU im DB201 ab Adresse 0 gespeichert. Der Eingangsparameter SD_1 verweist auf einen Datenbereich in der lokalen CPU, der die zu versendenden Daten enthält. Es werden 160 Byte Daten aus dem DB200 ab Adresse 0 gesendet. Die Ausgangsparameter DONE, ERROR und STATUS werden für die Auftragsauswertung benötigt und sind nur im gleichen Zyklus gültig. Wenn die erste Anweisung „PUT“ erfolgreich oder mit Fehler abgeschlossen ist, dann wird der Eingangsparameter REQ der ersten Anweisung auf den Wert 0 zurückgesetzt, so dass der nächste Auftrag angestoßen werden kann. Abbildung 2-15

Page 13: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

S7-Kommunikation mit S7-1200 V1.0, Beitrags-ID: 65975617 13

Abbildung 2-16

Wenn die erste Anweisung „PUT“ mit Fehler abgeschlossen ist, dann wird der Wert des Ausgangsparameters STATUS für eine Fehleranalyse gesichert. Abbildung 2-17

Zweiter Auftragsanstoß mittels Anweisung „PUT“ Wenn die erste Anweisung „PUT“ erfolgreich abgeschlossen ist und kein Auftrag läuft, dann wird ein weiterer Auftrag zum Senden von Daten mittels der Anweisung „PUT“ angestoßen. Die zweite Anweisung „PUT“ wird über den Eingangsparameter REQ aktiviert. Der Eingangsparameter ADDR_1 verweist auf einen Datenbereich in der Partner-CPU, in den die Daten geschrieben werden. Die geschriebenen Daten werden in der Partner-CPU im DB201 ab Adresse 160 gespeichert. Der Eingangsparameter SD_1 verweist auf einen Datenbereich in der lokalen CPU, der die zu versendenden Daten enthält. Nachdem die ersten 160 Byte Daten übertragen worden sind, werden weitere 80 Byte Daten aus dem DB200 ab Adresse 160 gesendet. Die Ausgangsparameter DONE, ERROR und STATUS werden für die Auftragsauswertung benötigt und sind nur im gleichen Zyklus gültig. Wenn die zweite Anweisung „PUT“ erfolgreich oder mit Fehler abgeschlossen ist, dann wird der Eingangsparameter REQ der ersten Anweisung auf den Wert 0 zurückgesetzt, so dass im nächsten Zyklus des FB111 wieder der erste Auftrag mittels der Anweisung „GET“ angestoßen werden kann. Die Anweisung „GET“ und „PUT“ werden erneut sequentiell aufgerufen, so dann neue Daten empfangen und gesendet werden.

Page 14: „PUT“ und „GET“ FAQ y November 2012 - Siemens AG · Service & Support Answers for industry. Deckblatt S7-Kommunikation mit S7-1200 „PUT“ und „GET“ FAQ y November 2012

2 Beschreibung des Anwenderprogramms

14 S7-Kommunikation mit S7-1200

V1.0, Beitrags-ID: 65975617

Abbildung 2-18

Abbildung 2-19

Wenn die zweite Anweisung „PUT“ mit Fehler abgeschlossen ist, dann wird der Wert des Ausgangsparameters STATUS für eine Fehleranalyse gesichert. Abbildung 2-20