RD_DPAR: Datensatz einer Baugruppe lesen (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
RD_DPAR: Datensatz einer Baugruppe lesen

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

  • Aufrufkennung (Bytes 2 und 3) bzw. Fehlercode

  • Byte 1: B#16#00, falls kein Fehler. Andernfalls Funktionskennung aus DPV1-PDU: Im Fehlerfall bei Datensatz lesen B#16#DE, im Fehlerfall bei Datensatz schreiben B#16#DF. Falls kein DPV1-Protokollelement benutzt wird: B#16#C0.

  • Byte 4: herstellerspezifische Erweiterung der Fehlerkennung

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.