Variáveis globais

Este tipo de variável é definido na aplicação com dois objetivos principais:

  • Compartilhar uma mesma variável com uma ou mais POU´s da aplicação;

  • Permitir que um equipamento externo acesse uma variável da aplicação;


Editor de variáveis globais

Variáveis globais podem ser acessadas em um projeto através do um clique duplo no item “Variáveis Globais” conforme apresentado na figura a seguir:

../_images/glb_var_f1.png

Fig. 66 Painel de Variáveis Globais

A ativação do item Variáveis Globais abre o editor de variáveis globais que disponibiliza um conjunto de comandos para definição das variáveis globais utilizadas pelo programa de aplicação.


Tabela de comandos

Comandos disponíveis no editor de variáveis globais:

../_images/glb_var_f1b.png

Fig. 67 Editor de Variáveis Globais

Comandos do editor de variáveis globais

Ícone

Descrição

maexpvarsdoc

Cria uma tabela no clipboard com a definição de todas as variáveis exportadas do editor.

macustomeditorclose

Fecha o editor de variáveis.

mavartypehelp

Abre o sistema de Help do ambiente, direcionando-o para o conteúdo do editor de variáveis.

maaddvar

Cria uma nova variável na posição da linha selecionada no editor.

madelvar

Elimina a variável da linha selecionada no editor.

macopyvar

Copia para o clipboard a variável na posição da linha selecionada no editor.

mapastevar

Cola a variável do clipboard na posição da linha selecionada no editor.

macutvar

Corta (remove e copia) a variável na posição da linha selecionada no editor.

mamoveupvar

Desloca para cima uma linha a variável da linha selecionada no editor.

mamovedownvar

Desloca para baixo uma linha a variável da linha selecionada no editor.

maselectfirstvar

Move para o início da lista a variável da linha selecionada no editor.

maselectlastvar

Move para o fim da lista a variável da linha selecionada no editor.

maaddwatchvar

Inspeciona a variável associada à linha selecionada no editor.

magenvardoc

Cria uma tabela no clipboard com a definição de todas as variáveis do editor.

maexpvarsdoc

Cria uma tabela no clipboard com a definição de todas as variáveis exportadas do editor.

Comandos de Importação / Exportação de tipos e variáveis

Ícone

Descrição

maimportcsv

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

maexportcsv

Cria no diretório do projeto corrente um arquivo .csv com a definição das variáveis da 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 HIstudio.


Campos associadas a definição de uma variável global

Cada variável global possui um conjunto de campos que define a mesma, conforme apresentado na figura seguinte:

../_images/glb_var_f1c.png

Fig. 68 Campos de definições das Variáveis Globais

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.

Tipo

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

Endereço

Este campo é necessário apenas se a variável for exportada. Veja a sessão de Variáveis exportadas 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.

Opções

Permite ao usuário definir atributos associados a variável definida. Consulte a sessão de Opções na definição de uma variável para mais informações.

Descrição

Permite associar um texto à variável definida.

Tipos de dados de uma variável

Uma variável pode estar associada a um dos seguintes grupos de tipos de dados:

TIPO

Descrição

Tipos nativos

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 de dados do usuário

Este grupo apresenta para seleção, todos os tipos de dados criados pela aplicação corrente ou presentes nas bibliotecas disponíveis no HIstudio.

Blocos de funções

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

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.

Opções na definição de uma variável

As opções associadas a uma variável são as seguintes:

TIPO

Descrição

Não retentivo

Variável é sempre inicializada.

Retentivo

Variável é retentiva, mantendo o último valor em memória

Constante

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


Filtro de variáveis do editor

Nos editores de variáveis, a partir da versão 2.2.19, é possivel filtrar as variáveis ou constantes definidas, facilitando a consulta e edição. No editor de variáveis globais, o filtro pode ser aplicado com base nas definições: Nome, Tipo, Endereço ou Descrição da variável/constante. Isto pode ser feito através do campo disponível abaixo da tabela de variáveis:

../_images/filter_globalvar.png

Fig. 69 Filtro de variáveis globais

Acessando uma variável global em uma POU

Nota

A partir da versão 2.2.19 do HIstudio não é mais 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 da POU e no menu associado a coluna de Classe da variável selecione a opção externa. Clique em Selecionar variáveis globais e será exibida uma tela que permite a seleção de uma ou múltiplas variáveis:

