Schwingung erkennen

  • Hi, es passt hier nicht rein, ch weiß, aber es gibt kein Forum für mein Problem. Aber es betrifft allgemeine Programmier und Logik-Kenntnisse.

    Aufgabe:
    Ich schreibe zur Zeit an meiner Diplomarbeit. Ich soll eine automatische Regelgütebewertung in ein bestehendes - in LabVIEW programmiertes - System eingebaut werden. Die Anlage ist ein computergesteuerter XY-Schreiber, der von Studenten der Technischen Universität über ein Webinterface angesteuert wird. Die Studenten müssen für die Lehrveranstaltung "Laborübung für Regelungstechnik" verschiedene Parameter berechnen und eingeben. Berechnet der Student jedoch falsch, oder hat einen Tippfehler, kann es passieren, dass das System aufschwingt und solche Kräfte entwickelt (es läuft mit 600 Volt, dreiphasig), dass Menschenleben in Gefahr sind. (Es ist bereits ein Teil herausgebrochen, der eine Tür aus den Angeln gerissen hat)

    Ich erhalte SOLL- und IST-Werte der Regler und soll gut, oder schlecht ausgeben.

    Problem:
    Vereinfacht gesagt, sind diese Messkurven einfache Arrays, die einen Graphen darstellen (X-Y-Paare).
    Es werden bereits viele Berechnungen durchgeführt, die mir vergleichbare Werte geben. Jetzt habe ich das Problem, dass ich Schwingfälle erkennen und verbieten muss.
    Siehe Anhänge: Das Bild "gut.jpg" ist eine Messkurve die akzeptabel ist. Das was jedoch in "schlecht.jpg" passiert, ist äußerst fatal, da in der Maschine Ströme von mehreren Ampere entstehen.

    Frage:
    Was wäre eine möglichst einfache Methode, solche Schwingfälle zu erkennen?
    Mir stehen alle Funktionen zur Verfügung, die man in jeder Programmiersprache auch hat (un eine zusätzliche starke Programmbibliothek). Also ich kann vergleichen, Rechenoperationen ausführen, etc.

    Mit freundlichen Grüßen
    Dodo

  • Geht es darum lokale Fehler auszumerzen? Dann solltest du mal ein wenig mit Faltungen herumspielen. Oder geht es darum, bestimmte Formen globaler Entwicklung auszuschließen? Dann solltest du vor allem Extremwerte beachten, glätte die Kurve ein wenig (wieder falten) und leite ein paar mal ab und mit den ganzen Extrema kannst du dann gute Vergleiche mit bestehenden Daten anstellen. Oder geht es wirklich ganz konkret nur um zu starke Schwingungen? Da musst du ja nur lokale Maxima und Minima bestimmen, und wenn da der Abstand zu groß ist, schwingt es doch recht stark.

  • Mein Problem gerade ist dieses starke Anschwingen.
    Ein Regler darf nicht viele Schwingungen haben (Also um den SOLL-Wert pendeln)
    Und ich will das möglichst einfach herausfinden.
    Ich hab auch schon mit dem Gedanken einer Ableitung gespielt...
    Ich hab einen Butterworth-Filter drübergegeben (gelbe Kurve), aber der filtert mir das schnelle Schwingen ganz weg. Das bringt nichts.

    Something big is coming. And there will be pirates and ninjas and unicorns...