Avançar para o conteúdo

HG_LM – Definir limites de comutação dependentes de carga

Tempo de leitura 2 minutos

Atualizado – 29 de dezembro de 2022

Um limite de comutação dependente da carga destina-se a evitar sobrecarga da linha que fornece energia de cais. Com base na potência máxima permitida, 3.100 W assumida aqui, e na potência máxima de aquecimento elétrico ALDE de 1.500 W (nível I -> 1.000 W, nível II -Y 500 W), há cerca de 1.600 W de flexibilidade.

O programa:

Programa – HG_LM – medição de desempenho e comutação baseada em desempenho

O código:

real pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr);
var not_heating = dom.GetObject("SV_IT").Value(); WriteLine("não_aquecimento");WriteLine(não_aquecimento);

if ((pwr > 1) && (pwr <2201) && (not_heat == falso))
{
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 == falso))
{
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 == falso))
{
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 == falso))
{
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 == verdadeiro)
{
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);
}

A saída do script (se as linhas WriteLinha("...") não estão comentados):

Pwr.
1882.919998
não_aqueça
falso.falso
P > 1 < 2201

O script avalia a variável do sistema HG_LM_POWER do script anterior, bem como o estado do canal 1 do módulo relé de 4 vias Homematic que comuta a bomba de aquecimento.

Se houver reserva de energia suficiente, por exemplo, menos de 2.301 W, o status da bomba 1 , ou seja, a variável do sistema não_aqueça = falso.falso, então de acordo com se-Estágios de ramificação I e II ativados.

Por exemplo, se a máquina de café estiver agora activada, são necessários 800 W adicionais. A produção anterior de 2.131,7 W passa a ser 2.931,7 W.

O segundo então entra em vigor senão-Ramo e Estágio I estão desligados.

Assim que a máquina de café for novamente desligada, a necessidade de potência é reduzida para o nível anterior e o nível I é novamente ligado.

Os outros cenários funcionam da mesma maneira.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

pt_PTPortuguês