Caminho:  Equipamentos (Dispositivos) > SCA06 > Ladder > Module >

USERFB

Bloco Funcional do Usuário

Previous pageReturn to chapter overviewNext page

Bloco que realiza uma subrotina programada pelo próprio usuário.

 

Representação Ladder

 

USERFB_block

 

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.

 

wpshelp_common_fig_note

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

 

USERFB_flowchart

 

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.

 

USERFB_example01

 

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);