21
http://support.automation.siemens.com/WW/view/de/82212115 FAQ 10/2013 S7-Kommunikation mit PUT/GET S7-1500 CPUs

y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

  • Upload
    lydan

  • View
    226

  • Download
    1

Embed Size (px)

Citation preview

Page 1: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

http://support.automation.siemens.com/WW/view/de/82212115

FAQ 10/2013

S7-Kommunikation mit PUT/GET S7-1500 CPUs

Page 2: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 2

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die dort genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen).

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

Inhaltsverzeichnis 1 Einleitung ........................................................................................................ 3 2 Projektierung der S7-Verbindung .................................................................. 4

2.1 Projektierung der S7-Verbindung ....................................................... 4 2.2 Eigenschaften der projektierten S7-Verbindung ................................. 6 2.3 Zugriff über PUT/GET-Kommunikation durch entfernten Partner

(PLC, HMI, OPC, …) erlauben ........................................................... 8 2.4 Taktmerker konfigurieren ................................................................... 9

3 Anwenderprogramm der aktiven S7-1500 CPU ........................................... 10

3.1 OB100 ............................................................................................. 10 3.2 OB1 ................................................................................................. 10 3.3 PUT_GET (FB1) .............................................................................. 11 3.3.1 Daten schreiben .............................................................................. 11 3.3.2 Daten lesen ..................................................................................... 14 3.4 SEND_DATA (DB1) ......................................................................... 18 3.5 RCVD_DATA (DB2)......................................................................... 18

4 Anwenderprogramm der passiven S7-1500 CPU ........................................ 20

4.1 SEND_DATA (DB2) ......................................................................... 20 4.2 RCVD_DATA (DB3)......................................................................... 20

Page 3: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

1 Einleitung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

1 Einleitung Für den Datenaustausch über die integrierte PROFINET- und Industrial Ethernet-Schnittstelle der S7-1500 CPU können Sie u. a. die S7-Kommunikation nutzen. Für die S7-Kommunikation stehen folgende Kommunikationsanweisungen zur Verfügung. PUT zum Senden von Daten GET zum Empfangen von Daten

In STEP 7 V12 SP1 Upd2 (TIA Portal) finden Sie die o. g. Kommunikations-anweisungen in der Task Card „Anweisungen“ in der Palette „Kommunikation > S7-Kommunikation“. Dieses Beispiel zeigt, wie Sie eine S7-Verbindung zwischen zwei S7-1500 CPUs projektieren, um mit den Kommunikationsanweisungen PUT und GET Daten zwischen den S7-1500 CPUs auszutauschen.

Page 4: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

2 Projektierung der S7-Verbindung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 4

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

2 Projektierung der S7-Verbindung 2.1 Projektierung der S7-Verbindung

In der Netzsicht des Hardware- und Netzwerkeditor legen Sie die Verbindungspartner, zwei S7.1500 CPUs, an und vernetzen Sie diese. Gehen Sie folgendermaßen vor, um eine S7-Verbindung zwischen den zwei S7-1500 CPUs graphisch anzulegen: Tabelle 2-1

Nr. Beschreibung

1. In der Netzsicht klicken Sie auf die Schaltfläche „Verbindungen“. Damit ist der Verbindungsmodus aktiviert.

2. Wählen Sie den Verbindungstyp „S7-Verbindung“ aus.

Page 5: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

2 Projektierung der S7-Verbindung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 5

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Nr. Beschreibung

3. Ziehen Sie den Mauscursor bei gedrückter Maustaste von der S7-1500 CPU, von der die S7-Verbindung ausgehen soll, auf die S7-1500 CPU, bei der die S7-Verbindung enden soll.

4. Lassen Sie auf dem Zielgerät die Maustaste los, um die S7-Verbindung zwischen

den zwei S7-1500 CPUs zu erstellen.

Ergebnis Eine spezifizierte Verbindung ist angelegt. Der Verbindungsweg ist hervorgehoben dargestellt. Die Verbindung ist in der Verbindungstabelle eingetragen.

