• Nenhum resultado encontrado

1. TRATAMENTO DE VARIÁVEIS

N/A
N/A
Protected

Academic year: 2022

Share "1. TRATAMENTO DE VARIÁVEIS"

Copied!
10
0
0

Texto

(1)

1. TRATAMENTO DE VARIÁVEIS

As variáveis são os elementos que, em última análise transportam as informações das interfaces de entrada para o programa; de uma parte do programa para outra, e do programa para as interfaces de saída. O conteúdo das variáveis, processado de forma adequada, determina o fluxo de todo o programa, controlando as ações a serem executadas e gerando resultados de saída.

Hoje em dia os processos de uma maneira geral trabalham, afora pontos binários, com uma grande gama de valores numéricos e alfa-numericos, estes por sua vez devem ser lidos, comparados e manipulados pelo controlador.

Além do mais, as facilidades apresentadas pelos recursos básicos do Ladder, em controles combinacionais, desaparecem rapidamente quando processo controlado exige lógicas seqüenciais com um mínimo de sofisticação.

Dada tais circunstancias, uma abordagem mais ampla, que vá além do “bobina / contado”, torna-se necessária. Antes, porém, vale rever ou conhecer alguns conceitos relativos a forma como o CLP reconhece e trata os dados da memória de aplicação.

1.1. TIPOS DE DADOS

Os valores são armazenados na no controlador – assim como em qualquer equipamento digital – sob forma binária. Dependendo da ordem grandeza ou do contexto, estes dados são trados de forma distinta.

Na série S7-200, memória do controlador pode ser acessada de quatro formas básicas.

A Tabela 1.1 contém tais formas e a quantidade de informação abrangida em cada forma de acesso.

(2)

Tabela 1.1 – Formas de acesso à memória de acordo com a resolução.

Tipo de Dado* Resolução

Bit 1 Bit

Byte 8 Bits

Word 16 Bits

Double Word 32 Bits

* Existem, ainda dados não numéricos que são tratados com seqüência de caracteres “Char”

Ou seja, cada tipo de dado está associado basicamente à quantidade de memória ocupada por um operador. Assim, este critério serve apenas para indicar o tamanho do dado.

Existem, ainda, outras convenções (como, por exemplo, Nible que é um conjunto de quatro bits) que não são adotadas pelo fabricante do equipamento.

Outro parâmetro importante é o tipo de operador, este define a classe numérica do dado.

A Tabela 1.2 fornece os ranges provenientes das relações entre os dois parâmetros.

Tabela 1.2 – Tipos de Operador e Ranges.

Tipo de operador Precisão Range

Booleano Bit 0 ~ 1

Byte 0 ~ 255

Word 0 ~ 65535

Inteiro sem sinal

Double word 0 ~ 4294967296

Byte* (-)127 ~ 127

Word (-) 32677 ~ 32677

Inteiro

Double word (-) 2147483647 ~ 2147483647 Real

Ponto Flutuante

Double word (FLOAT IEEE)

(+) 1.175495E-38 ~ 3.402823E+38 (-) 1.175495E-38 ~ 3.402823E+38 Seqüência de

Caracteres (CHAR)

1 + N.de Caracteres x 8 Bits

ASCII (1~255 Caracteres)

* Nos controladores da serie S7-200 os dados do tipo Byte são sempre tratados como inteiro com sinal.

(3)

1.2. ENDEREÇAMENTO

Para as diversas áreas de memória da CPU S7–200, com exceção das tabelas de pontos analógicos (entradas e saídas), dos contadores e timers, a forma de endereçamento obedece a seguinte lógica:

Bit => [Área][Byte].[Bit] (Exemplo Q0.0, S34.6 ....) Byte => [Área][B][Byte] (Exemplo IB10, VB10 ....) Word => [Área][W][Byte inicial] (Exemplo SW4, VW6 ....) Double Word => [Área][D] [Byte inicial] (Exemplo VD0, ID20 ....) As tabelas de pontos analógicos são acessadas somente como Word. O endereço é definido pelo número da entrada “AI” ou saída “AQ” (Exemplo AQ0, AI4...).