../_images/glb_var_f2.png

Fig. 70 Acesso à variável externa

Ou clique em [ESPECIFICA MANUALMENTE] e digite o nome da variável:

../_images/glb_var_f3.png

Fig. 71 Variável externa na lista da POU

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

Note que não é possível alterar os atributos da variável global na tela de variáveis da POU. Qualquer modificação na variável global deverá ser realizada no Editor de variáveis globais.


Variáveis exportadas

Em um programa de aplicação desenvolvido pelo HIstudio, por default, todas as variáveis declaradas (globais ou locais às POU’s) possuem escopo privado com relação a acesso por outros equipamentos. Isto significa que, a princípio, nenhuma variável do programa de aplicação pode ser lida ou alterada externamente.

Para que uma variável possa ser “visível” por um equipamento remoto ela necessita ser exportada. Este processo consiste em atribuir um endereço explícito (na coluna de endereço) para a variável a ser exportada.

O padrão IEC61131-3 não define quais são os tipos e escopos de variáveis que aceitam endereçamento, ficando esta definição para os implementadores do padrão. No HIstudio apenas as variáveis globais podem ser exportadas e portanto apenas o Editor de variáveis globais possui o campo Endereço associado a cada variável.

../_images/glb_var_f4.png

Fig. 72 Coluna de endereço - Variáveis globais

Quando o usuário clicar no campo de endereço de uma variável, o HIstudio identifica automaticamente o formato do endereço associado e sugere o próximo número de endereçamento disponível para a mesma. O usuário pode aceitar a sugestão ou editar o número associado para um outro valor.

Quando o endereço especificado for inválido (tipo não suportado, endereço já alocado etc.) o campo de endereço será limpo e uma mensagem sobre o erro será fornecida no console de mensagens.


Definindo um endereço para uma variável

O endereçamento das variáveis é utilizado para organizar a memória do programa de aplicação de forma que o conteúdo exportado possa ser remotamente obtido. O endereço deve ser definido no seguinte formato:

%Mnx - Este formato permite a leitura e escrita da memória associada ao endereço.

%

caractere que denota um endereço

M

caractere que indica que este endereço referencia uma memória interna do equipamento

n

identificador do tamanho do tipo de dado da variável associada ao endereço

x

número que identifica a variável associada

Por exemplo: %MW25 (Endereçamento de memória interna de tamanho igual a 16 bits e endereço 25).

Nota

A partir da versão 2.2.12 do HIstudio é possível especificar um Endereço no formato Hexadecimal.

O valor 50 em decimal é equivalente ao valor 32 em hexadecimal. Dessa forma, para representar o endereço %MW50 em hexadecimal devemos especificar da seguinte forma: %MW16#32

../_images/end_hexadecimal.png

Tipos de dados associados a variáveis exportadas

A tabela a seguir apresenta os tipos de dados nativos que podem ser associados a variáveis exportáveis, bem como seus identificadores, número de bits, etc.

TIPO DE DADO

Identificador

Número de bits

Comando MODBUS

Nro de registros

BOOL

X

1

READ COIL

1

INT

W

16

READ HOLDING REG

1

UINT

W

16

READ HOLDING REG

1

WORD

W

16

READ HOLDING REG

1

DINT

D

32

READ HOLDING REG

2

UDINT

D

32

READ HOLDING REG

2

DWORD

D

32

READ HOLDING REG

2

REAL

D

32

READ HOLDING REG

2

LINT

L

64

READ HOLDING REG

4

ULINT

L

64

READ HOLDING REG

4

LWORD

L

64

READ HOLDING REG

4

LREAL

L

64

READ HOLDING REG

4

TIME

L

64

READ HOLDING REG

4

DATE

L

64

READ HOLDING REG

4

TOD

L

64

READ HOLDING REG

4

DATETIME

L

64

READ HOLDING REG

4

STRING

VW

Variável

READ HOLDING REG

MAX/2 + 1

(MAX = tamanho máximo da string)

Considerações importantes

O tamanho alocado de uma string exportada deve ser sempre ímpar para que o total de bytes utilizados pelo tipo STRING seja múltiplo de 2 bytes e consequentemente passível de acesso via de HOLDING REGISTERS.

Não é possível associar os tipos de dados nativos SINT, USINT e BYTE a variáveis exportadas, porque o protocolo MODBUS não possui um comando que permita acesso a variáveis de 8 bits.