SEND_440: Daten senden (S7-300, S7-400) - STEP 7

PtP-Kopplung CP 440 (S7-300, S7-400)

ft:publication_title
PtP-Kopplung CP 440 (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
SEND_440: Daten senden

Beschreibung

Die Anweisung SEND_440 überträgt einen Datenblock von einem Datenbaustein, spezifiziert durch die Parameter DB_NO, DBB_NO und LEN, zum CP 440. Die Anweisung SEND_440 wird zur Datenübertragung im Zyklus oder alternativ in einem zeitgesteuerten Programm statisch (ohne Bedingungen) aufgerufen.

Arbeitsweise

Mit einer positiven Flanke am Eingang REQ wird die Übertragung der Daten angestoßen. Je nach Datenmenge kann eine Datenübertragung über mehrere Aufrufe (Programmzyklen) laufen.

Die Anweisung SEND_440 kann mit Signalzustand "1" am Parametereingang R im Zyklus aufgerufen werden. Es wird damit die Übertragung zum CP 440 abgebrochen und die Anweisung SEND_440 in den Grundzustand versetzt. Daten, die der CP 440 bereits erhalten hat, werden noch an den Kommunikationspartner gesendet. Steht statisch Signalzustand "1" am Eingang R an, so ist das Senden ausgeschaltet.

Mit dem Parameter LADDR wird die Adresse des anzusprechenden CP 440 angegeben.

Der Ausgang DONE zeigt "Auftragsende ohne Fehler" an. 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. DONE und ERROR/STATUS werden auch bei RESET der Anweisung SEND_440 ausgegeben. 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

REQ

INPUT

BOOL

Auftragsanstoß bei positiver Flanke

R

INPUT

BOOL

Auftragsabbruch

Laufender Auftrag wird abgebrochen. Senden gesperrt.

LADDR

INPUT

INT

Basisadresse des CP 440

Die Basisadresse wird aus STEP 7 entnommen.

DB_NO

INPUT

INT

Datenbausteinnummer

Sende-DB-Nr.:

CPU-spezifisch, Null ist nicht erlaubt

DBB_NO

INPUT

INT

Datenbytenummer

0 ≤ DBB_NO ≤ 8190 Sendedaten ab Datenbyte;

Offset ist CPU-spezifisch

LEN

INPUT

INT

Datenlänge

1 ≤ LEN ≤ 400, Angabe in Anzahl Byte

DONE 1

OUTPUT

BOOL

Auftrag fertig ohne Fehler

Parameter STATUS == 16#00;

ERROR 1

OUTPUT

BOOL

Auftrag abgebrochen mit Fehler

Parameter STATUS enthält die Fehlerinformation.

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 SEND_440 arbeitet mit einem Instanz-DB I_SEND_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#1E0F) können Sie einen genaueren Fehlerhinweis aus der Variablen SFCERR.

Zeitablaufdiagramm

Im folgenden Bild finden Sie das Verhalten der Parameter DONE und ERROR je nach Eingangsbeschaltung von REQ und R.

Hinweis

Der Eingang REQ ist flankengetriggert. Es genügt am Eingang REQ eine positive Flanke. Es muss nicht während der gesamten Übertragung das VKE (Verknüpfungsergebnis) auf "1" sein.

Regeln

Hinweis

Die Anweisung SEND_440 hat keine Parameterprüfung, bei falscher Parametrierung kann die CPU in den Zustand STOP verzweigen.