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

[1]

Contador incrementa o valor corrente

1

1

COUNT(t):= COUNT(t-1)

[1]

Contador mantem o valor corrente

1

1 -> 0

COUNT(t):= COUNT(t-1)

[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 *)
(* ... *)