Zweck der SFC 14
Sie benötigen die SFC 14 "DPRD_DAT", weil Sie mit den Ladebefehlen, die auf die Peripherie bzw. auf das Prozeßabbild der Eingänge zugreifen, maximal vier Bytes zusammenhängend auslesen können.
HinweisSie können konsistente Daten ggf. auch über das Prozeßabbild der Eingänge einlesen.
Ob Ihre S7-300-CPU diese Funktionalität beherrscht, können sie dem Handbuch Automatisierungssystem S7-300: Aufbauen entnehmen.
Alle S7-400-CPUs beherrschen diese Funktionalität.
VorsichtVermeiden Sie bei Verwendung der SFC 14 "DPRD_DAT" Zugriffe auf Peripheriebereiche, denen Teilprozeßabbilder mit OB6x-Anbindung (Taktsynchronalarme) zugeordnet sind.
Beschreibung
Mit der SFC 14 "DPRD_DAT" (read consistent data of a DP-normslave) lesen Sie konsistente Daten eines DP-Normslaves/PROFINET IO-Devices aus, wobei für die Maximallänge folgendes gilt: Die Maximallänge entnehmen Sie für die S7-300-CPUs den Handbüchern Automatisierungssystem S7-300: Aufbauen, ET 200S Interfacemodul IM151-7 CPU oder Basismodul BM147CPU. Bei den S7-400-CPUs entnehmen Sie die Maximallänge dem Handbuch Automatisierungssystem S7-400 CPU-Daten. Falls bei der Datenübertragung kein Fehler auftrat, werden die gelesenen Daten in den durch RECORD aufgespannten Zielbereich eingetragen.
Der Zielbereich muß dieselbe Länge aufweisen, die Sie für die selektierte Baugruppe mit STEP 7 projektiert haben.
Bei einem DP-Normslave mit modularem Aufbau bzw. mit mehreren DP-Kennungen können Sie mit einem SFC 14-Aufruf jeweils nur auf die Daten einer Baugruppe/ DP-Kennung unter der projektierten Anfangsadresse zugreifen.
HinweisEin Zugriff mit der SFC 14 "DPRD_DAT" ist nur auf drei oder mehr als 4 Byte lange Datenbereiche möglich. Andernfalls wird ein Zugriff mit dem Fehlercode W#16#8090 abgewiesen.
Parameter Dekla-
ration Daten-
typ Speicherbereich Beschreibung
LADDR INPUT WORD E, A, M, D, L, Konst. Projektierte Anfangsadresse aus dem E-Bereich der Baugruppe, aus der gelesen werden soll.Hinweis:
Adresse muß hexadezimal angegeben werden. Z.B. Anfangsadresse 100 bedeutet: LADDR:=W#16#64.
RET_VAL OUTPUT INT E, A, M, D, L Tritt während der Bearbeitung der Funktion 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 muß genauso lang sein, wie Sie für die selektierte Baugruppe mit STEP 7 projektiert haben. Es ist nur der Datentyp BYTE zulässig.
Fehlerinformationen
HinweisFalls Sie auf DPV1-Slaves zugreifen, können Fehlerinformationen dieser Slaves vom DP-Master an die SFC weitergereicht werden. Zur Beschreibung dieser Fehlerinformationen siehe Alarm von einem DP-Slave empfangen mit dem SFB 54 "RALRM" STATUS[3].
Fehlercode
(W#16#...) Erläuterung
0000 Es ist kein Fehler aufgetreten.
8090 · Für die angegebene logische Basisadresse haben sie keine Baugruppe projektiert, oder · Sie haben die Einschränkung über die Länge der konsistenten Daten nicht beachtet, oder· 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, von der/dem Sie konsistente Daten lesen können.
80A0 Beim Zugriff auf die Peripherie wurde ein Zugriffsfehler erkannt
80B0 Slaveausfall an externer DP-Anschaltung
80B1 Die Länge des angegebenen Zielbereichs ist ungleich der mit STEP 7 projektierten Nutzdatenlänge.
80B2 Systemfehler bei externer DP-Anschaltung
80B3 Systemfehler bei externer DP-Anschaltung
80C0 Die Daten wurden noch nicht von der Bauguppe 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 Fehlerauswertung mit dem Ausgangsparameter RET_VAL