DPWR_DAT: Konsistente Daten eines DP-Normslaves schreiben (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
DPWR_DAT: Konsistente Daten eines DP-Normslaves schreiben

Beschreibung

Mit der Anweisung übertragen Sie die Daten in RECORD konsistent zum adressierten DP-Normslave / PROFINET IO-Device und ggf. ins Prozessabbild (nämlich dann, wenn Sie den betroffenen Adressbereich des DP-Normslaves als Konsistenzbereich in einem Prozessabbild projektiert haben).

Für die Maximallänge der zu übertragenden Daten gilt: Die Maximallänge entnehmen Sie der Dokumentation Ihrer CPU. Die Datenübertragung erfolgt synchron, d. h. nach Beendigung der Anweisung ist der Schreibvorgang abgeschlossen.

Der Quellbereich muss dieselbe Länge aufweisen, die Sie für die selektierte Baugruppe projektiert haben. Bei einem DP-Normslave mit modularem Aufbau können Sie nur auf eine Baugruppe des DP-Slaves zugreifen.

Hinweis

Eine CPU der Baureihen S7-1200/1500 unterstützt bis zu 64 Bytes konsistente Daten. Bei Bereichen konsistenter Daten größer als 4 Bytes müssen Sie die Daten über die Anweisung "DPWR_DAT" in ein Modul oder Gerät schreiben. 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 DPWR_DAT grundsätzlich für alle Adressen akzeptiert. Sie können also auf eigene Verantwortung mit DPWR_DAT auf Adressen zugreifen, für die Sie keine Gesamtkonsistenz projektiert haben.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "DPWR_DAT":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

LADDR

Input

WORD

E, A, M, D, L oder Konstante

Projektierte Anfangsadresse aus dem PAA-Bereich der Baugruppe, auf die geschrieben werden soll.

Hinweis: Adresse muss hexadezimal angegeben werden. Z. B. Anfangsadresse 100 bedeutet: LADDR:=W#16#64.

RECORD

Input

ANY

E, A, M, D, L

Quellbereich für die zu schreibenden 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.

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.

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.

808x

Systemfehler bei externer DP-Anschaltung

8090

  • Für die angegebene logische Basisadresse haben sie keine Baugruppe projektiert.

  • Sie haben die Einschränkung über die Länge der konsistenten Daten nicht beachtet. (Bei S7-400-CPUs nur bis einschließlich Firmware-Stand V5.3; ab Firmware-Stand V6.0 entfällt diese Ursache.)

  • Sie haben die Anfangsadresse im Parameter LADDR nicht hexadezimal angegeben.

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, auf die/das Sie konsistente Daten schreiben können.

80A1

Beim Zugriff auf die Peripherie wurde ein Zugriffsfehler erkannt

80B0

  • Bei S7-300-CPUs (alle Firmware-Stände) und S7-400-CPUs bis einschließlich Firmware-Stand V5.3: Slaveausfall an externer DP-Anschaltung

  • Bei S7-400-CPUs ab Firmware-Stand V6.0: Slaveausfall oder Zugriffsfehler auf nicht-konsistente Daten an externer DP-Anschaltung (Dass ein Fehler aufgetreten ist, wird der CPU durch den CP gemeldet.)

80B1

Die Länge des angegebenen Quellbereichs ist ungleich der projektierten Nutzdatenlänge.

80B2

Systemfehler bei externer DP-Anschaltung

80B3

Systemfehler bei externer DP-Anschaltung

80C1

Die Daten des auf der Baugruppe vorangegangenen Schreibauftrags sind von der Baugruppe noch nicht bearbeitet.

80C2

Systemfehler bei externer DP-Anschaltung

80Fx

Systemfehler bei externer DP-Anschaltung

85xy

Systemfehler bei externer DP-Anschaltung

8xyy

allgemeine Fehlerinformation

Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL 

Anwendungsbereich

Sie benötigen die Anweisung "DPWR_DAT", weil Sie mit den Transferbefehlen, die auf die Peripherie bzw. auf das Prozessabbild der Ausgänge zugreifen, maximal vier Bytes zusammenhängend schreiben können.

Hinweis

Sie können konsistente Daten ggf. auch über das Prozessabbild der Ausgänge schreiben.
Ob Ihre S7-300-CPU diese Funktionalität beherrscht, entnehmen Sie der zugehörigen Dokumentation.

  • Alle S7-400-CPUs beherrschen diese Funktionalität.

  • Nutzen Sie beim Schreiben konsistenter Daten nicht beide Möglichkeiten gleichzeitig: Nutzen Sie entweder "DPWR_DAT" oder das Schreiben über das Prozessabbild der Ausgänge.

Vorsicht

Peripherizugriff

Vermeiden Sie bei Verwendung von "DPWR_DAT" Zugriffe auf Peripheriebereiche, denen Teilprozessabbilder mit OB6x-Anbindung (Taktsynchronalarme) zugeordnet sind.

Datenkonsistenz

Siehe auch: Datenkonsistenz.