Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 8 von 8

Thema: Temperaturregelung FB58

  1. #1
    Registriert seit
    18.02.2011
    Beiträge
    17
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe zwei Probleme mit einer Temperaturregelung eines Backofens.

    SP_INT und PV_IN sind Soll und Ist in °C, daher ist mein ER auch eine Temperatur. Die Sprungantwort im Zeitbereich ist lt. Handbuch:

    LMN_SUM= GAIN*ER(0)(1+.....

    mit ER(0) als Sprunghöhe der normierten Regeldifferenz.

    Auf was für einen Wert normiert der Baustein?
    Ich habe die Regelparameter mittels Pol-Nullstellenkompensation ausgelegt. Da die Zeitkonstanten der Temperaturstrecke groß sind, sind somit die Regelparameter auch groß. Und ich erwarte, dass der Regler als Regeldifferenz die absolute Regeldifferenz bekommt. Aber was bekommt er nun?

    Zudem stellt sich mir die Frage wie der Impulsformer seine Pulsweite berechnet. Vorausgesetzt ER(0) ist die absolute Regeldifferenz, so ergibt sich für LMN_SUM auch eine Temperatur als Stellwert. Mit LMNLIMIT kann ich den Stellwert begrenzen. In der Parametrieroberfläche sind die Grenzwerte in Prozent betitelt, aber der frisst auch Werte oberhalt von 100. Das Problem ist, dass der Impulsformer nicht mit den Grenzen von LMNLIMIT seine Pulsweite skaliert, sondern grundsätzlich mit 100 arbeitet. D.h. ist der Stellwert nicht limitiert gibt der Impulsformer bei LMN>=100 einen durchgehenden "1"-Impuls aus.

    Die Auslegung des Reglers ist für meine Bachelor-Thesis, daher reicht hier Pi*Daumen nicht. Momentan arbeitet die Regelung eher wie ein Zweipunktregler mit den ausgelegten Werten. Wird ein gewisser Wert überschritten, so baut sich der Stellwert, nachdem er vorher durchgehend 100% war mit einer je nach GAIN steilen Flanke auf 0 ab. Hab ich kleinere Parameter (etwa Hälfte) funktioniert das Ganze schon gut, aber das ist nicht das Ziel.

    Wär schön wenn ihr mir helfen könntet.
    Zitieren Zitieren Temperaturregelung FB58  

  2. #2
    Aerosail ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    17
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich nochmal...

    Also laut Sprungantwort des PID-Reglers (Kap. 2.1.2 Handbuch PID Temperature Control) ist #

    ER(t)=GAIN*ER(0)

    Im Zeitbereich ist es laut Handbuch:
    LMN_SUM(t)=GAIN*ER(0)(1+1/TI*t+D_F*e^(-t/(TD/D_F)))
    Wenn ich jetzt die erste Formel zu Rate zieh, dann müsste nach dem Blockschaltbild es entweder

    GAIN*ER(t)....

    oder

    ER(0).....

    heißen. Liegt hier ein Fehler im Handbuch vor?

  3. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Ich würde einfach mal annehmen, mit der 'normierten Regeldifferenz' ist gemeint dass bei der Berechnung der Regeldifferenz noch das Totband (DEADB_W) mit einbezogen wird.
    Ist die Abweichung Soll-/Istwert kleiner als der Wert von DEADB_W so wird ER zu Null gesetzt.
    Programmiertechnisch ist das in etwa so umgesetzt:
    Code:
    rDiff := SP_INT - PV ;
    
    IF rDiff < - DEADB_W THEN
        rDiff := rDiff + DEADB_W ;
    ELSIF rDiff > DEADB_W THEN
        rDiff := rDiff - DEADB_W ;
    ELSE
        rDiff := 0.0 ;
    END_IF;
    ER := rDiff ;
    Probiere doch erstmal den Regler als reinen PID-Regler ohne den Impulsformer ans Laufen zu bekommen. Dann sollte sich die Stellgröße LMN entsprechend des Regelalgorithmus kontinuierlich ändern.
    Wie der Impulsformer intern funktionniert ist mir nicht bekannt (ich muss sagen ich habe den FB58 nur einmal getestet, habe sonst immer den FB41 im Einsatz).

    Was manchmal weiterhilft:
    Um sich die reglerinternen Daten anzusehen (z.B. um sich die Variable ER anzusehen mit der die PID-Berechnung aktuell arbeitet) müsstest du das Faceplate des Instanz-DB deaktivieren. Somit bekommst du die normale Datenbausteinansicht und kannst dir alle internen Variablen ansehen.
    Umstellen kannst du das über die Eigenschaften des Instanzdatenbausteins, unter der Option "Attribute". Wenn du dort den Wert "S7WRTX.TCONT_CP" bei S7_techparam Attribut löschst, bekommst du beim nächsten Öffnen die "normale" Ansicht zu sehen.

  4. #4
    Registriert seit
    11.07.2009
    Beiträge
    174
    Danke
    20
    Erhielt 34 Danke für 26 Beiträge

    Standard

    Hallo,
    die Regleroptimierung mit der Pol Nullstellenkompensation ist in der Theorie eine interessante Sache. In der Praxis tritt aber das Problem auf, dass jeder Hersteller seinen eigenen Regelalgorithmus verwendet. Die einen haben Gain, die anderen Verstärkung u.s.w. . Oder es wird der ISA oder der parallele Algorithmus verwendet. Wichtig ist bei der theoretischen PN Analyse zu wissen für welchen Regler die ermittelten Werte denn gelten. Grundsaetzlich ist es immer gut, wenn Du alles in Prozent umrechnest. So vergleichst Du nicht Äpfel mit Birnen.

    Gruß Frank

  5. #5
    Aerosail ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    17
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ich würde einfach mal annehmen, mit der 'normierten Regeldifferenz' ist gemeint dass bei der Berechnung der Regeldifferenz noch das Totband (DEADB_W) mit einbezogen wird.
    In der Hilfe wird aber im Blockschaltbild das Signal hinter dem Totband mit ER beschriftet. Müsste da sonst nicht ER(0) stehen?

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Probiere doch erstmal den Regler als reinen PID-Regler ohne den Impulsformer ans Laufen zu bekommen. Dann sollte sich die Stellgröße LMN entsprechend des Regelalgorithmus kontinuierlich ändern.
    Der PID-Regler läuft. Den Stellwert LMN logge ich mit WINCC flexible auch in eine .csv zusammen mit Soll- und Istwert. Für kleine Regelparameter funktioniert das gut, aber für sehr große nicht (die sich aber durch die PN-Kompensation ergeben). Da ist das dann wie bei einem Zweipunktregler. Fast nur 100% oder 0%.

    Hallo,
    die Regleroptimierung mit der Pol Nullstellenkompensation ist in der Theorie eine interessante Sache. In der Praxis tritt aber das Problem auf, dass jeder Hersteller seinen eigenen Regelalgorithmus verwendet. Die einen haben Gain, die anderen Verstärkung u.s.w. . Oder es wird der ISA oder der parallele Algorithmus verwendet. Wichtig ist bei der theoretischen PN Analyse zu wissen für welchen Regler die ermittelten Werte denn gelten. Grundsaetzlich ist es immer gut, wenn Du alles in Prozent umrechnest. So vergleichst Du nicht Äpfel mit Birnen.

    Gruß Frank
    Ich hab es mit einem PID-Regler in Reihenstruktur entworfen und dann in eine Parallelstruktur umgerechnet, weil das Strukturbild des parallelen dem Blockschaltbild des FB58 entspricht. Umrechnungsparameter sind.

    GAIN=K*(T1+T2)
    TI=T1+T2
    TD=T1*T2/(T1+T2)

    Kann man bei Bedarf bei Wiki nachlesen.

    Ich steh grad auf dem Schlauch wie sich das darstellen würde, wenn ich alles prozentual rechnen würde.Wie normier ich meine Regelparameter so, dass die für 0...100%-Werte passen?

  6. #6
    Registriert seit
    11.07.2009
    Beiträge
    174
    Danke
    20
    Erhielt 34 Danke für 26 Beiträge

    Standard

    Hallo,
    die Normierung in Prozent gilt nicht für die Reglerparameter. Sie bezieht sich auf die Berechnung der Verstärkung.

    K = Delta y / Delta x

    Y = Aenderung der Regelgroesse in Prozent des Messbereiches
    X = Änderung des Reglerausganges in Prozent


    Gruss Frank

  7. #7
    Aerosail ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.02.2011
    Beiträge
    17
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Okay,

    K fließt ja aber wieder in das GAIN ein. Ich muss mein GAIN also dementsprechend weit genug herunterschrauben, damit die Stellwerte 0-100% wieder meinen Stellbereich richtig auflösen?

  8. #8
    Registriert seit
    11.07.2009
    Beiträge
    174
    Danke
    20
    Erhielt 34 Danke für 26 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    Das K ist die Streckenverstärkung. Der Gain ist die Verstärkung des PID-Reglers. Je größer Deine Streckenverstärkung ist umso sanfter musst Du Deinen Gain einstellen, damit die Regelung nicht instabil wird. Die Grenzen des PID-Reglers kann man mit Parametern einstellen. Lies hierzu einmal in der Hilfe des FB58. Ich glaube sie sind schon standardmaessig auf 0..100% eingestellt.
    Das bedeutet mehr als die 0 bis 100% können nicht am Ausgang herauskommen. Wenn Dein Regler aber wie ein Zweipunktregler arbeitet, dass heisst er bewegt sich nur schlagartig zwischen 0 und 100% bedeutet dies, dass Dein Gain zu gross eingestellt ist. Zu Beginn verwende den Regler erst einmal nur als P-Regler mit nicht allzu grossem Gain. Danach gib einen schwachen I-Anteil dazu ( grosse Nachstellzeit) und beobachte das Ganze erst einmal. Durch empirisches Probieren bekommst Du vielleicht schon annehmbare Ergebnisse.

    Wenn nicht musst Du Dich noch einmal melden.

    Grus Frank

Ähnliche Themen

  1. Temperaturregelung mit dem FB58
    Von SenderTs im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 03.07.2010, 01:28
  2. Druckregelung mit FB58 ?
    Von FrankyB im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 06.07.2009, 08:56
  3. Ofenregelung mit fb58 :cry:
    Von M-Arens im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 23.11.2004, 10:16
  4. FB58 / Stellglied
    Von wolf im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 24.05.2004, 23:00
  5. Regeln mit S7-315-DP und FB58
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.08.2003, 13:52

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •