Beschreibung
Die Anweisung sendet Archivdaten an dafür angemeldete Bedien- und Beobachtungssysteme. Diese teilen im Anmeldetelegramm der CPU die relevante Archivnummer mit. Die Archivdaten können je nach Arbeitsspeicher der CPU und verwendetem Operandenbereich bis zu 65 534 Byte groß sein. Beim Aufbau der Archivdaten müssen Sie die Vorgaben des verwendeten Bedien- und Beobachtungssystems berücksichtigen.
Die Aktivierung des Sendevorgangs erfolgt nach Aufruf des Bausteins und positiver Flanke am Steuereingang REQ. Die Anfangsadresse der zu sendenden Archivdaten wird durch SD_1 vorgegeben, die Länge des Datenblocks durch LEN. Das Senden der Daten erfolgt asynchron zur Bearbeitung des Anwenderprogramms. Der erfolgreiche Abschluss des Sendevorgangs wird am Zustandsparameter DONE mit "1" angezeigt. Bei einer positiven Flanke am Steuereingang R wird ein laufender Sendevorgang abgebrochen.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "AR_SEND":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
REQ |
Input |
BOOL |
E, A, M, D, L |
Steuerparameter request |
|
R |
Input |
BOOL |
E, A, M, D, L |
Steuerparameter reset: Abbruch des aktuellen Auftrags |
|
ID |
Input |
WORD |
E, A, M, D oder Konstante |
Datenkanal für Meldungen: W#16#EEEE |
|
AR_ID |
Input |
C_AR_SEND |
E, A, M, D, L oder Konstante |
Archivnummer (nicht erlaubt: 0); AR_ID wird nur beim Erstaufruf ausgewertet. Danach gilt bei jedem Aufruf von AR_SEND mit dem zugehörigen Instanz-DB die beim Erstaufruf verwendete Archivnummer. Die Archivnummer wird automatisch vergeben. Dadurch ist die Konsistenz der Archivnummern gewährleistet. |
|
DONE |
Output |
BOOL |
E, A, M, D, L |
Zustandsparameter DONE: Sendevorgang abgeschlossen |
|
ERROR |
Output |
BOOL |
E, A, M, D, L |
Zustandsparameter ERROR: |
|
STATUS |
Output |
WORD |
E, A, M, D, L |
Zustandsparameter STATUS: Anzeige einer Fehlerinformation |
|
SD_1 |
InOut |
ANY |
E, A, M, D, T, Z |
Zeiger auf Archivdaten. Die Längenangabe wird nicht ausgewertet. Zulässig sind nur die Datentypen BOOL (nicht erlaubt: Bitfeld), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME. Sie müssen die Archivdaten zielsystemspezifisch aufbauen. Hinweis: Wenn der ANY-Pointer auf einen DB zugreift, ist der DB immer zu spezifizieren (z.B.: P# DB10.DBX5.0 Byte 10). |
|
LEN |
InOut |
WORD |
E, A, M, D, L |
Länge des zu sendenden Datenblocks in Byte |
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Parameter ERROR und STATUS
Die folgende Tabelle enthält alle spezifischen Fehlerinformationen, die über die Parameter ERROR und STATUS ausgegeben werden können.
|
ERROR |
STATUS (dezimal) |
Erläuterung |
|---|---|---|
|
0 |
11 |
Warnung: Neuer Auftrag ist unwirksam, da vorangegangener Auftrag noch nicht abgeschlossen ist. |
|
0 |
25 |
Die Kommunikation wurde angestoßen. Der Auftrag ist in Bearbeitung. |
|
1 |
1 |
Kommunikationsprobleme |
|
1 |
2 |
Negative Quittung, Funktion nicht ausführbar |
|
1 |
3 |
Für die angegebene AR_ID liegt keine Anmeldung vor. |
|
1 |
4 |
|
|
1 |
5 |
Resetanforderung wurde ausgeführt |
|
1 |
7 |
RESET-Auftrag irrelevant, da die laufende Funktion abgeschlossen oder nicht aktiviert wurde (Baustein im falschen Zustand) |
|
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 |
AR_ID wurde bereits von einem AR_SEND verwendet. |
|
1 |
20 |
Zu wenig Arbeitsspeicher vorhanden. |
Datenkonsistenz
Um Datenkonsistenz zu gewährleisten, dürfen Sie den aktuell benutzten Teil des Sendebereichs SD_1 erst dann wieder beschreiben, wenn der aktuelle Sendevorgang abgeschlossen ist. Dies ist der Fall, wenn der Zustandsparameter DONE den Wert "1" annimmt.