Os timers e contadores possuem duas áreas de memória distintas, um bit de staus e uma Word contendo o valor. O endereçamento utiliza o “T” ou “C” mais número do dispositivo. Tanto o bit quanto a Word possuem o mesmo endereço o programa diferencia-os pelo contexto ou pela instrução utilizada (Exemplo C0, T32...).

Os contadores rápidos são tratados sempre como Double Word. O endereço e formado por “HC” mais o número do contador (Exemplo HC0, HC1...).

Existem algumas particularidades que devem ser observadas quando do acesso aos endereços de memória. As figuras a seguir, podem ajudar a entendê-las.

Mem Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7

Byte 0 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

Byte 1 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7

Byte 2 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7

Byte 3 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7

Byte 4 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7

Byte 5 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7

Byte 6 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7

. . . . . . . . .

Byte N N.0 N.1 N.2 N.3 N.4 N.5 N.6 N.7

Figura 1.1 - Exemplo de um mapa memória genérico.

(4)

Fonte – Ilustração do autor

A Figura 1.2 mostra um exemplo de acesso ao sexto bit do byte 1 na tabela imagem das entradas digitais.

I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7

I1.0 I1.1 I1.2 I1.3 I1.4 I1.5 I1.6 I1.7

I2.0 I2.1 I2.2 I2.3 I2.4 I2.5 I2.6 I2.7

I3.0 I3.1 I3.2 I3.3 I3.4 I3.5 I3.6 I3.7

I4.0 I4.1 I4.2 I4.3 I4.4 I4.5 I4.6 I4.7

I5.0 I5.1 I5.2 I5.3 I5.4 I5.5 I5.6 I5.7

I6.0 I6.1 I6.2 I6.3 I6.4 I6.5 I6.6 I6.7

I7.0 I7.1 I7.2 I7.3 I7.4 I7.5 I7.6 I7.7

I8.0 I8.1 I8.2 I8.3 I8.4 I8.5 I8.6 I8.7

I9.0 I9.1 I9.2 I9.3 I9.4 I9.5 I9.6 I9.7

Figura 1.2 - Exemplo endereço tipo Bit.

Fonte – Ilustração do autor

Figura 1.3 mostra a estrutura da variável VB0.

V0.0 V0.1 V0.2 V0.3 V0.4 V0.5 V0.6 V0.7

V1.0 V1.1 V1.2 V1.3 V1.4 V1.5 V1.6 V1.7

V2.0 V2.1 V2.2 V2.3 V2.4 V2.5 V2.6 V2.7

V3.0 V3.1 V3.2 V3.3 V3.4 V3.5 V3.6 V3.7

V4.0 V4.1 V4.2 V4.3 V4.4 V4.5 V4.6 V4.7

V5.0 V5.1 V5.2 V5.3 V5.4 V5.5 V5.6 V5.7

V6.0 V6.1 V6.2 V6.3 V6.4 V6.5 V6.6 V6.7

V7.0 V7.1 V7.2 V7.3 V7.4 V7.5 V7.6 V7.7

LSB -- -- -- MSB

VB1

V1.0 -- -- -- V1.7

Figura 1.3 - Exemplo endereço tipo Byte.

Fonte – Ilustração do autor

A Figura 1.4 mostra a estrutura da variável VW4

(5)

V0.0 V0.1 V0.2 V0.3 V0.4 V0.5 V0.6 V0.7

V1.0 V1.1 V1.2 V1.3 V1.4 V1.5 V1.6 V1.7

V2.0 V2.1 V2.2 V2.3 V2.4 V2.5 V2.6 V2.7

V3.0 V3.1 V3.2 V3.3 V3.4 V3.5 V3.6 V3.7

V4.0 V4.1 V4.2 V4.3 V4.4 V4.5 V4.6 V4.7

V5.0 V5.1 V5.2 V5.3 V5.4 V5.5 V5.6 V5.7

V6.0 V6.1 V6.2 V6.3 V6.4 V6.5 V6.6 V6.7

