Ga naar de inhoud

HG_LM – Stel belastingsafhankelijke schakeldrempels in

Leestijd 2 minuten

Aktualisiert – Dezember 29, 2022

Een belastingafhankelijke schakeldrempel is bedoeld om overbelasting van de lijn die walstroom levert te voorkomen. Op basis van het maximaal toegestane vermogen, hier aangenomen van 3.100 W, en het maximale elektrische verwarmingsvermogen van ALDE van 1.500 W (niveau I -> 1.000 W, niveau II -Y 500 W), is er ongeveer 1.600 W aan flexibiliteit.

Het programma:

Programma – HG_LM – vermogensmeting en prestatiegericht schakelen

De code:

echte pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var not_heating = dom.GetObject("SV_IT").Value(); WriteLine("niet_verwarming");WriteLine(niet_verwarming);

als ((pwr > 1) && (pwr < 2201) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);

var P = "P > 1 < 2201"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif ((pwr > 2200) && (pwr < 2601) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);

var P = "P > 2200 < 2601"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif ((pwr > 2600) && (pwr < 2801) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);

var P = "P > 2600 < 2801"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif ((pwr > 2800) && (pwr < 3101) && (not_heat == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(0);

! var P = "P > 2800 < 3101"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif (pwr > 3100)
{

dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(0);

var P = "P > 3100"; dom.GetObject("Current_Load").State(P);WriteLine(P);
}

elseif (not_heat == waar)
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0);
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0);

dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1);
}

De uitvoer van het script (als de regels WriteLine(" ... ") worden niet becommentarieerd):

Pw.
1882.919998
niet verwarmen
false.false
P > 1 < 2201

Het script evalueert de systeemvariabele HG_LM_POWER uit het vorige script, evenals de status van kanaal 1 van de Homematic 4-weg relaismodule die de warmtepomp schakelt.

Als er voldoende gangreserve is, bijvoorbeeld minder dan 2.301 W, wordt de status van de pomp weergegeven 1 , dat wil zeggen de systeemvariabele niet verwarmen = false.false, dan volgens als-Aftakkingstrappen I en II ingeschakeld.

Als de koffiemachine bijvoorbeeld wordt geactiveerd, is er 800 W extra nodig. Het vorige vermogen van 2.131,7 W wordt 2.931,7 W.

De tweede treedt dan in werking andersals-Tak en Fase I zijn uitgeschakeld.

Zodra de koffiemachine weer wordt uitgeschakeld, wordt de stroombehoefte teruggebracht naar het vorige niveau en wordt niveau I weer ingeschakeld.

De andere scenario's werken op dezelfde manier.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

nl_NLDutch