UPC_M - Contador UP
O objetivo deste elemento é operar como um contador de eventos (EVE). Possui uma entrada (ACTIVE) para RESET do valor de contagem (COUNT) e um parâmetro de limite de contagem (LIM).
A cada transição de subida na entrada de evento (EVE), o valor do contador (COUNT) será incrementado de uma unidade até o limite definido em (LIM).
Bloco
UPC_M
+-----+
EVE ---| |--- Q
| |
ACTIVE ---| |
| |
COUNT---|-----|--- COUNT
| |
LIM ---| |
+-----+
Parâmetros
Nome |
Parâmetro |
Tipo Dado |
Descrição |
EVE |
Entrada |
BOOL |
Entrada de contagem. Incrementa o contador a cada transição de subida do sinal. |
ACTIVE |
Entrada |
BOOL |
Entrada de habilitação/reset. Se ativa permite a contagem quando ocorrer um evento. Se inativa mantem o contador em zero. |
COUNT |
Entrada/Saida |
INT |
Valor atual da contagem |
LIM |
Entrada |
INT |
Valor limite para contagem. O valor da saida count irá incrementar até o limite especificado neste parametro |
Q |
Saida |
BOOL |
Ativa quando atingir o valor limite de contagem (COUNT = LIM) |
- LIM = Representa o valor final (limite) da contagem do elemento. Suporta os seguintes valores:
um valor inteiro de 16 bits, que pode ser ou memória inteira (operador M) ou constante inteira (operador K)
um valor inteiro de 32 bits, que pode ser ou uma memória inteira longa (operador L) ou constante interia longa (operador L).
- COUNT = Representa o valor corrente da contagem do elemento e deve ser obrigatoriamente uma variável do mesmo tipo da variável LIM, ou seja :
um valor inteiro de 16 bits, que deve ser uma memória inteira (operador M)
um valor inteiro de 32 bits, que deve ser uma memória inteira longa (operador L)
EVE = Entrada de contagem do elemento contador a cada transição de subida.
- ACTIVE = Entrada de habilitação/Reset do elemento contador. Enquanto estiver desenergizada, o contador
estará no estado de Reset, com o valor de contagem igual a zero (independente do estado da etnrada EVE) Quando energizada habilitada a operação do contador, que será controlada pela entrada EVE.
- Q = Saida inativa indica que a contagem não foi finalizada ou a lógica não é verdadeira.
Saída ativa indica o fim da contagem de pulsos programada.
Tabela de estados
ACTIVE |
EVE |
COUNT |
Q |
Obs. |
0 |
x |
COUNT(t):= 0 |
0 |
Contador em reset |
1 |
0 |
COUNT(t):= COUNT(t-1) |
0 |
Contador mantem o valor corrente |
1 |
0 -> 1 |
COUNT(t):= COUNT(t-1) + 1 |
Contador incrementa o valor corrente |
|
1 |
1 |
COUNT(t):= COUNT(t-1) |
Contador mantem o valor corrente |
|
1 |
1 -> 0 |
COUNT(t):= COUNT(t-1) |
Contador mantem o valor corrente |
Note:
- Na tabela de estado do contador unidirecional,
0 (zero) representa um estado desenergizado, 1 (um) representa um estado energizado, 0 -> 1 representa uma transição do estado 0 para o estado 1, e 1 -> 0 representa uma transição do estado 1 para o estado 0.
Exemplo
Exemplo em ST:
// Exemplo de Declaração de Variáveis que devem ser realizadas na aba "Variaveis" da POU:
inp_eve : BOOL; (* Parametros de entrada *)
inp_active : BOOL; (* Parametros de entrada *)
inp_lim : INT; (* Parametros de entrada *)
out_count : INT; (* Parametro de entrada/saída *)
out_Q : BOOL; (* Parametro de saída *)
my_UPC : UPC_M; (* Instancia do bloco UPC_M *)
// Exemplo de ativação do bloco UPC dentro da POU
(* ... *)
my_UPC(EVE:=inp_eve, ACTIVE:=inp_active, COUNT:=out_count, LIM:=inp_lim); (* Ativação da instancia do bloco UPC *)
out_Q := my_UPC.Q; (* Obtem parametro de saida Q do bloco UPC *)
(* ... *)