Abbildung 2-1

Page 6: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

2 Projektierung der S7-Verbindung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 6

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

2.2 Eigenschaften der projektierten S7-Verbindung

Das Register „Eigenschaften“ im Inspektorfenster zeigt die Eigenschaften zu der projektierten S7-Verbindung. Dazu gehören: Allgemeine Verbindungsparameter Lokale ID Besondere Verbindungseigenschaften Adressdetails

Allgemeine Verbindungsparameter In der Parametergruppe „Allgemein“ unter den Eigenschaften der S7-Vebrindung werden allgemeine Verbindungsparameter angezeigt, die den lokalen Verbindungsendpunkt identifizieren. Sie haben hier die Möglichkeit, den Verbindungsweg zuzuordnen und die Verbindungspartner vollständig zu spezifizieren. Abbildung 2-2

Lokale ID Hier wird die lokale ID der Baugruppe angezeigt, von der aus die S7-Verbindung betrachtet wird (lokaler Partner). Sie können die lokale ID ändern. Das ist dann notwendig, wenn Sie bereits Kommunikations-Funktionsbausteine programmiert haben und Sie die dort angegebene Lokale ID für die S7-Verbindung verwenden wollen.

Page 7: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

2 Projektierung der S7-Verbindung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 7

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 2-3

Besondere Verbindungseigenschaften Anzeige der Verbindungseigenschaften Einseitig

Einseitig bedeutet, dass der Verbindungspartner Server für diese Verbindung ist und nicht aktiv senden oder empfangen kann.

Aktiver Verbindungsaufbau In diesem Beispiel ist eine zweiseitige S7-Verbindung projektiert, d. h. Sie können einstellen, welcher Verbindungspartner den aktiven Part übernimmt.

Betriebszustandsmeldungen senden In diesem Beispiel sendet der lokale Partner keine Betriebszustands-meldungen an den Verbindungspartner.

Abbildung 2-4

Adressdetails Anzeige der Adressdetails der S7-Verbindung. Bei einem unspezifizierten Partner können die Werte für Baugruppenträger und Steckplatz geändert werden. Alle anderen Werte werden aus der aktuellen Konfiguration ermittelt und sind nicht änderbar.

Page 8: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

2 Projektierung der S7-Verbindung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 8

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 2-5

2.3 Zugriff über PUT/GET-Kommunikation durch entfernten Partner (PLC, HMI, OPC, …) erlauben

Für beide S7-1500 CPUs, zwischen denen die S7-Verbindung projektiert ist, muss der Zugriff über PUT/GET-Kommunikation durch entfernten Partner (PLC, HMI, OPC, …) erlaubt werden. Selektieren Sie die CPU in der Gerätkonfiguration der ersten S7-1500 Station. Aktivieren Sie im Inspektorfenster unter „Eigenschaften > Allgemein > Schutz“ die Option „Zugriff über PUT/GET-Kommunikation durch entfernten Partner (PLC, HMI, OPC, …) erlauben.“ Abbildung 2-6

Selektieren Sie die CPU in der Gerätkonfiguration der zweiten S7-1500 Station. Aktivieren Sie im Inspektorfenster unter „Eigenschaften > Allgemein > Schutz“ die Option „Zugriff über PUT/GET-Kommunikation durch entfernten Partner (PLC, HMI, OPC, …) erlauben.“ Abbildung 2-7

Page 9: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

2 Projektierung der S7-Verbindung

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 9

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

2.4 Taktmerker konfigurieren

In der aktiven S7-1500 CPU ist das Merkerbyte 0 als Taktmerker konfiguriert. Über diesen Taktmerker wird der Sende- und Empfangsauftrag angestoßen. Selektieren Sie die aktive CPU in der Gerätekonfiguration der S7-1500 Station. Aktivieren Sie im Inspektorfenster unter „Eigenschaften > Allgemein > System- und Taktmerker“ die Option „Verwendung des Taktmerkerbytes aktivieren“. In diesem Beispiel ist für das Taktmerkerbyte die Adresse 0 eingetragen. Abbildung 2-8

