I-Regler

miroblaz

Level-1
Beiträge
47
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an Alle,
ich habe ein kleines Problem mit dem Sollwert, den ich vom Kunden-SPS bekomme.
Dieser Sollwert kommt oft mit größeren Änderungen. Da meine Steuerung eine gewisse Zeit braucht die Slave Maschinen zu Starten/Stoppen,
brauche ich eine Manipulation der Sollwertänderung, bzw eine Rampe. 
Ich habe an einen I-Regler gedacht, aber beim Simatic Standard PID Regler lässt sich der P-Anteil nicht deaktiviren. Obwohl ich den Aktivierungsbit zurücksetze.

Hat jemand eine Idee, wie ich den I-Regler realisieren könnte? 

Vielen Dank im Voraus.
 
1) Schau,ob dein Rampenwert R größer, kleiner oder gleich dem Kundensollwert K ist.
2) Lege eine Steigung der Rampe fest, die deine Maschine noch gut fahren kann. Daraus ergibt sich ein Wert S, den du nach einer Zeit zur Rampe addierst. Dazu bietet sich der OB35 an.
3) Wenn K>R, ist die Abweichung (K-R) größer als S? Wenn ja addiere S zu R, wenn nein setze R=K.

Auf diese Weise steigt die Rampe bei jedem Aufruf um S. Im letzten Schritt wird R=K gesetzt, um zu erreichen, dass K am Ende exakt erreicht wird.

4) Wenn der Kundensollwert K<R wird, bilde wieder die Abweichung, aber in diesem Fall (R-K). Ist sie größer als S? Dann S von der Rampe abziehen.
Möglicherweise bremst deine Maschine anders, als sie beschleunigt. In diesem Fall verschiedene Schritte SH und SR für Hoch- oder Runterfahren verwenden.
 
Hallo Zottel,
Danke für deine Antwort.
So ähnlich habe ich es mir auch überlegt, ich dachte aber, dass es mit dem Regler vielleicht eleganter währe. ;-)

Offensichtlich habe ich mich getäuscht.
 
Zuletzt bearbeitet:
Hallo Eliot,
das habe ich probiert, es funktioniert aber nicht.
Wenn ich p_sel auf false setze passiert nichts. Ich meine der Regler läuft weiter wie bis dahin. Als PI-Regler.
Wenn der Verstärkungsfaktor auf null gesetzt wird, bewegt sich gar nichts.

Danke trotzdem.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der "rate of change limiter" ROC_LIM der modular PID control lib von Siemens ist genau der Baustein, den Du dafür brauchst.
Den schaltest Du vor den Sollwerteingang Deines Reglers und das wars.
Grüße, LT Smash
 
Hallo LT Smash,
Dankeschön für dein Hinweis.
Es fehlt mir nur noch Modular PID control :-(
Mal gucken ob der Vorgesetzte mitspielt.
 
Hallo Zottel,
Danke für deine Antwort.
So ähnlich habe ich es mir auch überlegt, ich dachte aber, dass es mit dem Regler vielleicht eleganter währe. ;-)

Offensichtlich habe ich mich getäuscht.
Ich finde es oft einfacher und auch eleganter, so etwas selbst zu schreiben, als die genaue Bedeutung aller Parameter nachzuschlagen und dann naczudenken, ob irgendeine Kombination davon das gewünschte Verhalten hervorbringt und dann festzustellen, dass es in der Praxis anders ist...

1) Schau,ob dein Rampenwert R größer, kleiner oder gleich dem Kundensollwert K ist.
L K
L R
>R
SPB rampeZuKlein
<R
SPB rampeZuGross
BEA //fertig, Rampe=Kundensollwert

rampeZuKlein:
// K und R sind noch in den Akkus
-R // K-R ist positiv, da K > R
L SH // Schritt für hoch
<R
SPB setze
L R // L R in Akku1, SH rutscht in Akku2
+R
T R
BEA // fertig

rampeZuGross:
// K und R sind noch in den Akkus
TAK // K und R tauschen, um R-K zu berechnen
-R // R-K ist positiv, da R > K
L SR // Schritt für runter
<R
SPB setze
L R // L R in Akku1, SR rutscht in Akku2
TAK // tauschen, weil SR von R abgezogen werden soll
-R
T R
BEA // fertig

setze:
L K
T R
BEA
 
Zurück
Oben