Beschreibung
Mit der Anweisung "DPRD_DAT" lesen Sie konsistente Daten eines DP-Normslaves/PROFINET IO-Devices aus, wobei für die Maximallänge Folgendes gilt:
-
Die Maximallänge entnehmen Sie der Dokumentation Ihrer CPU.
-
Falls bei der Datenübertragung kein Fehler auftrat, werden die gelesenen Daten in den durch RECORD aufgespannten Zielbereich eingetragen.
Der Zielbereich muss dieselbe Länge aufweisen, die Sie für die selektierte Baugruppe projektiert haben. Bei einem DP-Normslave mit modularem Aufbau bzw. mit mehreren DP-Kennungen können Sie mit einem "DPRD_DAT"-Aufruf jeweils nur auf die Daten einer Baugruppe/ DP-Kennung unter der projektierten Anfangsadresse zugreifen.
|
Hinweis Eine CPU der Baureihen S7-300/400 unterstützt bis zu 64 Bytes konsistente Daten. Bei Bereichen konsistenter Daten größer als 4 Bytes müssen Sie die Anweisung "DPRD_DAT" verwenden. Diese Anweisung kann bei Bedarf auch für einen Datenbereich ab 1 Byte verwendet werden. Bei einem Zugriffsfehler wird der Fehlercode W#16#8090 gemeldet. |
|
Hinweis S7-400-CPUs ab Firmware-Stand V6.0 Bei S7-400-CPUs ab Firmware-Stand V6.0 wird der Aufruf von DPRD_DAT grundsätzlich für alle Adressen akzeptiert. Sie können also auf eigene Verantwortung mit DPRD_DAT auf Adressen zugreifen, für die Sie keine Gesamtkonsistenz projektiert haben. |
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "DPRD_DAT":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
LADDR |
Input |
WORD |
E, A, M, D, L oder Konstante |
Projektierte Anfangsadresse aus dem E-Bereich der Baugruppe, aus der gelesen werden soll. Hinweis: Adresse muss hexadezimal angegeben werden. Z. B. Anfangsadresse 100 bedeutet: LADDR:=W#16#64. |
|
RET_VAL |
Return |
INT |
E, A, M, D, L |
Tritt während der Bearbeitung der Anweisung ein Fehler auf, enthält der Rückgabewert einen Fehlercode. |
|
RECORD |
Output |
ANY |
E, A, M, D, L |
Zielbereich für die gelesenen Nutzdaten. Er muss genauso lang sein, wie Sie für die selektierte Baugruppe projektiert haben. Es ist nur der Datentyp BYTE zulässig. 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 RET_VAL
|
Hinweis Falls Sie auf DPV1-Slaves zugreifen, können Fehlerinformationen dieser Slaves vom DP-Master an die Anweisung weitergereicht werden. Zur Beschreibung dieser Fehlerinformationen siehe STATUS[3] Parameter STATUS. |
|
Fehlercode (W#16#...) |
Erläuterung |
|---|---|
|
0000 |
Es ist kein Fehler aufgetreten. |
|
8090 |
|
|
8092 |
In ANY-Referenz ist eine Typangabe ungleich BYTE angegeben. |
|
8093 |
Für die unter LADDR angegebene logische Adresse existiert keine DP-Baugruppe/kein PROFINET IO-Device, von der/dem Sie konsistente Daten lesen können. |
|
80A0 |
Beim Zugriff auf die Peripherie wurde ein Zugriffsfehler erkannt |
|
80B0 |
|
|
80B1 |
Die Länge des angegebenen Zielbereichs ist ungleich der projektierten Nutzdatenlänge. |
|
80B2 |
Systemfehler bei externer DP-Anschaltung |
|
80B3 |
Systemfehler bei externer DP-Anschaltung |
|
80C0 |
Die Daten wurden noch nicht von der Baugruppe gelesen |
|
80C2 |
Systemfehler bei externer DP-Anschaltung |
|
80Fx |
Systemfehler bei externer DP-Anschaltung |
|
87xy |
Systemfehler bei externer DP-Anschaltung |
|
808x |
Systemfehler bei externer DP-Anschaltung |
|
8xyy |
allgemeine Fehlerinformation Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL |
Anwendungsbereich
Sie benötigen "DPRD_DAT", weil Sie mit den Ladebefehlen, die auf die Peripherie bzw. auf das Prozessabbild der Eingänge zugreifen, maximal vier Bytes zusammenhängend auslesen können.
|
Hinweis Sie können konsistente Daten ggf. auch über das Prozessabbild der Eingänge einlesen.
|
|
|
Vorsicht |
|
Peripheriezugriff Vermeiden Sie bei Verwendung von "DPRD_DAT" Zugriffe auf Peripheriebereiche, denen Teilprozessabbilder mit OB6x-Anbindung (Taktsynchronalarme) zugeordnet sind. |
|
Datenkonsistenz
Siehe auch: Abschnitt Datenkonsistenz.