Ga naar de inhoud

HG_LM – Stel belastingsafhankelijke schakeldrempels in

Leestijd 2 minuten

Bijgewerkt – 29 december 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
We've detected you might be speaking a different language. Do you want to change to:
en_US English
de_DE German
en_US English
fr_FR French
sv_SE Swedish
es_ES Spanish
pt_PT Portuguese
it_IT Italian
nl_NL Dutch
nb_NO Norwegian
fi Finnish
da_DK Danish
cs_CZ Czech
hu_HU Hungarian
el Greek
ru_RU Russian
tr_TR Turkish
ja Japanese
lt_LT Lithuanian
lv Latvian
sl_SI Slovenian
sk_SK Slovak
Close and do not switch language