Spring til indhold

HG_LM - Indstil belastningsafhængige koblingstærskler

Læsetid 2 minutter

Opdateret - 29. december 2022

En belastningsafhængig koblingstærskel er beregnet til at undgå overbelastning af den linje, der forsyner landstrømmen. Baseret på den maksimalt tilladte effekt, som her antages at være 3.100 W, og den maksimale ALDE-elvarmeeffekt på 1.500 W (trin I -> 1.000 W, trin II -Y 500 W), giver det en margin på ca. 1.600 W.

Programmet:

Program - HG_LM - Effektmåling og effektrelateret 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);
}

Scriptets output (hvis linjerne WriteLine(" ... ") er ikke kommenteret ud):

Pwr.
1882.919998
ikke_opvarmning
falsk
P > 1 < 2201

Scriptet evaluerer systemvariablen HG_LM_POWER fra det forrige script, samt status for kanal 1 i Homematic 4-fold relæmodulet, der skifter varmepumpen.

Hvis der er tilstrækkelig strømreserve, f.eks. mindre end 2.301 W, viser pumpens status 1 derfor er systemvariablen ikke_opvarmning = falskså, i henhold til hvis-Afdelingsniveau I og II er tændt.

Hvis f.eks. kaffemaskinen nu er aktiveret, kræves der yderligere 800 W. Den tidligere effekt på 2.131,7 W bliver til 2.931,7 W.

Som følge heraf er den anden elseif-gren og trin I er slukket.

Når kaffemaskinen slukkes igen, reduceres effektbehovet til det tidligere niveau, og niveau I tændes igen.

De andre scenarier fungerer på samme måde.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

da_DKDanish