Step 7 PID-Regler in OB35. Der Stellgröße pulsiert.

SEW

Level-2
Beiträge
58
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
PID-Regler in OB35. Die Stellgröße pulsiert.

Hallo,

ich hatte schon mal hier was gepostet. Zur Erinnerung: Ich arbeite an einer Abschlussarbeit, wo ich mich mit Drehmomentregelung einer GSM über Erregerfeld beschäftige. Als Hardware wurde eine SPS-S7 314C-2 PN/DP gewählt.

Ich bin jetzt kurz vor Schluss damit. Und doch gibt es noch ein paar Stolpersteine.

Diesmal ist es die pulsierende Stellgröße aus dem Regler, die mir schwierigkeiten bereitet.
Hier sind die Oszillogramme, die am Analogausgang der SPS aufgenommen wurden.
scope_13.jpgscope_14.jpgscope_15.jpg

Zur Erklärung: Die Chanel 1 bis 3 sind die Eingangsgrößer zur Berechnung des Drehmomentes: Ua, Ia und n.
Chanel 4 ist die Ausgangsspannung Ue, also Stellgröße des Reglers.

Zur Software: Zunächst werden die Eingangsgrößen, Ua, Ia und n, skaliert. Dann wird daraus das Drehmoment, also M_ist berechnet.
OB35_FB2-FB999.PNG
Das Bild zeigt diese beide Bausteine.
Danach kommt der Standard PID-Regler zum Einsatz:
OB35_FB41-FB4.PNG
(weitere Bilder folgen)
Und anschließend wird der Stellwert noch mal skaliert und auf den Analogausgang gewandelt.
Das ganze befindet sich im OB35, so wie es empfohlen wird. Die Abtastzeit des Reglers entspricht der Taktzeit des OB35. Ich habe die Oszillogramme mit 50ms, 75ms und 1000ms Taktzeit des OB35 aufgezeichnet.

Und das komische sieht man dort. Ist die Stellgröße zwischen max und min, so pulsiert sie mit dem OB35 im Takt. Wieso? Die Eingangsgrößen sind eigentlich alle stabil. Als das ganze in OB1 drin war, gab es keine solche Impulse.

Danke!
 
Zuletzt bearbeitet:
Setze die TI des Reglers einmal auf ca. 5s. 1ms erscheint mir etwas kurz, das kann m.E. nicht funktionieren.

Gesendet von meinem Nexus 7 mit Tapatalk
 
Auf den ersten Blick auffällig ist dass die Abtastzeit von 100ms für eine Nachstellzeit von 1ms sehr hoch ist. Wie war denn in etwa die Abtastzeit im OB1? TD ist nicht beschaltet. Falls dort mal ein Parameter vorgegeben war, dann ist er im Instanz-DB noch gespeichert.

Kannst du die einzelnen Anteile bzw. insbesondere den I-Anteil beobachten oder aufzeichnen?

Hast du schon einmal daran gedacht, für deine Abschlussarbeit einen eigenen PID-Regler zu schreiben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Setze die TI des Reglers einmal auf ca. 5s. 1ms erscheint mir etwas kurz, das kann m.E. nicht funktionieren.
Hm, und das verursacht das Pulsieren des Stellwertes? Werde morgen im Labor ausprobieren. Mir ist noch eingefallen dass ich den FB4, der den Ausgang nochmal nach bearbeitet, heute noch nicht untersucht habe. Ich war 2-3 Wochen nicht an dem Gerät dran, weil ich den Bericht geschrieben habe. Und es kann sein, das dort der Bock steckt.
 
Auf den ersten Blick auffällig ist dass die Abtastzeit von 100ms für eine Nachstellzeit von 1ms sehr hoch ist. Wie war denn in etwa die Abtastzeit im OB1? TD ist nicht beschaltet. Falls dort mal ein Parameter vorgegeben war, dann ist er im Instanz-DB noch gespeichert.

Kannst du die einzelnen Anteile bzw. insbesondere den I-Anteil beobachten oder aufzeichnen?

Hast du schon einmal daran gedacht, für deine Abschlussarbeit einen eigenen PID-Regler zu schreiben?

  • OK, ich werde morgen wohl als aller erstes den TI erhöhen. ;)
  • einzelne Anteile aufzeichnen... leider nicht. oder ich weiß nicht wie es mit Step7 (Simatic Manager) geht... :confused:
  • eigenen PID? Dran gedacht schon, aber das wäre zu viel Arbeit für die Bachelor Thesis. Das würde den Zeitrahmen sprengen. Außerdem habe ich noch andere Arbeiten gemacht, nicht nur den Regler entwickeln. Und bis 30. Januar wäre es sowieso zu knapp :)
 
  • OK, ich werde morgen wohl als aller erstes den TI erhöhen. ;)
Und eventuell die Abtastzeit verkleinern (OB35-Zyklus). Aber auch nicht zu klein wählen! Die Abtastzeit sollte immer größer sein als die Wandlungszeit deiner Analogeingänge bzw. was da noch so an Messwandlern verbaut ist. Ansonsten rechnet der Regler mehrmals mit denselben Messwerten, was zumindest als "ungünstig" zu betrachten ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und eventuell die Abtastzeit verkleinern (OB35-Zyklus). Aber auch nicht zu klein wählen! Die Abtastzeit sollte immer größer sein als die Wandlungszeit deiner Analogeingänge bzw. was da noch so an Messwandlern verbaut ist. Ansonsten rechnet der Regler mehrmals mit denselben Messwerten, was zumindest als "ungünstig" zu betrachten ist.
wie erfahre ich denn die Wandlungszeit der Analogeingänge?
 
hallo,

wenn du den PID Reglerbaustein verwendest, musst du mindestens einen Regler einschalten.

Das sind folgende Eingangsparameter: P_SEL, I_SEL und D_SEL. Diese sind bei dir nicht belegt und soweit ich weiß werden nicht belegte Eingangsparameter als 0 Signal erkannt.
Ich kann leider nicht sagen wie sich der Regler verhaltet, wenn diese nicht eingeschalten sind, aber vermutlich so wie du es beschreibst.

Und anschließend wird der Stellwert noch mal skaliert und auf den Analogausgang gewandelt.

Damit hast du nicht ganz unrecht. Die 2 Parameter LMN_HLM und LMN_LLM sind für die obere und untere Stellwertbegrenzung. Diese sollten auch verschalten werden um eine anständige Ausgangsgröße zu erhalten.

zur Kontrolle ob der Baustein rechnet, kannst du folgende 3 Ausgangsparameter verschalten: LMN_P, LMN_I und LMN_D, Diese zeigen dir den Anteil der einzelnen Regler.

Falls du deinen Regler mal auf Hand stellen willst, kannst du den Ausgangswert des Reglers mit den Parameter MAN verknüpfen. Dann wird der aktuelle Wert für den Handbetrieb übernommen.

mfg
Kapo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
och, wie ich diese Antworten liebe ...
unter "Handbuch" verstehe ich eine traditionellerweise gebundene Ansammlung von Papier. Leider war bei dem Softwarepaket nur die Verpackung aus Papier. Und von den digitalen Handbüchern für die S7 Sachen gibts wie Sand am Meer. Sorry für mein Sarkasmus!!! :oops:
;)
 
Unbeschalteten FB-Eingängen wird beim FB-Aufruf nicht 0 sondern ganz einfach nichts zugewiesen, d.h. sie behalten den Wert, den sie schon haben, der ihnen irgendwann mal anderweitig zugewiesen wurde.

Harald
 
hallo,

wenn du den PID Reglerbaustein verwendest, musst du mindestens einen Regler einschalten.

Das sind folgende Eingangsparameter: P_SEL, I_SEL und D_SEL. Diese sind bei dir nicht belegt und soweit ich weiß werden nicht belegte Eingangsparameter als 0 Signal erkannt.
Ich kann leider nicht sagen wie sich der Regler verhaltet, wenn diese nicht eingeschalten sind, aber vermutlich so wie du es beschreibst.
http://www.steuerungstechnik-heller...ftware/Dokumentation/Regeln_mit_dem_SFB41.pdf
ab Seite 3. Dort steht, dass der P und der I Anteil auf TRUE vorbelegt ist. Und D auf FALSE. Das heißt, dass man sofort beim errichten des Reglers einen PI Regler hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gemeint ist vermutlich die sehr ausführliche Bausteinbeschreibung die man erhält, wenn man den Regler-Baustein markiert und F1 drückt.

Man kann die Beschreibung ausdrucken, entweder aus der Bausteinhilfe oder aus der PDF der "STEP 7 - System- und Standardfuntionen für S7-300 und S7-400"
Ich meine, die PDF kann man gegen Aufpreis sogar gedruckt und gebunden bei Siemens bestellen. ;)

Harald
 
Dort steht, dass der P und der I Anteil auf TRUE vorbelegt ist. Und D auf FALSE. Das heißt, dass man sofort beim errichten des Reglers einen PI Regler hat.
Und hast Du das irgendwie überprüft, wie die bei Dir eingestellt sind?
Schaue Dir den IDB online an. Oder mittels Variablentabelle. Ich meine, für den Regler gibt es sogar ein Parametriertool ("PID Control"?)

Harald
 
Und hast Du das irgendwie überprüft, wie die bei Dir eingestellt sind?
Schaue Dir den IDB online an. Oder mittels Variablentabelle. Ich meine, für den Regler gibt es sogar ein Parametriertool ("PID Control"?)

Harald

erstens, ja hab ich :)
zweitens, kenn ich. Brauch ich aber nicht. Da ich mit der Anleitung, die ich verlinkt habe, relativ gut den Regler parametrieren kann. Die ganzen Parameter werden dort recht gut erklärt. ;)
 
wie erfahre ich denn die Wandlungszeit der Analogeingänge?

Wenn ich mich recht erinnere dann hatten wir das in dem anderen Thread mal angesprochen (Harald hatte m.E. etwas dazu geschrieben).
Demnach lag die im Millisekunden-Bereich - wäre also OK.
Wie hoch (schnell) war denn jetzt das Intervall des OB35 ? Wenn wirklich 100 ms dann wäre das m.E. für diese Form der Regelung viiiiel zu langsam. Ich weiß auch nicht, ob ich das mit dem Siemens-PID-Regler machen würde - aber das ist ja eine andere Sache ...

Gruß
Larry
 
So, jetzt den TI auf 5sek gestellt und OB35 mit dem CYCLE von PID auf 50ms. Und das kommt dabei raus:
:(
scope_16.jpg
Es pulsiert immer noch

Edit:
Die Ausgänge des PI (FB41) für P und I pulsieren alle.
Ich hab die dann aus den Ausgang gelegt um die mit Oszi aufzuzeichnen.
in den Beobachtungsmodus ist kein Pulsieren zu sehen. Da ist das normale nachkommastellen-flackern.
 
Zuletzt bearbeitet:
Zurück
Oben