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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: PID Control Beispiel gesucht

  1. #1
    Registriert seit
    20.02.2005
    Beiträge
    246
    Danke
    3
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich würde gerne mal die PID Funktionen einer S7 ausprobieren (SFB41)
    Habe es versucht, aber es funktioniert nicht, der Ausgang ist und bleibt bei null.

    Kann mir einer von Euch da weiterhelfen und z.b ein Beispielprogramm erstellen?

    Danke und ein erflgreiches Jahr 2007

    Gruß Buffi4711
    Zitieren Zitieren PID Control Beispiel gesucht  

  2. #2
    Registriert seit
    22.07.2006
    Beiträge
    72
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    ... wie das funzt würd ich auch gern wissen!
    Hoch lebe die S7-Automatisierung!

  3. #3
    Registriert seit
    10.05.2005
    Beiträge
    2.005
    Danke
    220
    Erhielt 234 Danke für 205 Beiträge

    Standard

    Hi

    Schau dir das Beispielprogramm für den FB41 an.

    Unter Beispiele --> suchen.

    Irgendentwas mit "xxx_13" , lade dir die Datei rein.
    Karl

  4. #4
    Registriert seit
    07.10.2006
    Beiträge
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Der häufigste Fehler ist, dass man die Cycle-Time vergisst zu setzen.
    In meinem Beispiel sind nur die Grundbedingungen gesetzt.
    Die P, I und D Parameter werden mittels PID-Control (Siemens Zusatzprogramm) live gesetzt und erst, wenn alles perfekt läuft übertragen. Mit diesem Tool lassen sich auch die Grössen aufzeichnen wie SOLL-, IST-, Regeldifferenzen, Störgrösse, etz.

    Nun ma hier das Beispiel:

    Und nicht erschrecken, war ma KOP
    Code:
          UN    "m_Freigabe_PID"
          =     L    136.1
          BLD   103
          UN    "m_aktiv"       // m_aktiv = Merker, der immer eins ist
          =     L    136.2
          BLD   103
          U     "m_aktiv"
          =     L    136.3
          BLD   103
          U     "m_aktiv"
          =     L    136.4
          BLD   103
          UN    "m_aktiv"
          =     L    136.7
          BLD   103
          CALL  "CONT_C" , "db131_PID"
           COM_RST :=
           MAN_ON  :=L136.1
           PVPER_ON:=L136.2
           P_SEL   :=L136.3
           I_SEL   :=L136.4
           INT_HOLD:=
           I_ITL_ON:=
           D_SEL   :=L136.7
           CYCLE   :=T#20MS
           SP_INT  :="md_SOLL"
           PV_IN   :="md_IST"
           PV_PER  :=
           MAN     :=2.000000e+001
           GAIN    :=
           TI      :=
           TD      :=
           TM_LAG  :=
           DEADB_W :=
           LMN_HLM :=
           LMN_LLM :=
           PV_FAC  :=
           PV_OFF  :=
           LMN_FAC :=
           LMN_OFF :=
           I_ITLVAL:=
           DISV    :=
           LMN     :=
           LMN_PER :="aw_OUT"
           QLMN_HLM:=
           QLMN_LLM:=
           LMN_P   :=
           LMN_I   :=
           LMN_D   :=
           PV      :=
           ER      :=
          NOP   0
    Hier geht's um einen Applikator, der Etiketten auf ein Paket klebt Soll und Ist-Wert kommen als mm-Grösse (Gleitpunkt) rein, werden verglichen, mit dem GAIN entsprechend auf die richtige Grösse gestreckt und anschliessend mit den PID-Faktoren verarbeitet (die man hier nicht sieht, da nur im DB gespeichert). Anschliessend wird das Resultat nochmal begrenzt und mit einem Offset versehen.
    Btw. mit F1 auf den Block kommt nen hübsches Funktions-Diagramm des Reglers.

    Gruss und nen frohes neues Jahr
    Reto

  5. #5
    Registriert seit
    12.04.2006
    Ort
    Bayern/Oberpfalz
    Beiträge
    135
    Danke
    3
    Erhielt 15 Danke für 11 Beiträge

    Standard

    Wenn ich Beispielsweise den SFB41 im OB35 alle 100ms aufrufe, muss dann bei Cycle auch 100ms eingetragen werden oder kann dort ein beliebiger Wert stehen?

  6. #6
    Registriert seit
    07.10.2006
    Beiträge
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Da meine Regelung nicht Zeitkritisch ist, hab ich den Baustein direkt ins Programm gesetzt ... aber ich würd's auch ma mit 100ms versuchen.

    Gruss Reto

  7. #7
    Registriert seit
    27.11.2005
    Ort
    im Osten
    Beiträge
    1.183
    Danke
    141
    Erhielt 271 Danke für 248 Beiträge

    Standard

    Zitat Zitat von adiemus84 Beitrag anzeigen
    Wenn ich Beispielsweise den SFB41 im OB35 alle 100ms aufrufe, muss dann bei Cycle auch 100ms eingetragen werden oder kann dort ein beliebiger Wert stehen?

    In deinem Fall müsstest du da 100ms ranschreiben

  8. #8
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Im OB35 steht die Aufrufzeit auch in einer Lokalvariable. #OB35_EXC_FREQ
    Wenn du die benutzt, brauchst du dir keine Gedanken über die richtige Anagbe für Cycle machen !

  9. #9
    buffi4711 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.02.2005
    Beiträge
    246
    Danke
    3
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo,

    ich komm eine fach nicht weiter.

    Wen ich den FB 41 mit Datenbaustein aufrufe (im OB 35) mit dem gleichen cycle wie der OB35 ist mein PV immer gleich groß wie der PV in. Sprich das Ding regelt nicht, sondern es wird der Istwert direkt durchgeleitet.
    Wenn ich mir die Werte im PID-Control auf dem Schreiber anschaue, ist der Ausgang angeblich null?

    Wer kann helfen?

    Gruß buffi4711

  10. #10
    Registriert seit
    15.02.2006
    Ort
    S-H
    Beiträge
    190
    Danke
    11
    Erhielt 47 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was auch immer gern übersehen wird (wenn der Regler nicht über PID-Control initialisiert wird) ist, das der Parameter Man_on auf True steht, d.h., der Regler regelt nicht!
    Im Instanz-DB steht bei man_on dann auch True.Einfach auf False setzen.
    Evtl. ist die Lösung ja auch mal simpel...
    mit bestem Gruß Pjoddi
    -----------------------------------
    Gott- gib mir Gelassenheit, Dinge hinzunehmen, die ich nicht ändern kann, den Mut, Dinge zu ändern, die ich ändern kann, und die Weisheit, das eine vom anderen zu unterscheiden. (J.C. Oetinger)
    Zitieren Zitieren Man_on auf False  

Ähnliche Themen

  1. Motion Control Lösung gesucht!
    Von LarsKrachen im Forum Antriebstechnik
    Antworten: 1
    Letzter Beitrag: 18.09.2011, 21:08
  2. [S] einfaches Beispiel SCL
    Von kevi66 im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 18.04.2010, 19:34
  3. NC I Beispiel
    Von Itus im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 19.08.2009, 11:06
  4. Beispiel für S7ProSim AktiveX Control?
    Von sweber im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 26.09.2006, 11:29
  5. beispiel DB und UDT
    Von mzva im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.07.2006, 03:18

Lesezeichen

Berechtigungen

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