- Beiträge
- 6.324
- Reaktionspunkte
- 2.341
-> Hier kostenlos registrieren
Hallo,
ich habe mehrere Pumpen die ich auf Druck regeln will.
Das Problem ist, die Sache ist anfangs recht träge. Der Istwert kommt nur langsam dem Sollwert hinterher, und plötzlich "greift" die Pumpe und der Istwert schwingt extrem über. Irgendwann schwingt sich das ganze dann ein.
dann kommt das nächste Problem, wenn die Dosierpumpe die von dieser Vordruckpumpe gespeist wird anspringt, dann bricht der Druck stark ein und die Sache geht von vorne los...
Ich habe derzeit einen einfachen selbstgebastelten Regler drin, aber so wie das aussieht brauche ich da was aufwedigereres.
Schaffe ich das mit einem PID Regler? Ich denke ich bräuchte zuminest einen fetten D-Anteil?
ich habe mehrere Pumpen die ich auf Druck regeln will.
Das Problem ist, die Sache ist anfangs recht träge. Der Istwert kommt nur langsam dem Sollwert hinterher, und plötzlich "greift" die Pumpe und der Istwert schwingt extrem über. Irgendwann schwingt sich das ganze dann ein.
dann kommt das nächste Problem, wenn die Dosierpumpe die von dieser Vordruckpumpe gespeist wird anspringt, dann bricht der Druck stark ein und die Sache geht von vorne los...
Ich habe derzeit einen einfachen selbstgebastelten Regler drin, aber so wie das aussieht brauche ich da was aufwedigereres.
Schaffe ich das mit einem PID Regler? Ich denke ich bräuchte zuminest einen fetten D-Anteil?
Code:
L #T.Vordruck_SOLL
L #T.Vordruck_IST
-R
T #differenz // +/- 0-10
U( // WENN
L #differenz
L 2.000000e-001
<R // Differenz kleiner 0,2Bar
)
U( // UND
L #differenz
L -2.000000e-001
>R // Differenz größer -0,7Bar
)
SPBN DEAD // Totzone
L 0.000000e+000
T #differenz
DEAD: NOP 0
L #differenz
L 0.000000e+000
<R
L 8.000000e+000 // Verstärkungsfaktor negative Richtung
SPB DING // Differenz negativ
L 1.500000e+000 // Verstärkungsfaktor positive Richtung
DING: L #differenz
*R // +/- 0-10
RND
T #Offset // "Regelerverstärkung"
O #T.Taste.Entnahme
O #T.Taste.Temperieren
U "Fl_Takt_100ms"
U #T.Taste.VordruckAuto
SPBN M000
L #T.Sollwert_Pumpe
L #Offset
+I
T #T.Sollwert_Pumpe
M000: NOP 0
L #T.Sollwert_Pumpe // Grenzwert minimum
L 0
<I
SPBN MIN
T #T.Sollwert_Pumpe
MIN: NOP 0
L #T.Sollwert_Pumpe // Grenzwert maximum
L 1000
>I
SPBN MAX
T #T.Sollwert_Pumpe
MAX: NOP 0
L #T.Sollwert_Pumpe
L 10
/I
L 327
*I
T #PAW