Actuator_3p Ausgang als Impuls

Begonnen von j_poool, 15. Mai 2010, 17:35:41

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

j_poool

Hallo!
Ich bitte um kleine Programmierhilfe bei einem Heizkreis, ich habe da folgendes Problem:
auf dem Heizkreis ist ein zu schnelles Stellmotor montiert, wenn die Solltemperatur von der Isttemperatur nur von ein paar Grad abweicht beginnt der Stellmotor zu schließen bzw. öffnen, da der Stellmotor zu schnell ist kann ich die Temperatur nie richtig einstellen und die Regelstrecke fängt immer an den Stellmotor auf und zu zumachen. Da könnte ich ja ganz einfach einen Impulsgenerator hinter die Ausgänge vom actuator_3p einbauen, nur wenn der Stellmotor zu ist und der auf einmal öffnen muß braucht der ja lange bis der auf die richtige Position kommt.

Gibt es da eine Möglichkeit die Ausgänge so anzusteuern dass sie als Impuls ausgegeben werden und der Impuls von der Differenztemperatur zwischen Soll- und Isttemperratur abhängig ist?
Kann sein dass ich mein PI-Regler falsch parametriert habe oder hängt das nur von mein actuator_3p Baustein ab?

Schon vornheirein Danke wenn mir jemand Antwortet!
Danke!!! :D
-------------------------------------------------------------------------------------------------
PC´s sind  da um Probleme zu lösen die sonst nicht existieren würden.

gravieren

#1
Hi

ZitatKann sein dass ich mein PI-Regler falsch parametriert habe oder hängt das nur von mein actuator_3p Baustein ab?
Das wäre z.b. 1 möglichkeit.


Siehe dir doch mal den Stellwert des PI-Ausgangs an.
(Ist der P und/oder I sinvoll Parametrisiert  ?)


Dieser Werte wird an den Baustein "actuator_3p" übergeben.

Der "actuator_3p" Baustein fährt deinen Mischer zu der benötigten Stellung.

Wurde die Laufzeit des Stellmotors richtig angegeben ?

Wie hoch ist dieser  ?



P.S: Du kannst auch einen abgespeckten Programmcode hier mal reinstellen.

j_poool

#2
Hallo!!!
Bin wieder da.
Danke für deine Antwort. Hab noch einmal alles überprüft aber der atuator_3p funkt bei mir nicht ganz richtig, wie ich dir oben erklärt habe. Es ist noch etwas was ich ändern will, es kann ja vorkommen das der Stellmotor per Hand aufgemacht wird und nicht wieder zugemacht, dann bleibt der Ausgang immer auf FALSE auch wenn die Vorlauftemperatur bzw. der Y-Wert vom PI-Regler steigt ,wenn die max_runtime Zeit abgelaufen ist. Kann man da was machen?
Habe im Anhang ein Bild vom Programm beigelegt.

Habe noch einen Problem: das Programm habe immer nur Local getestet, jetzt habe ich es auf meine CX ausprobiert, da erscheint einen Fehler (den ich jetzt mir nicht merke... ???), hast du eine Ahnung ob noch beim Baustein Actuator_3p noch was faules ist? Hab mal davon gehört und auch den Baustein umgeändert, aber scheint funkt das nicht.

Danke schon vorher für deine Hilfe!!

[gelöscht durch Administrator]

gravieren

Hi

ACTUATOR_3P:
Welchen Wert hat MIN_ONTIME, MIN_OFFTIME, MAX_RUNTIME   ?


Belege doch mal dem pos-Wert.
Hier kannst du ablesen, welche Stellung er haben sollte.





ZitatEs ist noch etwas was ich ändern will, es kann ja vorkommen das der Stellmotor per Hand aufgemacht wird und nicht wieder zugemacht, dann bleibt der Ausgang immer auf FALSE auch wenn die Vorlauftemperatur bzw. der Y-Wert vom PI-Regler steigt ,wenn die max_runtime Zeit abgelaufen ist. Kann man da was machen?
Schau dir mal den CTRL_PI an.

Da gibt es den   MAN und M_I     wenn du den Stellmotor von Hand bewegen willst.


gravieren

Hi


Braucht dein Motor 5 minuten von "zu nach auf"   ?

Bitte messe die Zeit und setze den Wert richtig.

j_poool

Hello!

MAX_ONTIME, MAX_OFFTIME sind beide auf T#2s eingestellt, da der Stellmotor nicht zu lange auf- und zumacht und damit die Vorlauftemp (ACT) auf dem PI-Regler zu schnell schwänkt.

