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 OUT só é atualizada quando |IN - OUT| > HIS; caso contrário mantém o valor anterior.

  • EV sinaliza, por pulso, o instante em que OUT foi 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;
(* ... *)