TRATAMENTO DE VARIÁVEIS
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.
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.
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.
Tabela 1.1 – Formas de acesso à memória de acordo com a resolução.
Bit 1 Bit
Byte 8 Bits
Word 16 Bits
* Existem, ainda dados não numéricos que são tratados com seqüência de
caracteres “Char”
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.
Byte 0 ~ 255
Inteiro
Word 0 ~ 65535
sem sinal
Double word 0 ~ 4294967296
* Nos controladores da serie S7-200 os dados do tipo Byte são sempre tratados como inteiro com
sinal.
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:
Double Word => [Área][D] [Byte inicial] (Exemplo VD0, ID20 ....)
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.
A Figura 1.2 mostra um exemplo de acesso ao sexto bit do byte 1 na tabela imagem das
entradas digitais.
LSB -- -- -- MSB
VB1
V1.0 -- -- -- V1.7
LSB -- -- -- MSB
VW4
VB5 VB4
V5.0 -- -- -- V5.7 V4.0 -- -- -- V4.7
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
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.
Entradas Digitais -
I Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita
Registradores da imagem
Saídas Digitais -
Q Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita
Registradores da imagem
Memória Especial
SM SM0 ~ SM29 -> Só Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita
Leitura
T - Bit T - Valor
T Timers Não Não
Leitura|Escrita Leitura|Escrita
C - Bit C - Valor
C Contadores Não Não
Leitura|Escrita Leitura|Escrita
Entradas Digitais -
I I0.0 ~ I15.7* Registradores da imagem Não Sim
Saídas Digitais -
Q Q0.0 ~ Q15.7* Registradores da imagem Não Sim
Memória Especial
SM SM0.0 ~ SM549.7 SM0 ~ SM29 -> Só Leitura Não Não
Valor-> Sim
T T0 ~ T255 Timers Bit -> Não Não
Valor-> Sim
C C0 ~ C255 Contadores Bit -> 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.
Tabela 1.5 – Áreas de memória 3.
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
A tabela símbolos (symbol table) pode ser utilizada para definir tags – nomes para
variáveis ou endereços – e definir constantes.
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 forçar operadores booleanos deve-se usar base dois com um digito apenas.
3. STATUS Chart
4.1. COMPARAÇÃO
Vale lembrar que o OP1 deve ser necessariamente um endereço de memória, isto é, uma
variável. Já o OP2 pode ser variável ou constante.
Tanto as mensagens que serão exibidas, quanto as definições dos flags de controle
serão enviados ao controlador como parte integrante do programa. Para realizar tal
tarefa, o Step7–MicroWin utiliza um tutorial, esse é acessado pelo menu “Tools” opção
“Text Display Wizard ...”
2 3
Após iniciar o tutorial, receberemos uma tela de boas vindas, basta clicar na opção
“next”.
Na segunda tela, será selecionado o tipo de IHM a ser programado. No caso presente,
trata-se da Versão 2.1.
A tela seguinte diz respeito à seleção do idioma (inglês, alemão, francês, italiano, chinês
ou espanhol) e do tipo de fonte (letra).
4 4
No quarto passo existem três CheckBox a opção “A” permite visualizar e setar o
relógio de tempo real no menu da IHM. A opção “B” permite alterar o conteúdo das
variáveis exibidas na tela. E, a opção “C” pode habilitar o uso de senha para realizar tais
tarefas, note que quanto a senha é desabilitada o campo para digita-la desaparece.
5 6
A quinta etapa consiste em selecionar quais bits de memória (Mx.y) serão responsáveis
por transferir ao programa o nível lógico das teclas F1 ~ F8. Assim, se a opção for o
byte de memória 31, M31.0 fica vinculado à tecla F1, M31.1 à tecla F2 e assim
sucessivamente. Neste todos os contados de M31.3 existentes no programa, serão
invertidos quando a tecla F4 for pressionada.
O display da TD 200 possui duas linhas com vinte colunas cada. A primeira CheckBox
da sexta tela possibilita escolher entre mensagens com vinte caracteres (duas por tela)
ou quarenta caracteres (uma por tela). No campo seguinte, deve-se declarar o número
total de mensagens que serão utilizadas. Lembre-se que cada mensagem ocupará
quarenta bytes (vinte words) da memória de trabalho.
7 8
8 9
Em cada caixa são exibidos o endereço do bit de controle e o byte inicial donde os
caracteres são armazenados. Caso tenha sido selecionada, na tela 7, a posição VB14
como inicial para os flags de controle, o endereçamento seguirá a tabela abaixo.