Unidades de organização de programa (POUs)

As POUs (Program Organization Units) são os blocos de código da aplicação, conforme a norma IEC 61131-3:

Ver também

Para o passo a passo, inclusive como fazer um programa novo rodar, veja Escrever um programa.

  • Programa: unidade executada por uma tarefa; pode acessar variáveis globais e instanciar blocos de função.

  • Função: unidade sem estado que retorna um valor (Tipo de Retorno); pode ser chamada por qualquer POU.

  • Bloco de Função: unidade com estado (variáveis internas), instanciada como variável em outras POUs.

As POUs ficam no item POUs do recurso (ou do projeto, em bibliotecas) e podem ser organizadas em pastas.

Criar uma POU

No menu de contexto do item POUs (ou de uma pasta) selecione Adicionar Programa.

../../_images/dlg_adicionar_programa.png

Fig. 63 Diálogo Adicionar Programa.

Informe o Tipo de Programa (Programa, Função ou Bloco de Função), a Linguagem Fonte (Texto Estruturado (ST)) e o Nome do programa, e clique em Criar. A POU é criada e aberta no editor.

Nota

Um programa só é executado pelo controlador quando estiver atribuído a uma tarefa (ver Configuração de tarefas). O programa PROGRAM_01, criado com o projeto, já está atribuído à tarefa Task_01.

Editor da POU

Um clique sobre a POU na árvore abre o seu editor no painel principal. O editor possui três abas verticais: Código fonte, Variáveis e Documentação.

Aba Código fonte

../../_images/pou_editor_codigo.png

Fig. 64 Aba Código fonte de um bloco de função em ST.

A aba é dividida em duas áreas:

  • Declaração de Variáveis: seções VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT, VAR, VAR_TEMP e VAR_EXTERNAL em código ST. A área é sincronizada com a aba Variáveis: ao editar as declarações, a tabela é atualizada (mensagem Variáveis atualizadas a partir das declarações) e vice-versa. Declarações inválidas são reportadas e não são aplicadas.

  • Lógica do Programa: código de implementação da POU em ST (ver Editor ST).

Os botões no cabeçalho de cada área recolhem ou expandem a área. Alterações não salvas são indicadas na aba; salve com CTRL + S.

Aba Variáveis

../../_images/pou_editor_variaveis.png

Fig. 65 Aba Variáveis (variáveis locais da POU).

Tabela das variáveis locais da POU com Classe, Nome, Tipo, Dimensão, Valor Inicial, Atributos e Descrição, campo de pesquisa e filtro Todos / Variáveis / Constantes. A tabela é operada como as demais tabelas do ambiente (coluna Ações, Adicionar acima / Adicionar abaixo, formulário fechado pelo X; ver Operação das tabelas). O botão Adicionar Variável abre o formulário Nova Variável, com os mesmos campos do editor de variáveis globais (ver Variáveis globais (editor)) mais a Classe (Local, Temporária, Externa, Entrada, Saída, Entrada/Saída; ver Variáveis locais).

Marcando Externa, o campo Nome passa a oferecer o seletor Selecionar Variável Global, que lista as variáveis globais do recurso.

Em POUs do tipo Função, a aba apresenta ainda o cartão Tipo de Retorno da Função.

O menu Adicionar Variável oferece também Importar CSV e Importar ST, e o menu Exportar permite copiar ou baixar a lista de variáveis (ver Importação / Exportação de tipos e variáveis).

Aba Documentação

../../_images/pou_editor_documentacao.png

Fig. 66 Aba Documentação.

Descrição do Programa (texto longo, em Markdown) e Descrição Curta. A descrição curta é apresentada na pesquisa, no download do código fonte e na documentação de bibliotecas; a descrição longa é incorporada à documentação gerada para bibliotecas.

Operações com POUs

O menu de contexto de uma POU oferece Renomear, Copiar, Recortar, Duplicar, Excluir e Exportar (download do código fonte, ver Importação e exportação de projetos). As POUs podem ser arrastadas para pastas e localizadas com a atividade Pesquisar (Pesquisa no projeto).