V7.0 V7.1 V7.2 V7.3 V7.4 V7.5 V7.6 V7.7

LSB -- -- -- MSB

VW4

VB5 VB4

V5.0 -- -- -- V5.7 V4.0 -- -- -- V4.7

Figura 1.4 - Exemplo endereço tipo Word.

Fonte – Ilustração do autor.

Figura 1.5 mostra a estrutura da variável VD0.

V0.0 V0.1 V0.2 V0.3 V0.4 V0.5 V0.6 V0.7

V1.0 V1.1 V1.2 V1.3 V1.4 V1.5 V1.6 V1.7

V2.0 V2.1 V2.2 V2.3 V2.4 V2.5 V2.6 V2.7

V3.0 V3.1 V3.2 V3.3 V3.4 V3.5 V3.6 V3.7

V4.0 V4.1 V4.2 V4.3 V4.4 V4.5 V4.6 V4.7

V5.0 V5.1 V5.2 V5.3 V5.4 V5.5 V5.6 V5.7

V6.0 V6.1 V6.2 V6.3 V6.4 V6.5 V6.6 V6.7

V7.0 V7.1 V7.2 V7.3 V7.4 V7.5 V7.6 V7.7

V8.0 V8.0 V8.0 V8.0 V8.0 V8.0 V8.0 V8.7

V9.0 V9.0 V9.0 V9.0 V9.0 V9.0 V9.0 V9.0

LSB -- -- -- MSB

VD0

VW2 VW0

VB3 VB2 VB1 VB0

V3.0 -- V3.7 V2.0 -- V2.7 V1.0 -- V1.7 V0.0 -- V0.7

Figura 1.5 - Exemplo endereço tipo Doube Word.

Fonte – Ilustração do autor.

(6)

Cabe destacar que existe sobreposição das operandos, isto é, um mesmo conjunto de dados (bits) pode fazer parte de vários operandos. Este particularidade confere grande flexibilidade ao sistema, porem, exige atenção na definição dos endereços.

Por exemplo, VB4 é a parte alta de VW4, assim sendo, um incremento de simples (somar mais um ao conteúdo) em VB4, implicará em um incremento 256 no valor de VW4.

Outro ponto importante, Words consecutivas terão sempre um Byte em comum. De forma análoga Double Words compartilharão três Bytes.

1.3. ÁREAS DA MEMÓRIA DE APLICAÇÃO

As Tabelas 1.3, 1.4 e 1.5 contém detalhes da memória da CPU 224, estes podem esclarecer alguns pontos que por ventura tenham ficado obscuros nos tópicos anteriores.

Tabela 1.3 – Áreas de memória 1

CPU 224 V2.00 TIPO DE ACESSO

Área Descrição Bit Byte Word Dword

I Entradas Digitais -

Registradores da imagem Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Q Saídas Digitais -

Registradores da imagem Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita M Memória interna Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita

SM Memória Especial SM0 ~ SM29 -> Só

Leitura Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita V Variáveis Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita

T Timers T - Bit

Leitura|Escrita Não T - Valor

Leitura|Escrita Não

C Contadores C - Bit

Leitura|Escrita Não C - Valor

Leitura|Escrita Não

HC Contadores Rápidos Não Não Não Leitura apenas

AI Entradas Analógicas Não Não Leitura apenas Não

AQ Saídas Analógicas Não Não Escrita apenas Não

L Variáveis Locais Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita

(7)

A retentividade é a característica de certas áreas de manter o valor mesmo quando o CLP for desligado. Forçar um operando, significa alterar seu valor através do canal de comunicação serial. As propriedades como a retentividade e a permissão de forçar valores bem como range de cada uma das áreas de memória são descritas na Tabela 1.4.

Tabela 1.4 – Áreas de memória 2.

CPU 224 V2.00 PODE SER

Área Range Descrição Retentiva Forçada

I I0.0 ~ I15.7* Entradas Digitais -

Registradores da imagem Não Sim

Q Q0.0 ~ Q15.7*

Saídas Digitais -

Registradores da imagem Não Sim

