Twincat Vorlauftemperatur

Pepper

Level-1
Beiträge
24
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin ganz neu in der SPS-Welt und brauche daher ein bisschen Unterstützung. Ich versuche gerade eine Vorlauftemperaturregelung für unsere Heizung zu basteln. Ich benutze einen Beckhoff CX_1000 und Twincat v2.10 .

Ich habe bisher mit der Funktion "HEAT_TEMP" aus der Oscat.lib rumgespielt. Der funktioniert auch ganz gut soweit. Den Ausgangswert dieser Funktionon muss ich jetzt weiter verarbeiten und genau da komm ich nicht weiter.

Ich versuch mal zu beschreiben was ich vor habe:

Die Vorlauftemperatur soll nach der Aussentemperatur geregelt werden. ( das machst ja schon der "HEAT_TEMP")
Ich bekomme also die Vorlauftemperatur als Ausgabewert (nennen wir ihn mal "TEMP_VORLAUF_SOLL").

Ich habe einen Temperaturfühler, der die aktuelle Vorlauftemperatur misst. (Diesen Wert nenne ich mal "TEMP_VORLAUF_IST).

Jetzt komme ich zu meinem eigentlichen Problem:

Ich habe eine analoge Ausgangsklemme ( 0 - 10 V) mit der ich ein Ventil steuere, dass den Vorlauf regelt. Ich möchte jetzt einfach die "TEMP_VORLAUF_IST" auf die "TEMP_VORLAUF_SOLL" bringen, indem ich das Ventil weiter öffne bzw. weiter schließe. Das ganze soll dann automatisch regeln wenn sich z.B. die Werte für "TEMP_VORLAUF_IST" verändern.

Wenn jemand eine Idee hat wie ich das umsetzen kann, wäre ich sehr dankbar.

Grüße

Pepper
 
Du brauchts einen PID-Regler in deinem Code. Findest du in OSCAT



Temp_Ist -> PID-Regler -> Stellgrösse_Ventil

Für die Ermittlung des P, des I und des D-Anteils ermittelst du eine Sprungantwort und leitest daraus, deine Grössen ab.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erst mal vielen Danke für die schnelle Antwort. Mit dem PID hab ich das leider nicht so hinbekommen, wie ich mir das vorgestellt habe. Eine Lösung habe ich trotzdem gefunden. Ich versuche meine Lösung eben mal zu erläutern. Erfahrene SPS-Programmierer werden warscheinlich den Kopf schütteln, aber als SPS-Anfänger bin ich ja noch am lernen.


Mein Ausgangsbaustein ist wie gesagt der "HEAT_TEMP" aus der Oscat.lib .



HEAT_TEMP --> CTRL_IN (OSCAT.lib) --> "Vergleich <, >" ......

CTRL gibt mir die Differenz zwischen "Vorlauftemp_ist" und "Vorlauftemp_soll" aus. Der Vergleicher hat zwei Ausgänge, zähler_rauf( < 0) & zähler_runter( > 0). Bei 0 sind beide Ausgänge FALSE.

Jetzt kommt die eigentliche Schweinerei...:ROFLMAO:

Ich habe ein "CTUD" genommen und jeweils ein "CLK_N" (Oscat.lib).


-CLK_N1 -
-- AND =========== CU (Eingang CTUD)
-zähler_rauf-

---------------------------

-CLK_N2 -
-- AND ============== CD (Eingang CTUD)
-zähler_runter-



Den CTUD habe ich auf Max-wert "32767" gestellt, damit ich die analoge Ausgangsklemme ( 0 - 10V ) steuern kann.

Das ganze funktioniert wunderbar auf den 10tel Grad genau. Wenn jemand noch Verbesserungsvorschläge hat, immer her damit.

Gruß Pepper
 
Du hast noch Glück, dass das funkt. Ob die Sache auch stabil geregelt wird, wird sich noch herausstellen. Das ist die eigentliche Kunst der Regelungstechnik.

Im übrigen, deinen Vergleicher-FBs aus OSCAT braucht es nicht, das geht auch mit IF-THEN-ELSE

Den PID-Regler instanzierst du global und startest den in JEDEM Zyklus. Anfangs kann man den D und den I-Anteil auf 0 stehen lassen.
 
Den Vergleicher hatte ich schon mit IF-THEN_ELSE gebaut.

Nochmal zum PID-Regler.

Ich hab im Internet ein paar beschreibungen gefunden, aber wenn ich mir die durchlese verstehe ich nciht wirklich viel. Ich beschäftige mich zum ersten mal mit Regelungstechnik, deshalb fehlen mir die ganzen Grundlagen. Gibt es vielleicht eine Internetseite, wo die standard Regelbausteine einfach beschrieben sind?

Gruß Pepper
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie immer: Wikipedia über Google gefunden ist dein Freund

http://de.wikipedia.org/wiki/Regler#PID-Regler

Die Herausforderung ist schnell zu regeln und das System nicht instabil werden zu lassen. Dh. in deinem Fall dass die Temperatur nicht um das Soll schwankt oder gar heftig oszilliert.

Dafür gibt es auch Faustregeln, die mir aber nicht bekannt sind.
 
Hallo pepper

im anhang auf die schnelle.
wie drfunrock schon schreibt scheinst du glück zu haben das es funzt.
 

Anhänge

  • Test1.jpg
    Test1.jpg
    60,3 KB · Aufrufe: 98
Vielen Dank für die Mühe, die du dir mit dem Bild gemacht hast. Ich werde gleich mal versuchen das auf meine Steuerung zu übertragen. Ich werde euch dann berichten ob alles funktioniert, oder nicht :ROFLMAO:.
 
Zurück
Oben