Beschreibung
Mit der Anweisung übertragen Sie den Datensatz RECORD zu der mittels ID adressierten Komponente. Es kann sich dabei um eine zentral steckende Baugruppe oder eine dezentrale Komponente (PROFIBUS DP oder PROFINET IO) handeln.
Mit LEN (ausgeblendet) geben Sie die Länge des zu übertragenden Datensatzes in Bytes vor. Den Quellbereich RECORD sollten Sie daher mindestens LEN Bytes lang wählen.
Der Wert TRUE des Ausgangsparameters DONE zeigt an, dass der Datensatz erfolgreich übertragen wurde.
Falls bei der Datensatzübertragung ein Fehler auftrat, wird dies über den Ausgangsparameter ERROR angezeigt. Der Ausgangsparameter STATUS enthält in diesem Fall die Fehlerinformation.
|
Hinweis Wenn ein DPV1-Slave über GSD-Datei projektiert ist (GSD ab Rev. 3) und die DP-Schnittstelle des DP-Masters auf "S7-kompatibel" eingestellt ist, dürfen im Anwenderprogramm keine Datensätze mit "WRREC" zu den E/A-Baugruppen geschrieben werden. Der DP-Master adressiert in diesem Fall den falschen Steckplatz (projektierter Steckplatz + 3). Abhilfe: Schnittstelle des DP-Masters auf "DPV1" umstellen. |
|
Hinweis Die Schnittstelle der Anweisung "WRREC" ist identisch mit der des in der Norm "PROFIBUS and PROFINET Guideline Communication Function Blocks on PROFIBUS DP and PROFINET IO" definierten Anweisung "WRREC". |
Arbeitsweise
"WRREC" ist eine asynchron arbeitende Anweisung, d. h. die Bearbeitung erstreckt sich über mehrere Aufrufe. Sie starten die Datensatzübertragung, indem Sie "WRREC" mit REQ = 1 aufrufen.
Über den Ausgangsparameter BUSY und die mittleren zwei Bytes des Ausgangsparameters STATUS wird der Zustand des Auftrags angezeigt. Dabei entsprechen die mittleren zwei Bytes von STATUS dem Ausgangsparameter RET_VAL der asynchron arbeitenden Anweisungen.
Siehe auch: Unterschied zwischen synchron und asynchron arbeitenden Anweisungen.
Beachten Sie, dass Sie dem Aktualparameter von RECORD bei allen zu ein und demselben Auftrag gehörenden Aufrufen von "WRREC" denselben Wert zuweisen. Dasselbe gilt für die Aktualparameter von LEN.
Die Datensatzübertragung ist abgeschlossen, wenn der Ausgangsparameter BUSY den Wert FALSE angenommen hat.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "WRREC":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
REQ |
Input |
BOOL |
E, A, M, D, L |
REQ = 1: Datensatzübertragung durchführen |
|
ID |
Input |
DWORD |
E, A, M, D, L oder Konstante |
logische Adresse der DP-Slave/PROFINET IO-Komponente (Baugruppe bzw. Modul) |
|
INDEX |
Input |
INT |
E, A, M, D, L oder Konstante |
Datensatznummer |
|
LEN |
Input |
INT |
E, A, M, D, L oder Konstante |
(ausgeblendet) maximale Länge des zu übertragenden Datensatzes in Bytes |
|
DONE |
Output |
BOOL |
E, A, M, D, L |
Datensatz wurde übertragen |
|
BUSY |
Output |
BOOL |
E, A, M, D, L |
BUSY = 1: Der Schreibvorgang ist noch nicht beendet. |
|
ERROR |
Output |
BOOL |
E, A, M, D, L |
ERROR = 1: Beim Schreibvorgang trat ein Fehler auf. |
|
STATUS |
Output |
DWORD |
E, A, M, D, L |
Bausteinstatus bzw. Fehlerinformation Zur Interpretation des Parameters STATUS siehe Parameter STATUS. |
|
RECORD |
InOut |
ANY |
E, A, M, D, L |
Datensatz Hinweis: Beachten Sie, dass der Parameter RECORD bei S7-300-CPUs immer die vollständige Angabe der DB-Parameter erfordert (Bsp.: P#DB13.DBX0.0 Byte 100). Das Weglassen einer expliziten DB-Nr. ist für S7-300-CPUs unzulässig und führt zu einer Fehlermeldung im Anwenderprogramm. |
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
|
Hinweis Falls Sie die Anweisung für das Schreiben eines Datensatzes bei PROFINET IO einsetzen, werden negative Werte in den Parametern INDEX und LEN als 16-Bit vorzeichenlose ganze Zahl interpretiert. |