TIA Profinet IO Diagnose - Auswertung mit Textliste im HMI (keine Systemdiagnose)

Draco Malfoy

Level-1
Beiträge
1.168
Reaktionspunkte
82
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen.

Habe eine Frage, mit welchem Baustein ich in einer 1513 CPU vernünftig eine Profinet IO Diagnose realisieren kann ? Vernünftig heißt, der Baustein gibt mir einen HEX-Wert zurück, und es existiert eine Liste mit HEX-Werten, die entsprechenden Zuständen meines IO-Devices zugeordnet werden können. Am Besten wäre ein Werkzeug, das mir Zustandswerte nach dem Standard des FB125 zurückmeldet, und sowohl Profibus Slaves als auch IO Devices in gleicher Weise auswerten kann! Aber sowas wird es wahrscheinlich nicht geben.

Hintegrund: Ich möchte in einer selbsgebauten Grafik der Maschine auf dem Panel dem Bediener plastisch anzeigen, welche Slaves / IO-Devices gestört, welche OK, und welche deaktiviert bzw. projektierungsmäßig nicht vorhanden sind. Dabei möchte ich eigentlich ungerne verschiedene Grafik / Textlisten für verschiedene Netze aufbauen. Und die Bediener sind von ihrem Ausbildungsgrad sowieso nur mäßig in der Lage zu unterscheiden, wo Profibus und wo Profinet dran geht. Für die heißt es "farbiges Kabel".

Ich habe bisher nichts (verwertbares, vernünftiges) gefunden. Hoffe, es gibt etwas und mir kann einer helfen. Vielen Dank!
 
Ich hatte mal einen Beitrag geschrieben diesbezüglich.

Such mal nach meinem Namen und Teilnehmerdiagnose SZL oooooder... *grübel* FB125.

Dabei ist ein Baustein entstanden, der mir ausgibt ob ein DP oder PN-Teilnehmer ausgefallen ist.
GGf. kann man noch ein wenig mehr Informationen auslesen, aber mir tat das damals so.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe ich gefunden, und auch das zugehörige Thema, vielen Dank für den Hinweis. Bist Du Dir sicher, daß dein Baustein, oder auch der von LL in einer 1513 CPU funktionieren ?
 
... das kommt m.E. auf den DB-Typ an. Der darf dafür sicherlich nicht optimiert sein - ansonsten sollte das (allerdings nicht getestet) so funktionieren ...

Gruß
Larry
 
Auf der 1500 gibts da ganz schöne neue Möglichkeiten.
Am einfachsten gehts wohl mit "Device_States" (oder ähnlich), der gibt ein Sammelbit und ein Bit für jeden gestörten Busteilnehmer.
Ebenfalls gibts auf den Comfort-Panels schöne SystemDiagnosen, ua. ist da auch die ganze Bus-Diagnose mit drin.
 
Ebenfalls gibts auf den Comfort-Panels schöne SystemDiagnosen, ua. ist da auch die ganze Bus-Diagnose mit drin.
Ich habe oben im Titel des Themas schwarz auf weiß geschrieben, daß ich keine Systemdiagnose haben möchte. Ich habe im Beitrag ebenfalls deutlich geschrieben, daß ich eine selbst gebaute Grafik zur Anzeige von den Gerätezuständen in der gesamten Maschine verwenden möchte.
Auf der 1500 gibts da ganz schöne neue Möglichkeiten.
Am einfachsten gehts wohl mit "Device_States" (oder ähnlich), der gibt ein Sammelbit und ein Bit für jeden gestörten Busteilnehmer.
Das musst Du bitte näher erläutern, was das für Bausteine sind und was man mit denen machen kann.
 
Zuletzt bearbeitet:
Man Tippt das im TIA ein und drückt F1...
Ich muss sagen, deine Stellungnahme hier finde ich nicht sonderlich hilfreich.

Einerseits tuts Du die Problembeschreibung offenbar erst gar nicht lesen (für wen schreibe ich das eigentlich ...?) und zweitens, wenn man Dich dann höflich darauf hinweist, und dann genau so höflich bittet, deine anderen konstruktiven Vorschläge doch mal bitte zu erläutern, antwortest Du in einer Form, die mir ziemlich unverschämt vorkommt.
 
Zuletzt bearbeitet:
Am Besten wäre ein Werkzeug, das mir Zustandswerte nach dem Standard des FB125 zurückmeldet, und sowohl Profibus Slaves als auch IO Devices in gleicher Weise auswerten kann!
Am einfachsten gehts wohl mit "Device_States"
Das musst Du bitte näher erläutern, was das für Bausteine sind und was man mit denen machen kann.
Man Tippt das im TIA ein und drückt F1...
Naja, ganz unrecht hat Chefmech nicht.

Eine kurze Google-Suche nach "S7-1500 Device States" ergibt:
Handbuch schrieb:
Anweisung „DeviceStates“
Mit der Anweisung „DeviceStates“ geben Sie den Status der Baugruppen eines
E/A-Systems (PROFIBUS-DP oder PROFINET-IO) aus.