Page 10: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 10

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

3 Anwenderprogramm der aktiven S7-1500 CPU Das Anwenderprogramm der aktiven S7-1500 CPU besteht aus folgenden Bausteinen: Tabelle 3-1

Baustein Symbolischer Name Beschreibung

OB100 Startup Anlauf-OB Der OB100 wird beim Neustart (Warmstart) der CPU ausgeführt.

OB1 Main Im OB1 wird der Baustein wird der Baustein PUT_GET (FB1) inklusive des dazugehörigen Instanz-Datenbausteins PUT_GET_DB (DB5) zyklisch aufgerufen.

FB1 PUT_GET Im Baustein PUT_GET (FB1) werden die Kommunikationsanweisungen PUT und GET aufgerufen, um Daten über die projektierte S7-Verbindung zu übertragen.

DB5 PUT_GET_DB Instanz-Datenbaustein des Bausteins PUT_GET (FB1)

DB1 SEND_DATA Im Datenbaustein SEND_DATA (DB1) sind die Daten gespeichert, die mit der Anweisung PUT an den Kommunikationspartner gesendet werden (Sendedaten).

DB2 RCVD_DATA Im Datenbaustein RCVD_DATA (DB2) werden die Daten gespeichert, die mit der Anweisung GET vom Kommunikationspartner empfangen werden (Empfangsdaten).

3.1 OB100

Beim Neustart (Warmstart) der CPU wird der M50.0 „TRUE“ auf den Wert „1“ gesetzt. Mit dem Merker M50.0 „TRUE“ wird der Auftrag zum Senden sowie zum Empfangen von Daten freigegeben. Abbildung 3-1

3.2 OB1

Im OB1 wird der Baustein wird der Baustein PUT_GET (FB1) inklusive des dazugehörigen Instanz-Datenbausteins PUT_GET_DB (DB5) zyklisch aufgerufen.

Page 11: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 11

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 3-2

3.3 PUT_GET (FB1)

3.3.1 Daten schreiben

Im Baustein PUT-GET (FB1) wird die Kommunikationsanweisung „PUT“ aufgerufen. Diese finden Sie in der Task Card „Anweisungen“ in der Palette „Kommunikation > S7-Kommunikation“. Mit der Anweisung PUT schreiben Sie Daten in die remote S7-1500 CPU.

Hinweis Dies ist nur möglich, wenn für die Partner-CPU in den Eigenschaften der CPU unter „Schutz“ die Funktion „Zugriff über PUT/GET-Kommunikation durch entfernten Partner erlauben“ aktiviert wurde.

Mit der Anweisung PUT können Sie nicht auf Bausteine zugreifen, die mit der Zugriffsart „optimiert“ erstellt wurden.

Abbildung 3-3

Eingangsparameter der Anweisung „PUT“ Die Anweisung „PUT“ hat folgende Eingangsparameter. Tabelle 3-2

Eingangsparameter Datentyp Beschreibung

REQ BOOL Steuerparameter, aktiviert den Datenaustausch bei steigender Flanke

ID WORD Adressierungsparameter zur Angabe der Verbindung zur Partner-CPU

ADDR_1 REMOTE Zeiger auf denjenigen Bereich in der Partner-CPU, in den geschrieben werden soll.

SD_1 VARIANT Zeiger auf denjenigen Bereich in der eigenen CPU, der die zu versendenden Daten enthält.

Page 12: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 12

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Ausgangsparameter der Anweisung „PUT“ Die Anweisung „PUT“ hat folgende Ausgangsparameter. Tabelle 3-3

Ausgangsparameter Datentyp Beschreibung

DONE BOOL Zustandsparameter DONE 0: Auftrag wurde noch nicht gestartet oder

wird noch ausgeführt 1: Auftrag wurde fehlerfrei ausgeführt