MAX_RUNTIME ist auf genau 280s (dafür die 5min)

Bezüglich MAN Eingang ist ganz praktisch wenn auf z.B. meine Visu den Eingang setze, wenn ich aber direkt per Hand auf mein Stellmotor zugreife und den öffne und pos_Ausgang=0 und die Vorlauftemperatur steigt, wird mein Stellmotor nie mehr zumachen. Kann ich das irgendwie ändern?

Wenn ich das richtig verstehe, sollten die Ausgänge auf dem actuator_3p auf FALSE sein wenn der Eingang in auf 0,5 ist.

Hoffe du kannst mich verstehen. Auf jedenfall würde ich nur ein ganz simples actuator_3p brauchen der beim Eingangswert in:
=1 öffnet (STOP bei >= MAX_RUNTIME)
=0 schließt
=0,5 stehen bleibt
= mittelwerte öffnet oder schließt (wenn möglich mit Zeitimpuls abhängig von der Differenztemperatur zwischen Ist- (ACT) und Sollwert (SET) des PI REglers)

Hoffe ich habe dir nicht zuviel untereinander gebracht.


gravieren

Hi

ZitatHoffe du kannst mich verstehen. Auf jedenfall würde ich nur ein ganz simples actuator_3p brauchen der beim Eingangswert in:
=1 öffnet (STOP bei >= MAX_RUNTIME)
=0 schließt
=0,5 stehen bleibt

Nochmal zum mitschreiben.

Ich gehen davon aus, dass du einen Stellmotor hast, der 3 Kontakte/Klemmen hat.

z.b.
1   Nullleiter
2   Phase Stellmotor öffnen       (Solange hier Spannung ansteht, bewegt sich dein Motor auf)
3   Phase Stellmotor schliessen  (Solange hier Spannung ansteht, bewegt sich dein Motor zu)


Die Variable am ACTUATOR_3P  heisst "val"