Siehe Supportbeitrag:
https://support.industry.siemens.com/cs/document/68011497?lc=de-WW

Das scheint eine kurze Übersicht zu sein, was es so für Diagnosemöglichkeiten auf S7-1500 gibt.
DeviceStates schein auf den ersten Blick das zu sein was du suchst.

 
Zuviel Werbung?
-> Hier kostenlos registrieren
DeviceStates schein auf den ersten Blick das zu sein was du suchst.
Ich habe halt nicht den Eindruck, daß die Leute, die mir den obigen Baustein empfehlen, damit bereits selber gearbeitet haben. Vielleicht habe ich mich in der Eingansdefinition nicht hinreichend klar ausgedrückt, dann sage mir bitte, wie ich es hätte besser schreiben sollen. Nochmals die bisherige Problemformulierung:

Vernünftig heißt, der Baustein gibt mir einen HEX-Wert zurück, und es existiert eine Liste mit HEX-Werten, die entsprechenden Zuständen meines IO-Devices zugeordnet werden können. Am Besten wäre ein Werkzeug, das mir Zustandswerte nach dem Standard des FB125 zurückmeldet, und sowohl Profibus Slaves als auch IO Devices in gleicher Weise auswerten kann.
Der DEVICE_STATE Baustein ist hingegen völlig was anderes, und ist in der bisherigen, mir von den klassischen Steuerung vertrauten Form so gar nicht zu gebrauchen.

Wenn man der Online-Hilfe Glauben schenken soll, müsste man dem DEVICE_STATE zumindest folgende Vorgaben machen:
Parameter MODE

Die zu lesende Statusinformation wählen Sie über den Parameter MODE aus. Es kann jeweils eine der folgenden Statusinformationen für das gesamte PROFINET-IO- oder DP-Master-System gelesen werden:

  • 1: IO-Devices/DP-Slaves sind konfiguriert
  • 2: IO-Devices/DP-Slaves gestört
  • 3: IO-Devices/DP-Slaves deaktiviert
  • 4: IO-Devices/DP-Slaves vorhanden
  • 5: IO-Devices/DP-Slaves, bei denen ein Problem aufgetreten ist. Zum Beispiel:
    • Wartung erforderlich oder empfohlen
    • Nicht erreichbar
    • Nicht verfügbar
    • Fehler aufgetreten
Im Klartext heißt es, daß anstatt daß der Baustein MIR ERZÄHLT, ob mein IO-Device konfiguriert, gestört, deaktiviert, nicht vorhanden ist, oder ein Problem hat - ICH DIESEM BAUSTEIN erzählen muss, welche Informationen ich über den Zustand von meinem Bus und seinen Teilnehmern bekommen möchte. Dieser Baustein ist leider komplett und völlig was anderes, als eine DP oder IO Diagnose nach dem Vorbild der FB 125 /126, die in den neuen Steuerungen leider nicht mehr funktionieren und wo es unerklärlicherweise auch keinen Ersatz für gibt (hier folgen im Sillen nicht zensurfähige Beschimpfungen an die Adresse von Siemens-Programmierern für diese Glanzleistung).

Was halt möglicherweise geht, ist daß man verschiedene Arrays für verschienene Abfragemodi des Bausteins aufbaut, den DEVICE-STATES mehrfach aufruft, und ihn jeweils verschiedene Arrays beschreiben lässt. Danach könnte man über nicht-optimierte Bausteine und Querfeldein-Bitschieberei die einzelnen Bits aus den Arrays, die zu derselben Busteilnehmer-Nummer gehören, auflesen und in einem WORD-Array ablegen, wobei man einem jeden WORD dann eben hexadezimale Zustandswerte zuordnen kann. Dafür müsste man allerdings erst einen eigenen Baustein entwickeln, der diese Aufgabe erfüllen kann, und es ist mir irgendwie nicht selbstverständlich, warum man für eine simple Aufgabe einen derartigen Aufwand betreiben muss, wo es doch früher alles wesentlich einfacher ging.

Derzeit kann ich am ehesten noch mit dem SCL-Baustein von Larry Laffer was anfangen, was auf den ersten Blick alle meine Anforderungen erfüllt und im Prinzip genau das macht, was ich brauche. Ich werde die Tage mal ausprobieren, ob er das auch in einer 1513 tut. An dieser Stelle übrigens nochmal herzlichen Dank an den Rechteinhaber für die Veröffentlichung des Codes.
 
Zuletzt bearbeitet:
Der Baustein von Larry funktioniert nicht auf einer S7-1500.
SFC51 wird auf einer 1500er nicht unterstützt.
Ein Ansatz wäre mit GEO2LOG die Baugruppendaten zu dekodieren und dann eben mit DEVICE_SATE den Status zu ermitteln.
F1-Drücken oder Hans Berger hilft auch hier :D

Gruß
Dieter
 
Wenn du detaillierte Infos zum Device willst (nach Device State weisst du welches gestört ist), musst du die mit "Modul_State" auslesen.
Aber da du keine Tipps mehr von mir willst, vielleichts hilft's ja einem anderen, freundlicheren Forums-user...
 
Zurück
Oben