ERROR BOOL Zustandsparameter ERROR und STATUS, Fehleranzeige ERROR = 0

STATUS hat den Wert: – 0000H: weder Warnung noch Fehler – <> 0000H: Warnung, STATUS liefert

detaillierte Auskunft ERROR = 1

Es liegt ein Fehler vor, STATUS liefert detaillierte Auskunft über die Art des Fehlers

STATUS WORD

Auftrag zum Schreiben der Daten aktivieren Der Auftrag zum Schreiben der Daten wird über eine positive Flanke am Eingang REQ der Anweisung PUT aktiviert. Die Aktivierung des Schreibauftrags wird mit dem Taktmerker M0.7 und der Variable PUT_BUSY gesteuert. Wenn der Schreibauftrag läuft ist PUT_BUSY auf den Wert „1“ gesetzt. Somit ist kein Anstoß eines neuen Schreibauftrags möglich. Abbildung 3-4

Erst wenn der aktuelle Schreibauftrag erfolgreich oder mit Fehler abgeschlossen ist, wird PUT_BUSY auf den Wert 0 zurückgesetzt, so dass ein neuer Schreibauftrag aktiviert werden kann. Abbildung 3-5

Page 13: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 13

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Verbindungsparametrierung Die Verbindungsparametrierung für die Anweisung PUT erfolgt im Inspektorfenster des Programmeditors. Dazu selektieren Sie die im Baustein PUT_GET (FB1) aufgerufene Anweisung PUT. Öffnen Sie das Register „Konfiguration“ im Inspektorfenster. In der Bereichsnavigation des Registers „Konfiguration“ finden Sie die Gruppe „Verbindungsparameter“. Diese Gruppe enthält die Verbindungsparametrierung. Definieren Sie die Verbindungsendpunkte der S7-Vebrindung, über welche die Daten gesendet und empfangen werden. In diesem Beispiel wählen Sie als Partner die S7-1500 CPU aus, die passiv am Aufbau der projektierten S7-Vebrindung beteiligt ist. Schnittstellentyp, Schnittstellenname und Adresse der Kommunikationspartner werden nach Definition des Verbindungsendpunktes automatisch eingetragen. Wählen Sie den Verbindungsnamen der S7-Verbindung aus, über welche die Daten übertragen werden sollen. Die ID der ausgewählten S7-Verbindung wird automatisch am Eingangsparameter ID der Anweisung PUT eingetragen.

Abbildung 3-6

Empfangsdatenbereich in der Partner-CPU Am Eingangsparameter ADDR_1 der Anweisung PUT geben Sie an, in welchen Speicherbereich der Partner-CPU die Daten geschrieben werden sollen. Es ist nur absolute Adressierung zulässig. In diesem Bespiel werden 10 Byte Daten ab Adresse 0 im DB3 der Partner-CPU gespeichert: P#DB1.DBX0.0 BYTE 10

Sendedatenbereich in der lokalen CPU Am Eingangsdatenbereich SD_1 der Anweisung PUT geben Sie den Speicherbereich der lokalen CPU an, aus dem die Daten gelesen werden sollen. In diesem Beispiel werden 10 Byte Daten ab Adresse 0 des DB3 der lokalen CPU gesendet. P#DB3.DBX0.0 BYTE 10

Page 14: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 14

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Fehlerauswertung Tritt während der Bearbeitung der Anweisung „PUT“ ein Fehler auf, wird der STATUS der Anweisung „PUT“ in der statischen Variable SAVE_STATUS_PUT gespeichert. Abbildung 3-7

Wird die Anweisung PUT erfolgreich ausgeführt und abgeschlossen wird die Variable SAVE_STATUS_PUT auf den Wert 33 (dez) = 21 (hex) gesetzt. Abbildung 3-8

3.3.2 Daten lesen

