Instructions

Table Of Contents
Erweiterte Anweisungen
9.3 Dezentrale E/A (PROFINET, PROFIBUS oder AS-i)
S7-1200 Automatisierungssystem
428 Systemhandbuch, V4.2.3, 08/2018, A5E02486681-AL
9.3.10.4
DPNRM_DG (Diagnosedaten eines DP-Slaves lesen)
Die Anweisung DPNRM_DG (Diagnosedaten lesen) können Sie für PROFIBUS einsetzen.
Tabelle 9- 93 Anweisung DPNRM_DG
KOP/FUP
SCL
Beschreibung
ret_val := DPNRM_DG(
req:=_bool_in_,
laddr:=_word_in_,
record=>_variant_out_,
busy=>_bool_out_);
Mit der Anweisung DPNRM_DG können Sie die aktuellen Diagnose-
daten eines DP-Slaves in dem Format, das in EN 50 170 Band 2,
PROFIBUS angegeben ist, lesen. Die ausgelesenen Daten werden
nach einer fehlerfreien Datenübertragung in den von RECORD ange-
gebenen Zielbereich eingegeben.
Tabelle 9- 94 Datentypen für die Parameter von DPNRM_DG
Parameter und Datentyp
Datentyp
Beschreibung
REQ
IN
Bool
REQ=1: Leseanforderung
LADDR IN HW_DPSLAVE Konfigurierte Diagnoseadresse des DP-Slaves: muss die Adresse der
Station und nicht des E/A-Geräts sein. Um die Diagnoseadresse zu
ermitteln, wählen Sie in der Netzsicht der "Gerätekonfiguration" die
Station (und nicht das Abbild des Geräts).
Geben Sie die Adressen im Hexadezimalformat ein. Beispiel: Diagno-
seadresse 1022 bedeutet LADDR:=W#16#3FE.
RET_VAL OUT Int Tritt ein Fehler auf, während die Funktion aktiv ist, enthält der Rückga-
bewert einen Fehlercode. Tritt kein Fehler auf, wird die Länge der tat-
sächlich übertragenen Daten in RET_VAL eingegeben.
RECORD OUT Variant Zielbereich für die Diagnosedaten, die gelesen wurden. Die Mindest-
länge des zu lesenden Datensatzes (bzw. der Zielbereich) beträgt 6
Byte. Die maximale Länge des zu sendenden Datensatzes beträgt 240
Byte.
Normslaves können mehr als 240 Bytes an Diagnosedaten liefern,
maximal 244 Bytes. Dann werden nur die ersten 240 Bytes in den Ziel-
bereich übertragen, und das Überlaufbit wird in den Daten gesetzt.
BUSY
OUT
Bool
BUSY=1: Der Leseauftrag ist noch nicht beendet.
Sie starten den Leseauftrag, indem Sie dem Eingangsparameter REQ im Aufruf der
Anweisung DPNRM_DG den Wert 1 zuweisen. Der Leseauftrag wird asynchron ausgeführt,
in anderen Worten, es sind dafür mehrere Aufrufe der Anweisung DPNRM_DG erforderlich.
Der Status des Auftrags wird von den Ausgangsparametern RET_VAL und BUSY
angegeben.