Saltar al contenido

HG_LM: establecer umbrales de conmutación en función de la carga

Tiempo de leer 2 minutos

Actualizado – 29 de diciembre de 2022

Un umbral de conmutación en función de la carga tiene por objeto evitar la sobrecarga de la línea que suministra la corriente de tierra. Tomando como base la potencia máxima permitida, que aquí se supone de 3.100 W, y la potencia máxima de la calefacción eléctrica ALDE de 1.500 W (etapa I -> 1.000 W, etapa II -Y 500 W), se obtiene un margen de unos 1.600 W.

El programa:

Programa - HG_LM - Medición de potencia y conmutación en función de la potencia

El código:

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);
}

La salida del script (si las líneas Línea de escritura("... ") no están comentados):

Pwr.
1882.919998
no_calentamiento
falso
P > 1 < 2201

El script evalúa la variable de sistema HG_LM_POWER del script anterior, así como el estado del canal 1 del módulo de relé cuádruple Homematic que conmuta la bomba de calefacción.

Si hay suficiente reserva de potencia, por ejemplo, menos de 2.301 W, el estado de la bomba 1 por lo tanto, la variable del sistema no_calentamiento = falsoentonces, según la si-Rama Nivel I y II encendida.

Si, por ejemplo, ahora se activa la cafetera, se necesitan 800 W adicionales. La potencia anterior de 2.131,7 W se convierte en 2.931,7 W.

Como resultado, el segundo si no-rama y la etapa I está apagada.

Cuando la cafetera se apaga de nuevo, la demanda de energía se reduce al nivel anterior y el nivel I se conecta de nuevo.

Los demás escenarios funcionan de forma similar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESSpanish