URCV_S: Daten unkoordiniert empfangen (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
URCV_S: Daten unkoordiniert empfangen

Beschreibung

Die Anweisung "URCV_S" empfängt bei S7-300 asynchron Daten von einer remoten Partner-Anweisung vom Typ "USEND_S" und kopiert sie in die projektierten Empfangsbereiche.

Die Anweisung ist empfangsbereit, wenn am Eingang EN_R eine logische "1" anliegt. Mit EN_R=0 kann ein laufender Auftrag abgebrochen werden.

Mit jeder positiven Flanke an EN_R werden die Parameter R_ID, ID und RD_1 übernommen. Nach Abschluss eines Auftrags können Sie den Parametern R_ID, ID und RD_1 neue Werte zuweisen.

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

  • Anzahl

  • Länge

  • Datentyp

Der erfolgreiche Abschluss des Kopiervorgangs wird am Zustandsparameter NDR mit einer logischen "1" angezeigt. Der Parameter R_ID muss bei beiden Anweisungen identisch sein.

Parameter

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

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

EN_R

Input

BOOL

E, A, M, D, L

Steuerparameter enabled to receive, signalisiert Empfangsbereitschaft, wenn der Eingang gesetzt ist.

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 

NDR

Output

BOOL

E, A, M, D, L

Zustandsparameter NDR:

  • 0: Auftrag wurde noch nicht gestartet oder läuft noch.

  • 1: Auftrag wurde erfolgreich abgeschlossen.

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.

RD_1

InOut

ANY

M, D

Zeiger auf den i-ten Empfangsbereich:
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

9

Overrun-Warnung: Ältere Empfangsdaten wurden von neueren Empfangsdaten überschrieben.

0

11

Warnung: Die Empfangsdaten werden 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 Empfangsbereichszeigern RD_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 "URCV_S" gehört, angegeben.

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

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

1

18

  • R_ID existiert bereits in der Verbindungs-ID

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

1

19

Die zugehörige Anweisung "USEND_S" sendet schneller Daten als diese von "URCV_S" in die Empfangsbereiche kopiert werden können.

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 diesen Baustein existiert in der CPU kein Funktionscode.

Datenkonsistenz

Die Daten werden konsistent empfangen, wenn Sie Folgendes beachten:

Nachdem der Zustandsparameter NDR den Wert "1" angenommen hat, müssen Sie "URCV_S" mit dem Wert "0" an EN_R sofort erneut aufrufen. Damit wird gewährleistet, dass der Empfangsbereich nicht bereits überschrieben wird, bevor Sie ihn ausgewertet haben. Werten Sie den Empfangsbereich RD_1 vollständig aus, bevor Sie den Baustein wieder mit dem Wert "1" am Steuereingang EN_R aufrufen.