Seite 1 von 1

Raumtemperaturregler mit Kühlungsoption für Fußbodenheizung

Verfasst: Di Nov 22, 2022 6:01 pm
von azietz
Hallo zusammen,

auch wenn ein derartiger Regler aufgrund verfügbarer Aktoren mit Regler nicht unbedingt erforderlich ist. Habe ich aus der Not geboren eine Custom-Logik für einen Raumteperaturregler mit Kühlungsoption erstellt.

Bild

Code: Alles auswählen

/**
 *  FB RTR mit Kühlung V1.0
 * Arno Zietz 22.11.22
 * 
 * "Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht."
*/
{
  "_Meta": { // Optional
    "Description": "FB RTR mit Kühlen",
    "Version": "1.00",
    "Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
  },
  "Input":[
    ["Sw","Schalter","$Switch","c"],
	["Cool","Kühlen","$Cool","c"],
    ["TempIn","Temperatur Messung","$VAR<TempIn!>","a"],
    ["Const_TempInaktiv","Schwellwert ob Regelung notwendig","$TempCompInaktiv","u"],
    ["Const_TempMax","Schwellwert, ob Temperatur zu hoch","$TempCompMaxWarm","u"],
    ["Soll","Soll-Wert","$Reference","c"],
    ["Kp","Proportional-Term","$Kp","u"],
    ["Ki","Integral-Term","$Ki","u"],
    ["Kd","Diverential-Term","$Kd","u"]
  ],
  "Output":[
    ["Stell","Stellgröße","$Out","a"],
    ["FuehlerAlarm","bei 1 kein Temperaturwert innerhalb der Überwachungszeit","$Alarm_Sensor","c"],
    ["HitzeAlarm","bei 1 zu Hohe gemessene Temperatur","$Alarm_MaxTemp","c"],
    ["Status","HK aktiv oder inaktiv","$Status","a"]
  ],
  "Level":[
    ["$Switch","bool",false],
	["$Cool","bool",false],
    ["$CompSwitch","bool",false],
    ["$Alarm_Sensor", "bool",false],
    ["$Alarm_MaxTemp", "bool",false],
    ["$dummyTrue","bool",true],
    ["$dummyFalse","bool",false],
    ["$VAR<TempIn!>","float",15],
    ["$watchdogTime","integer",360],
    ["$Status","bool",false],
    ["$internStatus","bool",false],
    ["$TempCompInaktiv","float",18],
    ["$TempCompMaxWarm","float",30], 
    ["$Reference","float",20],
    ["$Controlled","float",20],
    ["$Manipulate","float",0],
    ["$Kp","float",0],
    ["$Ki","float",0],
    ["$Kd","float",0],
    ["$Konst100","float",100],
    ["$Konst1","float",1],
	["$Konst0","float",0],
    ["$Out","float",0]
  ],
  "Module":[
    ["Comparator","$Reference","$CompSwitch","$TempCompInaktiv"],
    ["And",["$CompSwitch","$Switch"],"$internStatus"],
    ["Multiplexer",["$dummyFalse",0],"$Out","$internStatus"],
    ["Multiplexer",["$dummyFalse",0],"$Status","$internStatus"],
    ["Break",["-$internStatus"]],
    ["Statistic",["$VAR<TempIn!>"],0,0,"$Controlled",0],
    ["Comparator","$Controlled","-$internStatus","$TempCompMaxWarm"],
    ["Multiplexer",["$dummyFalse",0],"$Out","$internStatus"],
    ["Multiplexer",["$dummyFalse",0],"$Status","$internStatus"],
    ["Multiplexer",["$dummyTrue","$dummyFalse"],"$Alarm_MaxTemp","$internStatus"],
    ["Break",["-$internStatus"]],
    ["PID controller","$Reference","$Controlled","$Manipulate","$Kp","$Ki","$Kd"],
	["Polynomial","$Manipulate","$Manipulate",["$Konst0","$Konst100"]],
	["Latch","-$Manipulate","$Manipulate","$Cool",0],
	["Latch","$Manipulate","$Manipulate","-$Cool",0],
    ["Limiter","$Manipulate","$Out",0,["-$Konst0","$Konst100"]],
    ["Comparator","$Out","$internStatus",0],
    ["Multiplexer",["$dummyFalse","$dummyTrue"],"$Status","$internStatus"]
  ]
}
Ich habe die Anwendung getestet. Die Anwendung lief wie erwartet. Es laufen 26 Logiken für alle Räume des Hauses. Alles wie gewünscht.
Die Ist-temperaturen kommen per Telegramm aus der KNX-Anlage, die Soll-Temperaturen kommen per Comet-Visu ebenfalls über den KNX. Die Stellgrößen gehen nachdem die Lgik fertiggestellt und gespeichert wurde wie gewünscht raus. Zum Testen habe ich die EIngangswerte "Kühlung", "Soll-Temperatur" entsprechend mit der Visualierung geändert. Die Stellgrößen werden entsprechend auf den KNX gesendet.

Nach jetzt über 2 Monaten Nutzungsdauer ist mir folgemdes aufgefallen:
  1. Logik gespeichert und getestet
  • Nach einiger Zeit (1 Tag?) lässt sich die Stellgröße nicht mehr verändern. Es wir der falsche Wert gesendet, obwohl sich die EIngangswerte entsprechend ändern
  • Nach erneuter Speicherung, läuft es wieder
Ich vermute ich habe innerhalb der Logik irgend etwas übersehen.

Freue mich über Feedback. Vielleicht hat ja auch jemand eine Idee, was ich übersehen haben.

Arno

Re: Raumtemperaturregler mit Kühlungsoption für Fußbodenheizung

Verfasst: Mo Dez 19, 2022 9:50 pm
von azietz
Hallo,

ich habe das jetzt nochmal genauer verfolgt mittels Auswertung über die InfluxDB und Diagrammen in der Cometvisu.

Die regelung scheint zu laufen, der Eindruck, das es keine Regelung gibt liegt an den Gegebenheiten vor Ort wie:
  • gewünschte Temperatur wird nicht erreicht, weil nicht genug Wärme
  • gewünschte Temperatur wird nicht erreicht, weil Wärme bei geschlossenem Ventil nicht weggeht.
Der regler wird aufgrund der Parameter dann träge.

Ich werde es weiter beobachten.

Arno