Gehen wir davon aus, dass dein Motor komplett geschlossen ist.
0.0 --> 0%    De rMotor steht auf 0 % geöffnet, d.h. er bewegt sich nicht.
0.5 --> 50% Der Motor bewegt sich 140 sekunden in Richtung auf und bleibt stehen.  (50 % von 280 sekunden.
1.0 --> 100 % Der Motor bewegt sich 240 sekunden in Richtung auf  (Komplette Zeit von 280 Sekunden)

Vom "Geöffnet" Zustand von 1  (100%) setzt du den Wert auf 0,5 dann bewegt sich der Motor von komplett geöffnet auf 50 %.
D.h. schliessen steht für 140 sekunden an.


Hst du verstanden was ich meine  ?

j_poool

Hallo

klar habe ich verstanden was du meinst...
nur sollte der Motor so lange öffnen oder schließen bis der Wert auf dem PI-Regler ACT= den Wert SET (+- 0,5 Differenz). Man kann nie sagen dass der Motor nach eine bestimmte Zeit in Mittelstellung liegt,
kann gut verstehen die ganze Einstellungen auto_diag_time und cal_runtime aber wenn das Richtig machen könnte (bin Heizungstechniker und leider ein Anfänger im programmieren) sollte man auf die Differenztemperatur schauen, dafür würde ich den Ausgang als Impuls (größere Diff.Temp. desto länger der Impuls) brauchen damit der Stellmotor auf die genaue gewünschte Temperatur eingestellt wird.

Hoffe ich hab dir nicht deine Regelungtechniktheorie untereinander gebracht...hoffe du kannst mich gut verstehen

tänx für deine Hilfe
J.P.

gravieren

Hi


>klar habe ich verstanden was du meinst...
Sicher  ?


>nur sollte der Motor so lange öffnen oder schließen bis der Wert auf dem PI-Regler
>ACT= den Wert SET (+- 0,5 Differenz).
>Man kann nie sagen dass der Motor nach eine bestimmte Zeit in Mittelstellung liegt,
Stimmt, die PI regelt das aus.

Schau dir mal bei CTRL_PI den ausgangswert an.
Da steht 5.61   also grösser als 1   --> 100 % öffnen   .
Du solltest richtig skalieren und begrenzen.
Z.b.  den Sollwert des PI  --> Y   ausgang mal 0.01 nehmen,
Die Begrenzungen so einstellen, dass 0.0 bis 1 am ACTUATOR_3P ankommen.



>kann gut verstehen die ganze Einstellungen auto_diag_time und cal_runtime
>aber wenn das Richtig machen könnte (bin Heizungstechniker und leider ein Anfänger im programmieren)
Das sollte schon Grob stimmen.

>sollte man auf die Differenztemperatur schauen,
>dafür würde ich den Ausgang als Impuls
>(größere Diff.Temp. desto länger der Impuls) brauchen
>damit der Stellmotor auf die genaue gewünschte Temperatur eingestellt wird.
Bist du Hellseher   ;D

Ich kann nicht sagen, dass ich bei 5°C Temperaturdifferenz im Sommer die Stellung 30% und im Winter die Stellung 82,538 benötige.
Ob 1 Heizkörper aufgedreht ist oder 8 Heizkörper Wärmeanforderungen haben.



>Hoffe ich hab dir nicht deine Regelungtechniktheorie untereinander gebracht...
???

>hoffe du kannst mich gut verstehen

Also, so wie du das gemacht hast mit der Beschaltung ist schon O.K.
Nur mit den Parametern scheinst du nicht klar zu kommen.

Dein Gedankenansatz mit den zusammenhang Regelungsdifferenz zur Stellung des Stellmotores ist falsch.
Der PI-Regler regelt die Differenz aus/nach.


Meine Empfehlung:  Lese die Beschreibung des Handbuches beider Regler nach.
Setze Sinnvolle Parameter hinein.
Diese beiden Bausteine werden dich zum Erfolg führen.


Anschliessend wenden wir uns zum Thema Störgrössen. 
(Regler mit der Hand verstellen macht mann normalerweise nicht.)

Bei Bedarf baue dir einen Schalter ein  (Auto, Hand auf, Hand zu, Hand stop)

j_poool

Helllo!

Ja, du hast recht, ich bin derjenige der alles untereinader bringt, hoffe bist nicht böse auf mich, tschuldigung!!! ;D
Muss mir noch die ganze Parameter anschauen, dann hoffentlich kann ich was gscheides daraus machen.


Trotzdem vielen,vielen Dank, und bis dann...
Grüße

J.P.

gravieren

Hi

>Ja, du hast recht, ich bin derjenige der alles untereinader bringt,
Kann passieren   ;D


>hoffe bist nicht böse auf mich, tschuldigung!!!
Warum, wir sind doch alle Erwachsene Leute.
Und wenn der Ton stimmt, diskutiere ich auch gerne darüber.

So als Tipp.

Gehe mal in die Simulation.
Beginne beim PI-Regler.
Stelle beim PI-Regler die Werte so ein, dass dein Y-Ausgang  von 0 bis 100  ausregelt.

Gibt doch mal unterschiedliche werte für den Sollwert ein.
Schau wie lange es dauert, bis du von 0 bis 100% erreichst.
Das sollte schon einige Zeit sein.
Je nach Abweichung etwa 30 minuten.   
Kommt halt auf deine Regelungsstrecke an.


Wenn du es erreicht hast, dass der Wert Y    von 0 bis 100% schauen wir uns den ACTUATOR an.


PI-Regler Ausgang Y  -->  multipliziere mal 0.01   -->  VAL des ACTUATOR_3P


Dann rühre dich wieder.

gravieren

Hi j_pool


Du bist ein Heizi  ?


Was machst du gerade  ?
Ich habe schon seit einiger Zeit vor, meine Heizungssteuerung umzubauen.


Ich wollte den 750-841 verwenden.
Bibliothek die ich verwenden will ist noch offen.
( Ätsch, ist natürlich die OSCAT   ;D)


Ich traue mich nicht darüber wegen einiger Unsicherheiten.
- Legionellen.
- Aufheizzeit wegen Kesseltemperaturen  ( Beim ersten Aufheizen)
- Frostschutzschaltung bei Anlage aus.Wie funktioniert das ? 
(Irgenwie muss ich Wasser zirkulieren lassen, um festzustellen dass in einem Zimmer z.b. das Fenster offen ist und gefahr läuft zu gefrieren)

und etliche sonstige Sachen.


Hast hierzu Unterlagen/Informationsquellen  ?

Welche Hardware hast du ?   (Controller)

j_poool

#12
Hallo!

Ich verwende Beckhoff Hardware, derzeit teste ich mein 1.Projekt mit SPS auf eine CX9010.
750-841 ist das WAGO?

Klar kann ich dir ein paar Tips geben für deine Fragen, auch wenn da jeder ein bisschen seine eigene Ideen hat über bestimmte Themen...

z.B. Legionellen (ein seeeehr laaaaanges Thema), kurz gefasst:

Legionellen sind eher für ältere oder "Lungenschwache" Leute (auch Sportler nach intensiver Training) gefährlich, das trifft eher wenn feine Wasserteilchen z.B.beim Duschen eingeatmet werden.
Beste Lebensbedingungen: 25-50°C
Disinfektion: Temperatur über 70°C (z.B.1x pro Woche). Achtung!!: Bei Boiler die aus verzinktem Stahl bestehen kann sich bei eine Temperatur >60°C die verzinkte Schicht lösen, und wenn du in ein Gebiet Wohnst wo das Wasser viel Kalk enhält, kann sich das vom Boiler lösen und im schlimmsten fall Rohrleitungen oder Wärmetauscher zumachen.

Auch "tote" Leitungen im Wasserverteilungsystem kann dazu führen dass Legionellen enstehen oder denke an Ferienwohnungen wo nach ein paar Wochen niemand im Haus war und die Trinkwasserleitungen stillgelegen sind.

Bei mir Zuhause ist mein altes Boiler auf 57°C eingestellt und da hab ich mal noch keine Probleme gehabt.
Um das ganze zu vermeiden wäre das besser durch eine "Frischwasserstation" mit einem Wärmetauscher (max für 1 Dusche oder 1 Bad) oder wenn du einen Puffer einbaust der sollte auf jeden Fall schon ein Inox Wellrohr für die Wassererwärmung haben.

Aufheizzeiten: ???
Aufheizzeit hängt ja von Aussentemperatur, Innentemperatur, Heizkurve, Heizsystem... ab.

Frostschutz: wenn die Aussentemperatur kleiner als 5°C liegt soll die Pumpe einschalten, hab mir nie die Verantwortung genommen an einen Kunde zu sagen dass wenn er nicht Heizen will dann soll er einfach die Pumpe komplett ausschalten, und wenn er das so will, dann ist für mich auch kein Problem.
Da könnte man auch Fensterkontakte einbauen und mit einem Raumtemperaturfühler kann man das ganz gut regeln.

Eigentlich Unterlagen hab ich zu wenig und zuviel, vieles lernt man aus der Praxis, weil da jede Anlage anders aufgebaut ist. Wenn du Unterlagen suchst schau mal unter Vogel-Buchverlag (will keine Werbung machen), die haben ziemlich gute Bücher.

Hoffe ich bin dir nützlich gewesen, so wie du für mich...es scheint dass die Regelstrecke funktioniert. Danke nochmal  ;D

Und wenn du weitere Fragen hast kannst du mich natürlich kontaktieren.


gravieren

Hi

Danke für die Infos.

>750-841 ist das WAGO?
Ja.



>Aufheizzeiten:
>Aufheizzeit hängt ja von Aussentemperatur, Innentemperatur, Heizkurve, Heizsystem... ab.
Nö, ich meinte irgendwo gelesen zu haben, das ein Kessel (der Kalt ist) nur bestimmte Grad pro Stunde aufgeheizt werden sollte.

Wegen Materialermüdung und so.  Möglicherweise ein Ammenmärchen ?


Gruss

j_poool

Hello!

Ja wegen Temperaturen musst du aufpassen bei Gusseisen Kessel, da darf die Differenz zwischen Rücklauftemperatur und Vorlauftemperatur nicht die ca. 15°C Überschreiten, da Kondens im Kessel entstehen könnte und dadurch den Kessel zerstören.
Bei Inox Kessel oder auch andere Eisenlegierungen , wenn man den Kessel zu schnell aufheizt, könnte sich eine Schicht von Kalk absetzten. Wenn du ein modulierendes Brenner auf so ein Kessel montiert ist sollte der bis ca. 40°C auf die kleinste Stufe den Kessel aufheizen und dann erst nach oben modulieren.
Aufheizzeiten weiß ich selber nicht wie lang die sein sollten.

Hab an dich noch eine Frage: in meine Programmierung habe ich diverse Zeitschaltuhren eingebaut, da sollte ich ja die aktuelle Zeit vom System ablesen können. Kannst du mir sagen was für ein Baustein dass ich da brauche? Und wie ist es in der Visu wenn ich die aktuelle Zeit vom System ändern muss?

Danke wenn du mir noch mal hilfst.
Tschüss