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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: Tänzerregelung

  1. #11
    evelkneevel ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.10.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    so nach 4 Wochen Montage meld ich mich nochmal. Habe gesehen, dass die Regler auf der 1200er nur welche mit Anti-Wind-up, d.h. für meinen Fall (völlig) ungeeignet sind.
    Deshalb hab ich jetzt begonnen einen eigenen Regler zu schreiben:

    Code:
    IF "FirstScan" THEN
        #Kp := 10.0;
        #Ti := 1000.0;
        #Td := 0.5;
        #e_sum := 0.0;
        #Cycle := 0.05;
    END_IF;
    
    #e := #Sollwert - #Istwert;                 // Regeldifferenz
    
    IF #e <= 10.0 AND #e >= -10.0 THEN          // Wind-up: I-Anteil wird für große Regeldifferenz ausgeschaltet
        #e_sum := #e_sum + #e;                       // für I-Anteil    
    ELSE                                                             // Regelabweichung muss zwischen 10 und -10 liegen
        #e_sum := 0.0;
    END_IF;
    
    
    #P_Anteil := #Kp * #e;                                  // P-Anteil des Reglers
    #I_Anteil := #Ti * #e_sum * #Cycle;             // I-Anteil des Reglers
    #D_Anteil := #Td * (#e - #e_alt) / #Cycle;   // D-Anteil des Reglers
    #e_alt := #e;                                               // für D-Anteil 
    
    
    IF #P_Anteil > 100.0 THEN                            // Ausgangsgrößen begrenzen
        #P_Anteil := 100.0;
    END_IF;
    
    IF #I_Anteil > 100.0 THEN                   // Ausgangsgrößen begrenzen
        #I_Anteil := 100.0;
    END_IF;
    
    IF #D_Anteil > 100.0 THEN                   // Ausgangsgrößen begrenzen
        #D_Anteil := 100.0;
    END_IF;
    
    
    
    
    #Stellwert := #P_Anteil + #I_Anteil + #D_Anteil;    // Ausgang berechnen
    
    IF #Stellwert > 100.0 THEN                  // Ausgang begrenzen
        #Stellwert := 100.0;
    END_IF;
    
    IF #Stellwert < 0.0 THEN                    // Ausgang begrenzen
        #Stellwert := 0.0;
    END_IF;
    Ich weiß der Code kann noch bzgl. Zykluszeit und Programmierung optimiert werden, möchte jetzt nur wissen ob meine Idee so funktionieren könnte. Stimmt mein Teil mit dem Wind-up? Muss ich die Ausgangsgrößen noch weiter Begrenzen? Würde eine Rückführung des P- und D-Anteil eine Verbesserung bringen? Bin wieder für Ideen und Anregungen sehr dankbar.


    Gruß

  2. #12
    Registriert seit
    03.04.2017
    Beiträge
    15
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo evelkneevel,

    ich habe auch ein ähnliches Problem wie deines und bin auch dabei meine eigene Reglung in C zu implementieren.
    hat es bei dir mit dem code funktioniert? kannst du wenn es möglich wäre, wenn du an dem Code was gemacht hast, nochmal reinstellen?

    vielen vielen Dank
    Geändert von BadGamer (10.04.2017 um 16:15 Uhr)

  3. #13
    Registriert seit
    11.07.2009
    Beiträge
    164
    Danke
    20
    Erhielt 27 Danke für 22 Beiträge

    Standard

    Hallo,
    das Nullen des I-Anteils bei zu großer Regelabweichung sehe ich als falsch an. Der Reglerausgang springt dann gleich gewaltig nach unten. Das Anhalten der Integration zur Wind Up Verhinderung muß erfolgen, wenn der Gesamtreglerausgang 100% oder 0% erreicht hat und nicht in Abhängigkeit des PID-Errors.

    Gruß Frank

  4. Folgender Benutzer sagt Danke zu knarf für den nützlichen Beitrag:

    weißnix_ (10.04.2017)

  5. #14
    Registriert seit
    13.06.2007
    Beiträge
    49
    Danke
    18
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Zitat Zitat von knarf Beitrag anzeigen
    diese Addition entspricht eigentlich einem P-Regler.
    Nein, einem I-Regler!
    Integrieren = Aufaddieren!

  6. #15
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.240
    Danke
    193
    Erhielt 201 Danke für 185 Beiträge

    Standard

    Grundsätzlich richtig. Dennoch bleibt es eine Proportionalregelung, wenn nicht aufaddiert wird, sondern jeweils die Lagedifferenz zum Drehzahlsollwert addiert wird.
    403 - forbidden
    Sie haben nicht die notwendige Berechtigung, diese Signatur zu lesen

  7. #16
    Registriert seit
    11.07.2009
    Beiträge
    164
    Danke
    20
    Erhielt 27 Danke für 22 Beiträge

    Standard

    Hallo skorpion37,
    die einmalige Addition eines Offsets ist das Verhalten wie von einem P-Regler.
    Das dauerhafte Aufaddieren entspricht einer Integration (Fläche unter einer Kurve berechnen).

    Gruß Frank

  8. #17
    Registriert seit
    13.06.2007
    Beiträge
    49
    Danke
    18
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Ok, dann habe ich das falsch verstanden.

    "addiere(subtrahiere) nun einfach Linear, abhängig von der Position des Tänzers, auf den Sollwert vom Antrieb"

    klang für mich so als ob da jetzt in jedem Zyklus, also dauerhaft, etwas auf den Sollwert aufaddiert wird. Wenn das aber nur einmal passiert ist es vielleicht eher ein P-Regler.



  9. #18
    Registriert seit
    29.03.2004
    Beiträge
    5.366
    Danke
    134
    Erhielt 1.586 Danke für 1.158 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bei der Tänzerlageregelung über Anpassung der Geschwindigkeit des Auf- oder Abwicklers handelt es sich aber um eine integrierende Strecke.
    Der Proportionalanteil im Regler hat darum alleine schon intergrierende Auswirkung, d.h. eine eine Regeldifferenz wird nur mit einem P-Regler ohne Regelabweichung vollständig ausgeregelt.
    Ein D-Anteil im Regler auf einer integrierenden Strecke hat die Wirkung wie ein P-Anteil auf einer nicht integrierenden.
    Ich würde darum einen PD-Regler verwenden.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

Ähnliche Themen

  1. Tänzerregelung
    Von iguazu im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 15.08.2009, 16:56

Lesezeichen

Berechtigungen

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