OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: mg am 14. März 2008, 07:07:56

Titel: FT_PID (für EC4P-222)
Beitrag von: mg am 14. März 2008, 07:07:56
Hallo Leute

Ich spiele mich seit 1 Tag mit dem PID-Regler.
 ??? Irgendwie reagiert er nicht so wie erwartet (... die selben Werte, auf anderen Produkte machen was ganz anderes)
Könnt ihr bitte die Einheiten für KP (... ohne Einheit?), Tn (s?), Tv (s?) angeben.
Kp ist Ok. Aber insbesondere Tn und Tv reagieren wie der Teufel (Hmm?) ... ich habe in meinem Leben schon 100-te PID-Regelungen eingestellt, aber der FT-PID hat einen Turbo beim Tv und der Tn schläft fast ein. Ich habe des Gefühl beide stimmen um den Faktor 1000 nicht. Kann das sein?

Vielen Dank

verwendete SW-Release V2.7
verwendeter Regler EC4P-222

... lt. meinen letzten Tests funktioniert der Tn-Anteil bei mir überhaupt nicht.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 14. März 2008, 11:23:39
hast du berücksichtigt:
setzte noise auf 0 damit wird das noise filter abgeschaltet
sind die limits entsprechend gesetzt?
setzen int_band auf einen wert größer als die maximale regelabweichung damit wird verhindert das der integrator abgeschaltet wird.

die einheit ist Sekunde für TN und TV
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 14. März 2008, 13:53:15
Hallo Hugo

NOISE :=0
LIMIT_L:=-100; LIMIT_H:=100
INT_LIMIT_L:=-10000; INT_LIMIT_L:=10000
INT_BAND:=(da habe ich von 0 bis 100 alles durchprobiert) ... habe das mit dem Aussschalten des I-Anteils schon berücksichtigt. aber wenn ich Xi=20 Xs=21 habe muss sich ja nach einiger Zeit was tun. Aber da war nix. -> wobei ich das Problem mit dem Tn nicht so genau analysiert habe wie mit dem Tv.
MANUAL_IN:=0, MANUAL:=0, RST:=0,
KP, TN, TV diverse (eigentlich logische Werte mit einem hohen TV-Anteil ... zumindest in der Originalversion, danach habe ich die ganze Palette durchprobiert)

aber bereits bei TV=0.2 geht der Regler ab wie von der Tarantel gestochen.
dafür reagiert er auf eine dauernde Regelabweichung (zB Tn=60) überhaupt nicht.

