HISTER
Avalia o sinal de entrada IN e transfere seu valor para a saída OUT somente
quando o valor absoluto da diferença entre a entrada e a saída ultrapassa a histerese
HIS; valores negativos de HIS são tratados como 0. É um bloco de função
(mantém estado entre scans; requer instância).
Biblioteca: HI_STD · Namespace: HILS · Tipo: bloco de função
Bloco de função
HISTER
+-------------+
REAL ----|IN OUT|---- REAL
| |
REAL ----|HIS EV|---- BOOL
+-------------+
Enquanto |IN - OUT| <= HIS, a saída OUT é mantida no último valor transferido.
Quando a variação supera a histerese, OUT recebe o valor atual de IN e EV
gera um pulso indicando a atualização.
Importante
Valores negativos de histerese são inválidos para este bloco. Se especificados, o
bloco transfere o valor da entrada IN diretamente para a saída OUT, ou seja,
opera com HIS = 0.
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
IN |
IN |
REAL |
0.0 |
— |
Valor de entrada do bloco. |
HIS |
IN |
REAL |
0.0 |
>= 0 |
Valor da histerese de variação do sinal. |
OUT |
OUT |
REAL |
0.0 |
— |
Valor de saída do bloco. |
EV |
OUT |
BOOL |
FALSE |
— |
Gera um pulso quando a saída é atualizada por ultrapassar a histerese. |
Observações
A saída
OUTsó é atualizada quando|IN - OUT| > HIS; caso contrário mantém o valor anterior.EVsinaliza, por pulso, o instante em queOUTfoi atualizada.
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
inp_IN : REAL := 5.0; (* Entrada IN *)
inp_HIS : REAL := 2.0; (* Entrada HIS *)
VOUT : REAL; (* Saida do bloco *)
my_HIS : HILS.HISTER; (* Instancia do bloco HISTER *)
END_VAR
(* Exemplo de ativacao do bloco HISTER dentro da POU *)
(* ... *)
my_HIS(IN := inp_IN, HIS := inp_HIS); (* Ativacao da instancia do bloco HISTER *)
if my_HIS.EV then (* testa se o sinal de entrada variou mais que 2.0 (HIS) *)
(* sinal de entrada e maior que 7.0 ou menor que 3.0 *)
VOUT := my_HIS.OUT;
(* ... *)
end_if;
(* ... *)