TIA Software für Ausgleich von Ventilspiel

Januar

Level-2
Beiträge
714
Reaktionspunkte
302
Zuviel Werbung?
-> Hier kostenlos registrieren
Grüße in die Runde,

ich bin mal wieder an einen Kunden geraten, der Mängel in der Hardware mit einer Software-Lösung beheben will. Speziell geht es um analoge Stellventile, die über PID-Regler gestellt werden.

Das Problem: Die Ventile haben sehr viel Spiel. Wenn der Regler den Stellwert erhöht, folgt das Ventil dem Stellwert gut und bewirkt dadurch eine Veränderung der Regelgröße. Wenn der Regler dann aber den Stellwert senkt, wirkt sich das leider nicht sofort auf das Ventil aus. Teilweise ist der Stellwert des Reglers um 10% gesunken, bevor das Ventil dann reagiert. Dadurch kann es zum Übersteuern des Reglers und Schwingen kommen.

Die Lösung, die der Kunde vorgeschlagen hat: Der Ausgabewert des Reglers wird nicht mehr direkt als Stellwert für das Ventil verwendet, sondern es wird ein noch zu implementierender Baustein dazwischen geschaltet. Dieser soll den Ausgabewert des Reglers überwachen. Die Richtung der ersten Änderung wird gespeichert. Wenn der Reglerausgabewert sich in die gemerkte Richtung ändert, wird der Wert unverändert an das Ventil als Stellbefehl weitergegeben. Wenn erkannt wird, dass der Reglerwert sich in die andere Richtung ändert (um eine einstellbare Differenz), soll der Ausgabewert des Reglers um einen einzugebenden Offset modifiziert werden und das Ergebnis wird dann an das Ventil weitergegeben.

Beispiel: PID-Regler möchte das Ventil öffnen. Ventil öffnet langsam. Sollwert ist erreicht. Prozess sorgt dafür, dass der Istwert den Sollwert übersteigt. Regler möchte Ventil schließen. Logik erkennt die Änderung und subtrahiert vom Sollwert den Offset (den der Kunde ermittelt hat). Dadurch soll das Spiel des Ventils ausgeglichen werden. Wenn der Istwert nun wieder unter den Sollwert fällt und der Regler mit einem Anstieg des Ausgabewerts reagiert, soll der Offset wieder entfernt werden.

Ich denke, ich muss den Reglerausgang mindestens glätten, wenn nicht gar einen Durchschnitt über die letzten Zyklen bilden. Beim zweiten Aufruf muss dann geschaut werden, in welche Richtung der Wert gerade geht, um das als Initialrichtung zu definieren.

Was haltet ihr von der Idee? Welche potentiellen Fallstricke warten auf mich? Habt ihr eventuell schon Erfahrung mit solchen Idee? Gibt es vielleicht sogar schon fertige Lösungen im Netz?

Gearbeitet wird mit TIA V19, S7-1517F.

Ich freue mich auf eure Beiträge.

Gruß, Januar
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Problem: Die Ventile haben sehr viel Spiel. Wenn der Regler den Stellwert erhöht, folgt das Ventil dem Stellwert gut und bewirkt dadurch eine Veränderung der Regelgröße. Wenn der Regler dann aber den Stellwert senkt, wirkt sich das leider nicht sofort auf das Ventil aus. Teilweise ist der Stellwert des Reglers um 10% gesunken, bevor das Ventil dann reagiert. Dadurch kann es zum Übersteuern des Reglers und Schwingen kommen.
Naja, wenn der Regler nicht ewig schnell sein muss, vielleicht erstmal etwas "langsamer" einstellen... Vielleicht spart man sich die ganze andere Geschichte dann.
Die Lösung, die der Kunde vorgeschlagen hat: Der Ausgabewert des Reglers wird nicht mehr direkt als Stellwert für das Ventil verwendet, sondern es wird ein noch zu implementierender Baustein dazwischen geschaltet. Dieser soll den Ausgabewert des Reglers überwachen. Die Richtung der ersten Änderung wird gespeichert. Wenn der Reglerausgabewert sich in die gemerkte Richtung ändert, wird der Wert unverändert an das Ventil als Stellbefehl weitergegeben. Wenn erkannt wird, dass der Reglerwert sich in die andere Richtung ändert (um eine einstellbare Differenz), soll der Ausgabewert des Reglers um einen einzugebenden Offset modifiziert werden und das Ergebnis wird dann an das Ventil weitergegeben.
ist doch schon ne gute Beschreibung des Bausteins ;)