Da ich das Projekt verkauft habe muss ich leider auf den Möller-Regler umswitchen.
 Der hat zwar auch ein paar Macken (habe von denen grad 'nen Neuen bekommen muss den auch noch probieren)

Mir wäre Dein PID-Regler VIEL LIEBER, weil da habe ich den SourceCode. Aber mir rennt die Zeit davon. SORRY!!!

Danke für Deine Antwort.

PS: In 2 Wochen werde ich den mit der Wago wieder mal probieren. Wenn's dort gut geht melde ich mich nochmals.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 08:30:20
Hallo Hugo

Wie versprochen gehe ich dem Ganzen nochmals auf den Grund. Ich möchte das Möller-Teil UNBEDINGT mit Deinem PID-Regler machen. (Der Möller-Regler macht eine SEHR unangenehme Vereinfachung beim D-Anteil und ist für hohe D-Anteile nahezu unbrauchbar).

Trotzdem lassen sich die Probleme mit Deinem Regler auch nicht lösen. Zuerst beschäftige ich mich mal mit dem SEHR interessanten I-Anteil. ???

Der I-Anteil fängt nach ca. 5 min an zu regeln. (in der Zwichenzeit passiert am Regler rein gar nichts) (Xw=Regelabweichung ist nahezu konstant). ???

siehe beiliegendes Bitmap

[gelöscht durch Administrator]
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 09:24:51
Hallo Hugo

Bin grad am durchanalysieren. Kann ich irgendwo die Abtastzeit auf ca. 0.1s reduzieren? Ich habe Deine Beschreibung vom FT_INT gelesen und das hängt vielleicht damit zusammen.

Danke
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 26. März 2008, 09:33:38
der regler ist freilaufend, das heist er ermittelt bei jedem aufruf wann er das letzte mal dran war und nimmt das als aktuelle abtastzeit. du kannst ihn in eine task packen die nur alle 0.1 sekunden aufgerufen wird
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 09:42:58
Das habe ich grad gemacht.

Wenn der Regler nur alle 100ms abgefragt wird funktioniert das Teil. :P

(zumindest der I-Anteil)

... Ich kann mir nun selber behelfen, das paßt soweit mal.


PS: Das Möller-Teil hat keine Tasks! Alles geht immer Reihum ... Ich hoffe in alle Ewigkeit.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 26. März 2008, 09:49:28
ich würde aber trotzdem gerne herausfinden warum es nicht ging wenn es irgendwie geht.
wie war den in etwa vorher deine zykluszeit
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 10:03:04
8ms
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 10:09:36
... noch eine Anregung

Könnt ihr beim nächsten Release die P, I, D - Anteile als Output auswerfen. Der Regler ist dann viel einfacher einzustellen.

Vielen Dank
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 26. März 2008, 10:26:49
ja das sollte kein problem sein.
kannst du den fehler nochmals nachstellen und mir ein projekt senden wo der fehler auftritt
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 10:43:38
... noch mals ein Fehler im PID

Der Ausgang geht schön langsam auf 100 (mit dem I-Anteil), erreicht der die int-LIM-Grenze zB.: 150, wird der I-Anteil ausgeschaltet (Es bleibt nicht nur der I_Regler stehen sondern der bisher berechnete I-Wert wird auf 0 gesetzt). Dh. Der Ausgang bricht bei kleinem P-Anteil auf nahezu 0 zusammen.

Das bedeutet, daß man die Einstellungen int-LIM auf keinen Fall verwenden darf und sie unbedingt auf SEHR, SEHR große Werte zu setzen sind.

... Das Projekt bekommst Du wenn ich den D-Anteil getestet hab.

Danke
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 10:53:24
... das selbe Problem taucht auch beim INT_BAND auf.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 26. März 2008, 11:12:22
... den D-Anteil habe ich noch nicht getestet

die verwendeten LIB's habe ich angehängt (ausser OSCAT und STANDARD.LIB)

(beim 1. mal hochzählen funktionierts noch ... nach Sollwert unter Istwert geht nichts mehr / DIESE AUSSAGE GILT NUR FÜR "OHNE ZYKLUSBEGRENZUNG")

Bitte das Projekt nach dem Downlaod aus dem Forum löschen!
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: gravieren am 27. März 2008, 10:06:04

Mach doch mal einen kurzen Test.

Setzte die Input-Variable "rst"  NACH dem ändern für 1 Zyklus auf "TRUE".

Zeigt sich ein "geändertes" verhalten  ?


Mein Grundgedanke: (Bin KEIN PID-Profi)
Durch "probieren" dieserser Einstellungen werden etliche Werte extrem hoch/niedrig gesetzt.
Das ausgleichen dieser Werte kann extrem lange dauern.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 27. März 2008, 11:21:57
wie meinst Du das? Ich verstehe das nicht ganz.

Natürlich war mir klar dass die I-Anteil bis an die Int_Lim Grenzen weiterregelt und es dann beim Zurückregeln halt etwas dauert.

PS: Ich habe das Problem derzeit damit gelöst, dass wenn der Ausgang auf die Lim_unten oder auf die Lim_oben geht, ich den I-Anteil auf 99999999 schalte. Damit wird der I-Regler faktisch gestoppt (ist zwar auch nicht Top, weil wenn der Regler mit "Schwung" in die Begrenzung regelt kann der I-Anteil auch deutlich über dem Limit_unten oder Limit_oben sein und dann braucht der Regler seine Zeit um aus der Begrenzung herauszuregeln - aber mit nicht allzu kleinen P-Anteilen (Verstärkung klein) sollte das Problem sehr klein sein). Leider kann ich den I-Anteil nicht auf 0 stellen, weil dann nicht der I-Regler stoppt sondern wie in den anderen Fällen auch einfach ausgeschaltet wird.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 27. März 2008, 11:27:33
benutzt du eigentlich die version 272 ? wenn nicht bitte versuche es mal mit der
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 27. März 2008, 14:12:01
... NEIN!

Im allerersten Forumsbeitrag habe ich geschrieben es sei die 2.70 - Ist da ein Unterschied beim Regler ?
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 27. März 2008, 14:31:12
indirekt ja es wurde sowohl am regler was verändert, als auch an bausteinen die der regler verwendet.
laut revision historie sollte es zwar keinen funktionellen einfluss haben aber man weiss nie
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 27. März 2008, 15:12:42
Hallo Hugo

Danke für Deine Mühe ich werde die V2.72 bei der nächsten Wagosteuerung ausprobieren. Dann weiß ich zumindest ob das mit der Begrenzung des I-Anteils geht. Die Möllersteuerung ist momentan abgeschlossen. (Vielleicht, wenn ich Zeit habe werde ich nochmals einen Test fahren aber das kann ich nicht versprechen - ... der Tag hat nun mal nur 24h)

Bis bald
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 24. April 2008, 10:14:17
So nun habe ich doch noch eine E4CP mit dem PID-Regler mit der Oscat 2.73 probiert. DEFINITIV funktioniert der nie und nimmer. Da sich die Zykluszeit nicht verändern läßt verrechnet sich das Teil OHNE Zyklusbegrenzung komplett. Dh. ich darf nur ca alle 100ms den Regler durchlaufen ab dann ergibt sich ein stabiles Verhalten.

Der Versuchsaufbau: realer Temperaturfühler (Temperaturwert 25°C) mit einer Schwankungsbreite von 25.237 - 25.238 in 5 sec. Darunter waren auch gewissen Unschärfen vorhanden.

 noise:=0.1,
      Offset:=0,
      manual_in:=50,
      Manual:=FALSE,
      rst:=FALSE,
      int_band:= 100,
      KP := 20,
      TN := 600,
      TV := 60,
      limit_L := 0,
      limit_H := 100,
      int_limit_L := -150,
      int_limit_H := 150,

Des weiteren sind die Probleme mit dem I-Anteil, der ab einer gewissen Grenze einfach abgeschaltet wird anstatt dass er an dieser Grenze stehen bleibt auch in der Version V2.73 nicht behoben.
(siehe vorherige Meldungen)

Danke für Dein Interesse

PS:
a) Für den EC4P (und auch für alle anderen Anwendungen) halte ich es für unbedingt erforderlich, daß man eine Zykluszeit einstellen kann (in dem der Regler neu berechnet wird). Es ist auch aus regelungstechnischen Gründen auf für alle anderen SPSen, sehr vorteilhaft, wenn man die Zykluszeit zB. identisch dem Totband des Messaufnehmers setzt. (Deutlich besseres Regelverhalten)
b) Das mit dem I-Anteil läßt sich nur dadurch beheben, daß der I_Anteil an den Grenzen auf einen sehr hohen Wert gestellt wird damit wird er eigentlich gestoppt. Dieses Problem ist nicht spezifisch für den EC4P.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 27. April 2008, 18:33:17
du hast recht hier ist einiges im argen.
ich werde die algorithmen nochmals durchcheken und in der nächsten release verbessern
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 05. Juni 2008, 07:58:01
Habe mir gleich die neue Oscat (2.74) heruntergeladen. ABER - so wie ich das sehe hat sich am PID nichts geändert. - (TEST steht noch aus) -  :-\
... zumindest lt. Revisionsliste. Hmm .... wann kann ich damit rechnen.
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 05. Juni 2008, 08:29:13
wir haben die letzten wochen bereits die komplette control library überarbeitet
die regler dind jetzt modular aufgebaut und haben viele mehr möglichkeiten.
allerdings sind die arbeiten noch nicht 100% abgeschlossen

