Hallo Zusammen,
ich bin neu hier im Forum und habe mich hier angemeldet da ich bei meiner Programmierung nicht mehr weiter komme.
Vielleicht könnt Ihr mir ja weiterhelfen.
Ich würde gerne mit dem ACTUATOR_2P Baustein meine FBH- Ventile Steuern doch ich komme bei der Beschreibung der E/ A nicht weiter.
Meine Input sind wie folgt: PT1000 (INT) als Raumthermostat (Istwert), Sollwert (INT) und Ventil EIN/ AUS (BIT) vom Touch Panel vorgegeben.
Wie muß ich denn jetzt den ACTUATOR_2P Baustein beschalten, komme da einfach nicht weiter…
Wäre echt super wenn Ihr mir da weiterhelfen könntet.
So wie Ich das Sehe macht dir der Baustein ACTUATOR_2P deine Pulsweitenmodulation.
Das bedeutet, du kannst mit einem stetigen Regelsignal (0-255 in diesem Fall) einen Zweipunktaktor ansteuern und der Baustein wandelt dir deine Stellgröße in ein entsprechendes Puls-/Pausenverhältnis um, z.B. 50% bedeutet 5 Minuten Magnetventil auf und 5 Minuten Magnetventil zu.
Was du vor diesem Baustein auf jeden Fall benötigst ist ein Regler, der deine Soll- und Istwert vergleicht und dir das Regelsignal ausgibt, welches dir deinen ACTUATOR_2P ansteuert.
PID Regler Baustein vor den ACTUATOR_2P ist ja noch verständlich, doch habe ich hier im Forum schon ein paar Sachen nachgelesen über den Baustein
und es steht da immer etwas von MIN_ONTIME und MIN_OFFTIME,
ich habe aber diese Variablen nicht…., wo finde ich die???
Im Anhang mal mein FB, der sieht auch anders aus als im Handbuch, komisch…
Habe mein komplettes Haus mit OSCAT gemacht in Verbind mit einer Beckhoff und hat super geklappt, doch nun bin ich leider etwas überfragt..
Du gehst mit Ist- und Sollwerteingang erst mal auf einen PID (Einstellung Verstärkung bei Ausgang 0-100% ca. 100%/2°C=50, Nachstellzeit und Vorhaltezeit am besten keine). Den Ausgang führst Du auf eine PulsWeitenModulation mit einigermaßen kurzen Pulsweite. (Zu kurz führt zu einem zu often Schalten des Relais (evtl TRIAC verwenden). Zu lange führt zu einem dauerenden Öffnen und Schließen des Ventils (die meisten THERMISCHEN Fbh-Ventile darf man nur 2x am Tag öffnen und schließen!) — Normalerweise sollte das Ventil in einer Zwischenstellung gehalten werden. Ich empfehle ca. 30sec(Triac) bis 2min(Relais). Weiters ist wichtig, daß das Ventil zumindest 1x in der Woche in der Sommenzeit geöffnet wird, da die meisten Ventile mit einer Weichdichtung schließem und diese Dichtungen anfällig sind sich mit dem Ventilsitz zu verkleben. Eigentlich ist es aber ziemlich egal wie man die Fbh regelt (da gibt es mehrere Möglichkeiten und die funktionieren alle mehr oder weniger) … siehe nächster Absatz …
… eigentlich ist die Regelung der Fbh primitiv, da sich jede Fbh sich selbst schon mal ganz gut OHNE REGELVENTILE regelt, da der Temperaturunterschied zw. Raumtemp. und Vorlauftemp. gering sein sollte und die Energieabgabe nur auf dieser Differenz basiet. Wenn das nicht der Fall ist empfehle ich eine geeignete Vorregelung (mit Pumpe und Ventil) sonst wird das Ergebnis NIE zufriedenstellend werden. Weiters fehlt in deinem Beispiel das Zeitprogramm.
… wenn man einen Doktor daraus machen will empfehle ich die Fbh mit einer automatischen Einschaltoptimierung (mit Zeitprog.), das hat den Vorteil, daß man am Morgen wirklich die Temperatur im Raum hat, die man haben will (und nicht vorher und nicht zu spät). Ein Fbh reagiert mit einer Verzögerung je nach Auflage von ca. 1h pro cm Boden über dem Fbh-Rohr. Hier wäre aber das Überschwingen durch die große Totzeit unbedingt mitzuberücksichtigen. … wenn Sie das vorhaben wirds aber ein MORDS Regelungsaufwand und eine geeignete Vorregelung ist dann unbedingt erforderlich.
Viel Spass
PS: ich habe den Actuator_2P noch nie verwendet … soll aber wie ein PWM-Signal reagieren. Wenn Sie den verwenden wollen, dann müssen Sie eigentlich die Zuführung auf den Actuator_2P mit einem Regler ausführen zB.: PIDWL. (dann müssen sie sich erst mal auf einen für Sie logischen Ausgang für den Regler einigen (zB.: 0-100% oder 0-1 [ohne Einheit]) … usw…
Vielen Dank für Deine Antwort…
Nein, nein ich möchte auf diesen Teil nicht Promovieren, nur soll das mit den Ventilen schon so einigermaßen passen…
Denn es nutzt mir ja nichts wenn die Ventile nur AUF/ ZU fahren, dann ist der Fußboden ja nun kalt…
Da wir ein ENERGIEEFFIZENT 25 Haus haben , bleibt die Temp. natürlich LANGE , LANGE, LANGE im Raum.
Danke, ja das werde ich machen und mir das Handbuch zu diesem Theme nochmal vornehmen.
Soweit, so gut… Ist alles verständlich bis jetzt..
Von der logischen Seite her hätte ich es auch so gemacht, doch fehlte mir irgendwie der Ansatzpunkt…
Ist halt schon lange, lange her das ich mal Programme geschrieben habe, noch auf der S5 gelernt und mache programmiermäßig seit 12 Jahren nichts mehr…
Bei CFC kann mon schöne “logische” Strukturen optisch zusammenordnen.
Kannst dir ja überlegen ob du diesen Baustein in CFC machen willst.
(CoDeSys kann alle 5 Sprachen mischen)
Nun gut.
Einiges ist Kosmetik / eigener Programmierstil.
Ich würde DIV 10 durch MUL 0.1 ersetzen.
Dadurch kann bei Fehleingaben des wertes KEINE “Division durch Null” entstehen.
Kann man so machen, muss man auch nicht.
Rücke die Sollwerte und Istwerte in eine optische Linie.
(Ich hoffe, du weisst was ich meine, nur wegen der Optik und der Übersichtlichkeit)
Änderungen:
Weise KI, LIM_L, LIM_H sinnvolle Werte zu.
Lege dir eine Beobachtungsvariable für den FT_PIWL.Y an.
Und nun solltest du erwas “spielen”.
Lege an SET_POINT und ACTUAL testweise sinnvolle Werte an.
(Praxisrelevante Werte)
Z.b. Der Raum hat 19.0 °C und der Sollwert soll aber 20.0°C haben.
Beobachte den Stellert Y vom FT_PIWL.
Spiel mit den Werten KP und KI und stelle nun die Veränderungen des Y-Wertes fest.
(Dadurch muss du die Sollwerte verändern, benutze auch für das “spielen” den “RST” )
Du kannst das auch als Linie/Grafik ausgeben/anzeigen lassen.
Dann sieht man es wessentlich besser.
Hierdurch gewinnst du das Gefühl für die Einstellung des PI-Reglers.
Zum Ventil.
Weisst du mittlerweise wie dieses angesteuert wird ?
( Bei 50 % z.b. 2 min. ein anschliessend 2 minuten aus oder so)
Ansonsten musst du mal einenTestaufbau machen und die Durchlassöffnung kontrollieren.
Hi Karl,
erstmal sorry das ich mich nur tagsüber melden kann. Habe noch kein Internet zu Hause, da die Telekom… ;D na das Übliche…
Habe den Baustein mal in CFC umprogrammiert, siehe Anhang, LIM_L und LIM_H denke die Werte sind realistisch da ich ja für den ACTUATOR_2P einen Wert von 0-255 benötige.
Die Idee mit dem DIV 10 durch MUL 0.1 zu ersetzen ist nicht schlecht, doch muß ich beim MUL den Ausgangswert ja wieder in eine INT umwandeln, also habe ich die Werte auf meinen Touch Panel begrenzt mit LIMIT_L/ H und wenn jetzt ein größerer bzw. kleinerer Wert eingegeben wird, wird dieser mit den Limits automatisch überschrieben.
VENTIL:
ALSO… Öffnungs-/ Schließzeit 3-5min ( 5min bei Umgebungstemp von 20°C ), Aussage technische Hotline UPONOR.
Der Verteiler ist im HWR installiert, also haben wir da immer so ca. 20-22°C.
LIM_L hast du auf -2000
Lim_H hast du auf 2000 gesetzt.
Also im Klartext:
Ist der Sollwert > Istwert, steht zudem ausreichend lange an wird der Integrator bis 2000 gehen.
Ist der Sollwert < Istwert, steht zudem ausreichend lange an wird der Integrator bis -2000 gehen.
D.h. der Y-Ausgang nimmt die Werte von -2000 bis +2000 an.
So sind diese Werte definiert.
Was machst du wenn -2000 ansteht (was soll das Ventil machen)
Was machst du wenn 2000 ansteht (was soll das Ventil machen)
O.K. kann man so machen.
LIM_L auf 0.0 setzen.
LIM_H auf 100.0 setzen.
Wenn die Raumtemperatur höher ist als die Solltemperatur so ist das Ventil 0% offen.
Wenn die Raumtemperatur niedriger als die Solltemperatur ist öffnet das Ventil mit 100%.
(Das sollte nur im Winter passieren wenn die Heizung ausgefallen ist)
(B.z.w. nur morgens wenn du schnell aufheizen willst.)
Somit bewegen wir uns zwischen 0% und 100%.
Klingt doch logisch.
Jeder kann machen was er will, jedoch hat es sich für viele Programmierer so “eingebürgert”.
Du könntest es jedoch auch 0.0 und 26.0 machen.
( In deinem Ventil fliessen von 0 Liter/min. bis 26 L/min)
Einigen wir und auf 0.0 bis 100.
Also bitte vorerst auf 0.0 bis 100.0 ändern.
Bitte auch bei RANG_TO_BYTE Berücksichtigen
Für die SETUP-Werte: Handbuch → OSCAT Seite 21 2.2.4. Setupwerte . . .
Bitte durchlesen und anwenden.
Z.b. ACTUATOR.CYCLE_TIME
Glückwunsch.
Nun ist der Regelungsbaustein fertig
Am KP, KI mußte noch rumspielen.
Später den FT_PIWL durch einen FT_PIDWL unter umständen tauschen.
(Wegen überschwingen)
Deine Heizung sollte damit laufen.
Beobachte mal deinen Y-Wert.
Er sollte nicht schwingen sondern stabil bleiben.
Z.b. bei 60 bis 65%.
Wenn wenn alle soweit ist, rühre dich wieder.
Du kannst auch kurven mit Sollwert, Istewert und Stellwert und hier ins Forum legen.
Daraus können wir sehen wie deine Reglereinstellungen passen.
Auch kannst du noch etliches “aufbohren”.
Jedoch experimentiere hiermit erstmal.
Zimmertemperatur oder Vorlauftemperatur von der Fbh-Schlange.
Raumtemperaturregler und Heizkörper noch vorhanden ?
Wie verhinderst du eine zu hohe Temperatur der Fbh-Schlangen.
(Ist sichergestellt, dass die Temperatur z.b. nicht höher als 45°C gefahren wird.)
( Standard so max. 35°C . . 45°C. Sonst heben sich deine Fliesen ab. ;D)
Bei Fehlern z.b. festsitzendes Ventil bei 100% offen.
(Sicherheitsbegrenzer vorhanden, der z.b. die Umwälzpumpe für die Fbh abschaltet)
Oder muß zusätzlich die höchste Temperatur in diesem Regler mit überprüft werden ?
nun sieht es schon mal nicht schlecht aus.
Na klar den Lim_L und Lim_H habe ich auf 0…10% gesetzt, ist mit dann auch aufgefallen… ;D
Aber jetzt die FRAGE… wenn die Raumtemperatur (Istwert) gleich oder größer der gewünschten Temperatur (Sollwert) ist,
liegt eine 0 am IN von ACTUATOR_2P, also bleibt das Ventil geschlossen.
Ich dachte mit der PWM wird das Ventil im PULS PAUSE Takt gesteuert, so fährt mir mein Ventil doch wieder zu.
Habe ich da einen Gedankenfehler oder Programmierfehler???
Meine Einstellungen am ACTUARTOR_2P:
CYCLE_TIME : T#3m0s;
SENS : 0;
SELF_ACT_TIME : T#0s0ms;
SELF_ACT_PULSE : T#0s0ms;
SELF_ACT_CYCLES : 1;
Nochmal zur Erklärung:
Meine Raumtemperatur (Istwert) wird von einem PT1000 erfaßt, der sitz in einer Schalterdose in der Wand.
Die Soll Temperatur kommt von einem Bedienpanel per Eingabe (min 7°C und max 30°C).
Ich möchte nur die Ventile Steuern, den Rest macht meine Regelung von Buderus (Mischer auf/ zu Regeln etc.)
Hast Du vielleicht ein Beispiel für den ACTUATOR_2P oder wie soll ich den beschalten???
Mit diesen Parametern wirst du die Solltemperatur NICHT erreichen.
Du hast den KI auf 0 gesetzt.
Das heist, es ist nun ein P-Regler.
P-Regler arbeiten mit bleibender Differenz.
Im Klartext, je geringer die Soll-Ist-Differenz ist umso geringer wid das Stellsignal.
Wie du bereits erkannt hast ist der Stellwert 0 bei Regelungsdifferenz 0.
In deinem Beispiel hast du bei einer Diverenz von 1 °C den Stellwert von 10.
Y = IN * KP → 1 x 10 → 10
Nur zum ACTUATOR_2P:
0 → 0%
255 → 100%
Dreisatz:
1 → 0.39%
10 → 3,9 % Ventilöffnung.
Das wird nix mit nur ca. 4% Ventilöffnung.
Also etwas experimentieren. (Sinnvoll, um ein Gefühl für den PI-Regler zu bekommen)
Testen wir mal mit KP ist 100.
Stellwert des Reglers ist dann 1°C * KP 100 → 100
100 ist 39% Ventilöffnung.
Bei 2°C Abweichung haben wir 2°C * KP 100 → 200
SCHANDE, macht er NICHT.
Leider haben wir LIM_H auf 100 begrenzt.
Unser erster Gedanke ist, wir setzen LIM_H auf 255.
Das der ACTUATOR_2P ja 255 für 100% Ventilöffnung benötigt.
STOP, das tun wir nicht.
Mir gefällt der Stellwert von 0% bis 100% zu gut.
Vorschlag: Wir lassen LIM_H auf 100%.
Nun müßen wir jedoch den Stellwert auf 255 bringen.
Also werden wir den Stellwert Y mit 2.55 multiplizieren.
O.K.
Nun rechnen wir nochmals nach.
Regeldiverenz 1°C KP 100
Stellwert(Y) → 1°C * KP 100 ==> 100% Stellwert.
100% Stellwert mal 2,55 → 255
Es liegen nun bei 1°C Raumdifferenz 255 Einheiten beim ACTUATOR_2P an.
Ventil ist zu 100% offen.
DAS SOLTEN WIR VORERST VERÄNDERN.
Bitte ändern und Testen.
O.K.
Spielen wir mal den P-Regler durch ( KI ist immer noch 0)
Du willst in deiner Bude 20°C haben.