Frage zu Statusauswertung mehrerer Umrichter

S_Liner

Level-2
Beiträge
433
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich wollte mal fragen wie Ihr so die Auswertung mehrerer Umrichter handhabt.
Ich bin da noch nicht so ganz glücklich mit meiner Lösung. Meine ist gefühlt zu aufwändig und unflexible. Ich schaue welcher Umrichter (5 im System) sein Fehlerbit setzt, lese dann den Status des Umrichters aus.

FehlerFU.JPG

So, da ich 5 Umrichter habe , muss ich allein dieses Netzwerk noch weiter 4x schreiben, damit ich für alle Umrichter den Fehler Übertemperatur erzeugen kann.
Zudem haben die Umrichter, in diesem Fall SEW MDX61B, ja nicht nur einen Fehlerstatus.

Ich arbeite mit einer S7315-2DP und dem Simatic Manager V5.6.

Wie macht ihr da so?

Beste Grüße
 
Dito, bei vielen gleichen Umrichtern setze ich eine FOR Schleife über meinen Baustein und arbeite
so alle Umrichter nacheinander ab. Vorraussetzung ist natürlich dass man alle Daten- E/A Bereiche
symbolisch "vernünftig" über Arrays belegt.
 
OK, könntest du mir da mal was zeigen? Nur als Beispiel zur Anregung vielleicht?
Sowas strebe ich auch an, aber so richtig kriege ich den Gedanken nicht ins rollen..

Beste Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vorraussetzung ist natürlich dass man alle Daten- E/A Bereiche
symbolisch "vernünftig" über Arrays belegt.
Du bringst mich damit auf ne Idee ... UDTs für die Umrichter EAs habe ich schon lange.
Also einfach noch ein Array of UDT. Mal schauen ob's dadurch noch einfacher wird :)
 
Also einfach noch ein Array of UDT. Mal schauen ob's dadurch noch einfacher wird
Genau so mache ich es, dann kann man auch schön symbolische Schleifen drüber legen.
Das ist gerade bei Förderanlagen bei uns interessant mit zahlreichen Umrichtern.
Spart halt viel Code, funktioniert und man eliminiert viele Fehlermöglichkeiten durch Tippfehler usw..
 
Wenn es immer der gleiche Umrichter ist, dann kann man auch ein Array of UDT machen, in das man per RDREC /GETIO udgl. per einfach übergebener HW Konstante die Werte schreibt bzw. den anderen Weg in die Komponente. Dann brauchst du nur einen FB zu machen, an dem du die HW ID anfügst und als IO deine Prozessparameter.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab da eher den objektorientierten Ansatz. Jede Anlage hat ihre Maschinen, jede Maschine hat ihre Antriebe und jeder Antrieb hat (möglicherweise) seinen Umrichter. Als Instanz-DB.
Schaut man halt regelmäßig durch Anlage, Maschine, Antriebe, FU und aktualisiert die Stati und gibt die neuen Befehle raus.
Da brauch ich keine FOR-Schleifen und Arrays dafür, viel zu fehleranfällig.
 
Bei SEW und Siemens FU mit Feldbus werte ich meistens "nur" das Störungsbit aus und bilde am HMI eine Meldung mit Textliste, bei der die Fehlernummer vom FU den anstehenden Fehler als Klartext in die Meldung schreibt. Das Ganze natürlich auch als Inhalt vom UDT mit Auswertung über FC und HW-Adresse.
Bei FB gefällt mir nicht, dass ich entweder auf den Instanz-DB zugreifen oder doppelt nach dem FB mit IDB die relevanten Daten auf einen extra DB kopieren müsste.
 
Ich habe einen FB pro FU und da hängen dann zwei Strukturen dran: Parameter und Prozessdaten. Die haben dann schöne aussagekräftige Namen und wenn es mal in einer Station für eine Funktion mehrere FUs gibt, dann kommen bei mir erst arrays zum Einsatz.
An einer anderen Stelle hängt die gleiche Prozessdatenstruktur an einem Auswertebaustein, der diverse Meldungen generiert (neben den Warnungen und Störungen die direkt aus dem FU kommen auch z.B. keine Busverbindung).
 
Zurück
Oben