Hi,
mit HW Nummer meinst Du die HW ID als input zum SFB?
Genau.
Wenn ja must du die HW ID Des Antriebs nehmen der die Störung hat (bei dir der jeweilige Telegram 2 Slot).
Telegramm 2 Slot? Wo? Wie? Kannst du das markieren?
Fehler sind als Code abgelegt, ebenso die Alarmparameter, gleiches gilt für Warnungen.
Okay, und wo bekomme ich eine Liste mit den Bedeutungen?
Die Frage ist jetzt:
Was willst Du im PLC Program damit machen?
Ganz einfach, die Codes sollen an eine HMI weiter geschleust werden und in Sprache übersetzt werden.
Wenn Du die Antriebe mit technologiobjekten verschaltest dann machen die das Fehlerhandling entsprechend.
Oder geht es um Anzeige an HMI? Genau.
Gruß
Christoph
Hallo Dennis,
wenn du nicht den ganzen Puffer, sondern nur die aktuell anstehende Warnung und/oder Störung je Achse auslesen musst, geht das am komfortabelsten mit einem Standard-Telegramm wie z.B 352 bei einfachen Drehzahl-Anwendungen oder 111 beim Einfachpositionierer. Wie machst du denn die Ansteuerung der Achsen?
Bezieht die die 352 auf eine Zahl aus meinen Screenies oder ist das eine Zahl die in jedem Projekt gleich ist? Die Ansteuerung der Achsen ist nicht mein Werk.
Hier ist Siemens nicht so beliebt, deswegen soll ich jetzt schauen, wie man aussagekräftige Fehler und Statuscodes ans HMI bekommt um dem Kunden mehr als "Fehler Antrieb" anzeigen zu können.
Es gibt zunächst die Warn- oder Fehlernummer, die du auch als Nummer bekommst. Bei einigen Meldungen gibt es zusätzlich noch weitere Informationen, die ihrerseits ein numerischer Wert oder ein Bitfeld sein können. Für die Fehlernummern gibt es auch passende XML-Dateien, mit denen du in der Visu wieder den passenden Text zum Fehler anzeigen kannst.
Exakt sowas ist angedacht.
Hi,
genau der Slot mit Telegramm 3 war gemeint.
Also ich würde da gar nix im PLC Programm machen um das an die HMI zu melden, da kann schön die HMI selber machen:
https://support.industry.siemens.com/cs/ww/de/view/47520881
https://support.industry.siemens.com/cs/ww/de/view/109481157
https://support.industry.siemens.com/cs/ww/de/view/74875007
Gruß
Christoph
Hätte ich mal auf dem Bild richtig gelesen, hätte ich die Telegramm-Nummer gesehen
Also, es wird in deinem Programm das Standard-Telegramm 3 benutzt, da steht tatsächlich keine Nummer von Warnungen oder Fehlern drin. Den dazu gehörigen Slot meinte ChristopD auch in seinem Post (also z.B. bei deiner T1 X-Achse gehört zum Telegramm 3 die ID 386).
Ohne jetzt zu wissen, was wie und wo mit dem Telegramm passiert, würde ich jetzt natürlich davon Abstand nehmen, dieses durch ein anderes zu ersetzen.
Unabhängig vom Telegramm gibt es noch andere Möglichkeiten, an die gewünschte Information zu kommen, z.B. über den Parameterkanal mit dem SINA_PARA oder SINA_PARA_S aus der Drive_Lib in deiner globalen Bibliothek. Damit kommst du dann auch an die Historie.
FB DEV_FLT4: Störungspuffer eines SINAMICS G/S auslesen |
#sx_SEND_FA.si_PARA_NO1 := 947; // Parameternummer: 947 (Stoernummer)
#sx_SEND_FA.si_PARA_NO1 := 2110; // Parameternummer: 2110 (Warnnummer)
Die Variante mit dem HMI direkt auf den FU zuzugreifen war mit bisher unbekannt, ist gar nicht uninteressant. Und wenn die Kollegen ihren HMI Zugriff per S7-kommunikation machen, könnte der Weg von Christoph auch mit nicht-Siemens HMIs funktionieren....
Ich denke, in deinem Fall werden die Achsen als Technologie-Objekte benutzt, dabei kommuniziert die SPS mit dem FU mit Hilfe von besagtem Telegramm 3. Die Error-Nummern, die aus den MC_xxxx Bausteinen kommen sind die vom Technologie-Regler, nicht die von der Achse selbst.
Also entweder den Kollegen von der HMI-Abteilung den Auftrag zuschieben und ab ins Wochenende oder mal einen Blick auf den von mir genannten SINA_PARA werfen (der ist auch gut dokumentiert).
Oder jemand anders hat noch eine ganz andere Idee..?
HMI Direktzugriff:
- S7-Verbindung zu CU320
- Variable: DB Nummer=Parameter Nummer(21510)
- Adresse: 1024*Antriebs Obj. Nummer + Index(Parameter, bei CFC immer 0)
- --> zB.: r25230: %DB25230.DBD2048 (absoluter Zugriff)
Stör- und Meldepuffer(verwendet intern auch WRREC & RDREC):
und für die Warnungen kopierst du den FB und änderst darin:
FB DEV_FLT4: Störungspuffer eines SINAMICS G/S auslesen
aufCode:#sx_SEND_FA.si_PARA_NO1 := 947; // Parameternummer: 947 (Stoernummer)
Busy und Done bei Abfrage verwenden...Code:#sx_SEND_FA.si_PARA_NO1 := 2110; // Parameternummer: 2110 (Warnnummer)
Und bei der Verarbeitung die Bits für Fault/Error aktiv beachten.
Der Meldepuffer wird "seltsam" aktualisiert, kann also sein , dass im Puffer noch eine Meldung steht, aber keine mehr aktiv ist.
Ein Weg....
Lg
Peter
dev_FLT4 wird mit startdrive installiert.
Unter bibliotheken findest du dort die DriveLib und darin dann diesen FB
Jawohl.Eingang LADDR bzw. HW_IO von diesen Bausteinen wären dann also jeweils die "Telegramm 3" IDs?
Ich würde sagen nicht immer, aber natürlich kann das passieren.Der Siemens Guru ist gerade im Büro eingetroffen und hat mir neuen Input zu der Aufgabenstellung gegeben.
Laut Ihm hat im Störungsfall der Sinamics Baustein immer mehrere Fehler gleichzeitig anstehen.
Das entspricht so ein bisschen der Logik, die ich diesem Thread hier entnehme.
Vielleicht doch mit dem Sina_Para Baustein arbeiten. Arrays anstatt Einzeldate auslesen und in den HMI DB schieben?
Viele WegeHabe aktuell gerade ein Projekt mit SINA_PARA, wie von TheLevel in #5 beeschrieben gelöst.
Auch schön...
Ich würde sagen nicht immer, aber natürlich kann das passieren.
Aber insbesondere dann ist der DEV_FLT4 hilfreich (Danke übrigens an kafiphai, den Baustein kannte ich noch nicht). Dieser gibt dir, wie ich das sehe, die letzten 8 Meldungen inclusive der erweiterten Fehlerinfo.
was meint er damit das der Baustein mehrere Fehler anstehen hat?
Ja, ein versehen...
Habe aktuell gerade ein Projekt mit SINA_PARA, wie von TheLevel in #5 beeschrieben gelöst.
Auch schön...
Anhang anzeigen 42754Anhang anzeigen 42755
Ich würde nach einem kurzen Test mit meinem S210 auf dem Schreibtisch sagen, dass es bis zu 8 aktuell anstehenden Störmeldungen sind, chronologisch geordnet.Also seine Aussage war, dass wenn eine Störung kommt, die selten alleine kommt, sondern ein ganzer Schwall von Störnummern.
Sofern ich das richtig sehe, ist der Fehlerpuffer einer jeden Achse 8 Elemente lang und die Fehler stehen dort chronologisch sortiert an, richtig?
In beiden Fällen muss die ID vom Telegramm dran.An den Sina_Para schreibst du dann aber die HW_ID von der übergeordneten Controllerbaugruppe, oder? Oder kann eine Achse noch Unterachsen haben.
Auch dem DEV_FLT4 kann ich ne Axis Nummer geben. Ist das nicht schon genau genug mit der HWID definiert. Gerade ist es so, habe ich eine Frage geklärt, kommt die nächste auf
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?