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

Ergebnis 1 bis 3 von 3

Thema: FB58 Regler

  1. #1
    Registriert seit
    02.09.2004
    Beiträge
    108
    Danke
    12
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    cih beschäftige mich gerade mit dem Reglerbaustein FB58. Ich habe im Siemens Handbuch gesehen, das es dazu ein Beispiel Projekt gibt. Ich habe mien Step7 leider ohne Beispiel-Projekte installiert. Kann mir einer von euch sagen wo ich das Projekt her bekommen kann, oder muss mein Step7 nochmal drüber bügeln?
    Danke!
    Gruß M-Arens
    Zitieren Zitieren FB58 Regler  

  2. #2
    Registriert seit
    06.09.2008
    Beiträge
    45
    Danke
    8
    Erhielt 5 Danke für 5 Beiträge

    Beitrag

    Ich denke wenn du Step7 nochmals Benutzerdefiniert installierst müsste man auswählen können ob die Beispiele installiert werden sollen.

    mfg Erick
    Zitieren Zitieren FB58 Regler  

  3. #3
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    War mir zu kompliziert das Ding.

    Also nehme ich einen selbstgestrickten, namens EASY_PID.
    Bisher noch keine Probleme damit gehabt, aber auch noch keine komplexen Regelungen damit realisiert.

    Code:
    FUNCTION EASY_PID : REAL
    TITLE = 'EASY_PID'
    VAR_INPUT
        X : REAL;
        KP : REAL;
        KI : REAL;
        KD : REAL;
        LIM_H : REAL;
        LIM_L : REAL;
        SUP_LEV : REAL;
        On : BOOL;
    END_VAR
    VAR_IN_OUT
        LetztZeit : TIME;
        Xsum : REAL;
        Xalt : REAL;
    END_VAR
        
    VAR_TEMP
        YP : REAL;
        YI : REAL;
        YD : REAL;
        Ta : REAL;
        Y : REAL;
        tOn : BOOL;
    END_VAR
        
    BEGIN
        tOn := On;
        
        IF ABS(X) < SUP_LEV THEN
            tOn := FALSE;
        END_IF;        
        Ta := DINT_TO_REAL( Zeitdiff(LetztZeit :=  LetztZeit)) / 1000;  // in Sekunden
         
        IF tOn THEN
            Xsum := Xsum + X * KI * Ta;
        ELSE
            Xsum := 0.0;
        END_IF;
        YP := X * KP;
        YI := Xsum;
        YD := KD * (X - Xalt)/Ta;
        
        IF tOn THEN
            Y := YP + YI + YD;
        ELSE
            Y := 0.0;
        END_IF;
        
        IF Y >= LIM_H THEN
            Y := LIM_H;
            IF KI <> 0 THEN  
                Xsum := LIM_H - YP; 
            ELSE
                Xsum := 0;
            END_IF;
            OK := TRUE;
        ELSIF Y <= LIM_L THEN
            Y := LIM_L;
            IF KI <> 0 THEN 
                Xsum := LIM_L - YP; 
            ELSE
                Xsum := 0;
            END_IF;
            OK := TRUE;
        ELSE
            OK := FALSE;
        END_IF;
        EASY_PID := Y;    
        Xalt := X;
    
    END_FUNCTION
    Und hier der Zeitdiff-Baustein:

    Code:
    FUNCTION FC 162 : DINT
    TITLE =
    VERSION : 0.0
    
    VAR_IN_OUT
      LetztZeit : TIME ; 
    END_VAR
    VAR_TEMP
      Zeit : TIME ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =Zeitscheibe ermitteln
          CALL SFC   64 (
               RET_VAL                  := #Zeit);
          L     #Zeit; 
          L     #LetztZeit; 
          -D    ; 
          T     #RET_VAL; 
          L     #LetztZeit; 
          L     #Zeit; 
          >D    ; 
          SPBN  zmkw; 
          L     #LetztZeit; 
          L     DW#16#7FFFFFFF; 
          -D    ; 
    zmkw: T     #LetztZeit; 
    END_FUNCTION
    Anbei noch der zugrundeliegende Artikel, der mich auf die Idee brachte.
    Angehängte Dateien Angehängte Dateien
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

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

    com (01.10.2009)

Ähnliche Themen

  1. FB58 /Temperatur Regler
    Von kiestumpe im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 29.09.2006, 13:21
  2. Pulsausgang am PID-Regler FB58
    Von Lars Bizare im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 11.11.2005, 09:15
  3. FB58 (Regler) mehrfach verwenden
    Von Lars Bizare im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.11.2005, 09:30
  4. FB58 PID-Regler Frage
    Von Lazarus™ im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 13.07.2005, 22:49
  5. Brauche Hilfe bei stetigen Regler FB58
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.06.2005, 06:53

Lesezeichen

Berechtigungen

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