Variáveis locais

Este tipo de variável é utilizado para manter uma informação utilizada apenas pela POU associada. Variáveis locais podem ser acessadas apenas pela POU que a definiu.

Editor de variáveis locais

Em um projeto aberto, a ativação de uma POU na árvore do projeto abre o editor da POU. Nele, a aba Variáveis permite acesso ao editor de variáveis locais, que disponibiliza a tabela de variáveis da POU, o Tipo de Retorno da Função (quando a POU é uma função) e o formulário de definição de cada variável.

Adicionalmente, a aba Código fonte apresenta a área Declaração de Variáveis, onde a seção VAR ... END_VAR pode ser editada diretamente em código ST, mantida em sincronismo com a tabela de variáveis.

A operação do editor é descrita em Unidades de organização de programa (POUs). Esta seção descreve os campos e as regras associadas à definição de uma variável local.

Os editores de variáveis do OnStudio disponibilizam os seguintes comandos de importação e exportação da lista de variáveis:

Comando

Descrição

Baixar CSV

Gera um arquivo .csv com a definição das variáveis do editor.

Importar CSV

Cria ou atualiza a tabela de variáveis a partir de um arquivo .csv especificado pelo usuário.

Importar ST

Cria ou atualiza a tabela de variáveis a partir de um trecho de código ST com a declaração das variáveis (VAR ... END_VAR).

Copiar todas as variáveis

Copia para a área de transferência a definição de todas as variáveis do editor, para documentação ou colagem em outra POU.

Dica

Clique em Importação / Exportação de tipos e variáveis para mais informações sobre como criar tabelas de variáveis e tipos de dados em uma planilha externa e importa-las para o OnStudio.

Campos associados a definição de uma variável local

Cada variável local possui um conjunto de campos que define a mesma. Cada campo possui a seguinte funcionalidade:

Campo

Descrição

Nome

Nome da variável. Este nome deve respeitar as especificações de um identificador de variável na norma IEC61131-3.

Classe

Especifica a classe da variável. Consulte a sessão de Classe da variável para mais informações.

Tipo

Tipo de variável associado ao nome. Consulte a sessão de Tipos de dados de uma variável para mais informações.

Dimensão

Este campo permite especificar se a variável definida é um valor único ou um vetor de variáveis. Veja a sessão de Definição da dimensão de uma variável para mais informações.

Valor inicial

Permite definir um valor inicial para a variável. Quando não especificado a variável é inicializada com o valor default para o tipo. Consulte os valores default para cada tipo de dados.

Retentividade,

Permitem ao usuário definir atributos associados a variável definida.

Constante,

Consulte a sessão de Atributos na definição de uma variável para mais informações.

Público

Descrição

Permite associar um texto à variável definida.

Classe da variável

Uma variável local pode pertencer a umas das seguintes classes dependendo da POU associada, conforme detalhado na tabela seguinte:

Classe

POU de Programa

POU de Função

POU de Bloco de função

Entrada

NÃO

SIM

SIM

Saída

NÃO

SIM

SIM

Entrada/Saída

NÃO

SIM

SIM

Local

SIM

NÃO

SIM

Temporária

SIM

SIM

SIM

Externa

SIM

SIM

SIM

Tipos de dados de uma variável

Uma variável pode estar associada a um dos seguintes grupos de tipos de dados, apresentados pelo seletor de tipo do OnStudio:

TIPO

Descrição

Tipos elementares

Este grupo apresenta para seleção, todos os Tipos de dados nativos definidos na norma IEC61131-3 e suportados pelo firmware do equipamento conectado ou para o qual o programa será gerado.

Tipos genéricos

Grupos de tipos (ANY_INT, ANY_BIT etc.) utilizados na declaração de parâmetros de funções e blocos de função.

Tipos de dados do usuário

Este grupo apresenta para seleção, todos os tipos de dados criados pela aplicação corrente (Usuário) ou presentes nas bibliotecas disponíveis no OnStudio (Bib).

Blocos de funções