Was ist das denn für ein Ventil, vielleicht kostet ein neues Ventil auch weniger als Deine Woche Arbeitszeit?
 
Das sind denkbar schlechte Voraussetzungen für eine Regelung. Was sind denn das für Ventile? Und welchen PID-Regler verwendest du? Damit das Ventil nicht zu oft den langen Weg in die Gegenrichtung fährt, würde ich unbedingt eine möglichst große Totzone einrichten. Abstriche bei der Regelgüte wirst du ohnehin haben. Das ist dir ja sicherlich bewusst.

... Teilweise ist der Stellwert des Reglers um 10% gesunken, bevor das Ventil dann reagiert...
Was bedeutet "teilweise"? Wenn das Spiel auch noch stark variiert, kannst du dir jegliche Bemühung sparen. Es wird so schon schwierig werden, beim Zurückfahren einigermaßen eine Punktlandung zu erzielen. Im Zweifelsfall lieber einen kürzeren Weg fahren.
 
Ich halte das für eine schlechte Idee das Hardware-Problem mit Software lösen zu wollen.
Wie andere bereits vorgeschlagen haben, würde ich den Regler langsamer machen und ggf. bessere Stellventile einbauen.
 
Ich halte das für eine schlechte Idee das Hardware-Problem mit Software lösen zu wollen.
Wie andere bereits vorgeschlagen haben, würde ich den Regler langsamer machen und ggf. bessere Stellventile einbauen.
Langsamer machen bringt da auch nicht viel.
@maxder2te hat mit Umkehrlosekompensation das richtige Stichwort geliefert.
Du hast eben irgendwo mechanisches Spiel, dass sich bei der Richtungsumkehr bemerkbar macht. Im einfachsten Fall ist die Lösung des Kunden mit nem einstellbarem Offset nicht verkehrt. Kommt halt drauf an, wie das Ventil auf den Sollwertsprung beim Richtungswechsel reagiert. Du brauchst halt noch ne Totzeit / Totstrecke damit es nicht permanent hin und her springt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ist das denn für ein Ventil, vielleicht kostet ein neues Ventil auch weniger als Deine Woche Arbeitszeit?
Laut Kunde hätte der Lieferant der Ventile 8k€ pro Ventiltausch aufgerufen, was bei einigen Dutzend Ventilen eine steile Zahl ist.

Da es sich eben um mehrere verschiedene Ventile handelt, sollen Totzone und Offset nach und nach iterativ individuell eingestellt werden. Werden also als Inputs mit an den Baustein gehen.
Ich halte das für eine schlechte Idee das Hardware-Problem mit Software lösen zu wollen.
Wie andere bereits vorgeschlagen haben, würde ich den Regler langsamer machen und ggf. bessere Stellventile einbauen.
Bin ich ganz bei dir, aber Kunde zahlt :)
 
Kann schon sein.Wenn er ueberschwingt.
Darum gibt es ja diese unterschiedlichen Reglereinstellungen.Ueberschwingen und Kriechfall.
Schnelligkeit und Regelguete beissen sich halt.
 
naja, vielleicht schon ;)
Klar kann man es versuchen. Dann baut sich halt der I auf und wirkt wie der Offset.
Ist halt dann die Frage, wie sich der Regler dann bei der Rückkehr in den normalen Bereich verhält.
Für so Dinge wie Umkehrlose oder Losbrechmomente gibt es nicht nur einen Ansatz.
Lässt sich nahezu beliebig in der Komplexität steigern. :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Blöde frage: hat man so ein ventil zum testen/probieren zur verfügung?
wenn dutzende davon im einsatz sind, kann man sich sicher eines als teststand adaptieren.
Und wenn das ding zu gross ist- dann eben beim kunden inkl hilfsenrgie usw.
Dann lassen sich schon mal paar aufzeichnungen soll/istweg, systemantwort usw. machen und darüber sind dann mögliche/nötige parameter/systemfaktoren ableiten.
Und mit den systemantworten kann man auch eine ki füttern, die analysen und vorschläge macht.
 
Kann man eben nicht.Ist ja von der Regelstrecke abhaengig.In eingebautem Zustand ein Sprung draufgeben und schauen mit Zichler Nichols wie
sich das verhaelt.Grafisch braucht mein Online Chart wo man die Wendetangente einzeichnen kann.
Ist die Verzugszeit gross geht es schwer zu regeln.Am besten waere ein R&I-Ausschnitt.Aber das wird er nicht rausgeben duerfen.
 
Zurück
Oben