TICK
Produz um pulso na saída EV a cada intervalo de tempo TM e fornece em
TR o tempo restante para o próximo pulso. É 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
TICK
+-------------+
BOOL ----|RUN EV|---- BOOL
| |
TIME ----|TM TR|---- TIME
+-------------+
A saída EV se mantém ativa durante um ciclo de scan quando o evento ocorre.
Diagrama de tempo do bloco:
+-------------------------------+
| |
RUN ----------------+ +------------------
+ + + +
| | | |
EV -----------------------+------+------+------+---------------------
+--------+------+------+------+------+----------------------
| |\ |\ |\ |\ |\
| | \ | \ | \ | \ | \
| | \ | \ | \ | \ | \
TM -------+ | \ | \ | \ | \ | +------------------
| \ | \ | \ | \ |
| \| \| \| \|
TR ----------------+------+------+------+------+----------------------
Dica
Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Trabalhando com o Bloco de Função Timer TICK.
Importante
Quando o parâmetro TM for modificado durante a contagem de um ciclo, o bloco
irá terminar a contagem corrente e no próximo ciclo o novo valor de TM será
utilizado.
Parâmetros
Nome |
Direção |
Tipo |
Padrão |
Faixa / Unidade |
Descrição |
|---|---|---|---|---|---|
RUN |
IN |
BOOL |
TRUE |
— |
Habilita a geração de eventos. |
TM |
IN |
TIME |
T#1s |
— |
Intervalo de tempo entre a ocorrência dos eventos. |
EV |
OUT |
BOOL |
FALSE |
— |
Gera um pulso (ativo por um ciclo de scan) a cada intervalo |
TR |
OUT |
TIME |
— |
— |
Tempo restante para o próximo pulso. |
Observações
EVpermanece em TRUE por apenas um ciclo de scan a cada ocorrência do evento.Alterar
TMdurante uma contagem só passa a valer no ciclo seguinte.
Exemplo
Clique aqui para baixar a tabela de variáveis
Código ST
VAR
my_TICK : HILS.TICK; (* Instancia do bloco TICK *)
END_VAR
(* Exemplo de ativação do bloco de função dentro da POU *)
(* ... *)
my_TICK(TM := T#10s); (* Programa bloco para gerar um pulso a cada 10 segundos *)
(* Saida my_TICK.EV se mantém em TRUE por um ciclo de scan a cada intervalo de 10 segundos *)
(* ... *)