Bloco que realiza uma subrotina programada pelo próprio usuário.
Representação Ladder

Estrutura do Bloco
Tipo de Variável |
Nome |
Tipo de Dado |
Descrição |
VAR_INPUT |
EN |
BOOL |
Habilitação do bloco |
INPUT |
Conforme programação do usuário |
Entradas do bloco |
|
VAR_OUTPUT |
ENO |
BOOL |
Fim de operação |
OUTPUT |
Conforme programação do usuário |
Saídas do bloco |
|
VAR_IN_OUT |
IN_OUT |
Conforme programação do usuário |
Variáveis utilizadas como entrada e saída do bloco |
VAR |
MYUSERFB_INST_0 |
MYUSERFB |
Instância de acesso à estrutura do bloco |
Funcionamento
Este bloco, quando tem um valor TRUE em EN, atualiza os valores dos campos internos com as variáveis de entrada, executa a rotina Ladder programada pelo usuário e atualiza os valores das saídas após finalizada a rotina.
Quando EN possui valor FALSE, as saídas permanecem inalteradas.
O valor de ENO repassa para o próximo bloco Ladder o valor de EN após finalizada a operação.
|
NOTA! Consulte a seção Trabalhando com USERFBs para mais informações. |
Compatibilidade
Equipamento |
Versão |
PLC300 |
1.50 ou superior |
SCA06 |
2.00 ou superior |
Fluxograma do Bloco

Exemplo em Ladder
No exemplo abaixo é utilizado o Bloco de Função do Usuário 'MYUSERFB' para encapsular um programa em Ladder que calcula a soma das variáveis de entrada VALUE1 e VALUE2, armazenando o resultado final em RESULT.

Exemplo em ST
Os exemplos abaixo, exibem as instruções para aplicação do exemplo acima na linguagem ST.
Exemplo para o POU 'USERFB':
VAR VAR_IN1 : SINT := 70; VAR_IN2 : SINT := 30; VAR_OUT : SINT; MYUSERFB_INST_0 : MYUSERFB; END_VAR
MYUSERFB_INST_0( EN:=TRUE, VALUE1:=VAR_IN1, VALUE2:=VAR_IN2, RESULT=>VAR_OUT);
|
Exemplo para o POU 'MYUSERFB':
VAR_INPUT VALUE1, VALUE2 : SINT; END_VAR VAR
END_VAR VAR_OUTPUT RESULT : SINT; END_VAR
RESULT := FB_ADD(Value1:=VALUE1, Value2:=VALUE2);
|