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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 37

Thema: Regelung im SPS-Zyklus ohne OB35-Aufruf

  1. #1
    Registriert seit
    12.08.2006
    Beiträge
    67
    Danke
    0
    Erhielt 69 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    da mir die Siemens-Regler für die S7 nie so recht gefallen haben, hab ich mir einen eigenen Baustein geschrieben mit folgenden Merkmalen:

    - PIDT1 verhalten, Aufruf im normalen Programmzyklus,
    - kaum bemerkbare Zykluszeitbeeinflussung und keine sporadischen
    Erhöhungen wie beim OB35-Aufruf durch interne Berechnung der

    Aufrufzykluszeit
    - Bidirektional Stoßfreie Hand-/Automatikumschaltung
    - Verzögerung für D-Anteil Parametrierbar
    - einfache, deutschsprachige Schnittstelle
    - Ausgänge: *Analog,
    *positiv Pulsbreitenmoduliert, Genauigkeit wie CPU-Zykluszeit
    *negativ Pulsbreitenmoduliert, Genauigkeit wie CPU-Zykluszeit
    Alle werden einmalig pro CPU-Zyklus aktualisiert, sind daher feinstufig:
    z.B. CPU-Zyklus 20ms u. Grundtakt 1s:Genauigkeit Pulsbreitenmoduliert 2%,
    bei Pulssegen im OB35 mit 100ms wären es nur 10%!
    - Möglichkeit der Abschaltung von P-, I- und D-Anteil (bei I und D durch setzen auf 0)
    - geringer Speicherbedarf: FB 1000Byte und pro Instanz-DB bzw. Regler

    132Byte d.h. viele Regler u. kleine CPU - kein Thema
    - auf selten genutzte Überwachungen für Grenzwerte wurde Verzichtet, da bei Bedarf einfach zu programmieren.

    Der Aufruf sieht wie folgt aus

    CALL "PID_Regler" , "DB_PID"
    Sollwert :=
    Istwert :=
    P_Verstaerkung :=
    I_Tn_s :=
    D_Tv_s :=
    DT1_Verzoegerung_s :=
    P_Anteil_ein :=
    Regler_Hand :=
    Y_max :=
    Y_min :=
    Impulsabstand_ms :=
    Impulsmindestdauer_ms :=
    Y_Analog :=
    Y_Impuls_Positivbereich :=
    Y_Impuls_Negativbereich :=
    Handstellwert :=

    Was haltet Ihr davon, besteht Interesse, was haltet Ihr generell von den Siemens-Reglerbausteinen?
    Zitieren Zitieren Regelung im SPS-Zyklus ohne OB35-Aufruf  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ich denke schon, daß Interesse besteht, wenn die einzelnen Parameter noch kurz erläutert sind, werden das einige mal ausprobieren wollen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    12.08.2006
    Beiträge
    67
    Danke
    0
    Erhielt 69 Danke für 6 Beiträge

    Standard

    Klassischer Regler, Integrator ist sehr genau durch Trapezintegration,
    interne Messung der Zykluszeit dient als Abtastbasis, Aufrufdifferenz von mehr als 2s (z.B. nach Spannungsausfall) führt Automatisch zum Reglerneustart

    P_Verstaerkung := Verstäkungsfaktor (gain)
    I_Tn_s := Nachstellzeit (integration time)
    D_Tv_s := Vorhaltzeit (derivation time)
    DT1_Verzoegerung_s := PT1-Verzögerung für D-Anteil zur Rauschunterdrückung
    P_Anteil_ein := wenn false dient P-Verstärkung nur zur Berechnung von Tn bzw. Tv, der Regler kann also auch als nackter Integrator arbeiten
    Regler_Hand := wenn "true" ist Y=Handstellwert
    Y_max := Obergrenze Stellbereich
    Y_min := Untergrenze Stellbereich
    Impulsabstand_ms := Grunzyklus der Pulsbreitenmodulation
    Impulsmindestdauer_ms := Mindestimpulsdauer (zum schonen der Stellglieder z.B. bei Klappensteuerung auf/Zu)
    Y_Analog := Stellwert, Reglerausgang
    Y_Impuls_Positivbereich := Pulsbreitenmodulierter Ausgang, positiv wirkend
    Y_Impuls_Negativbereich := Pulsbreitenmodulierter Ausgang negativ wirkend
    Handstellwert := inout-Realwert für Hand, wird bei Regler_Hand:="false" geschrieben, bei Regler Hand:="True" gelesen und zum Ausgang durchgeschaltet (setzt zeitgleich den Intgrator auf den "stoßfreien" Startwert)
    Geändert von Hartmut Lux (04.09.2006 um 20:24 Uhr)
    Zitieren Zitieren Kurz zu den Parametern und dem Regler  

  4. #4
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 233 Danke für 204 Beiträge

    Standard

    Hi

    Hört sich gut an


    Ist dein PID als Seriell Additiv System programmiert ?

    Wie Parametriesiert du z.b. NUR P-Regler ?


    Programmiersprache ? AWL ? SCL ?




    Karl

  5. #5
    Registriert seit
    12.08.2006
    Beiträge
    67
    Danke
    0
    Erhielt 69 Danke für 6 Beiträge

    Standard

    Programmiert ist der Baustein in AWL. P-, I- und D-Anteil werden seperat berechnet und Später zusammenaddiert (bessere Beobachtbarkeit und Nutzung der Trapezintegration möglich).

    P-Regler: D-Antei auf 0 (ganz normal) und I-Anteil auf 0 (Null wäre auch nicht definiert, weil unendliche Steigung des Ausgangsignals bei Regelabweichung).
    Geändert von Hartmut Lux (05.09.2006 um 19:37 Uhr)

  6. #6
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    220
    Erhielt 233 Danke für 204 Beiträge

    Daumen hoch

    Hi

    Hört sich gut an, kann man den testen ?


    Ach ja, hat er auch ein AWU falls ja, Typ 5 ?


    (AWU --> Anti Wind Up Verfahren )
    (Typ 5 Neuberechnung des I-Anteils bei "Regler-Max-Anschlag")


    Karl

  7. #7
    Registriert seit
    12.08.2006
    Beiträge
    67
    Danke
    0
    Erhielt 69 Danke für 6 Beiträge

    Standard

    Der I-Anteil ist intern auf y-min/y_max begrenzt. Kann in Sonderfällen editiert werden da ich den Baustein bislang nicht geschützt habe. Bin daran interessiert, daß eventuell noch existente Fehler durch Zusammenarbeit eliminiert werden (habe Ihn aber selber schon als PI-Regler ohne Probleme im Einsatz).

    Ich kann ihn Dir gerne zusenden, Weitergabe aber, außer für eigene Anlagen-Programme, bitte nur mit meinem Einverständnis.

    Es gibt ihn in 2 Varianten: für die S7-300 unter Nutzung der Funtion SFC1 zur Zykluszeitberechnung und für die S7-400 unter Nutzung des SFC64 (da nur bei der 400-er Steuerung mit 1ms Auflösung und ein Stellen des Datums bei dieser Funktion kein Reglerreset bewirkt).

  8. #8
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard

    Hat jemand jetzt schon Regler von Hartmut Lux im Einsatz??? Würd mich mal interesieren??? Wäre schön wenn jemand mal ein Feedback gibt.

  9. #9
    Registriert seit
    12.08.2006
    Beiträge
    67
    Danke
    0
    Erhielt 69 Danke für 6 Beiträge

    Standard

    Hallo Bender, wenn Du möchtest sende ich ihn Dir zum testen zu. Das Programm ist von der Schnittstelle her einfach zu händeln und der Regler läuft robust. Laß mir einfach Deine Mailadresse zukommen.

    Bislang ist das Interesse im Forum mäßig weil viele Forumteilnehmer die Problematik der Siemens-Regler (viel Speicherplatz, sporadische Zykluszeitspitzen durch OB-Aufruf und sehr grobe Pulsbreitenmodulation) noch nicht kennen.

  10. #10
    Registriert seit
    23.08.2004
    Beiträge
    565
    Danke
    73
    Erhielt 19 Danke für 18 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sehr gerne. Email schicke ich dir per PN...

Ähnliche Themen

  1. CX1000-Zugriff mit Delphi ohne TwinCat und ohne Modbus
    Von jank-automation im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 09.06.2008, 09:50
  2. AB erster Zyklus, oder erster Aufruf des Task nach RUN
    Von MSB im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 22.02.2008, 10:09
  3. Ob35
    Von Automatisierungs-Rookie im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 10.01.2007, 10:19
  4. ob35 und db aufruf
    Von kpeter im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.09.2006, 14:48
  5. Profibus-DP-Zyklus mit OB1-Zyklus synchronisieren?
    Von Supervisor im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 08.06.2006, 13:09

Lesezeichen

Berechtigungen

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