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

Ergebnis 1 bis 7 von 7

Thema: PID-Regler mit Rückführung

  1. #1
    Registriert seit
    01.03.2017
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    existiert in irgendeiner Wago- oder Oscat-Bibliothek ein Funktionsbaustein "PID-Regler mit Rückführung"?

    Hintergrund:

    in älteren HKL-Anlagen mit Hardware-Reglern (PMA-Phillips) wird die Stellung des Stellventils (0-10V = 0-100 % Öffnung)
    im Regler als Eingang verarbeitet. fast alle Stellantriebe haben einen solchen Ausgang.
    damit werden Reglerschwingungen deutlich reduziert.

    beim Umbau dieser Anlagen auf SPS mit dem Standard-PID-Regler ist der Zeitaufwand für das Einregulieren relativ hoch.

    in der HVAC_02 glaube ich, einmal einen solchen Regler (PID_AUF) gesehen zu haben,

    finde aber den Downloadpfad nicht mehr.

    mfg
    Thomas
    Zitieren Zitieren Gelöst: PID-Regler mit Rückführung  


  2. #2
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.449
    Danke
    242
    Erhielt 234 Danke für 215 Beiträge

    Standard

    Ähm, Du benötigst zwei Regler: Der eine berechnet aus der Raumtemperaturdifferenz (PI(D)) die Ventilsollstellung (Sollwert für den zweiten!) und der zweite regelt die Stellung des Ventils (PI).
    Damit kannst Du aus den Standardbausteinen was bauen.
    Damit wird die Raumisttemp. auf den ersten Regler zurückgeführt und die Ventiliststellung auf den zweiten...
    Geändert von weißnix_ (01.03.2017 um 15:38 Uhr)
    - Der frühe Wurm wird vom Vogel gefressen -

  3. #3
    Registriert seit
    20.10.2016
    Ort
    Aurich
    Beiträge
    204
    Danke
    14
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Hallo Thomas,

    dann nimm doch die WAGO Building_HVAC_03_d Lib. Gibts auf der WAGO Seite.
    Die haben unterschiedlichste PID Regler drin.

    GRuß

    Onno

  4. #4
    Schipani ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.03.2017
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    [


    ich habe die Bibliotheken HVAC_01 und 03 bereits durchforstet, die _02 kann ich im Netz nicht mehr finden. hat jemand noch einen Link?


    den Versuch mit der Kaskade werde ich durchführen.

  5. #5
    Registriert seit
    20.10.2016
    Ort
    Aurich
    Beiträge
    204
    Danke
    14
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Vielleicht verstehe ich Dich ja falsch.
    Aber in der HVAC_01 gibt es einen BAustein, heißt: Fb_COntrol_PID-Adv. Der macht doch was Du brauchst, oder?
    Habe leider auch nur die 01 und die 03.

    Gruß

    Onno

  6. #6
    Registriert seit
    07.08.2015
    Beiträge
    7
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hello. Try this workaround:
    Code:
    PROGRAM PLC_PRG
    VAR
    
        PIDControllerInstance:FbPIDController;
        ConfigPIDControllerInstance: typConfigPIDController := (
            xDummy:=FALSE,
            xChangeInDirection:=FALSE,
            xPresetOn:=FALSE,
            xPresetOff:=FALSE,
            rPresetValueOn:=100,
            rPresetValueOff:=0,
            tCycleTime:=T#100ms,
            rOutputMin:=0,
            rOutputMax:=100,
            rDeadZone:=0.2,
            rKp:=10,
            rTn:=60,
            rTd:=0.001);
    
        RampInstance:FbRamp;
        ConfigRampInstance: typConfigRamp := (
            rStepRangeUp:=100,
            rStepRangeDown:=100,
            tTimeBase:=T#150s);
    
        SETPOINT: REAL :=25;
        ACTUAL: REAL :=25;
    
        preal: POINTER TO REAL;
    END_VAR
    Code:
    PIDControllerInstance(
        xEnable:= TRUE,
        rReferenceValue:= SETPOINT,
        rActualValue:= ACTUAL,
        xManualOperation:= , 
        rManualValue:= , 
        typConfigPIDController:= ConfigPIDControllerInstance,
        rY=> , 
        wY=> ,
        rDifference=> , 
        xMaxLimitReached=> , 
        xMinLimitReached=> ); (*usual PID-controller*)
    
    RampInstance(
        xEnable:= TRUE,
        rInput:= PIDControllerInstance.rY,
        typConfigRamp:= ConfigRampInstance,
        rOutput=> ,
        xActive=> ); (*Valve speed limit*)
    
    IF     RampInstance.xActive(*modify PID output only when needed*)
        AND RampInstance.CycleTime<>t#0ms (*This is essential! - without this line speed will be limited to 0*)
    THEN
        preal:=ADR(PIDControllerInstance.rY); (*grab PID's accumulated value*)
        preal^:=RampInstance.rOutput; (*substitute it with speed-limited one*)
    END_IF

  7. #7
    Registriert seit
    22.11.2009
    Ort
    OWL
    Beiträge
    31
    Danke
    1
    Erhielt 7 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren

Ähnliche Themen

  1. TIA PID Regler unbedingt mit Interrupt?
    Von Credofire im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 22.05.2016, 10:36
  2. Dosierbandwaagen mit PID Regler
    Von Jann im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 12.11.2012, 06:47
  3. PID-Regler mit Schalthysterese
    Von fossibear im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 02.12.2010, 07:37
  4. PID-Regler mit EM231 RTD
    Von micha2010 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.03.2010, 13:30
  5. PID Regler mit CPU214
    Von hubert im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 05.01.2004, 13:20

Stichworte

Lesezeichen

Berechtigungen

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