.. include:: glb_defs.txt .. _`Tipos de Variáveis`: Tipos de variáveis ################### .. only:: hitec +-------------------------------------------------------+ |:ref:`compatibilidade de firmware` | +-------------------+-----------------------------------+ |Geração de Firmware|GI, GII, GII-DUO, G3, G3S, G3R | +-------------------+-----------------------------------+ Todas as informações adquiridas e processadas pelo controlador são armazenadas em variáveis. Existem vários tipos de variáveis que podem ser utilizadas para armazenar as informações necessárias para operação do equipamento. Cada tipo é identificado por uma letra única seguida de um número conforme formato apresentado a seguir: Annnn onde: * A - identificador do tipo de variável especificado. * nnnn - número (endereço) da variável referenciada. Este valor inicia sempre em 0 e o número máximo é função do tipo de variável e do tipo ou configuração do equipamento associado. Tipos de variáveis disponíveis ******************************** A tabela a seguir, lista todos os tipos de variáveis disponíveis: ============================ ======= =================== =============== ============================================================== Nome Ident. Faixa de valores Endereçamento Descrição ---------------------------- ------- ------------------- --------------- -------------------------------------------------------------- Contato auxiliar R 0 ou 1 0..999 |Z1| Variável interna do tipo lógica, utilizada para armazenar valores binários (falso ou verdadeiro). Memória Inteira (16 bits) M -32768 a +32767 0..2999 |Z1| Variável interna do tipo inteiro com sinal (representada em 16 bits). Memória Real D -3.4 x 10E-38 a 0..499 |Z1| Variável interna do tipo real em ponto flutuante (notação IEEE - 32 bits). 3.4 x 10E+38 Texto X Texto ASCII. 0..63 |Z1| |Z4| Variável interna que armazena um texto ASCII com tamanho variável entre 0 a 48 bytes. Max. 48 caracteres Constante Inteira (16 bits) K -32768 a +32767 0..1999 Constante inteira com sinal (representada em 16 bits). Constante Inteira (32 bits) Y -2147483648 a 0..1999 Constante inteira com sinal (representada em 32 bits). +2147483647 Constante Real Q -3.4 x 10E-38 a 0..1999 Constante real em ponto flutuante (notação IEEE - 32 bits). 3.4 x 10E+38 `Constante Texto`_ W Texto ASCII 0..1999 Constante ASCII com tamanho max de 48 bytes. Max. 48 caracteres Entrada Digital I 0 ou 1 |Z2| Variável lógica, associada a uma entrada digital do equipamento. Saída Digital O 0 ou 1 |Z2| Variável lógica, associada a uma saída digital do equipamento. Entrada Analógica E 0 a 4095 |Z2| |Z3| Variável inteira, associada a uma entrada analógica do equipamento. Saída Analógica S 0 a 4095 |Z2| |Z3| Variável inteira, associada a uma saída analógica do equipamento. Identificador de Elemento T -32768 a +32767 |Z5| Identificador de blocos e sub-rotinas do programa. Memória inteira (32 bits) L -2147483648 a 0..199 Variável interna do tipo inteiro com sinal (representada em 32 bits). +2147483647 :ref:`Variáveis de sistema` F -32768 a +32767 1..4999 |Z6| Disponibiliza informações gerais sobre recursos do equipamento e dos módulos de I/O associados. ============================ ======= =================== =============== ============================================================== .. rst-class:: tbobs ======= =============================================================================================== |obs| |Z1| a existência do tipo e a faixa de endereçamento podem mudar em função do equipamento. \ |Z2| a quantidade de itens é função da configuração do equipamento. \ |Z3| os tipo de dados E e S operam com valores normalizados para resolução padrão de 12 bits (2 elevado a 12), independentemente se os módulos de hardware associados possuem ou não esta resolução. \ |Z4| os tipos de variáveis X (Texto ASCII) compartilham a mesma memória dos tipos M(memória inteira) e devem ser previamente alocados na tela de :ref:`Setup de Programa` . \ |Z5| o tipo T não é uma variável e sim apenas um indicador para referenciar os blocos de lógica e demais elementos que necessitem de um indexador numérico. \ |Z6| o recurso de :ref:`Variáveis de sistema` esta disponível apenas para os equipamentos com suporte ao firmware G3S e G3R. ======= =============================================================================================== .. note:: Os recursos de comunicação disponíveis no protocolos SCP-HI e MODBUS permitem acesso (leitura e escrita) aos tipos R (contatos auxiliares), M (memórias inteiras de 16 bits), D (memórias Reais), L (memórias inteiras de 32 bits) e X (texto - indiretamente via base M). Constante Texto ================= Nos equipamentos com suporte para variáveis do tipo texto, é possível inserir no programa de aplicação uma lista de textos a serem utilizadas na aplicação. Estas constantes do tipo texto, são inseridas na aplicação através do formulário de edição de descritores, dentro do :ref:`ladder_editor` pressionado-se a tecla F7. Na Aba **W** está disponível uma tabela para edição das constantes de texto, conforme figura apresentada a seguir: .. image:: _img/form_w.png :width: 80% :Align: center Neste formulário, para cada constante texto o usuário pode criar um **Tag** a ser referenciado no programa ladder, especificar uma descrição da constante, utilizado para fins de documentação e inserir o valor da constante desejada. O ambiente suporta a inserção de até 2000 constantes. .. note:: O número de constantes possíveis de serem criadas na aplicação depende do programa ladder criado e do modelo de controlador utilizado. Inserção de caracteres de controle no texto --------------------------------------------- É comum a necessidade de inserir caracteres de controle em um texto. Quando necessário, caracteres de controle podem ser inseridos digitando-se uma barra invertida seguida do valor do caracter em hexa-decimal sempre com 2 dígitos. Por exemplo, a constante a seguir acrecenta no final um caracter de LineFeed (código = 10) seguido de um caracter CarriageReturn (código = 13):: Esta constante possui uma quebra de linha\0a\0d Observe que o caracter LineFeed possui o valor hexa igual a **0a** enquanto que o caracter CarriageReturn possui o valor igual a **0d** em hexa. Inserção de espaços no final do texto ---------------------------------------- Durante os tratamentos das constantes de texto eventuais espaços no final do texto são automaticamente removidos. Caso o usuário deseje definir uma constante texto com espaços no final o mesmo deverá digitar o texto delimitando-o com **aspas simples** conforme indicado no exemplo a seguir:: 'constante texto com espaços no final ' Se necessário inserir um caracter **'** (aspas simples) no texto nesta condição utilize o recurso de `Inserção de caracteres de controle no texto`_ ou seja digite **\27** para cada caracter aspas a ser inserido, conforme apresentado no exemplo a seguir:: 'constante texto com \27aspas dentro do texto\27 definido' .. important:: As contantes W definidas no programa de aplicação são acessadas via variáveis do tipo texto (X). As variáveis do tipo X (Texto ASCII) compartilham a mesma memória das variaveis do tipo M (memória inteira) e, para serem utilizadas, devem ser previamente alocadas na tela de :ref:`Setup de Programa` . .. raw:: pdf PageBreak