-> Hier kostenlos registrieren
Hallo liebe Mitleser,
ich würde gerne wissen wie Ihr Totzeit-behaftete Systeme regelt.
Beispiel: Behälter, der mit Sauerstoff versorgt werden soll. Dieser wird über Gebläse eingebracht.
Wenn man das FU-Gebläse auf 100% laufen lässt, bewegt sich die Sauerstoffsonde erst nach ca. 2 Minuten. Nach 10-15 Minuten ist der Maximalwert erreicht.
Programmiermöglichkeiten, die mir einfallen:
Normaler PID-Regler: schwierig, da unter unterschiedlicher Sauerstoffzehrung das System unterschiedlich elastisch ist und es in bestimmten Zuständen anfangen kann zu schwingen. Ich habe es z.B. mit dem Siemens PID der S5-115U versucht: recht Käse, das Ergebnis.
Eigener Regler: Ich habe in Step5 ein Progrämmchen geschrieben, das die Steigung und die Abweichung überwacht und versucht bei geringer Steigung die Abweichung zu reduzieren. Ein Problem ist die fehlende Genauigkeit durch Integer-Werte. Real wäre schon toll, vielleicht versuche ich es mal mit den FBs für Gleitpunktarithmetik......ansonsten klappt das ganz gut. Könnte aber besser sein.
Eigener Regler: Simulierte Strecke. Ich kenne das Prinzip: ich simuliere die Strecke und kann so vorhersagen, wie sie reagieren wird. Aber wie setze ich das in ein Programm um?
Ich muss eine Formel finden, die bei Eingabe des Regelwertes die Strecke zum Zeitpunkt t ausspuckt. Das bekomme ich in Step5 hin. Aber was mache ich dann damit?
Eine Überlegung war folgende: Ich möchte z.B. 0,5 mg O2 im Wasser haben. Ich frage meine Simulations-Formel, was ich für einen Stellwert brauche. Diesen lege ich dann auf das AW und warte 10 Minuten.
Dann sollte sich der erwartete Sauerstoff einstellen. Den vergleiche ich dann mit meinem Sollwert. Wenn es eine Abweichung gibt, dann ....ja und da stecke ich fest. Dann könnte ich einen I-Anteil aufschalten. Aber dann habe ich ja wieder einen extra Regler. Ab welcher Abweichung frage ich meine simulierende Formel? Irgendwie hab ich da glaube ich einen Denkfehler...kann mir jemand helfen?
Gibt es noch andere Strategien für eine Totzeitbehaftete Strecke?
Gruß,
Aksels
ich würde gerne wissen wie Ihr Totzeit-behaftete Systeme regelt.
Beispiel: Behälter, der mit Sauerstoff versorgt werden soll. Dieser wird über Gebläse eingebracht.
Wenn man das FU-Gebläse auf 100% laufen lässt, bewegt sich die Sauerstoffsonde erst nach ca. 2 Minuten. Nach 10-15 Minuten ist der Maximalwert erreicht.
Programmiermöglichkeiten, die mir einfallen:
Normaler PID-Regler: schwierig, da unter unterschiedlicher Sauerstoffzehrung das System unterschiedlich elastisch ist und es in bestimmten Zuständen anfangen kann zu schwingen. Ich habe es z.B. mit dem Siemens PID der S5-115U versucht: recht Käse, das Ergebnis.
Eigener Regler: Ich habe in Step5 ein Progrämmchen geschrieben, das die Steigung und die Abweichung überwacht und versucht bei geringer Steigung die Abweichung zu reduzieren. Ein Problem ist die fehlende Genauigkeit durch Integer-Werte. Real wäre schon toll, vielleicht versuche ich es mal mit den FBs für Gleitpunktarithmetik......ansonsten klappt das ganz gut. Könnte aber besser sein.
Eigener Regler: Simulierte Strecke. Ich kenne das Prinzip: ich simuliere die Strecke und kann so vorhersagen, wie sie reagieren wird. Aber wie setze ich das in ein Programm um?
Ich muss eine Formel finden, die bei Eingabe des Regelwertes die Strecke zum Zeitpunkt t ausspuckt. Das bekomme ich in Step5 hin. Aber was mache ich dann damit?
Eine Überlegung war folgende: Ich möchte z.B. 0,5 mg O2 im Wasser haben. Ich frage meine Simulations-Formel, was ich für einen Stellwert brauche. Diesen lege ich dann auf das AW und warte 10 Minuten.
Dann sollte sich der erwartete Sauerstoff einstellen. Den vergleiche ich dann mit meinem Sollwert. Wenn es eine Abweichung gibt, dann ....ja und da stecke ich fest. Dann könnte ich einen I-Anteil aufschalten. Aber dann habe ich ja wieder einen extra Regler. Ab welcher Abweichung frage ich meine simulierende Formel? Irgendwie hab ich da glaube ich einen Denkfehler...kann mir jemand helfen?
Gibt es noch andere Strategien für eine Totzeitbehaftete Strecke?
Gruß,
Aksels