NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

Custom-Logik Heizkurve

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
Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

Custom-Logik Heizkurve

#1

Beitrag von Robosoc »

Aufgrund eines LE-Absturzes kann ich die Logik aktuell nicht testen, aber die Zeit nutze ich schon mal den Eintrag hier zu machen.

Ich habe einmal versucht eine einfach Heizkurve wie Sie z.B. hier oder hier beschrieben ist zu realisieren.

Code: Alles auswählen

/**
* Heizkurve V0.1
*/
{
  "Level":[
    ["$T_aussen","float",20],
    ["$Kurve","float",0.4],
    ["$ParallelV","float",0],
    ["$RaumtempV","float",0],
    ["$Min","float",24],
    ["$Max","float",32],
    ["$T_vorlauf","float",20],
    ["$T_calc","float",20],
    ["$T_fuss_aussen","float",20],
    ["$T_fuss_vorlauf","float",20],
    ["$Const0_7","float",0.7],
    ["$Const1_0","float",1],
    ["$Val_ok","bool",true]
  ],
  "Module":[
     //Berechnung des Aussentemperatur Fusspunktes
    ["Polynomial", "$RT_Const", "$T_fuss_aussen", ["$T_fuss_aussen", "$RaumTempV"]],
     //Berechnung des Vorlauftemperatur Fusspunktes
    ["Polynomial", "$Const0_7", "$T_fuss_vorlauf", ["$T_fuss_vorlauf", "$ParallelV"]],
    ["Polynomial", "$Const1_0", "$T_fuss_vorlauf", ["$T_fuss_vorlauf", "$RaumTempV"]],
     //Berechnung des Sollwertes
    ["Polynomial", "$Const1_0", "$T_calc",["$T_fuss_aussen", "-$T_aussen"]],
    ["Polynomial", "$Kurve", "$T_calc",["$T_fuss_vorlauf", "$T_calc"]],
    ["Limiter","$T_calc","$T_vorlauf","$Val_ok",["$Min", "$Max"]]
  ],
  "Input":[
    ["T_Ist","Aussentemperatur","$T_aussen","a"],
    ["Heizkurve_Vorwahl","Heizkurve [°C/K] z.B. 0,4","$Kurve","u"],
    ["Parallel-Versch","Parallelverschiebung [K],"$ParallelV","u"],
    ["Raumtemp-Versch","diagonale Parallelverschiebung zur Anpassung einer Raumtemperatur [K],"$RaumtempV","u"],
    ["Min_Vorlauf","Untere Temperaturgrenze (z.B. wegen angenehmen Estrichboden)","$Min","u"],
    ["Max_Vorlauf","obere Temperaturgrenze (z.B. wegen angenehmen Estrichboden)","$Max","u"]
  "Output":[
    ["Vorlauftemp","Soll Vorlauftemperatur nach Heizkurve","$T_vorlauf","a"]
  ]
}
/**
* Folgende Richtwerte helfen dabei, die Einstellung zu optimieren:
*   z.B. https://heizung.de/heizung/wissen/heizkennlinie-definition-und-einflussfaktoren/ oder bossy online
*   Sind die Raumtemperaturen immer zu niedrig, sollte das Niveau erhöht werden. Die Heizkennlinie ist dazu senkrecht nach oben zu verschieben.
*   Sind die Raumtemperaturen immer zu hoch, sollte das Niveau verringert werden. Die Heizkennlinie ist dazu senkrecht nach unten zu verschieben.
*   Sind die Raumtemperaturen nur an kalten Tagen zu niedrig, sollte die Neigung erhöht werden. Dazu ist eine steilere Heizkurve zu wählen.
*   Sind die Raumtemperaturen in der Übergangszeit zu niedrig, im Winter aber in Ordnung, sollte das Niveau erhöht und die Neigung gesenkt werden. Es ist also eine flachere Kurve zu wählen, die dann senkrecht nach oben verschoben wird.
*   Sind die Raumtemperaturen in der Übergangszeit zu hoch, im Winter aber in Ordnung, sollte das Niveau gesenkt und die Neigung erhöht werden. Es ist also eine steilere Kurve zu wählen, die dann nach unten verschoben wird.
*/
/**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.*/
Grundsätzlich ist es so gedacht, dass man nur die Aussentemperatur (eventuell zuvor mit Tiefpass über z.B. 7200s = 2h geglättet) im Eingang und den Sollwert am Ausgang verschaltet. Der Rest ist optional. Die Heizkurven sollen gemäß der Beschreibung auf Bossy Online berechnet werden: http://www.bosy-online.de/Einstellen_der_Heizkurve.htm.
Ich werde es so lösen, dass man über einen Schiebeschalter in er Visu und eventuell auf einem Displaytaster dann zwischen 1 und 5 wählen kann, wobei Stellung 1 dann z.B. die Heizkurve 0,1 einstellt und die 5 die 0,5.

Bin mal gespannt, ob die Logik am Ende tut, was Sie soll.

Ist jetzt kein Hexenwerk, aber vielleicht braucht es ja auch mal jemand Anderes.
Zuletzt geändert von Robosoc am Do Mär 05, 2020 10:37 am, insgesamt 4-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

devilchris
Reactions:
Beiträge: 83
Registriert: So Aug 12, 2018 9:26 am
Hat sich bedankt: 18 Mal
Danksagung erhalten: 54 Mal

#2

Beitrag von devilchris »

Hallo Sven,

das würde sehr gut zu diesem Thema passen:
viewtopic.php?f=24&t=1531

Klar gibt es extra dafür separate Hardware die das alles schon drin hat.
Ich würde gerne die sehr flexible LE nutzen mit einem z. B. : Jalousienaktor oder einer kleinen zusatzhardware von elabnet.

Gruß Christian
Christian

TWS 2600 #185, 1x PBM#241 40/40/40, 3x USB-BM, VPN offen, Reboot möglich

Ersteller
Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

#3

Beitrag von Robosoc »

Hier Version 0.2, habe selber ein paar Fehler gefunden. Die Logik lässt sich aber leider noch nicht speichern, ich muss noch weiter nach Fehlern suchen (bisher ->Error). Hat jemand eventuell noch eine Idee?

Code: Alles auswählen

/**
* Heizkurve V0.2
*/
{
  "Level":[
    ["$T_aussen","float",20],
    ["$Kurve","float",0.4],
    ["$ParallelV","float",0],
    ["$RaumtempV","float",0],
    ["$Min","float",24],
    ["$Max","float",32],
    ["$T_vorlauf","float",20],
    ["$T_calc","float",20],
    ["$T_fuss_aussen","float",20],
    ["$T_fuss_vorlauf","float",20],
    ["$Const0_7","float",0.7],
    ["$Const1_0","float",1],
    ["$Val_ok","bool",true]
  ],
  "Module":[
     //Berechnung des Aussentemperatur Fusspunktes
    ["Polynomial", "$Const0_7", "$T_fuss_aussen", ["$T_fuss_aussen", "$RaumTempV"]],
     //Berechnung des Vorlauftemperatur Fusspunktes
    ["Polynomial", "$Const0_7", "$T_fuss_vorlauf", ["$T_fuss_vorlauf", "$ParallelV"]],
    ["Polynomial", "$Const1_0", "$T_fuss_vorlauf", ["$T_fuss_vorlauf", "$RaumTempV"]],
     //Berechnung des Sollwertes
    ["Polynomial", "-$Const1_0", "$T_calc",["$T_fuss_aussen", "$T_aussen"]],
    ["Polynomial", "$Kurve", "$T_calc",["$T_fuss_vorlauf", "$T_calc"]],
    ["Limiter","$T_calc","$T_vorlauf","$Val_ok",["$Min", "$Max"]]
  ],
  "Input":[
    ["T_Aussen","Aussentemperatur","$T_aussen","a"],
    ["Heizkurve_Vorwahl","Heizkurve [°C/K] z.B. 0,4","$Kurve","u"],
    ["Parallel_Versch","Parallelverschiebung [K]","$ParallelV","u"],
    ["Raumtemp_Versch","diagonale Parallelverschiebung zur Anpassung einer Raumtemperatur [K]","$RaumtempV","u"],
    ["Min_Vorlauf","Untere Temperaturgrenze (z.B. wegen angenehmen Estrichboden)","$Min","u"],
    ["Max_Vorlauf","obere Temperaturgrenze (z.B. wegen angenehmen Estrichboden)","$Max","u"]
  ],
  "Output":[
    ["Vorlauftemp","Soll Vorlauftemperatur nach Heizkurve","$T_vorlauf","a"]
  ]
}
/**
* Folgende Richtwerte helfen dabei, die Einstellung zu optimieren:
*   z.B. https://heizung.de/heizung/wissen/heizkennlinie-definition-und-einflussfaktoren/ oder bossy online
*   Sind die Raumtemperaturen immer zu niedrig, sollte das Niveau erhöht werden. Die Heizkennlinie ist dazu senkrecht nach oben zu verschieben.
*   Sind die Raumtemperaturen immer zu hoch, sollte das Niveau verringert werden. Die Heizkennlinie ist dazu senkrecht nach unten zu verschieben.
*   Sind die Raumtemperaturen nur an kalten Tagen zu niedrig, sollte die Neigung erhöht werden. Dazu ist eine steilere Heizkurve zu wählen.
*   Sind die Raumtemperaturen in der Übergangszeit zu niedrig, im Winter aber in Ordnung, sollte das Niveau erhöht und die Neigung gesenkt werden. Es ist also eine flachere Kurve zu wählen, die dann senkrecht nach oben verschoben wird.
*   Sind die Raumtemperaturen in der Übergangszeit zu hoch, im Winter aber in Ordnung, sollte das Niveau gesenkt und die Neigung erhöht werden. Es ist also eine steilere Kurve zu wählen, die dann nach unten verschoben wird.
*/
/**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.*/
Zuletzt geändert von Robosoc am Do Mär 05, 2020 10:37 am, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Ersteller
Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

#4

Beitrag von Robosoc »

Fehler gefunden, Logik lässt sich jetzt wie folgt nutzen

Code: Alles auswählen

/**
* Heizkurve V1.0
*/
{
  "Level":[
    ["$T_aussen","float",20],
    ["$Kurve","float",0.4],
    ["$ParallelV","float",0],
    ["$RaumtempV","float",0],
    ["$Min","float",24],
    ["$Max","float",32],
    ["$T_vorlauf","float",20],
    ["$T_calc","float",20],
    ["$T_fuss_aussen","float",20],
    ["$T_fuss_vorlauf","float",20],
    ["$Const0_7","float",0.7],
    ["$Const1_0","float",1],
    ["$Val_ok","bool",true]
  ],
  "Module":[
     //Berechnung des Aussentemperatur Fusspunktes
    ["Polynomial", "$Const0_7", "$T_fuss_aussen", ["$T_fuss_aussen", "$RaumtempV"]],
     //Berechnung des Vorlauftemperatur Fusspunktes
    ["Polynomial", "$Const1_0", "$T_fuss_vorlauf", ["$T_fuss_vorlauf", "$ParallelV"]],
    ["Polynomial", "$Const0_7", "$T_fuss_vorlauf", ["$T_fuss_vorlauf", "$RaumtempV"]],
     //Berechnung des Sollwertes
    ["Polynomial", "-$Const1_0", "$T_calc",["$T_fuss_aussen", "$T_aussen"]],
    ["Polynomial", "$Kurve", "$T_calc",["$T_fuss_vorlauf", "$T_calc"]],
    ["Limiter","$T_calc","$T_vorlauf","$Val_ok",["$Min", "$Max"]]
  ],
  "Input":[
    ["T_Aussen","Aussentemperatur","$T_aussen","a"],
    ["Heizkurve_Vorwahl","Heizkurve [°C/K] z.B. 0,4","$Kurve","u"],
    ["Parallel_Versch","Parallelverschiebung [K]","$ParallelV","u"],
    ["Raumtemp_Versch","diagonale Parallelverschiebung zur Anpassung einer Raumtemperatur [K]","$RaumtempV","u"],
    ["Min_Vorlauf","Untere Temperaturgrenze (z.B. wegen angenehmen Estrichboden)","$Min","u"],
    ["Max_Vorlauf","obere Temperaturgrenze (z.B. wegen angenehmen Estrichboden)","$Max","u"]
  ],
  "Output":[
    ["Vorlauftemp","Soll Vorlauftemperatur nach Heizkurve","$T_vorlauf","a"]
  ]
}
/**
*   z.B. https://heizung.de/heizung/wissen/heizkennlinie-definition-und-einflussfaktoren/ 
*.  oder http://www.bosy-online.de/Einstellen_der_Heizkurve.htm
*.  
*   Sind die Raumtemperaturen immer zu niedrig, sollte das Niveau erhöht werden. Die Heizkennlinie ist dazu senkrecht nach oben zu verschieben.
*   Sind die Raumtemperaturen immer zu hoch, sollte das Niveau verringert werden. Die Heizkennlinie ist dazu senkrecht nach unten zu verschieben.
*   Sind die Raumtemperaturen nur an kalten Tagen zu niedrig, sollte die Neigung erhöht werden. Dazu ist eine steilere Heizkurve zu wählen.
*   Sind die Raumtemperaturen in der Übergangszeit zu niedrig, im Winter aber in Ordnung, sollte das Niveau erhöht und die Neigung gesenkt werden. Es ist also eine flachere Kurve zu wählen, die dann senkrecht nach oben verschoben wird.
*   Sind die Raumtemperaturen in der Übergangszeit zu hoch, im Winter aber in Ordnung, sollte das Niveau gesenkt und die Neigung erhöht werden. Es ist also eine steilere Kurve zu wählen, die dann nach unten verschoben wird.
*/
/**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.*/
Zuletzt geändert von Robosoc am Do Mär 05, 2020 10:37 am, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Ersteller
Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

#5

Beitrag von Robosoc »

VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#6

Beitrag von StefanW »

Hallo Sven,

bitte auch eine Info zur Lizenz in Deinen Code reinschreiben, damit insbesondere gewerbliche Integratoren Klarheit darüber haben, ob Sie den von Dir veröffentlichten LE-Code auch so verwenden dürfen.

Wir haben dafür die TOLL definiert und empfehlen diese. Diese basiert auf der MIT-Lizenz, erfordert nur keine Namensnennung des Autors bei der Weitergabe.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

#7

Beitrag von Robosoc »

StefanW hat geschrieben: Do Mär 05, 2020 10:33 am bitte auch eine Info zur Lizenz in Deinen Code reinschreiben, ...

In dem Beitrag, den ich gestern erstellt habe zur gekrümten Heizkurve V3 (hier Link im Beitrag #5) ist das am Ende des Codes und am Ende meines Beitrags #1 schon drin. Du meintest vermutlich noch die drei Codes in dieser Diskussion...ziehe ich jetzt nach. Aber die wird denke ich ohnehin keiner mehr Verwenden, wo jetzt V3 raus ist :-)
Zuletzt geändert von Robosoc am Do Mär 05, 2020 10:38 am, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
Antworten

Zurück zu „Zusätzliche Logikbausteine“