Im Baustein PUT-GET (FB1) wird die Kommunikationsanweisung „GET“ aufgerufen. Diese finden Sie in der Task Card „Anweisungen“ in der Palette „Kommunikation > S7-Kommunikation“. Mit der Anweisung GET lesen Sie Daten aus der remoten S7-1500 CPU.

Hinweis Dies ist nur möglich, wenn für die Partner-CPU in den Eigenschaften der CPU unter „Schutz“ die Funktion „Zugriff über PUT/GET-Kommunikation durch entfernten Partner erlauben“ aktiviert wurde.

Mit der Anweisung GET können Sie nicht auf Bausteine zugreifen, die mit der Zugriffsart „optimiert“ erstellt wurden.

Abbildung 3-9

Page 15: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 15

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Eingangsparameter der Anweisung „GET“ Die Anweisung „GET“ hat folgende Eingangsparameter. Tabelle 3-4

Eingangsparameter Datentyp Beschreibung

REQ BOOL Steuerparameter, aktiviert den Datenaustausch bei steigender Flanke

ID WORD Adressierungsparameter zur Angabe der Verbindung zur Partner-CPU

ADDR_1 REMOTE Zeiger auf denjenigen Bereich in der Partner-CPU, der gelesen werden soll.

RD_1 VARIANT Zeiger auf denjenigen Bereich in der eigenen CPU, in den die gelesenen Daten abgelegt werden.

Ausgangsparameter der Anweisung „GET“ Die Anweisung „GET“ hat folgende Ausgangsparameter. Tabelle 3-5

Ausgangsparameter Datentyp Beschreibung

NDR BOOL Zustandsparameter NDR 0: Auftrag wurde noch nicht gestartet oder

wird noch ausgeführt 1: Auftrag wurde fehlerfrei ausgeführt

ERROR BOOL Zustandsparameter ERROR und STATUS, Fehleranzeige ERROR = 0

STATUS hat den Wert: – 0000H: weder Warnung noch Fehler – <> 0000H: Warnung, STATUS liefert

detaillierte Auskunft ERROR = 1

Es liegt ein Fehler vor, STATUS liefert detaillierte Auskunft über die Art des Fehlers

STATUS WORD

Auftrag zum Lesen der Daten aktivieren Der Auftrag zum Lesen der Daten wird über eine positive Flanke am Eingang REQ der Anweisung GET aktiviert. Die Aktivierung des Leseauftrags wird mit dem Taktmerker M0.7 und der Variable GET_BUSY gesteuert. Wenn der Leseauftrag läuft ist GET_BUSY auf den Wert „1“ gesetzt. Somit ist kein Anstoß eines neuen Leseauftrags möglich.

Page 16: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 16

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 3-10

Erst wenn der aktuelle Leseauftrag erfolgreich oder mit Fehler abgeschlossen ist, wird GET_BUSY auf den Wert 0 zurückgesetzt, so dass ein neuer Leseauftrag aktiviert werden kann. Abbildung 3-11

Verbindungsparametrierung Die Verbindungsparametrierung für die Anweisung GET erfolgt im Inspektorfenster des Programmeditors. Dazu selektieren Sie die im Baustein PUT_GET (FB1) aufgerufene Anweisung GET. Öffnen Sie das Register „Konfiguration“ im Inspektorfenster. In der Bereichsnavigation des Registers „Konfiguration“ finden Sie die Gruppe „Verbindungsparameter“. Diese Gruppe enthält die Verbindungsparametrierung. Definieren Sie die Verbindungsendpunkte der S7-Vebrindung, über welche die Daten gesendet und empfangen werden. In diesem Beispiel wählen Sie als Partner die S7-1500 CPU aus, die passiv am Aufbau der projektierten S7-Vebrindung beteiligt ist. Schnittstellentyp, Schnittstellenname und Adresse der Kommunikationspartner werden nach Definition des Verbindungsendpunktes automatisch eingetragen. Wählen Sie den Verbindungsnamen der S7-Verbindung aus, über welche die Daten übertragen werden sollen. Die ID der ausgewählten S7-Verbindung wird automatisch am Eingangsparameter ID der Anweisung GET eingetragen.

