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:
|
|
ERROR STATUS |
Output Output |
BOOL WORD |
E, A, M, D, L E, A, M, D, L |
Zustandsparameter ERROR und STATUS, Fehleranzeige:
|
|
SD_1 |
InOut |
ANY |
M, D |
Zeiger auf den Sendebereich. 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:
|
|
0 |
25 |
Die Kommunikation wurde angestoßen. Der Auftrag ist in Bearbeitung. |
|
1 |
1 |
Kommunikationsprobleme, z. B.
|
|
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
|
|
1 |
18 |
|
|
1 |
20 |
|
|
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.