Autor Thema: Reglerkaskadierung  (Gelesen 15208 mal)

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Offline gkobler

  • Jr. Member
  • **
  • Beiträge: 60
    • Profil anzeigen
Reglerkaskadierung
« am: 28. Juli 2010, 08:53:45 »
Hallo Zusammen

Ich bin am Programmieren des CTRL_PID Reglers, die Regler funktionieren tadellos!!

Die Schwierigkeit ist nun, ich möchte gerne zwei dieser Regler hintereinander Kaskadieren. Die Erste Stufe ist Heizen über WRG und die zweite Stufe Heizen mit Dampf.

Habe früher die Kostenpflichtigen Bausteine HVAC von Siemens eingesetzt. Da gab es Koppelmerker zwischen den Regler und man konnte bestimmen welcher Regler der Startregler ist.

Hat jemand eine Idee, wo ich da Ansetzten könnte!?

Gruss
Gregor

Offline gkobler

  • Jr. Member
  • **
  • Beiträge: 60
    • Profil anzeigen
Re:Reglerkaskadierung
« Antwort #1 am: 09. August 2010, 13:58:15 »
Hat hier noch nie jemand einen Führungs und Folgeregler benötigt?

Würde mich interessieren über einen Ansatz zum Programmieren. Brauche noch Ideen!

Gregor


Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 152
    • Profil anzeigen
Re:Reglerkaskadierung
« Antwort #2 am: 09. August 2010, 18:50:34 »
unsere regler sind aus grundbausteinen gebaut, diese findest du auch in der library z.b. ft_pid ft_pt1 usw....
diese regler kannst du beliebig kaskadieren und dir eigene regler zusammenbauen.

z.b. ist der ft_pt2 aus der library aus solchen bausteinen zusammengesetzt.

öffne mal den source code der lib und schau dir den pid regler genauer an

dalbi

  • Gast
Re:Reglerkaskadierung
« Antwort #3 am: 10. August 2010, 00:48:57 »
Hi,

als kleiner Ansatz dazu, der Führungsregler gibt seinen Stellwert auf den Sollwert des Folgereglers, der Stellwert des Folgereglers geht auf den Aktor.

z.B. Abluft-/Zuluft-Temperatur Kaskadenregelung:

Abluft ist der Führungsregler: Istwert = Abluftfühler; Sollwert = Ablufttemp. bzw. Raumtemperatur; Stellwert = Folgeregler (Sollwert)
Zuluft ist der Folgeregler: Istwert = Zuluftfühler; Sollwert = von Führungsregler; Stellwert = Aktor (Heizen/Kühlen)

Aber so wie ich Dein ersten Post verstehe suchst Du etwas anderes, eine Reglersequenz.  ;)

Gruss Daniel

Offline gkobler

  • Jr. Member
  • **
  • Beiträge: 60
    • Profil anzeigen
Re:Reglerkaskadierung
« Antwort #4 am: 16. August 2010, 09:09:40 »
Hallo Hugo
Hallo Daniel

Danke für die Hinweise, werde mal den Sourcecode analysieren.

Ja.. ich brauche eine Reglersequenz. Warscheinlich nehme ich einen PID-Regler mit dem Bereich 0..200% 0..100 für das WRG-Ventil und 100-200% für das Dampf-Ventil. Für die beiden Reglereinstellungen (PID-Werte) werde ich einen Multiplexer verwenden, je nach dem wo der Regelausgang steht.

Wenn ein Regler ausgeschaltet werden muss, werde ich den Regelausgang von 100..200% oder 0..100% begrenzen.

Das ist meine Idee. Dies sollte bei zwei Sequenzen genügen. Aber ich hatte mal die Aufgabenstellung mit 5 Sequenzen, wobei jedeeinzelne ausgeschaltet werden konnte. und die 3. war die Startsequenz. Mit den HVAC-Bausteinen von Siemens ging das Problemlos. Doch die haben viel Balast/Müll und was noch schlimmer ist die machen das ein Zyklus 100ms dauert!! :-( Deshalb suche ich einen Ersatz!

Gruss
Gregor

dalbi

  • Gast
Re:Reglerkaskadierung
« Antwort #5 am: 17. August 2010, 21:32:46 »
Hi,

ich bastel Dir am Donnerstag mal ein kleines Beispiel.  ;)

Gruss Daniel

dalbi

  • Gast
Re:Reglerkaskadierung
« Antwort #6 am: 20. August 2010, 00:05:35 »
Hi,

mit den Bausteinen aus der Oscat.lib ist das recht schwierig. Schau mir das mal genauer an, wenn ich aus dem Urlaub zurück bin.

Hast Du dir den FB41 aus der Standard Lib in Step7 schon mal angeschaut?
Der hat direkte Ausgänge für Stellungsendwert erreicht, diesen kann man dann ganz einfach auf den nächsten Regler legen.

Gruss Daniel