Step 7 Korrektes Einbinden eines Profibus Devices mit kompletter Diagnose

XerXes777

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin gerade dabei, ein Profibus-Gerät in mein System zu integrieren und möchte alle Diagnosefunktionen nutzen, die der Hersteller anbietet. Es handelt sich um meine erste Integration eines solchen Geräts in ein Profibus-Netzwerk.

Meine Hardware besteht aus einer SIMATIC 300 CPU 317-2 PN/DP und einem Murr Cube67+ BN-P 56521 (https://shop.murrelektronik.de/SAP-Import-Shop-1/Cube67-Busknoten-56521.html) mit vier Strängen, an denen mehrere digitale Eingangs-Module angeschlossen sind. Ich verwende den SIMATIC Manager als Software, und der Profibus ist auf eine Geschwindigkeit von 1,5 Mbit/s eingestellt.

In der Dokumentation des Cube67+ (pdf 56521_hdb_x_35.zip) finde ich auf Seite 35 Informationen zur Diagnose über den Feldbus, darunter vier Diagnosearten und eine Beschreibung der einzelnen Bytes.
Ich möchte alle vier Diagnosearten (Normdiagnose, kennungsbezogene Diagnose, gerätebezogene Diagnose, kanalbezogene Diagnose) programmieren. Meine Frage ist, wie ich auf die Daten zugreifen kann? Woher weiß ich, welchen Baustein ich zum Auslesen verwenden soll? Woher weiß ich, welche Adresse ich ansprechen soll?

Auf Seite 45 sind einige Befehle für DP-V1 aufgeführt. Es gibt ein kleines Demo-Projekt, aber das geht nur auf diese Befehle ein, nicht auf die Diagnose.
Die Diagnoseadresse 2042DEZ wird in der Hardware-Konfiguration des Geräts verwendet, zusammen mit den Bausteinen SFB53 und SFB52. Als Adresse verwenden sie 7FAHEX, als Index zum Beispiel 10 oder 13. Diese Zahlen sind auch in der Dokumentation zu finden. MLEN wird mit 1 oder 2 beschrieben.
Zu den DP-V1-Befehlen: Obwohl sie mir momentan nicht so wichtig sind, habe ich dazu noch Fragen. In der Dokumentation werden verschiedene Indexe beschrieben. Laut dem Demo-Programm sind dies auch gleichzeitig die Adressen, oder?

Ich vermute, dass viele Hersteller ein ähnliches System haben und es ist mir wichtig, das Prinzip dahinter zu verstehen. In unserem Unternehmen haben wir einige Anlagen, bei denen die Diagnosefunktionen vom Maschinenhersteller nicht programmiert wurden.

Bisher habe ich folgende Erkenntnisse:
  1. Eingangs- und Ausgangsadressen lassen sich leicht in der HW-Konfig mit der GSD erstellen.
  2. Durch die GSD erhalte ich wieder mehrere Steckplätze, auf denen ich meine Stränge und die jeweiligen Module bestimmen kann.
  3. Das Hauptgerät bekommt eine Diagnoseadresse. Soweit so gut, aber wofür kann ich diese nutzen?
  4. Mit SFB52 und SFB53 kann ich in einen Index schreiben und lesen. Was ist mit Index gemeint? Und welche Daten kann ich daraus beziehen?
  5. Dann habe ich noch den SFC13 gefunden. Kann ich damit die Diagnose Daten auslesen?
Ich frage mich, was der Zweck hinter diesen verschiedenen Bausteinen ist, da ich ja eigentlich nur aus einer Adresse eine bestimmte Datenlänge schreiben/lesen möchte. Es gibt ja unzählige Hersteller, und diese drei Standardbausteine funktionieren einfach? Bedeutet das, dass die Diagnose immer auf derselben Adresse liegt?

Vielen Dank im Voraus für eure Hilfe und Ratschläge!
 
Zurück
Oben