Was ist die Regelstrategie bei einem gekoppelten Tanksystem, um den Füllstand in mehreren Tanks gleichzeitig zu regeln? In diesem Fall beeinflussen die Aktoren mehrere Regelgrößen. Das System ist wie in diesem Diagramm dargestellt
Die zu steuernden Variablen sind die Flüssigkeitsstände in jedem der Tanks. Die Aktuatoren sind die Ventile an den Rohren sowie der Einlassstrom q0. Das Problem ist, dass derselbe Aktor, z. B. V1, sowohl h1 als auch h2 beeinflusst. Ich habe versucht, 3 verschiedene PIDs für jeden Tank. Jeder Regler erhält die Höhe im entsprechenden Tank und sendet das Steuersignal an den entsprechenden Ausgang. PID1 empfängt also den Eingang h1 und steuert nur V1. PID2 empfängt Eingang h2 und regelt nur V2 ...
Antworten:
Sie haben es mit einem MIMO -System ( Multi-Input-Multi-Output-System ) zu tun. In diesem Fall können Sie im Allgemeinen nicht die gleichen Techniken anwenden wie bei SISO-Systemen (Single-Input-Single-Output). Wenn Sie mit einem linearen, zeitinvarianten MIMO-System arbeiten, können Sie mit dem so genannten relativen Gain-Array prüfen , wie gut ein SISO-Steuerungsansatz funktionieren würde. Ich glaube jedoch, dass es sich in diesem Fall um ein nichtlineares System handelt, aber es ist möglicherweise möglich, eine Ein- / Ausgabe-Entkopplung vorzunehmen, indem der Nettozustrom in jeden Tank gesteuert wird. Hierzu gehe ich vorerst davon aus, dass Sie die Durchflussraten , q 1 , q 2 und q 3 wählen könnenq0 q1 q2 q3 und dass die Dynamik geschrieben werden kann als
so kann die Mähdrescherdynamik geschrieben werden als
wobei und → q = [ q 0 q 1 q 2 q 3 ] ⊤ . Jetzt durch eine virtuelle Eingabe definieren → v , so dass ˙ → h = → v , dann ist jedes Ein- und Ausgangspaar entkoppelt ist. Dafür brauchen wirh⃗ =[h1h2h3]⊤ q⃗ =[q0q1q2q3]⊤ v⃗ h⃗ ˙=v⃗
quelle
Ich bin keine Kontrollsystemperson, verzeihen Sie also meinen nicht sehr systematischen Ansatz.
Das erste, was Sie tun sollten, ist zu versuchen, die Ventile manuell auf ein konstantes q einzustellen, um die gewünschten Niveaus zu erreichen.
Ich würde q aus dem Durchschnitt der Höhenabweichungen von der gewünschten Höhe in jedem Tank steuern. Wenn der Wasserstand insgesamt niedriger als gewünscht ist, erhöhen Sie q und umgekehrt.
Die Regelgröße für die Ventile sollte der Höhenunterschied zwischen zwei aufeinanderfolgenden Tanks sein: V1 wird für h1-h2 geregelt, diese Höhenunterschiede berechnen Sie aus den gewünschten Höhen in allen Tanks. Nur Ventil 3 wird direkt für h3 angesteuert.
Stellen Sie außerdem sicher, dass das erste Ventil schneller als das zweite und das zweite schneller als das dritte ist. Dies soll Ihnen helfen, Schwingungen zu vermeiden.
Trotzdem habe ich einen nicht systematischen Ansatz versprochen, hier ein paar Gründe: Für ein gegebenes q gibt es einen Zusammenhang zwischen dem Höhenunterschied und dem Öffnen oder Schließen des Ventils. Dies ist wahrscheinlich, warum Ihre Strategie nicht funktioniert hat.
quelle