Momentan hab ich für meine Regelungsaufgabe der PID Baustein von Codesys benutze. Er hat in vorwärtsrichtung gearbeitet aber nicht rückwärtsrichtung.
Ich hab momentan willkürliche paramter eingesetzt (KP=1, TN=0.1). Ich mache eine Kraftregelung über den DRuck als Stellgrösse. In Vorwärtsrichtung wird den Druck nach oben gebracht bis die regeldiff=0.
Regeldiff= Kraft_Soll-Kraft_Ist.
Aber wenn ich den Sollwert der Kraft verringere, verändert der Regler seine Stellgrösse (Stellgrösse) nicht.
Warum kann der Baustein nicht der Druck zurückstellen?
mfg
Guy
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Es fehlet jedoch z.b. das Anti-Winds-up des I-Anteil
und sonst noch eingige Sachen.
Wie kann ich das Anti-Wind-up programmieren und einbauen?
Wie bist du auf die Reglerparameter gekommen?
ich habe vor später meine Parameter über eine Sprungantwort zu bestimmen
I-Anteil hochintegriert ?
Das weiss ich nicht, wie kann ich es überprüfen. Das Anti-Winds-up hab ich nur aus der theorie gelernt. Wie ich es in der Realität einsetze weiss ich nicht wie es geht. Vielleicht kannt du mir bitte dabei helfen und werde ich mal probieren.
Mach doch mal einen Test mit der WebVisu.
Solldruck und Istdruck als Variablen, die du jederzeit ändern kannst.
Bin noch nicht so gut in CodeSys dass ich eine WebVisu herstellen kann. Kann es nicht auch durch eine normale Visualisierung gehen? Das programm w¨rde ich auch gerne zu hause testen, aber weiss es nicht wie es ohne Hardware gehen kann. Hast du ein Tipp dazu?
Wichtig, einen Bausteinreset solltest du NICHT vergessen (Initialisierung)
Wann soll ich den Reset machen? Momentan ist mein reseteingang permanent auf false. Hab mir gedacht dass wenn ich reset mache wird es nicht so gut für den regler sein.
was verstehst du hier unter Anschlag? Meinst du Y_MAX? Falls ja, hat mein aktueller Regler niemals Y_MAX erreicht weil mein Sollkraft nicht so hoch dass Y_MAX erreicht wurde.
Oder meinst du der Wert bei dem der Reglerausgang sich stabilisiert hat, wenn mein gewünschter Sollkraft erreicht wurde? Falls du es meinst, ja war hat er den Wert länger behalten. Wie kann ich jetzt die Hochintegration des Reglers abbauen damit der regler auch rückwärts (der Istwert der kraft, d.h indirekt die stellgrösse bei mir Druck) arbeiten kann.
Ich habe Druckreglerventile (mit der roten Marke Rexroth siehe Bild der Strecke) als Hardware, die 1 intern regler haben, um den gewünschten Sollwert des Drucks einzustellen.
Der Ausgang des reglers von CodeSys stellt den gewünschten Sollwert des Drucks für den internen Regler des Ventils, so dass der Druck langsam erhöht wird.
hab schon die software runtergeladen, und eine webvisu gemacht.
In der Realität als Hardware habe ich Busklemmen der Firma Wago 750-333.
Anbei ist ein mit einem PID Baustein. Aber ich weiss nicht wie ich das Program zu Hause richtig testen kann, so dass ich das Reglerverhalten beurteilen kann.
Ich möchte gerne den PID regler der CodeSys Bibliotheke verwendet.
Vielleicht kann jemand mein Programm verbessern so dass einigermasse die Realität mehr oder weniger simulieren kann. Mein problem ist haupsächlich die Anwendung des PID_Baustein. Der Baustein möchte ich gerne zuerst heute testen und schauen wie er sich verhält, bevor ich wieder in meiner realen Anwendung einsetzen kann.
anbei ist das programm dass ich in der realität einsetze. Im Schritt "F_Ist_Auf_Kraft_bei_Start_Bringen" ist mein Regler dort eingebaut.
Ich hab mit dem programm rumgespielt und er reagiert richtig.
Bloss wie gesagt in der Realität bei mir er geht nicht mit der Stellgrösse runter obwohl er nicht den Anschlag erreicht hat.
Als näschte würde ich gerne ein realer Regelkreis simulieren und das Gleiche verhalten wie bei dem Beispiel sehen. Ich weiss es dass möglich zu simulieren aber tipp dazu würde ich gerne haben.
Wie gesagt eine soft-sps habe ich, wie soll ich vorgehen?
Hallo,
hat jemand schon der gefertigte PID baustein von CodeSys? Falls ja wie gehts?
LG
Einen PID Controller findest du in der open source library von OSCAT
oscat ist open source und kann lizenzfrei verwendet werden
w www.oscat.de w
Hallo,
Hast du schon diesen Baustein für eine konkrete Anwendung verwendet?
mfg
Guy
HI
Mehrere Regler u.a. für Wasserregelung, Klimaanlage kühlen, Industrieheizung (Hallenbeheizung über FU-Regler).
Keine Probleme
Hallo,
Wie bist du auf die Reglerparameter gekommen?
Momentan hab ich für meine Regelungsaufgabe der PID Baustein von Codesys benutze. Er hat in vorwärtsrichtung gearbeitet aber nicht rückwärtsrichtung.
Ich hab momentan willkürliche paramter eingesetzt (KP=1, TN=0.1). Ich mache eine Kraftregelung über den DRuck als Stellgrösse. In Vorwärtsrichtung wird den Druck nach oben gebracht bis die regeldiff=0.
Regeldiff= Kraft_Soll-Kraft_Ist.
Aber wenn ich den Sollwert der Kraft verringere, verändert der Regler seine Stellgrösse (Stellgrösse) nicht.
Warum kann der Baustein nicht der Druck zurückstellen?
mfg
Guy
Hi
Hatte ich auf mal verwendet.
Dieser funktioniert.
Auch hier keine Probleme.
Es fehlet jedoch z.b. das Anti-Winds-up des I-Anteil
und sonst noch eingige Sachen.
D.h. wenn der Regler einige minuten oder länger auf "anschlag" läuft
addiert sich der I-Anteil ziemlich hoch.
Dieser I-Anteil muss jedoch wieder erst abgebaut werden, bis eine aktuelle Stellsignaländerung auswirkt.
Möglicherweise ist das dein Problem.
Es gibt verschiedene Möglichkeiten.
Z.b. Einstellregeln von "Ziegler und Nichols"
Mal danach Googlen oder auf :
w www.magnia.de w --> Hauptmenue --> Linksammlung --> Hochschulen ...
Siehe oben.
I-Anteil hochintegriert ?
?
Mach doch mal einen Test mit der WebVisu.
Solldruck und Istdruck als Variablen, die du jederzeit ändern kannst.
Regelt nun der Ausgang noch oben und unten ?
Soll 50 Ist 10 --> Ausgang grösser
Soll 50 Ist 60 --> Ausgang wird kleiner
Wichtig, einen Bausteinreset solltest du NICHT vergessen (Initialisierung)
und sonst noch eingige Sachen.
Wie kann ich das Anti-Wind-up programmieren und einbauen?
ich habe vor später meine Parameter über eine Sprungantwort zu bestimmen
Das weiss ich nicht, wie kann ich es überprüfen. Das Anti-Winds-up hab ich nur aus der theorie gelernt. Wie ich es in der Realität einsetze weiss ich nicht wie es geht. Vielleicht kannt du mir bitte dabei helfen und werde ich mal probieren.
Solldruck und Istdruck als Variablen, die du jederzeit ändern kannst.
Bin noch nicht so gut in CodeSys dass ich eine WebVisu herstellen kann. Kann es nicht auch durch eine normale Visualisierung gehen? Das programm w¨rde ich auch gerne zu hause testen, aber weiss es nicht wie es ohne Hardware gehen kann. Hast du ein Tipp dazu?
Wann soll ich den Reset machen? Momentan ist mein reseteingang permanent auf false. Hab mir gedacht dass wenn ich reset mache wird es nicht so gut für den regler sein.
Bild meiner realen Strecke
Strecke.rar [110.41 KiB]
Willst du das RAd neu erfinden ?
Wenn du z.b. einen Anti-Winds-Up benötigst, solltest du geeignete Biliotheken deines Steuerungshersteller verwenden.
Diese sind teilweise NICHT kostenlos und HARDWAREABHÄNGIG.
D.h. Wechselst du den Hersteller musst du einen "Neuen PID-Regler" des jeweils aktuellen Hestellers verwenden.
Zudem kannst du den Code nicht einsehen/verändern.
ODER du benutzt die OSCAT-LIB unter w www.oscat.de w kostenlos, Quelltextoffen.
Wenn du Zeit und Lust hast kannst du bei der Weiterentwicklung dieser umfangreichen freien Bibliothek mithelfen.
O.K.
Lag dein Stellwert länger auf 100% ?
Falls ja, ist er "hochintegriert" (Beim CoDeSys PID-Regler)
Wenn du nie auf "Regler-Anschlag" fährst, funktioniert der CoDeSys-Regler gut.
Nim einen der geeigneten/gewollten PID-Regler, dann brauchste dir keine Gedanken mehr zu machen.
Solldruck und Istdruck als Variablen, die du jederzeit ändern kannst.
Welche Hardware hast du. (Conrollertyp)
Ein Example für eine einfache Visu findest du hier: (Wago 750-841)
http://www.magnia.de/index.php?option=c ... &Itemid=53
Auch, ist aber mehr Arbeit
Geht.
Lade dir die Kostenlose CoDeSys hier auf der 3S-Homepage runter.
Einbinden der OSCAT-LIB.
Anwahl Simulation.
Testen.
FERTIG
Beim 1 durchlauf deines Programmes.
Oder als Test mit einem VISU-Button.
D.h. du bist der Meinung, die haben einen "unnützen" Eingang programiert
Keine Angst, der Regler geht NICHT kaputt.
Hi
Ist irgendwie ein "Eisenklotz".
(Ist NICHT böse oder abwertend gemeint)
(Bin halt KEIN Schlosser)
Kann leider NICHTS damit anfangen.
Das ist eine Regelstrecke.
http://www.samson.de/pdf_de/l102de.pdf
http://de.wikipedia.org/wiki/Regelstrecke m
Hallo,
was verstehst du hier unter Anschlag? Meinst du Y_MAX? Falls ja, hat mein aktueller Regler niemals Y_MAX erreicht weil mein Sollkraft nicht so hoch dass Y_MAX erreicht wurde.
Oder meinst du der Wert bei dem der Reglerausgang sich stabilisiert hat, wenn mein gewünschter Sollkraft erreicht wurde? Falls du es meinst, ja war hat er den Wert länger behalten. Wie kann ich jetzt die Hochintegration des Reglers abbauen damit der regler auch rückwärts (der Istwert der kraft, d.h indirekt die stellgrösse bei mir Druck) arbeiten kann.
Ich habe Druckreglerventile (mit der roten Marke Rexroth siehe Bild der Strecke) als Hardware, die 1 intern regler haben, um den gewünschten Sollwert des Drucks einzustellen.
Der Ausgang des reglers von CodeSys stellt den gewünschten Sollwert des Drucks für den internen Regler des Ventils, so dass der Druck langsam erhöht wird.
mfg
Guy
Strecke.rar [437.31 KiB]
Hast du dir die Software runtergeladen ?
Mache dir doch mal den WEBVISU-Aufbau.
Somit kannst du alle Werte beobachten und auch testen.
"Regler auf Anschlag" --> längere Zeit "mehr" als 100% Stellwert.
I-Anteil integriert sich hoch.
Den Inhalt der Variablen kannst du dir "anschauen".
Du solltest unbedingt eine Webvisu erstellen, so dass du das verhalten deines Regler erkennen kannst.
Welche Hardware/Comntroller verwendest du.
Welchen PID-Regler willst du verwenden ?
Hallo,
hab schon die software runtergeladen, und eine webvisu gemacht.
In der Realität als Hardware habe ich Busklemmen der Firma Wago 750-333.
Anbei ist ein mit einem PID Baustein. Aber ich weiss nicht wie ich das Program zu Hause richtig testen kann, so dass ich das Reglerverhalten beurteilen kann.
Ich möchte gerne den PID regler der CodeSys Bibliotheke verwendet.
Vielleicht kann jemand mein Programm verbessern so dass einigermasse die Realität mehr oder weniger simulieren kann. Mein problem ist haupsächlich die Anwendung des PID_Baustein. Der Baustein möchte ich gerne zuerst heute testen und schauen wie er sich verhält, bevor ich wieder in meiner realen Anwendung einsetzen kann.
mfg
guy
RegTest.rar [255.88 KiB]
Hi
Ist ein Interface und KEIN Controller.
Hast du eine Soft-SPS ?
Hi
Hab dir mal kurz das Example umgebaut.
Verändere mal die Werte in der Variable:
Regler_Soll_Wert und Regler_Ist_Wert.
Sollwert > Istwert Stellwert wird grösser
Sollwert < Istwert Stellwert wird kleiner
Nur mal so zum Rumspielen.
RegTest_01.pro [42.92 KiB]
hi ,
ich habe eine Soft-SPS. Ich werde mal mit dem Beispiel rumspielen;
mfg
guy
hi,
anbei ist das programm dass ich in der realität einsetze. Im Schritt "F_Ist_Auf_Kraft_bei_Start_Bringen" ist mein Regler dort eingebaut.
Ich hab mit dem programm rumgespielt und er reagiert richtig.
Bloss wie gesagt in der Realität bei mir er geht nicht mit der Stellgrösse runter obwohl er nicht den Anschlag erreicht hat.
Als näschte würde ich gerne ein realer Regelkreis simulieren und das Gleiche verhalten wie bei dem Beispiel sehen. Ich weiss es dass möglich zu simulieren aber tipp dazu würde ich gerne haben.
Wie gesagt eine soft-sps habe ich, wie soll ich vorgehen?
mfg
guy
Ohne_Kraft_Ohne_Adaptation_11_01_09_Ferdinand_bon.rar [286.26 KiB]
Hi
Woher kommt bei "Steuerung_zwei" die Inputvariable F_ist und F_Soll ?
Grundsätzlich:
Ein PID-Regler sollte Permanent aufgerufen werden.
Den kompletten ablauf kann ist NICHT einordnen.
Wie sieht das Zeitdiagramm aus.
Soll der Regler im 150 ms Takt ausregeln können/müssen ?
Wie lange hat er Zeit, die Stellgrösse auszuregeln/zu ermitteln.
Dein Stellwert bewegt sich zwischen 1500 und 4000 ist das O.K ?
F_soll und F_ist werden NICHT als VAR_INPUT übergeben.
Die Werte sind beide 0 ?