HISTER
Este bloco avalia o sinal de entrada IN e transfere o valor para a saída OUT se o valor absoluto da diferença entre a entrada e a saída for maior que o valor HIS.
Importante
Valores negativos de histeresse são invalidos para este bloco. Se especificados, o bloco transfere o valor da entrada IN para a saída OUT ou seja, opera com HIS = 0.
Bloco
HISTER
+-------------+
REAL ----|IN OUT|---- REAL
| |
REAL ----|HIS EV|---- BOOL
+-------------+
Parâmetros
Nome |
Classe |
Tipo |
Dim. |
V. Ini. |
Descrição |
IN |
Entrada |
REAL |
0.0 |
Valor de entrada do bloco |
|
HIS |
Entrada |
REAL |
0.0 |
Valor da histeresse de variação do sinal |
|
OUT |
Saída |
REAL |
0.0 |
Valor de saida do bloco |
|
EV |
Saída |
BOOL |
FALSE |
Gera um pulso quando o valor da saída for atualizado pois ultrapassou o valor da histeresse |
Exemplo
Declaração de Variáveis
Nome |
Tipo |
Valor Inicial |
Descrição |
|---|---|---|---|
inp_IN |
REAL |
5.0 |
Entrada IN |
inp_HIS |
REAL |
2.0 |
Entrada HIS |
VOUT |
REAL |
Saida do bloco |
|
my_HIS |
HISTER |
Instância do bloco HISTER |
Código ST
(* Exemplo de ativação do bloco HIST dentro da POU *)
(* ... *)
my_HIS(IN := inp_IN, HIS := inp_HIS); (* Ativação da instancia do bloco TP *)
if my_HIS.EV then (* testa se sinal de entrada variou mais que 2.0 (HIS) *)
(* sinal de entrada é maior que 7.0 ou menor que 3.0 *)
VOUT := my_HIS.EV.OUT;
(* ... *)
end_if;
(* ... *)