Counters - CTU, CTD e CTUD

Previous  Top  Next



Os counters - contadores (ao lado dos timers - temporizadores e das instruções lógicas de bit) são um dos principais componentes de um PLC, medindo a quantidade de vezes em que determinada condição mudou de estado (falso/verdadeiro ou ligado/desligado).

Por exemplo, se a condição for uma variável de entrada de bit (liga/desliga), e a esse ponto de entrada for ligado um interruptor, um contador CTU
contaria a quantidade de vezes em que este interruptor foi ligado e desligado, contando a quantidade de ocorrências de qualquer fenômeno físico que ligue e desligue repetidamente tal interruptor, como a quantidade de peças que passa por certo local, a quantidade de rotações de um eixo, a quantidade de acionamentos de determinado mecanismo, etc.

Há, na IL, três tipos de contadores, CTU
, CTD e CTUD, mapeados, respectivamente, pelas instruções LCE

1.   conta ... reset_quando ... em ... referência ...;  
2.   conta_decrescente ... quando ... faz ...;  
3.   conta_crescente ... conta_decrescente ... reset_quando ... em ... referência ...;  

      1. CTU:


      
LD   I0.0
      LD   I0.1
      CTU   C0,   3

No exemplo acima, a variável doubleword C0 (variável de contagem) conta as vezes em que a variável bit I0.0 passou de falso (desligado ou não acionado) para verdadeiro (ligado ou acionado), em contagem crescente ou progressiva. Quando C0 atinge o valor de referência 3 (valor preset), a variável bit C0, inicialmente desligada, torna-se ligada; e a contagem continua.

Quando
I0.1 torna-se verdadeiro (ligado ou acionado), a variável doubleword C0 é zerada e a variável bit C0, desligada.

Para que o ciclo se repita,
I0.1 deve ser ligada e desligada.

Diagrama de Funcionamento
counter ctu


Obs.: a forma com que se usa a variável C0
definirá se se trata da doubleword C0 (comparações, atribuições ou operações matemáticas) ou do bit C0 (operações lógicas de bit), conforme exemplificado no diagrama abaixo:

         counterctu


      2. CTD:


      
LD   I0.0
      LD   I0.1
      CTD   C0,   3

No exemplo acima, quando I0.1 torna-se ligada - ou acionada, a variável doubleword C0 recebe o valor 3 (valor preset), e a variável bit C0 é desligada. Então, para que a contagem regressiva possa acontecer, I0.1 deve ser desligada. A partir daí, cada vez que I0.0 passa de desligada para ligada, a doubleword C0 é decrementada (subtraída de um, em contagem decrescente ou regressiva).

Se
I0.1 for ligada, volta-se ao início da contagem regressiva (valor preset). Quando a variável doubleword C0 atinge o valor zero, a variável bit C0 torna-se ligada; e a contagem regressiva pára em zero.

Para que o ciclo se repita,
I0.1 deve ser ligada e desligada.

Diagrama de Funcionamento
counter ctd



      3. CTUD:


      
LD   I0.0
      LD   I0.1
      LD   I0.2
      CTUD   C0,   3

No exemplo acima, quando I0.2 torna-se ligada ou acionada, a variável doubleword C0 é zerada, e a variável bit C0 é desligada. Então, para que a contagem progressiva e/ou regressiva possam acontecer, I0.2 deve ser desligada. A partir daí, cada vez que I0.0 passa de desligada para ligada, a variável doubleword C0 é incrementada, em contagem progressiva, e cada vez que I0.1 passa de desligada para ligada, a variável doubleword C0 é decrementada, em contagem regressiva.

Se
I0.2 for ligada, volta-se ao início da contagem, com a variável doubleword C0 sendo zerada, e a variável bit C0, desligada.

Quando C0
atinge o valor de referência (preset) 3, a variável bit C0 é ligada; e a contagem continua. A contagem, tanto a regressiva quanto a progressiva, não pára nunca, podendo alcançar inclusive valores negativos. (Obs.: se atingido o limite numérico da variável doubleword, a contagem passa do máximo positivo para o mínimo negativo e vice-versa.)

Para que o ciclo se repita,
I0.2 deve ser ligada e desligada.

Diagrama de Funcionamento
counter ctud



Obs
. 1: a resposta à atuação das entradas pode demorar até um ciclo de scan, embora tal demora não esteja representada nos diagramas acima.

Obs
.: a variável de contagem deve ter, necessariamente, a forma Cn, onde n pode variar de 0 a 511.