wir koennen in ca 1-2 wochen in einen größeren beta test gehen ud hoffen dann auch auf deine mitarbeit
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 05. Juni 2008, 16:14:49
 8) - SUPER danke

Ich helfe Euch gerne und es freut mich auch, aber ich kanns leider nie versprechen (bin viel im Ausland und im Normal-Dauer-Stress)
Ich dachte schon ihr hättet mich vergessen. Entschuldigung, dass ich an Euch gezweifelt hab

Bis bald
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: mg am 05. Juni 2008, 17:41:52
Hallo Hugo

Ich täte Dir ja gerne ein EMail mit meiner EMail-Adresse senden aber dazu streikt Euer Forum.

Ich erhalte immer wieder einen "DATENBANKFEHLER".
So schreibe ich`s halt da hinein (--> Diesen Beitrag bitte danach aus diesem Forum löschen)
Sende mir bitte nochmals ein privates EMail mit einer EMailadresse, mit der ich direkt (zB über Outlook) antworten kann.

Danke
Titel: Re: FT_PID (für EC4P-222)
Beitrag von: hugo am 05. Juni 2008, 21:45:24
den datenbankfehler kannst du umgehen indem du eine separate nachricht an mich oder jedes andere mitglied sendest.
es funktionieren nur die repies nicht wir koennen das aber nicht kurzfristig loesen.

meine email ist info@oscat.de