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
COUNTsó é atualizado enquantoRUNestiver em TRUE; comRUNem FALSE o contador permanece em reset.Avalie
FAILantes de usarCOUNT; quandoFAILestá ativo,FAIL_CODEidentifica 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;