Beschreibung
Mit der Anweisung lesen Sie den Datensatz mit der Nummer INDEX der adressierten Komponente aus den projektierten Systemdaten. Es kann sich dabei um eine zentral steckende Baugruppe oder eine dezentrale Komponente (PROFIBUS DP oder PROFINET IO) handeln.
Der Wert TRUE des Ausgangsparameters VALID zeigt an, dass der Datensatz erfolgreich in den Zielbereich RECORD übertragen wurde. In diesem Fall enthält der Ausgangsparameter LEN die Länge der gelesenen Daten in Bytes.
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.
Arbeitsweise
Die Anweisung "RD_DPAR" ist eine asynchron arbeitende Anweisung, d. h. die Bearbeitung erstreckt sich über mehrere Aufrufe. Sie starten die Datensatzübertragung, indem Sie "RD_DPAR" mit REQ = 1 aufrufen.
Über den Ausgangsparameter BUSY und die Bytes 2 und 3 des Ausgangsparameters STATUS wird der Zustand des Auftrags angezeigt. Dabei entsprechen die Bytes 2 und 3 von STATUS dem Ausgangsparameter RET_VAL der asynchron arbeitenden Anweisungen.
Siehe auch: Unterschied zwischen synchron und asynchron arbeitenden Anweisungen.
Die Datensatzübertragung ist abgeschlossen, wenn der Ausgangsparameter BUSY den Wert FALSE angenommen hat.
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "RD_DPAR":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
REQ |
Input |
BOOL |
E, A, M, D, L |
REQ = 1: Anforderung zum Lesen |
|
LADDR |
Input |
WORD |
E, A, M, D, L oder Konstante |
Irgendeine logische Adresse der Baugruppe In Bit 15 geben Sie an, ob es sich um eine Ein- (Bit 15 = 0) oder eine Ausgangsadresse (Bit 15= 1) handelt. |
|
INDEX |
Input |
INT |
E, A, M, D, L oder Konstante |
Datensatznummer |
|
VALID |
Output |
BOOL |
E, A, M, D, L |
Neuer Datensatz wurde empfangen und ist gültig |
|
BUSY |
Output |
BOOL |
E, A, M, D, L |
BUSY = 1: Der Auftrag ist noch nicht beendet. |
|
ERROR |
Output |
BOOL |
E, A, M, D, L |
ERROR = 1: Beim Lesevorgang trat ein Fehler auf. |
|
STATUS |
Output |
DWORD |
E, A, M, D, L |
|
|
LEN |
Output |
INT |
E, A, M, D, L |
Länge der gelesenen Datensatzinformation |
|
RECORD |
InOut |
ANY |
E, A, M, D, L |
Zielbereich für den gelesenen 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".
Parameter ERROR und STATUS
Siehe auch: PARM_MOD: Datensätze einer Baugruppe übertragen.