Hallo Hugo, hallo suud,
an der Stelle hätte ich auch noch was zu melden. Mir ist aufgefallen, dass in der neuen Release (3.02) an der Stelle zum Überwachen der Limits etwas da steht wie "IF ki > 0 THEN i := LIM_L - p; END_IF;".
Ich habe nun folgendes Problem:
Bei meiner Solaranlage habe ich diesen Regler eingebaut. (siehe
www.spssoft.de auf SPS Live! klicken) Er sorgt dafür, das die Temp. vom Kollektor konstant gehalten wird. Die Solltemp ist fast immer kleiner als die Isttemp. Soll-Ist ergibt also einen negativen Wert. Ich will aber ein pos. Stellsignal haben, also ganz einfach Kp und Ki neg. machen. Nur jetzt funktioniert die schöne I-Begrenzung nicht mehr, weil dieses IF ki > 0 drin steht. Hat das einen Grund?
Ich würde eh das Programm ändern, weil eigentlich die Rechenvorschrift für den Regler etwas anders lautet:
KP (1 + 1/TNs)
Hier berechnet sich der I-Anteil aus dem Produkt von KP und 1/TNs.
Damit müßte auch bei einem neg. KP der Ki-Anteil nicht negativ sein, womit wieder das obige IF ki > 0 funktioniert.
Wenn ich ehrlich bin; die Berechnung vom I-Anteil habe ich nicht verstanden:
(* run integrator *)
i := (IN + in_last) * 5E-7 * KI * tc + i;
in_last := IN;
Ich verstehte da nicht das (IN + in_last). Das bedeutet doch, das die Regelabweichung zwei mal auf den alten I-Anteil addiert wird, wenn wir mal davon ausgehen, dass sich die Regelabweichung zwischen 2 Zyklen nicht verändert hat.
Vielleicht habe ich da was nicht richtig verstanden.
Die Limitregelung halte ich für super. Damit wird der I-Anteil am Limit gestoppt und sogar korrigiert, wenn die Regelabweichung noch großer wird.