O objetivo deste tutorial é explicar como criar subrotinas do tipo função em um projeto do MasterTool X.
Componentes
Equipamentos: 1 computador/notebook.
Software: MasterTool X
Seções do Tutorial
- ARQUITETURA
- DESENVOLVIMENTO
1. ARQUITETURA
Será necessário a utilização de um computador/notebook para utilizar o Mastertool X.
Figura 1. Computador executando o Mastertool X
2. DESENVOLVIMENTO
Uma Função (Function) é um tipo de POU utilizada para processamento lógico ou matemático que retorna um único valor, não possuindo estado interno.
Ela é ideal para cálculos, validações e decisões simples que precisam ser reutilizadas em diferentes pontos do programa.
Neste exemplo, será criada uma função chamada fun_partida_direta, com retorno do tipo BOOL, implementada em Ladder (LD).
Diferença entre Função, Bloco Funcional e Subrotina
| Tipo | Estado interno | Variável de instância | Retorno |
| Subrotina (Programa) | Não | Não | Não |
| Bloco Funcional (FB) | Sim | Sim | Não |
| Função (Function) | Não | Não | Sim (1 valor) |
Aplicações típicas de funções
- Validações lógicas
- Comparações de permissões
- Cálculos matemáticos
- Condições de partida e intertravamento
- Regras reutilizáveis
Criação da Função
Para criar a função:
- Clique com o botão direito do mouse.
- Selecione Adicionar Objeto.
- Escolha POU.
- No campo Tipo, selecione Função.
- No campo Nome, digite fun_partida_direta.
- Defina o tipo de retorno como BOOL.
- Escolha a linguagem de implementação LD – Ladder Diagram.
- Confirme a criação.
Após isso, a função será aberta para edição.
Figura 2. Criação um POU do tipo Função
Estrutura e funcionamento da Função
Uma função possui:
- Entradas (VAR_INPUT) → parâmetros utilizados no processamento
- Valor de retorno → resultado lógico ou numérico da função
Diferente de Blocos Funcionais:
- A função não mantém estado
- Não exige variável de instância
- Retorna sempre um único valor
Desenvolvimento da lógica da função
Dentro da função fun_partida_direta:
- Crie as variáveis de entrada necessárias (ex.: botão de partida, botão de parada, permissões)
- Desenvolva a lógica Ladder que represente a condição de partida direta
- O resultado da lógica será atribuído diretamente ao valor de retorno da função
Exemplo conceitual:
- Se todas as permissões estiverem corretas → retorno TRUE
- Caso contrário → retorno FALSE
Figura 3. Criação da lógica da função
Chamada da Função na lógica
Para utilizar a função:
- Abra o UserPrg ou outra POU.
- Insira uma Caixa Vazia com EN/ENO ou utilize a função diretamente em um bloco lógico.
- Digite o nome fun_partida_direta.
- Parametrize as entradas da função.
- Utilize o valor retornado (BOOL):
- Em série com contatos
- Para acionar uma bobina
- Como condição em outros blocos lógicos
Como a função não possui estado, ela é avaliada toda vez que for chamada.
Finalização e teste
Após implementar a função:
- Faça o download da aplicação.
- Coloque a CPU em modo RUN.
- Teste as entradas da função.
- Observe o valor de retorno sendo utilizado na lógica principal.
O uso de Funções permite criar um código mais limpo, reutilizável e organizado, sendo ideal para encapsular regras simples e evitar repetição de lógica no projeto.
Figura 4. Chamada da função via UserPrg
Finalização e teste
Após configurar:
- Faça o download da aplicação.
- Coloque a CPU em modo RUN.
- Teste cada instância separadamente.
- Observe que cada bloco responde de forma independente.
O uso de Blocos Funcionais é essencial para criar lógicas reutilizáveis, organizadas e escaláveis, sendo uma das práticas mais importantes em programação Ladder profissional.
Figura 5. Funcionamento da Subrotina
Comentários
0 comentário
Por favor, entre para comentar.