Herunterladen Inhalt Inhalt Diese Seite drucken

Eingabedaten Eines Dp-Slave Lesen; Beispiel Für Konsistentes Lesen - Siemens SIMATIC NET CP 5613 Handbuch

Programmierschnittstelle dp-base
Inhaltsverzeichnis

Werbung

Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes
4.3.1

Eingabedaten eines DP-Slave lesen

Konsistentes Lesen
Für die Eingabedaten jedes einzelnen Slave gibt es einen fest zugeordneten Da-
tenbereich im Prozessabbild des CP 5613/CP 5614.
Zum konsistenten Lesen der Eingabedaten eines Slave sperrt Ihr Anwenderpro-
gramm diesen Datenbereich zunächst gegen Aktualisierung von Seiten des DP-
Masters, greift dann darauf zu und gibt ihn anschließend wieder frei.
Das Sperren erfolgt durch das Schreiben der Slave-Nummer in ein Steuerregister
im Prozessabbild. Das Freigeben erfolgt durch Schreiben des Wertes
DPR_DP_UNLOCK oder einer anderen Slave-Nummer in das selbe Register.
Beispiel für konsistentes Lesen
Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim
„DP_get_pointer"-Aufruf erhalten hat. Dann werden 200 Byte des Slave Nr. 5 wie
folgt in einen lokalen Puffer „buf" kopiert:
/* Sperren des Datenbereichs gegen Aktualisierung */
p->ctr.D_lock_in_slave_adr = 5;
/* Daten kopieren */
memcpy(buf, &p->pi.slave_in[5].data[0], 200);
/* Sperre wieder aufheben */
p->ctr.D_lock_in_slave_adr = DPR_DP_UNLOCK;
Programmierschnittstelle DP-Base für CP 5613/CP 5614
C79000-G8900-C139-04
167

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Simatic net cp 5614

Inhaltsverzeichnis