NEU! Insider Preview IP1 verfügbar - Jetzt mit OS-Updates & Grafana 9 (Speed-Upgrade & Neue Plugins)
Info im Wiki: https://elabnet.atlassian.net/l/cp/jDHx8XTt

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> BLACK WEEK - Bis 35% auf Timberwolf Server & Extensions <--
Info im Forum: viewtopic.php?f=86&t=3867

----------------------------------------------------------------------------------------------------------------------------------------------------------
Hauptversion 3.5.1 verfügbar - Jetzt mit HTTP-API und hunderten Verbesserungen
Info im Forum: viewtopic.php?f=8&t=3831

[Problem] Raumtemperaturregler mit Kühlungsoption für Fußbodenheizung

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
azietz
Reactions:
Beiträge: 1
Registriert: Do Mär 14, 2019 12:46 pm
Danksagung erhalten: 7 Mal

Raumtemperaturregler mit Kühlungsoption für Fußbodenheizung

#1

Beitrag 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
Antworten

Zurück zu „Zusätzliche Logikbausteine“