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. |