Este grupo (FB) apresenta para seleção, todos os blocos de função criados pela aplicação corrente ou presentes nas bibliotecas disponíveis no OnStudio.

Definição da dimensão de uma variável

Um tipo de dado qualquer pode ser definido como escalar (um único elemento) ou um vetor de elementos. Quando o campo de dimensão estiver vazio significa que a variável associada é escalar. Quando a variável for um vetor, deve-se especificar o campo dimensão com um texto no seguinte formato:

[x..y]   onde:

x: índice inicial do vetor
y: índice final do vetor

Desta forma o nro de elementos do vetor será:

ME = y - x + 1    onde:

ME: nro. de elementos do vetor
 x: índice inicial do vetor
 y: índice final do vetor

O campo suporta tipos de várias dimensões que são definidos sequencialmente. Por exemplo, uma variável de 2 dimensões pode ser definida da seguinte forma:

[0..9][0..4]

Nota

O número de dimensões e o tamanho máximo dos vetores suportados são definidos em função do firmware associado ao programa de aplicação.

Atributos na definição de uma variável

Os atributos associados a uma variável são os seguintes:

ATRIBUTO

Descrição

Retentividade

Define o comportamento de inicialização da variável: Não Especificado (assume não retentiva, ou herda a retentividade da variável que contém o campo, no caso de tipos estruturados), Retentivo (mantém o último valor em memória) ou Não Retentivo (variável é sempre inicializada). Consulte Variáveis retentivas e não retentivas.

Constante

Definição associada a uma constante. Valor não pode ser alterado.

Público

Torna a variável visível para outras POUs e bibliotecas (documentação e seleção de variáveis).


Filtro de variáveis do editor

No editor de variáveis locais é possível filtrar as variáveis ou constantes definidas, facilitando a consulta e edição. O filtro pode ser aplicado com base nas definições: Nome, Classe, Tipo ou Descrição da variável/constante, através do campo de busca disponível acima da tabela de variáveis.

Acessando uma variável global em uma POU

Nota

Não é necessário declarar uma constante externa na lista de variáveis da POU, uma vez que o ambiente já realiza a associação das constantes definidas na lista de variáveis globais. Isto não se aplica à variáveis externas, portanto estas devem ser declaradas na lista de variáveis da POU em que a variável será utilizada.

Quando uma POU necessitar acessar uma variável global basta criar uma nova entrada na lista de variáveis locais da POU e, no campo Classe da variável, selecionar a opção Externa. O OnStudio apresenta então o diálogo Selecionar Variável Global, que permite escolher uma ou múltiplas variáveis globais do recurso corrente. Alternativamente, o nome da variável global pode ser digitado diretamente no campo Nome.

Uma vez especificada a variável, a mesma será apresentada na lista da POU e poderá ser acessada no código referenciando o seu nome apenas, da mesma forma como é referenciada uma variável local qualquer.

GV_0 := 30; // atribui um valor à variável global

Usar no código uma variável global que não foi declarada como externa na POU gera o erro de compilação Global variable '...' must be declared in VAR_EXTERNAL to be used in this program. As variáveis globais de E/S (com endereço %I/%Q) não precisam dessa declaração.

Uma variável declarada na própria POU (local, de entrada, de saída ou de entrada/saída) com o mesmo nome de uma variável global prevalece sobre ela dentro da POU, inclusive quando os nomes diferem apenas em maiúsculas e minúsculas (a norma não diferencia). Por exemplo, a entrada nivel_alto de um bloco de função se refere sempre à própria entrada, mesmo que o recurso tenha a global Nivel_Alto; para usar a global nessa POU, dê outro nome à variável local.

Note que não é possível alterar os atributos da variável global na lista de variáveis da POU. Qualquer modificação na variável global deverá ser realizada no Editor de variáveis globais. O OnStudio avisa quando uma variável externa declarada na POU não possui a variável global correspondente, ou quando uma variável global renomeada ou excluída ainda é referenciada por alguma POU.