READENC5
Conta pulsos de encoder e disponibiliza controles de pré-ajuste, reinicialização, salvamento e contagem de referência.
Representação em Ladder
Estrutura de blocos
| Tipo de variável | Nome | Tipo de dado | Descrição |
|---|---|---|---|
| VAR_INPUT | EN | BOOL | Habilita o bloco. |
| VAR_INPUT | COUNT_SRC | BYTE | Determina qual encoder é utilizado para a contagem de pulsos. |
| VAR_INPUT | PRESET | BOOL | Atribui PV a CV. |
| VAR_INPUT | RESET# | BYTE | Seleciona o controle de reset de CV. |
| VAR_INPUT | RESET_VAR | BOOL | Se RESET# for selecionado por variável, redefine o CV quando TRUE. |
| VAR_INPUT | SAVE# | BYTE | Seleciona o controle de salvamento do contador. |
| VAR_INPUT | SAVE_VAR | BOOL | Se SAVE# for selecionado por variável, salva o CV no SV quando TRUE. |
| VAR_INPUT | REF_CNT | LREAL | Valor de pulso de referência para habilitação de saída. |
| VAR_INPUT | PV | LREAL | Valor de configuração inicial. |
| VAR_INPUT | RESTART | LREAL | Valor de referência para a reinicialização automática do CV. |
| VAR_OUTPUT | Q | BOOL | Habilitação de saída. |
| VAR_OUTPUT | RESET_OCC | BOOL | Redefinir sinalizador. |
| VAR_OUTPUT | SAVE_OCC | BOOL | Salvar sinalizador. |
| VAR_OUTPUT | CV | LREAL | Valor do contador de pulsos. |
| VAR_OUTPUT | SV | LREAL | Último valor de contador salvo. |
| VAR | READENC5_INST_0 | READENC5 | Instância de acesso à estrutura de blocos. |
Operação
Quando o bloco detecta uma borda de subida em EN, ele limpa suas saídas e conta os pulsos do encoder selecionado por COUNT_SRC enquanto estiver habilitado. A contagem de pulsos é armazenada em CV.
O controle selecionado por RESET# redefine o contador quando ativado. O controle selecionado por SAVE# armazena o CV em SV quando ativado. Cada controle define sua respectiva flag, RESET_OCC ou SAVE_OCC, por um ciclo de varredura.
O bloco também suporta reinicialização automática quando o CV atinge RESTART.
Q é ativado por um ciclo de varredura quando CV atinge REF_CNT.
Fluxograma de execução

Exemplos
- Exemplo em Diagrama Ladder
- Exemplo em Texto Estruturado

O exemplo em Ladder lê o encoder 1 e armazena a contagem em COUNTER. REF é a contagem de referência. RESET e SAVE são controlados por LOAD_ZERO e SAVE_COUNT. Quando COUNTER for igual a REF, Q é ativado por um ciclo de varredura.
O código em Structured Text a seguir aplica a mesma lógica mostrada no exemplo em Ladder.
VAR
LOAD_PRESET, LOAD_ZERO, SAVE_COUNT : BOOL;
REF1, PRESET_VALUE, RESTART : LREAL;
FLAG_RESET, FLAG_SAVE : BOOL;
COUNTER, COUNTER_SAVED : LREAL;
FB_READENC5_INST_0 : FB_READENC5;
END_VAR
FB_READENC5_INST_0(
EN := DI1,
COUNT_SRC := 1,
PRESET := LOAD_PRESET,
RESET := 0,
RESET_VAR := LOAD_ZERO,
SAVE := 0,
SAVE_VAR := SAVE_COUNT,
REF_CNT := REF1,
PV := PRESET_VALUE,
RESTART := RESTART,
RESET_OCC => FLAG_RESET,
SAVE_OCC => FLAG_SAVE,
CV => COUNTER,
SV => COUNTER_SAVED,
Q => DO1);