Tipos de dados

Além dos tipos de dados nativos da norma IEC 61131-3, a aplicação pode definir os seus próprios tipos de dados no item Tipos de Dados do recurso. Um clique sobre o item abre o editor, que lista os tipos definidos e permite criar, editar e excluir tipos.

Ver também

Para criar POUs e usar os tipos no código, veja Escrever um programa.

../../_images/tipos_lista.png

Fig. 58 Editor de tipos de dados.

A lista apresenta, para cada tipo, o nome, o tipo de derivação e os detalhes, e uma coluna Ações com Editar, Clonar e Excluir. Os botões Adicionar acima e Adicionar abaixo inserem um novo tipo em relação à linha selecionada (ver Operação das tabelas).

O campo de pesquisa aceita o prefixo folder: para filtrar por pasta (por exemplo folder: Motores). As pastas são criadas pelo menu de contexto do item Tipos de Dados (Adicionar Pasta).

O formulário de um tipo é gravado com Salvar (Tipo “…” salvo). Ao fechar a aba com um formulário alterado e não salvo, o diálogo de confirmação oferece Salvar ou Fechar sem salvar.

Tipos de derivação

Ao clicar em Adicionar Tipo de Dados o formulário de novo tipo é apresentado com o Nome do Tipo de Dados, a Descrição Resumida e o Tipo de Derivação, que define como o novo tipo é construído:

Direto

Novo nome para um tipo IEC existente (Tipo IEC), com um Valor Inicial próprio. Por exemplo, o tipo Temperatura derivado de REAL com valor inicial 25.0.

../../_images/tipos_form.png

Fig. 59 Formulário de novo tipo de dados (derivação Direto).

Subintervalo

Tipo inteiro restrito a uma faixa: Tipo IEC base, Valor Mínimo, Valor Máximo e Valor Inicial. Por exemplo Percentual derivado de INT de 0 a 100.

Enumeração

Lista de identificadores nomeados (Itens da Enumeração: Nome, Valor e Descrição), com a seleção do valor inicial entre os itens. Use Adic. Item para incluir itens (o novo item é incluído no final da lista e fica selecionado; a inclusão só é permitida quando os itens existentes são válidos) e o campo Procurar linha para localizar um item em listas longas. Os valores da enumeração são acessados no código na forma Tipo#Item ou pelo nome do item, conforme a norma.

Array

Vetor de um tipo base: Tipo IEC (ou tipo do usuário), Dimensão do Array (por exemplo [1..10] ou [0..9][0..4]) e Valor Inicial na forma [0,0,0...].

Estrutura

Tipo composto por campos (Itens da Estrutura). Para cada campo são definidos Nome, Tipo, Dimensão, Valor Inicial, Descrição e Flags (retentividade e outros atributos do campo, ver Variáveis retentivas e não retentivas). Use Adic. Item para incluir campos (o novo campo é incluído no final da lista e fica selecionado; a inclusão só é permitida quando os campos existentes são válidos) e Procurar linha para localizar um campo. Cada campo pode ser de um tipo nativo, de outro tipo do usuário, de um bloco de função ou de um tipo de biblioteca.

../../_images/tipos_estrutura.png

Fig. 60 Formulário de um tipo Estrutura com três campos.

Os campos de uma variável estruturada são acessados no código com a notação Variavel.Campo.

Importar tipos de código ST

O comando Importar ST permite colar uma seção TYPE ... END_TYPE em código ST; o ambiente interpreta as declarações e cria os tipos correspondentes, ignorando os que já existem. Consulte Importação / Exportação de tipos e variáveis.

Integridade

Ao renomear ou excluir um tipo de dado que ainda é utilizado por variáveis globais ou por POUs, o ambiente apresenta um aviso indicando onde o tipo é referenciado. As variáveis cujo tipo deixou de existir (tipo removido ou biblioteca ausente) são marcadas como inválidas nos editores de variáveis.