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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: PID Regler programmieren, DB erstellen ?

  1. #1
    Registriert seit
    26.07.2005
    Beiträge
    454
    Danke
    22
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich versuche einen "einfachen" PID Regler zu programmieren. Und zwar habe ich einen Druckaufnehmer 0-10V und ein Proportional Regelventil (Druckluft) als Stellglied ebenfalls 0-10V. Den Sollwert möchte ich über das MMI vorgeben (INT). Ich denke für diese Anwendung kommt der FB41 cont_c in Frage, oder? Jetzt habe ich mich so ein weing da reingelesen, und bin dann auf die Instanz-Datenbausteine gestoßen, und dass FB's immer in Verbindung mit DB's genutzt werden müssen. Ich habe dann in meinem Projekt einen FC8 neu angelegt. In diesem FC8 habe dann aus der Standart Libary den FB41 eigefügt. So, jetzt wußte ich nicht genau, wie das mit dem DB funktioniert und habe also dann im Manager auch noch einen Instanz-DB (41) angelegt, in dem dirkekt die Deklaration für die Variablen vom FB41 schon angelegt waren.
    Meine Frage(n) nun: Ist das der Weg, den man geht, um im einfachsten Fall (zur Übung/Testzwecken) einen PID zu programmieren? Wie muß ich denn jetzt FB41, DB41 usw im OB1 aufrufen. Ist es normal, dass automatisch im Simatic Manager ein FB41 erstellt wird? Wie kann ich denn jetzt die Regelparameter ändern, z. B. übers MMI?
    Ich weiß, viele Fragen, würde mich aber total freuen, wenn mir jemand etwas helfen könnte
    Gruß
    Oli
    Press "Play" on Tape
    -------------------------------
    TwinCAT
    Step7
    Barber-Colman MacoDS
    Schneider Momentum SPS
    Wonderware 8.0
    Concept 2.2 SR2
    Vipa
    Allen-Bradley
    Zitieren Zitieren PID Regler programmieren, DB erstellen ?  

  2. #2
    Registriert seit
    27.08.2004
    Ort
    Bei Bremen
    Beiträge
    648
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Standard

    Hallo,
    der FB ist in eriner Bibliothek und kann von dort kopiert werden.

    Der FB 41 hat einen Parameter Sollwert, dort kannst Du aus dem EmpfangsDB einen Wert antragen und das wars.

    Zum Aufruf:
    Der Regler braucvht einen festen Takt in dem er aufgerufen wird!!

    Daher OB35!!

    Sonst passen die Zeiten nicht!
    Gruß
    Heinz

  3. #3
    olitheis ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.07.2005
    Beiträge
    454
    Danke
    22
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,
    also ich brauche grundsätzlich einen OB35, wenn ich den FB41 nutzen will?
    Mir ist aber auch noch nicht so ganz klar, wie der DB41 damit zusammenhängt. Und warum automatisch ein FB41 im Simatic Manager erzeugt wird, oder ist das ganz einfach so, wenn man einen FB aus der Bibliothek holt?
    Vielen Dank
    Oli
    Press "Play" on Tape
    -------------------------------
    TwinCAT
    Step7
    Barber-Colman MacoDS
    Schneider Momentum SPS
    Wonderware 8.0
    Concept 2.2 SR2
    Vipa
    Allen-Bradley

  4. #4
    Registriert seit
    20.08.2003
    Beiträge
    275
    Danke
    38
    Erhielt 32 Danke für 31 Beiträge

    Standard

    Hallo,
    die Antworten zu deinen Fragen findest du hier:
    http://www2.automation.siemens.com/f...dt/b03/b03.pdf

    nur ganz kurz:
    - der Aufruf im OB 35 ist dazu da, damit du eine Zykluszeitunabhängige Abtastzeit hast
    - im Instanz-DB (bei dir DB41) werden die Werte und Zwischenergebnisse, welche der FB41 benötigt, abgelegt

    MfG. Rayk

  5. #5
    olitheis ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.07.2005
    Beiträge
    454
    Danke
    22
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Super, Danke,

    ich werde mich mal da durch wühlen.
    Sollte ich noch Fragen haben, melde ich mich noch Mal.

    Vielen dank
    Oli
    Press "Play" on Tape
    -------------------------------
    TwinCAT
    Step7
    Barber-Colman MacoDS
    Schneider Momentum SPS
    Wonderware 8.0
    Concept 2.2 SR2
    Vipa
    Allen-Bradley

  6. #6
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    InstanzDBs werden automatisch erzeugt, wenn man den FB aufruft und die Soll IDB-Nr. angibt.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  7. #7
    Registriert seit
    14.10.2004
    Beiträge
    104
    Danke
    24
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Hallo Forum,

    also ich bin der Meinung, der FB41 ist zyklisch (zum Beispiel im OB1) aufzurufen.

    Natürlich braucht ein digitaler Regler ein KONSTANTES Zeitintervall
    zwischen den Aufrufen denn ansonsten funktioniert die ganze
    Theorie mit Laplace, Z-transformation, Einheitskreis usw usw
    in der Praxis nicht, weil die entsprechenden Reglereinstellungen
    sich immer auf einen zeitlich konstanten Regleraufruf beziehen.

    Aber im Gegensatz zu meinen Vorrednern (besser Schreibern) bin
    ich der Meinung, die Aufrufzeit (Sampletime) wird im Datenwort 2
    des Instanzdatenbausteins angegeben.....

    Bin mal gespannt, wie die anderen das hier sehen.....

    Gruß D. Börgmann
    Zitieren Zitieren FB41 Aufruf  

  8. #8
    Registriert seit
    27.08.2004
    Ort
    Bei Bremen
    Beiträge
    648
    Danke
    11
    Erhielt 12 Danke für 10 Beiträge

    Standard

    @dagobert,
    stimmt die cycletime wird angegeben.

    MAn kann natürlich auch im OB1 einen "festen" Zeitinterwall programmieren und dann den FB41 aufrufen.

    Ich mache dieses nur, wenn die cycletime nicht mit den Zeitobraster passt, oder die Zykluszeit der MAschine recht hoch ist. Nur für einen Anfänger ist der OB doch eine einfache Lösung
    Gruß
    Heinz

  9. #9
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard

    Hallo,

    Aber im Gegensatz zu meinen Vorrednern (besser Schreibern) bin
    ich der Meinung, die Aufrufzeit (Sampletime) wird im Datenwort 2
    des Instanzdatenbausteins angegeben.....
    Das ist richtig. Aber der Wert der hier steht (Eingang CYCLE des FB41) hat leider nix mit der wirklichen Abtastzeit des Reglers zu tun. Vermutlich wird dieser Parameter für die internen Berechnungen des D- und I-Anteils benötigt. Trägt man hier eine andere als die tatsächliche Abtastzeit ein (und nichts hindert einen daran! ) funktioniert der ganze Regler nicht richtig (es sei denn man verwendet ihn sowieso nur als reinen P-Regler).

    Von daher ist der Aufruf im OB35 schon die sauberste Lösung - wenn man den richtigen Wert der Abtastzeit dann auch dem FB41 mitteilt.

    Peter

  10. #10
    Registriert seit
    14.10.2004
    Beiträge
    104
    Danke
    24
    Erhielt 7 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    also ich habe meistens mit Temperatur, Füllstand, Druck, Durchfluss, Drehzahl Regelstrecken zu tun.....
    Die beiden erstgenannten sind ja eh langsamere Gesellen....
    Bisher rufe ich den FB41 einfach im OB1 auf.
    Ich glaube das ist OK weil:

    1. die realen Zykluszeiten in S7 Technik so zwischen 10 und 20ms liegen
    2. die kleinsten Zeiten der realen Regelstrecken um deutlich mehr als Faktor 10 höher liegen.

    Als Folge dessen erlaube ich mir die Sampletime lediglich im IDB mitzuteilen.
    Der Preis meiner Faulheit ist natürlich die schwankende Zykluszeit der S7 und damit kein hunderprozent Konstanter Bausteinaufruf......
    Aber die Reglereinstellung kann auch Keiner 100% genau ermitteln denn auch hier treten zwischen Theorie und Praxis deutliche Unterschiede auf.
    Aber das ist eine andere Geschichte....
    Bei schnellen Regelkreisen (wie Positionierung, Lage usw) sieht die Sache natürlich anders aus.

    Gruß D. Börgmann

Ähnliche Themen

  1. PID Regler programmieren
    Von hbedir im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 19.06.2013, 19:14
  2. PI Regler in CoDeSys erstellen
    Von j.g. im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 11.01.2010, 20:18
  3. PID Regler und Dimmer Programmieren
    Von Andy258 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 01.02.2008, 13:54
  4. PID-Regler programmieren - Hilfe
    Von Toddy80 im Forum Programmierstrategien
    Antworten: 9
    Letzter Beitrag: 03.10.2007, 12:04
  5. Antworten: 2
    Letzter Beitrag: 09.01.2006, 12:19

Lesezeichen

Berechtigungen

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