FCT

Disponibiliza o valor corrente de um canal de contador rápido ou de encoder do equipamento. Depende da existência de um canal de Encoder ou Contador rápido disponível no equipamento associado ao programa de aplicação. É 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

                FCT
         +-----------------+
         |                 |
UINT ----|SLOT        COUNT|---- DINT
         |                 |
UINT ----|CHANNEL      FAIL|---- BOOL
         |                 |
BOOL ----|RUN     FAIL_CODE|---- INT
         |                 |
         +-----------------+

O bloco lê continuamente o contador do canal indicado por SLOT e CHANNEL, apresentando o valor corrente em COUNT. A entrada RUN habilita a contagem quando TRUE e mantém o contador em reset quando FALSE. Quando ocorre alguma condição de erro, FAIL é ativado e FAIL_CODE indica o código de falha associado (FAIL_CODE = 0 indica bloco operacional).

Importante

A utilização deste bloco depende da disponibilidade de um canal de Encoder ou Contador rápido no equipamento associado ao programa de aplicação.

Dica

Para conhecer melhor o recurso e suas funcionalidades acesse o vídeo tutorial: Trabalhando com Bloco de Função FCT.

Parâmetros

Nome

Direção

Tipo

Padrão

Faixa / Unidade

Descrição

SLOT

IN

UINT

1

—

Número do slot associado ao canal de encoder/contador rápido.

CHANNEL

IN

UINT

0

—

Número do canal de encoder/contador rápido no módulo de I/O.

RUN

IN

BOOL

TRUE

—

Habilita o contador se TRUE; mantém o contador em reset se FALSE.

COUNT

OUT

DINT

0

—

Valor corrente do contador.

FAIL

OUT

BOOL

FALSE

—

Quando ativo, indica bloco em falha.

FAIL_CODE

OUT

INT

0

—

Código de falha associado (0 indica bloco operacional).

Pré-condições

  • O equipamento deve dispor de ao menos um canal de Encoder ou Contador rápido associado ao programa de aplicação.

Observações

  • COUNT só é atualizado enquanto RUN estiver em TRUE; com RUN em FALSE o contador permanece em reset.

  • Avalie FAIL antes de usar COUNT; quando FAIL está ativo, FAIL_CODE identifica a condição de falha.

Exemplo

Clique aqui para baixar a tabela de variáveis

Código ST

VAR
    my_slot : UINT := 1; (* Nro do slot do canal FCT *)
    my_chan : UINT := 0; (* Nro do canal FCT a ser obtido *)
    my_fct  : HILS.FCT;  (* Instancia do bloco FCT *)
END_VAR

(* Exemplo de utilização do bloco de encoder/contador rápido *)

(* ... *)

(* chama o bloco FCT *)
my_fct(SLOT := my_slot, CHANNEL := my_chan, RUN := TRUE);

if (my_fct.FAIL = FALSE) then

  (* o valor corrente do contador esta disponível em my_fct.COUNT *)
  (* ... *)

else

  (* trata condição de falha no bloco, o código de falha esta disponível em my_fct.FAIL_CODE *)
  (* ... *)

end_if;