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 ( |
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.