FT_PID (für EC4P-222)

Begonnen von mg, 14. März 2008, 07:07:56

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

mg

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.

hugo

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

mg

#2
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.

mg

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]

mg

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

hugo

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

mg

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.

hugo

ich würde aber trotzdem gerne herausfinden warum es nicht ging wenn es irgendwie geht.
wie war den in etwa vorher deine zykluszeit

mg


mg

... 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

hugo

ja das sollte kein problem sein.
kannst du den fehler nochmals nachstellen und mir ein projekt senden wo der fehler auftritt

mg

#11
... 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

mg

... das selbe Problem taucht auch beim INT_BAND auf.

mg

#13
... 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!

gravieren


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.