Beschreibung
Die Anweisung RECV_440 überträgt Daten von dem CP 440 zu einem S7-Datenbereich, spezifiziert durch die Parameter DB_NO, DBB_NO und LEN. Die Anweisung RECV_440 wird zur Datenübertragung im Zyklus oder alternativ in einem zeitgesteuerten Programm statisch (ohne Bedingungen) aufgerufen. .
Arbeitsweise
Mit (statisch) Signalzustand "1" am Parameter EN_R wird die Überprüfung, ob Daten von der CP 440 zu lesen sind, freigegeben. Eine laufende Übertragung kann mit Signalzustand "0" am Parameter EN_R abgebrochen werden. Der abgebrochene Empfangsauftrag wird mit einer Fehlermeldung (STATUS-Ausgang) beendet. Der Empfang ist ausgeschaltet, solange der Signalzustand "0" am Parameter EN_R ansteht. Je nach Datenmenge kann eine Übertragung über mehrere Aufrufe (Programmzyklen) laufen.
Erkennt die Anweisung Signalzustand "1" am Parameter R, dann wird der momentane Übertragungsauftrag abgebrochen und die Anweisung RECV_440 in den Grundzustand versetzt. Der Empfang ist ausgeschaltet, solange der Signalzustand "1" am Parameter R ansteht.
Mit dem Parameter LADDR wird der anzusprechende CP 440 ausgewählt.
Der Ausgang NDR zeigt "Auftrag fertig ohne Fehler/Daten übernommen" an (alle Daten gelesen). ERROR zeigt einen aufgetretenen Fehler an. Im STATUS wird bei einem Fehler die entsprechende Ereignisnummer angezeigt. Ist kein Fehler aufgetreten, hat STATUS den Wert 0. NDR und ERROR/STATUS werden auch bei RESET der Anweisung RECV_440 ausgegeben (Parameter LEN == 16#00). Bei einem aufgetretenen Fehler wird das Binärergebnis BIE rückgesetzt. Wird der Baustein ohne Fehler beendet, hat das Binärergebnis den Zustand "1".
Parameter
|
Parameter |
Deklaration |
Datentyp |
Beschreibung |
|---|---|---|---|
|
EN_R |
INPUT |
BOOL |
Freigabe für Daten lesen |
|
R |
INPUT |
BOOL |
Auftragsabbruch Laufender Auftrag wird abgebrochen. Empfang gesperrt. |
|
LADDR |
INPUT |
INT |
Basisadresse des CP 440 Die Basisadresse wird in STEP 7 aus der Konfigurationstabelle entnommen. |
|
DB_NO |
INPUT |
INT |
Datenbausteinnummer Empfangs-DB-Nr.: CPU-spezifisch, Null ist nicht erlaubt |
|
DBB_NO |
INPUT |
INT |
Datenbytenummer Offset ist CPU-spezifisch |
|
NDR 1 |
OUTPUT |
BOOL |
Auftrag fertig ohne Fehler, Daten übernommen Parameter STATUS == 16#00; |
|
ERROR 1 |
OUTPUT |
BOOL |
Auftrag abgebrochen mit Fehler Parameter STATUS enthält die Fehlerinformation. |
|
LEN 1 |
OUTPUT |
INT |
Länge des empfangenen Telegramms 1 ≤ LEN ≤ 400, Angabe in Anzahl Byte |
|
STATUS 1 |
OUTPUT |
WORD |
Spezifikation des Fehlers Bei ERROR == 1 steht im Parameter STATUS die Fehlerinformation. |
|
1 Der Parameter steht bis zum nächsten Aufruf der Anweisung zur Verfügung! |
|||
Belegung im Datenbereich
Die Anweisung RECV_440 arbeitet mit einem Instanz-DB I_RECV_440 zusammen. Die DB-Nummer wird beim Aufruf mitgegeben. Ein Zugriff auf die Daten im Instanz-DB ist nicht zulässig.
|
Hinweis Ausnahme: Im Fehlerfall (STATUS == W#16#1E0E) können Sie einen genaueren Fehlerhinweis aus der Variablen SFCERR entnehmen |
Zeitablaufdiagramm
Im folgenden Bild finden Sie das Verhalten der Parameter NDR, LEN und ERROR je nach Eingangsbeschaltung von EN_R und R.
|
Hinweis Der Eingang EN_R ist statisch auf "1" zu legen. Während des gesamten Empfangsauftrages muss der Parameter EN_R mit dem VKE "1" (Verknüpfungsergebnis) versorgt werden. |
Regel
|
Hinweis Die Anweisung RECV_440 hat keine Parameterprüfung, bei falscher Parametrierung kann die CPU in den Zustand STOP verzweigen. |