M** M0.0 ~ M31.7 Memória interna Sim Sim

SM SM0.0 ~ SM549.7 Memória Especial

SM0 ~ SM29 -> Só Leitura Não Não

V** V0.0 ~ V8191.7 Variáveis Sim Sim

T T0 ~ T255 Timers Valor-> Sim

Bit -> Não Não

C C0 ~ C255 Contadores Valor-> Sim

Bit -> Não Não

HC HC0 ~ HC5 Contadores Rápidos Não Não

AI AI0 ~AI15 Entradas Analógicas Não Sim

AQ AQ0 ~AQ15 Saídas Analógicas Não Sim

L 0 ~ 59 Variáveis Locais Não Não

* O número de pontos nas tabelas de entradas e saídas digitais é significativamente maior do que a quantidade de pontos físicos, mesmo que sejam usadas todas as expansões possíveis. Este espaço pode ser usado como memória adicional.

** Pode armazenar operandos do tipo CHAR.

O fabricante do equipamento definiu que cada área de memória sendo acessada com certo tipo de dado somente aceitará determinado operado. A Tabela 1.5 mostra tais convenções.

(8)

Tabela 1.5 – Áreas de memória 3.

Área Bit Byte Word Dword

I Booleano Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal Q Booleano Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal M Booleano Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal

V Booleano Inteiro sem sinal Inteiro Real (ponto flutuante)

T T - Bit ->

Booleano Não T - Valor - >

Inteiro Não

C C - Bit ->

Booleano Não C - Valor - >

Inteiro Não

HC Não Não Não Inteiro sem sinal

AI Não Não Inteiro sem sinal Inteiro sem sinal

AQ Não Não Inteiro sem sinal Não

(9)

2. SYMBOL TABLE

A tabela símbolos (symbol table) pode ser utilizada para definir tags – nomes para variáveis ou endereços – e definir constantes.

A utilização de tags auxilia a organização do programa e permite ao programador associar os endereços a termos mais amigáveis.

Figura 2.1 – Tela com exemplo Fonte – S7 MicroWin.

(10)

Existe uma área para comentários, estes podem ser exibidos nas lógicas, ou não, dependendo das preferências setadas.

Há também campos para indicar tags ou endereços repetidos e inválidos, além disto, os endereços inválidos aparecerão em vermeho.

Para definir constantes, deve–se saber que:

Os valores alfanuméricos (tipo CHAR) devem ficar entre aspas Números sem indicação de base são decimais.

Números sem ponto serão tratados como INTEIROS.

Números com ponto serão tratados como FLOAT.

Para utilizar outras bases: BASE#VALOR por exemplo, 2#1011, 16#3EF.

Para forçar operadores booleanos deve-se usar base dois com um digito apenas.

Referências

Documentos relacionados

Os indicadores PI-2 (Composição do resultado da despesa comparada com o orçamento original aprovado) e PI-4 (Levantamento e monitoramento do atraso no pagamento de despesas) têm

Of the criteria assessed, those that indicated a good level of satisfaction were cleanliness of the dining area, food visual appearance, service, buffet presentation, temperature

• As relações entre os novos contrastes (identificados pelo asterisco) e os efeitos do planejamento completo são as mesmas da segunda coluna da Tabela 4.5 com os sinais

[...] propostas educacionais surgidas do setor não-formal ou apresentadas em formato de educação não regrada, mas que, no entanto, se localizam na própria escola

A predominância do valor de troca, como extensão do mundo da mercadoria se revela enquanto produto de lutas surgindo a partir de relações sociais contraditórias criadas e

◉ Ao final da aula, o professor apresenta a ficha de leitura, junto com explicações de como ela deve ser preenchida e dá o prazo de uma semana para os alunos lerem

Os tratamentos não diferiram quanto à eficiência de transporte (ET) dos macronutrientes, exceto em relação ao Mg quando foi omitido na solução nutritiva, sendo

A discussão travada nos autos envolve o conflito entre os direitos fundamentais à imagem e ao acesso à informação, estando delineada também pelo denominado direito ao