Kommunikation
11.8 S7-Kommunikation
Bei der steigenden Flanke am Parameter REQ lädt die Leseanweisung (GET) oder die
Schreibanweisung (PUT) die Parameter ID, ADDR_1 und RD_1 (GET) oder SD_1 (PUT).
• Bei GET: Die entfernte CPU gibt die angeforderten Daten an die Empfangsbereiche aus
(RD_x). Sie beginnt damit im nächsten Zyklus. Wenn die Leseanweisung fehlerfrei beendet
wurde, wird der Parameter NDR auf 1 gesetzt. Eine neue Anweisung kann erst gestartet
werden, wenn die vorherige Anweisung beendet ist.
• Bei PUT: Die lokale CPU beginnt, die Daten (SD_x) an die Adresse (ADDR_x) im Speicher der
entfernten CPU zu senden. Wenn die Schreibanweisung fehlerfrei beendet wurde, gibt die
entfernte CPU eine Ausführungsquittierung aus. Der Parameter DONE der Anweisung PUT
wird dann auf 1 gesetzt. Eine neue Schreibanweisung kann erst gestartet werden, wenn die
vorherige Anweisung beendet ist.
Hinweis
Um Datenkonsistenz sicherzustellen, prüfen Sie stets, ob die Anweisung beendet wurde
(NDR = 1 bei GET bzw. DONE = 1 bei PUT), bevor Sie auf die Daten zugreifen oder eine weitere
Lese- oder Schreibanweisung ausführen.
Die Parameter ERROR und STATUS liefern Informationen zum Zustand der Lese- (GET) oder
Schreibanweisung (PUT).
Tabelle 11-72 Fehlerinformation
ERROR
STATUS (dezi‐
mal)
0
11
0
25
1
1
1
2
1
4
1
8
1
10
1
12
1
20
1
27
802
Beschreibung
•
Der neue Auftrag kann nicht wirksam werden, weil der vorherige Auftrag noch nicht
beendet ist.
•
Der Auftrag wird nun in einer Prioritätsklasse mit geringerer Priorität verarbeitet.
Kommunikation gestartet. Auftrag wird bearbeitet.
Kommunikationsprobleme, zum Beispiel:
•
Verbindungsbeschreibung nicht geladen (lokal oder entfernt)
•
Verbindung unterbrochen (Beispiel: Kabel, CPU ausgeschaltet oder CM/CB/CP ist in
STOP)
•
Verbindung zum Partner noch nicht aufgebaut
Negative Quittierung vom Partnergerät. Die Aufgabe kann nicht ausgeführt werden.
Fehler in den Sendebereichs-Pointern (RD_x bei GET, SD_x bei PUT) bezüglich Datenlänge
oder Datentyp.
Zugriffsfehler auf der Partner-CPU
Zugriff auf den lokalen Anwenderspeicher nicht möglich (Beispiel: Zugriffsversuch auf
gelöschten DB)
Als der SFB aufgerufen wurde:
•
Wurde ein Instanz-DB angegeben, der nicht zu GET oder PUT gehört.
•
Wurde kein Instanz-DB angegeben, sondern ein gemeinsam genutzter DB
•
Wurde kein Instanz-DB gefunden (Laden eines neuen Instanz-DB).
•
Maximale Anzahl paralleler Aufträge/Instanzen überschritten
•
Die Instanzen wurden bei CPU-RUN überladen
Dieser Zustand ist während der ersten Ausführung der Anweisung GET oder PUT möglich.
Es gibt keine entsprechende Anweisung GET oder PUT in der CPU.
S7-1200 Automatisierungssystem
Systemhandbuch, V4.5 05/2021, A5E02486681-AO