Hopp til innholdet

HG_LM - Angi belastningsavhengige koblingsterskler

Lesetid 2 minutter

Oppdatert - 29. desember 2022

En belastningsavhengig koblingsterskel skal unngå overbelastning av linjen som forsyner landstrømmen. Med utgangspunkt i den maksimalt tillatte effekten, som her er antatt å være 3100 W, og ALDEs maksimale elektriske varmeeffekt på 1500 W (trinn I -> 1000 W, trinn II -Y 500 W), gir dette en margin på ca. 1600 W.

Programmet:

Program - HG_LM - Effektmåling og effektrelatert kobling

Koden:

real pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var nicht_heizen = dom.GetObject("SV_IT").Value(); WriteLine("nicht_heizen");WriteLine(nicht_heizen);

if ((pwr > 1) && (pwr < 2201) && (not_heating == 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_heating == 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_heating == 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_heating == 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_heating == true)
{
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);
}

Utdataene fra skriptet (hvis linjene WriteLine(" ... ") er ikke kommentert ut):

Pwr.
1882.919998
ikke_oppvarming
falsk
P > 1 < 2201

Skriptet evaluerer systemvariabelen HG_LM_POWER fra forrige skript, samt statusen til kanal 1 i Homematic 4-fold relémodul som kobler til varmepumpen.

Hvis det er tilstrekkelig effektreserve, f.eks. mindre enn 2 301 W, vises pumpens status 1 derfor systemvariabelen ikke_oppvarming = falskså, i henhold til hvis-Avdelingsnivå I og II er slått på.

Hvis for eksempel kaffemaskinen nå er aktivert, kreves det ytterligere 800 W. Den tidligere effekten på 2131,7 W blir til 2931,7 W.

Som et resultat ble den andre elsehvis-gren og trinn I er slått av.

Når kaffemaskinen slås av igjen, reduseres effektbehovet til det forrige nivået, og nivå I slås på igjen.

De andre scenariene fungerer på samme måte.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *