×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 2190197, Beitragsdatum: 17.08.2012
(4)
Bewerten

Wie lesen Sie die Diagnose eines PROFIBUS DP-Slaves mit dem SFC13 "DPNRM_DG" aus und wie werten Sie die Daten im Anwenderprogramm aus?

  • Beitrag
  • Betrifft Produkt(e)

Beschreibung
Jeder DP-Slave hat Slave-Diagnosedaten, die nach EN 50 170 Volume 2, PROFIBUS aufgebaut sind. Mit des Systemfunktion SFC13 "DPNRM_DG" (read diagnostic data of a DP slave) lesen Sie die aktuellen Diagnosedaten eines DP-Slaves in der Form, wie sie durch EN 50 170 Volume 2, PROFIBUS festgelegt sind.

Die folgende Tabelle zeigt den Aufbau der Slave-Diagnosedaten.
 

Byte Beschreibung
0 Stationsstaus 1
1 Stationsstatus 2
2 Stationsstatus 3
3 Master-Stationsnummer
4 Herstellerkennung (high byte)
5 Herstellerkennung (low byte)
6 ... weitere slave spezifische Diagnose
Tabelle 01

Hinweis
Im Handbuch des DP-Slaves finden Sie detaillierte Informationen zum Aufbau der Slave-Diagnosedaten.

Wenn ein diagnosefähiger PROFIBUS DP-Slave eine Änderung seines Diagnosezustands erkennt, stellt er eine Diagnosealarmanforderung an die CPU:

  • Es liegt eine Störung vor oder eine Komponente muss gewartet werden oder beides (kommendes Ereignis)
  • Es liegt keine Störung mehr vor, und keine Komponente muss mehr gewartet werden (gehendes Ereignis)

Daraufhin ruft das Betriebssystem den OB82 auf. Der OB82 enthält in seinen lokalen Variablen die logische Basisadresse sowie eine vier Byte lange Diagnoseinformation des DP-Slaves, der die Diagnoseanforderung gestellt hat.

In dem folgenden Programmbeispiel werden die Diagnosedaten einer ET 200S ausgelesen und ausgewertet.

Beschreibung des Programmbeispiel

OB1
Im OB1 wird die Systemfunktion SFC13 "DPNRM_DG" im OB1 aufgerufen, um die Diagnosedaten der ET 200S auszulesen.

Die folgende Tabelle zeigt die Eingänge der SFC13 "DPNRM_DG".
 

Eingang Datentyp Beschreibung
REQ BOOL REQ=1: Anforderung zum Lesen
LADDR WORD Projektierte Diagnoseadresse des DP-Slaves (logische Basisadresse)
Tabelle 02

Die folgende Tabelle zeigt die Ausgänge der SFC13 "DPNRM_DG".
 

Ausgang Datentyp Beschreibung
RET_VAL INT Tritt während der Bearbeitung der Funktion ein Fehler auf, enthält der Rückgabewert einen Fehlercode. Falls kein Fehler auftrat, steht in RET_VAL die Länge der tatsächlichen übertragenen Daten.
RECORD ANY Zielbereich für die gelesenen Diagnosedaten. Es ist nur der datentyp BYTE zulässig. Die Mindestlänge des zu lesenden Datensatzes bzw. Zielbereichs beträgt 6. Die Maximallänge des zu lesenden Datensatzes beträgt 240.
BUSY BOOL BUSY=1: Leseauftrag ist noch nicht beendet.
Tabelle 03

Der Lesevorgang wird gestartet, wenn beim Aufruf der SFC13 "DPNRM_DG" der Eingang REQ mit 1 belegt ist. Der Eingang REQ des SFC13 "DPNRM_DG" wird beim Aufruf des OB82 mit 1 belegt.
Am Eingang RECORD der SFC13 "DPNRM_DG" geben Sie den Zielbereich an, in den die gelesenen Diagnosedaten nach erfolgreicher Datenübertragung gespeichert werden. In diesem Beispiel werden die Diagnosedaten im Datenbaustein DB82 gespeichert.
Wenn der Lesevorgang abgeschlossen ist, wird der Eingang REQ wieder mit 0 belegt, so dass ein neuer Lesevorgang gestartet werden kann.


Bild 01

OB82
Wenn die ET 200S eine Diagnoseanforderung stellt, wird der Eingang REQ der SFC13 "DPNRM_DG" mit 1 belegt. Beim Aufruf der SFC13 "DPNRM_DG" im OB1 ist der Eingang REQ nun mit 1 belegt, so dass der Lesevorgang gestartet wird.
In den lokalen Variablen des OB82 ist die logische Basisadresse der ET 200S gespeichert. Im OB82 weisen Sie die logische Basisadresse der ET 200S dem Eingang LADDR der SFC13 "DPNRM_DG" zu.


Bild 02

Auswertung der Diagnosedaten im Anwenderprogramm
Die Diagnosedaten, die mit der SFC13 "DPNRM_DG" ausgelesen und im DB82 gespeichert wurden, werden im OB1 ausgewertet.

In diesem Beispiel besteht die ET 200S aus folgenden Modulen:

  • Modul 1: Powermodul
  • Modul 2: Digital-Ausgabemodul DO
  • Modul 3: Digital-Eingabemodul DI

Im Anwenderprogramm werden durch die Auswertung der Diagnosedaten die folgenden Zustände für jedes der o. g. Module erfasst.

  • Modul ist in Ordnung
  • Modulfehler
  • falsches Modul
  • kein Modul gesteckt

Download
Der Download enthält das Projekt "Diagnose.zip".
Kopieren Sie die Daten "S7_Project.zip" in ein separates Verzeichnis und starten Sie die Datei anschließend per Doppelklick. Nach dem Entpacken der Projektdaten können Sie das Projekt mit STEP 7 öffnen und bearbeiten.

Diagnose.zip ( 10710 KB )

Weitere Informationen
Detaillierte Informationen zum Thema zur Systemfunktion SFC13 "DPNRM_DG" und zum OB82 finden Sie im Handbuch "System- und Standardfunktionen für S7-300/400 Band 1 und Band 2" unter der Beitrags-ID 44240604.
Weitere Informationen zum Aufbau der Slave-Diagnosedaten finden Sie im Handbuch des DP-Slaves, z. B. im Handbuch des Interfacemoduls der ET 200S unter der Beitrags-ID 25548014.

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.
Unterstützung zur Statistik
Mit dieser Funktion werden die IDs des Suchergebnisses nach gewünschter Anzahl ausgegeben (Format .txt)

Liste generieren
URL kopieren
Diese Seite in neuem Design anzeigen
mySupport Cockpit