USEND_S: Daten unkoordiniert senden (S7-300) - STEP 7

S7-Kommunikation (S7-300, S7-400)

ft:publication_title
S7-Kommunikation (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
USEND_S: Daten unkoordiniert senden

Beschreibung

Die Anweisung "USEND_S" sendet bei S7-300 Daten an eine remote Partner-Anweisung vom Typ "URCV_S". Der Sendevorgang verläuft ohne Koordination mit der Partner-Anweisung, d. h. die Datenübertragung erfolgt ohne Quittierung durch die Partner-Anweisung.

Der Sendevorgang erfolgt nach einer positiven Flanke an REQ. Mit jeder positiven Flanke an REQ werden die Parameter R_ID, ID und SD_1 übernommen. Nach Abschluss eines Auftrags können Sie den Parametern R_ID, ID und SD_1 neue Werte zuweisen.

Sie müssen jedoch darauf achten, dass die über die Parameter SD_1 und RD_1 (bei der zugehörigen Partner-Anweisung "URCV_S") definierten Bereiche übereinstimmen in:

  • Anzahl

  • Länge und

  • Datentyp.

Der Parameter R_ID muss bei beiden Anweisungen identisch sein.

Der erfolgreiche Abschluss des Sendevorgangs wird am Zustandsparameter DONE mit einer logischen "1" angezeigt.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "USEND_S":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

REQ

Input

BOOL

E, A, M, D, L

Steuerparameter request, aktiviert den Datenaustausch bei steigender Flanke.

ID

Input

WORD

M, D oder Konstante

Adressierungsparameter ID

Siehe auch: Gemeinsame Parameter der Anweisungen zur S7-Kommunikation 

R_ID

Input

DWORD

E, A, M, D, L oder Konstante

Adressierungsparameter R_ID

Siehe auch: Gemeinsame Parameter der Anweisungen zur S7-Kommunikation 

DONE

Output

BOOL

E, A, M, D, L

Zustandsparameter DONE:

  • 0: Auftrag wurde noch nicht gestartet oder wird noch ausgeführt

  • 1: Auftrag wurde fehlerfrei ausgeführt.

ERROR

STATUS

Output

Output

BOOL

WORD

E, A, M, D, L

E, A, M, D, L

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.

SD_1

InOut

ANY

M, D

Zeiger auf den Sendebereich.
Zulässig sind nur die Datentypen BOOL (nicht erlaubt: Bitfeld), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME, COUNTER, TIMER.

Hinweis: Wenn der ANY-Pointer auf einen DB zugreift, ist der DB immer zu spezifizieren (z. B.: P#DB10.DBX5.0 Byte 10).

Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".

Parameter ERROR und STATUS

ERROR

STATUS (dezimal)

Erläuterung

0

11

Warnung:

  • Neuer Auftrag ist unwirksam, da vorangegangener Auftrag noch nicht abgeschlossen ist.

  • Der Auftrag wird bereits in einer Prioritätsklasse mit niedrigerer Priorität bearbeitet.

0

25

Die Kommunikation wurde angestoßen. Der Auftrag ist in Bearbeitung.

1

1

Kommunikationsprobleme, z. B.

  • Verbindungsbeschreibung nicht geladen (lokal oder remote)

  • Verbindung unterbrochen (z. B. Kabel, CPU ausgeschaltet, CP in STOP)

  • Verbindung zum Partner noch nicht aufgebaut

  • Maximale Anzahl paralleler Aufträge/Instanzen ist überschritten

1

4

Fehler in den Sendebereichszeigern SD_1 bezüglich der Datenlänge oder des Datentyps.

1

10

Zugriff auf lokalen Anwenderspeicher nicht möglich (z. B. Zugriff auf gelöschten DB).

1

12

Beim Aufruf der Anweisung wurde

  • ein Instanz-DB, der nicht zu "USEND_S" gehört, angegeben

  • kein Instanz-DB, sondern ein Global-DB angegeben

  • ein Instanz-DB gefunden (Abhilfe: Laden Sie den zugehörigen Instanz-DB erneut).

1

18

  • R_ID existiert bereits in der Verbindung ID.

  • Die Instanzen wurden bei CPU-RUN überladen (STOP-RUN-Übergang der CPU oder des CP ist erforderlich).

1

20

  • Maximale Anzahl paralleler Aufträge/Instanzen ist überschritten

  • Die Instanzen wurden bei CPU-RUN überladen (STOP-RUN-Übergang der CPU oder des CP ist erforderlich.)

  • Ist beim Erstaufruf möglich

1

27

Für diese Anweisung existiert in der CPU kein Funktionscode.

Datenkonsistenz

Um Datenkonsistenz zu gewährleisten, dürfen Sie den Sendebereich SD_1 erst dann wieder beschreiben, wenn der aktuelle Sendevorgang abgeschlossen ist. Dies ist der Fall, wenn der Zustandsparameter DONE den Wert "1" annimmt.