Page 17: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 17

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 3-12

Sendedatenbereich in der Parter-CPU Am Eingangsparameter ADDR_1 der Anweisung GET geben Sie den Speicherbereich der Partner-CPU an, aus dem die Daten gelesen werden sollen. Es ist nur absolute Adressierung zulässig. In diesem Bespiel werden 10 Byte Daten ab Adresse 0 aus dem DB2 der Partner-CPU gesendet. P#DB2.DBX0.0 BYTE 10

Empfangsdatenbereich in der lokalen CPU Am Eingangsdatenbereich RD_1 der Anweisung GET geben Sie an, in welchen Speicherbereich der lokalen CPU die Daten geschrieben werden sollen. In diesem Beispiel werden 10 Byte Daten ab Adresse 0 im DB2 der lokalen CPU gespeichert. P#DB2.DBX0.0 BYTE 10

Fehlerauswertung Tritt während der Bearbeitung der Anweisung „GET“ ein Fehler auf, wird der STATUS der Anweisung „GET“ in der statischen Variable SAVE_STATUS_GET gespeichert. Abbildung 3-13

Page 18: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 18

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Wird die Anweisung GET erfolgreich ausgeführt und abgeschlossen, wird die Variable SAVE_STATUS_GET auf den Wert 33 (dez) = 21 (hex) gesetzt. Abbildung 3-14

3.4 SEND_DATA (DB1)

Im Datenbaustein SEND_DATA (DB1) der lokalen CPU sind die Daten gespeichert, die zur Partner-CPU übertragen werden. In den Eigenschaften des Datenbausteins SEND_DATA (DB1) deaktivieren Sie unter Attribute die Funktion „Optimierter Bausteinzugriff“. Abbildung 3-15

3.5 RCVD_DATA (DB2)

Im Datenbaustein RCVD_DATA (DB2) der lokalen CPU werden die Daten abgelegt, die von der Partner-CPU empfangen werden. In den Eigenschaften des Datenbausteins RCVD_DATA (DB2) deaktivieren Sie unter Attribute die Funktion „Optimierter Bausteinzugriff“.

Page 19: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

3 Anwenderprogramm der aktiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 19

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 3-16

Page 20: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

4 Anwenderprogramm der passiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 20

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

4 Anwenderprogramm der passiven S7-1500 CPU Im Anwenderprogramm der passiven S7-1500 CPU werden keine Kommunikationsanweisungen für die Datenübertragung aufgerufen. Es werden nur Datenbausteine benötigt, in denen die Sende- und Empfangsdaten gespeichert werden.

4.1 SEND_DATA (DB2)

Im Datenbaustein SEND_DATA (DB2) sind die Daten gespeichert, die von der aktiven S7-1500 CPU aus der passiven S7-1500 CPU gelesen werden. In den Eigenschaften des Datenbausteins SEND_DATA (DB2) deaktivieren Sie unter Attribute die Funktion „Optimierter Bausteinzugriff“. Abbildung 4-1

4.2 RCVD_DATA (DB3)

Im Datenbaustein RCVD_DATA (DB3) werden die Daten abgelegt, die von aktiven S7-1500 CPU in die passive S7-1500 CPU geschrieben werden. In den Eigenschaften des Datenbausteins RCVD_DATA (DB2) deaktivieren Sie unter Attribute die Funktion „Optimierter Bausteinzugriff“.

Page 21: y S7-Kommunikation mit PUT/GET - Siemens AG · 1 Einleitung S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 3 C o p y r i g h t ¤ S i e m e n s A G 2 0 1 3 A l

4 Anwenderprogramm der passiven S7-1500 CPU

S7-Kommunikation mit PUT/GET Beitrags-ID: 82212115, V1.0, 10/2013 21

Cop

yrig

ht

Sie

men

s A

G 2

013

All

right

s re

serv

ed

Abbildung 4-2