You are on page 1of 24

1.

TRATAMENTO DE VARIVEIS

As variveis so os elementos que, em ltima anlise transportam as informaes das interfaces de entrada para o programa; de uma parte do programa para outra, e do programa para as interfaces de sada. O contedo das variveis, processado de forma adequada, determina o fluxo de todo o programa, controlando as aes a serem executadas e gerando resultados de sada. Hoje em dia os processos de uma maneira geral trabalham, afora pontos binrios, com uma grande gama de valores numricos e alfa-numericos, estes por sua vez devem ser lidos, comparados e manipulados pelo controlador. Alm do mais, as facilidades apresentadas pelos recursos bsicos do Ladder, em controles combinacionais, desaparecem rapidamente quando processo controlado exige lgicas seqenciais com um mnimo de sofisticao. Dada tais circunstancias, uma abordagem mais ampla, que v alm do bobina / contado, torna-se necessria. Antes, porm, vale rever ou conhecer alguns conceitos relativos a forma como o CLP reconhece e trata os dados da memria de aplicao.

1.1. TIPOS DE DADOS


Os valores so armazenados na no controlador assim como em qualquer equipamento digital sob forma binria. Dependendo da ordem grandeza ou do contexto, estes dados so trados de forma distinta. Na srie S7-200, memria do controlador pode ser acessada de quatro formas bsicas. A Tabela 1.1 contm tais formas e a quantidade de informao abrangida em cada forma de acesso.

Tabela 1.1 Formas de acesso memria de acordo com a resoluo. Tipo de Dado* Bit Byte Word Double Word Resoluo 1 Bit 8 Bits 16 Bits 32 Bits

* Existem, ainda dados no numricos que so tratados com seqncia de caracteres Char

Ou seja, cada tipo de dado est associado basicamente quantidade de memria ocupada por um operador. Assim, este critrio serve apenas para indicar o tamanho do dado. Existem, ainda, outras convenes (como, por exemplo, Nible que um conjunto de quatro bits) que no so adotadas pelo fabricante do equipamento. Outro parmetro importante o tipo de operador, este define a classe numrica do dado. A Tabela 1.2 fornece os ranges provenientes das relaes entre os dois parmetros.
Tabela 1.2 Tipos de Operador e Ranges. Tipo de operador Booleano Inteiro sem sinal Preciso Bit Byte Word Double word Byte* Inteiro Word Double word Real Ponto Flutuante Seqncia de Caracteres (CHAR) Double word (FLOAT IEEE) 1 + N.de Caracteres x 8 Bits Range 0~1 0 ~ 255 0 ~ 65535 0 ~ 4294967296 (-)127 ~ 127 (-) 32677 ~ 32677 (-) 2147483647 ~ 2147483647 (+) 1.175495E-38 ~ 3.402823E+38 (-) 1.175495E-38 ~ 3.402823E+38 ASCII (1~255 Caracteres)

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

1.2. ENDEREAMENTO
Para as diversas reas de memria da CPU S7200, com exceo das tabelas de pontos analgicos (entradas e sadas), dos contadores e timers, a forma de endereamento obedece a seguinte lgica: Bit Byte Word => => => [rea][Byte].[Bit] [rea][B][Byte] [rea][W][Byte inicial] [rea][D] [Byte inicial] (Exemplo Q0.0, S34.6 ....) (Exemplo IB10, VB10 ....) (Exemplo SW4, VW6 ....) (Exemplo VD0, ID20 ....)

Double Word =>

As tabelas de pontos analgicos so acessadas somente como Word. O endereo definido pelo nmero da entrada AI ou sada AQ (Exemplo AQ0, AI4...). Os timers e contadores possuem duas reas de memria distintas, um bit de staus e uma Word contendo o valor. O endereamento utiliza o T ou C mais nmero do dispositivo. Tanto o bit quanto a Word possuem o mesmo endereo o programa diferencia-os pelo contexto ou pela instruo utilizada (Exemplo C0, T32...). Os contadores rpidos so tratados sempre como Double Word. O endereo e formado por HC mais o nmero do contador (Exemplo HC0, HC1...). Existem algumas particularidades que devem ser observadas quando do acesso aos endereos de memria. As figuras a seguir, podem ajudar a entend-las.
Mem Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 . Byte N Bit 0 0.0 1.0 2.0 3.0 4.0 5.0 6.0 . N.0 Bit 1 0.1 1.1 2.1 3.1 4.1 5.1 6.1 . N.1 Bit 2 0.2 1.2 2.2 3.2 4.2 5.2 6.2 . N.2 Bit 3 0.3 1.3 2.3 3.3 4.3 5.3 6.3 . N.3 Bit 4 0.4 1.4 2.4 3.4 4.4 5.4 6.4 . N.4 Bit 5 0.5 1.5 2.5 3.5 4.5 5.5 6.5 . N.5 Bit 6 0.6 1.6 2.6 3.6 4.6 5.6 6.6 . N.6 Bit 7 0.7 1.7 2.7 3.7 4.7 5.7 6.7 . N.7

Figura 1.1 - Exemplo de um mapa memria genrico.

Fonte Ilustrao 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 I1.0 I2.0 I3.0 I4.0 I5.0 I6.0 I7.0 I8.0 I9.0

I0.1 I1.1 I2.1 I3.1 I4.1 I5.1 I6.1 I7.1 I8.1 I9.1

I0.2 I1.2 I2.2 I3.2 I4.2 I5.2 I6.2 I7.2 I8.2 I9.2

I0.3 I1.3 I2.3 I3.3 I4.3 I5.3 I6.3 I7.3 I8.3 I9.3

I0.4 I1.4 I2.4 I3.4 I4.4 I5.4 I6.4 I7.4 I8.4 I9.4

I0.5 I1.5 I2.5 I3.5 I4.5 I5.5 I6.5 I7.5 I8.5 I9.5

I0.6 I1.6 I2.6 I3.6 I4.6 I5.6 I6.6 I7.6 I8.6 I9.6

I0.7 I1.7 I2.7 I3.7 I4.7 I5.7 I6.7 I7.7 I8.7 I9.7

Figura 1.2 - Exemplo endereo tipo Bit. Fonte Ilustrao do autor

Figura 1.3 mostra a estrutura da varivel VB0.

V0.0 V1.0 1.0 V2.0 V3.0 V4.0 V5.0 V6.0 V7.0

V0.1 V1.1 V2.1 V3.1 V4.1 V5.1 V6.1 V7.1

V0.2 V1.2 V2.2 V3.2 V4.2 V5.2 V6.2 V7.2

V0.3 V1.3 V2.3 V3.3 V4.3 V5.3 V6.3 V7.3

V0.4 V1.4 V2.4 V3.4 V4.4 V5.4 V6.4 V7.4

V0.5 V1.5 V2.5 V3.5 V4.5 V5.5 V6.5 V7.5

V0.6 V1.6 V2.6 V3.6 V4.6 V5.6 V6.6 V7.6

V0.7 V1.7 V2.7 V3.7 V4.7 V5.7 V6.7 V7.7

LSB V1.0

-- -- -VB1 -- -- --

MSB V1.7

Figura 1.3 - Exemplo endereo tipo Byte. Fonte Ilustrao do autor

A Figura 1.4 mostra a estrutura da varivel VW4

V0.0 V1.0 V2.0 V3.0 V4.0 V5.0 V6.0 V7.0

V0.1 V1.1 V2.1 V3.1 V4.1 V5.1 V6.1 V7.1

V0.2 V1.2 V2.2 V3.2 V4.2 V5.2 V6.2 V7.2

V0.3 V1.3 V2.3 V3.3 V4.3 V5.3 V6.3 V7.3

V0.4 V1.4 V2.4 V3.4 V4.4 V5.4 V6.4 V7.4

V0.5 V1.5 V2.5 V3.5 V4.5 V5.5 V6.5 V7.5

V0.6 V1.6 V2.6 V3.6 V4.6 V5.6 V6.6 V7.6

V0.7 V1.7 V2.7 V3.7 V4.7 V5.7 V6.7 V7.7

LSB VB5 -- -- --

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

MSB VB4 -- -- --

V5.0

V4.7

Figura 1.4 - Exemplo endereo tipo Word. Fonte Ilustrao do autor.

Figura 1.5 mostra a estrutura da varivel VD0.

V0.0 V1.0 V2.0 V3.0 V4.0 V5.0 V6.0 V7.0 V8.0 V9.0

V0.1 V1.1 V2.1 V3.1 V4.1 V5.1 V6.1 V7.1 V8.0 V9.0

V0.2 V1.2 V2.2 V3.2 V4.2 V5.2 V6.2 V7.2 V8.0 V9.0

V0.3 V1.3 V2.3 V3.3 V4.3 V5.3 V6.3 V7.3 V8.0 V9.0

V0.4 V1.4 V2.4 V3.4 V4.4 V5.4 V6.4 V7.4 V8.0 V9.0

V0.5 V1.5 V2.5 V3.5 V4.5 V5.5 V6.5 V7.5 V8.0 V9.0

V0.6 V1.6 V2.6 V3.6 V4.6 V5.6 V6.6 V7.6 V8.0 V9.0

V0.7 V1.7 V2.7 V3.7 V4.7 V5.7 V6.7 V7.7 V8.7 V9.0

LSB VW2 V3.0 VB3 -V3.7 V2.0 VB2 --

-- -- -VD0 VB1 --

MSB VW0 V1.7 V0.0 VB0 -V0.7

V2.7

V1.0

Figura 1.5 - Exemplo endereo tipo Doube Word. Fonte Ilustrao do autor.

Cabe destacar que existe sobreposio das operandos, isto , um mesmo conjunto de dados (bits) pode fazer parte de vrios operandos. Este particularidade confere grande flexibilidade ao sistema, porem, exige ateno na definio dos endereos. Por exemplo, VB4 a parte alta de VW4, assim sendo, um incremento de simples (somar mais um ao contedo) em VB4, implicar em um incremento 256 no valor de VW4. Outro ponto importante, Words consecutivas tero sempre um Byte em comum. De forma anloga Double Words compartilharo trs Bytes.

1.3. REAS DA MEMRIA DE APLICAO


As Tabelas 1.3, 1.4 e 1.5 contm detalhes da memria da CPU 224, estes podem esclarecer alguns pontos que por ventura tenham ficado obscuros nos tpicos anteriores.
Tabela 1.3 reas de memria 1 CPU 224 V2.00 rea I Q M SM V T C HC AI AQ L Descrio Bit TIPO DE ACESSO Byte Word Dword Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita No No Leitura apenas No No Leitura|Escrita

Entradas Digitais Leitura|Escrita Leitura|Escrita Leitura|Escrita Registradores da imagem Sadas Digitais Leitura|Escrita Leitura|Escrita Leitura|Escrita Registradores da imagem Memria interna Memria Especial SM0 ~ SM29 -> S Leitura Variveis Timers Contadores Contadores Rpidos Entradas Analgicas Sadas Analgicas Variveis Locais Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita Leitura|Escrita T - Bit Leitura|Escrita C - Bit Leitura|Escrita No No No No No No No No T - Valor Leitura|Escrita C - Valor Leitura|Escrita No Leitura apenas Escrita apenas

Leitura|Escrita Leitura|Escrita Leitura|Escrita

A retentividade a caracterstica de certas reas de manter o valor mesmo quando o CLP for desligado. Forar um operando, significa alterar seu valor atravs do canal de comunicao serial. As propriedades como a retentividade e a permisso de forar valores bem como range de cada uma das reas de memria so descritas na Tabela 1.4.
Tabela 1.4 reas de memria 2. CPU 224 V2.00 rea I Q M** Range I0.0 ~ I15.7* Q0.0 ~ Q15.7* M0.0 ~ M31.7 Descrio Entradas Digitais Registradores da imagem Sadas Digitais Registradores da imagem Memria interna Memria Especial SM0 ~ SM29 -> S Leitura Variveis Timers Contadores Contadores Rpidos Entradas Analgicas Sadas Analgicas Variveis Locais PODE SER Retentiva No No Sim Forada Sim Sim Sim

SM V** T C HC AI AQ L

SM0.0 ~ SM549.7 V0.0 ~ V8191.7 T0 ~ T255 C0 ~ C255 HC0 ~ HC5 AI0 ~AI15 AQ0 ~AQ15 0 ~ 59

No Sim Valor-> Sim Bit -> No Valor-> Sim Bit -> No No No No No

No Sim No No No Sim Sim No

* O nmero de pontos nas tabelas de entradas e sadas digitais significativamente maior do que a quantidade de pontos fsicos, mesmo que sejam usadas todas as expanses possveis. Este espao pode ser usado como memria adicional. ** Pode armazenar operandos do tipo CHAR.

O fabricante do equipamento definiu que cada rea de memria sendo acessada com certo tipo de dado somente aceitar determinado operado. A Tabela 1.5 mostra tais convenes.

Tabela 1.5 reas de memria 3. rea I Q M V T C HC AI AQ Bit Booleano Booleano Booleano Booleano T - Bit -> Booleano C - Bit -> Booleano No No No Byte Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal No No No No No Word Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal Inteiro T - Valor - > Inteiro C - Valor - > Inteiro No Inteiro sem sinal Inteiro sem sinal Dword Inteiro sem sinal Inteiro sem sinal Inteiro sem sinal Real (ponto flutuante) No No Inteiro sem sinal Inteiro sem sinal No

2. SYMBOL TABLE

A tabela smbolos (symbol table) pode ser utilizada para definir tags nomes para variveis ou endereos e definir constantes. A utilizao de tags auxilia a organizao do programa e permite ao programador associar os endereos a termos mais amigveis.

Figura 2.1 Tela com exemplo Fonte S7 MicroWin.

Existe uma rea para comentrios, estes podem ser exibidos nas lgicas, ou no, dependendo das preferncias setadas. H tambm campos para indicar tags ou endereos repetidos e invlidos, alm disto, os endereos invlidos aparecero em vermeho. Para definir constantes, devese saber que: Os valores alfanumricos (tipo CHAR) devem ficar entre aspas Nmeros sem indicao de base so decimais. Nmeros sem ponto sero tratados como INTEIROS. Nmeros com ponto sero tratados como FLOAT. Para utilizar outras bases: BASE#VALOR por exemplo, 2#1011, 16#3EF. Para forar operadores booleanos deve-se usar base dois com um digito apenas.

3. STATUS Chart

Trata-se de uma ferramenta extremamente simples e de grande valor. Permite monitorar e forar o valor das variveis em tempo real.

Figura 3.1 Tela com exemplo Fonte S7 MicroWin.

4. INSTRUES DE PROGRAMAO

4.1. COMPARAO
As expresses esto contidas no menu Compare do Instruction. Todos os blocos tm comportamento de um contato NA, que ativando quando a expresso lgica for verdadeira. As operaes aceitas so igual, igual ou maior, igual ou menor, maior, menor e diferente. As comparaes utilizam sempre dois elementos, que sero chamados Operando 1 e Operando 2. Somente podem ser comparados operandos de mesma classe de dados Bytes (Inteiro sem Sinal), Inteiros (Word), Inteiros (Double Word) e Reais (Float). Vale lembrar que o OP1 deve ser necessariamente um endereo de memria, isto , uma varivel. J o OP2 pode ser varivel ou constante. Compara e ativa a sada do bloco, se os Bytes dos Operandos so iguais. Compara e ativa a sada do bloco se os Inteiros (Word) dos Operandos so iguais. Compara e ativa a sada do bloco se os Inteiros (Double Word) dos Operandos so iguais. Compara e ativa a sada do bloco se os Reais dos Operandos so iguais. Compara e ativa a sada do bloco se os Bytes dos Operandos so diferentes.

Compara e ativa a sada do bloco se os Inteiros (Word) dos Operandos so diferentes. Compara e ativa a sada do bloco se os Inteiros (Double Word) dos Operandos so diferentes. Compara e ativa a sada do bloco se os Reais dos Operandos so diferentes. Compara e ativa a sada do bloco se o Byte do OP1 for maior ou igual a OP2. Compara e ativa a sada do bloco se o Inteiro (Word) do OP1 for maior ou igual a OP2. Compara e ativa a sada do bloco se o Inteiro (Double Word) do OP1 for maior ou igual a OP2. Compara e ativa a sada do bloco se o Real do OP1 for maior ou igual a OP2. Compara e ativa a sada do bloco se o Byte do OP1 for menor ou igual a OP2. Compara e ativa a sada do bloco se o Inteiro (Word) do OP1 for menor ou igual a OP2. Compara e ativa a sada do bloco se o Inteiro (Double Word) do OP1 for menor ou igual a OP2. Compara e ativa a sada do bloco se o Real do OP1 for menor ou igual a OP2.

Compara e ativa a sada do bloco se o Byte do OP1 for maior a OP2. Compara e ativa a sada do bloco se o Inteiro (Word) do OP1 for maior a OP2. Compara e ativa a sada do bloco se o Inteiro (Double Word) do OP1 for maior a OP2. Compara e ativa a sada do bloco se o Real do OP1 for maior a OP2. Compara e ativa a sada do bloco se o Byte do OP1 for menor a OP2. Compara e ativa a sada do bloco se o Inteiro (Word) do OP1 for menor a OP2. Compara e ativa a sada do bloco se o Inteiro (Double Word) do OP1 for menor a OP2. Compara e ativa a sada do bloco se o Real do OP1 for menor a OP2.

4.2. ESCRITA NA MEMRIA


As instrues de escrita na memria ou de movimentao de dados esto contidas no menu Move do insruction.

Quando a entrada EN for acionada, o Byte contido em IN (pode ser um endereo ou uma constante) movido para OUT (deve ser obrigatoriamente uma varivel endereo).

Quando a entrada EN for acionada, o Word contido em IN (pode ser um endereo ou uma constante) movido para OUT (deve ser obrigatoriamente uma varivel endereo). Quando a entrada EN for acionada, o Double Word contido em IN (pode ser um endereo ou uma constante) movido para OUT (deve ser obrigatoriamente uma varivel endereo). Quando a entrada EN for acionada, os N ((N um byte, pode ser varivel ou constante) Bytes contidos a partir do endereo IN so movido para os N endereos iniciando em OUT. Quando a entrada EN for acionada, os N (N um byte, pode ser varivel ou constante) Word contidos a partir do endereo IN so movido para os N endereos iniciando em OUT.

Quando a entrada EN for acionada, os N ((N um byte,pode ser varivel ou constante) Double Word contidos a partir do endereo IN so movido para os N endereos iniciando em OUT.

4.3. MATEMTICA DE INTEIROS


As instrues do Integer Math permitem que sejam realizadas operaes matemticas (fundamentais: adio, subtrao, multiplicao, diviso, incremento e decremento) com nmeros inteiros. Quando EN recebe energia, executa a operao OUT = IN1 + IN2.
OUT => Inteiro (Word), obrigatoriamente varivel. IN1 => Inteiro (Word), constate ou varivel. IN2 => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 + IN2.


OUT => Inteiro (Double Word), obrigatoriamente varivel. IN1 => Inteiro (Double Word), constate ou varivel. IN2 => Inteiro (Double Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 - IN2.


OUT => Inteiro (Word), obrigatoriamente varivel. IN1 => Inteiro (Word), constate ou varivel. IN2 => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 - IN2.


OUT => Inteiro (Double Word), obrigatoriamente varivel. IN1 => Inteiro (Double Word), constate ou varivel. IN2 => Inteiro (Double Word), obrigatoriamente varivel.

Quando EM recebe energia, executa a operao OUT = IN1 x IN2. (Multipica duas Words e obtm uma Double Word).
OUT => Inteiro (Double Word), obrigatoriamente varivel. IN1 => Inteiro (Word), constate ou varivel. IN2 => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 x IN2.


OUT => Inteiro (Word), obrigatoriamente varivel. IN1 => Inteiro (Word), constate ou varivel. IN2 => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 x IN2.


OUT => Inteiro (Double Word), obrigatoriamente varivel. IN1 => Inteiro (Double Word), constate ou varivel. IN2 => Inteiro (Double Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 / IN2. (Divide uma Double por uma Word e obtm uma Word)
OUT => Inteiro (Word), obrigatoriamente varivel. IN1 => Inteiro (Double Word), constate ou varivel. IN2 => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 / IN2.


OUT => Inteiro (Word), obrigatoriamente varivel. IN1 => Inteiro (Word), constate ou varivel. IN2 => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN1 / IN2.


OUT => Inteiro (Double Word), obrigatoriamente varivel. IN1 => Inteiro (Double Word), constate ou varivel. IN2 => Inteiro (Double Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN + 1.


OUT => Byte, obrigatoriamente varivel. IN => Byte, obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN + 1.


OUT => Inteiro (Word), obrigatoriamente varivel. IN => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN + 1.


OUT => Inteiro (Double Word), obrigatoriamente varivel. IN => Inteiro (Double Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN - 1.


OUT => Byte, obrigatoriamente varivel. IN => Byte, obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN - 1.


OUT => Inteiro (Word), obrigatoriamente varivel. IN => Inteiro (Word), obrigatoriamente varivel.

Quando EN recebe energia, executa a operao OUT = IN - 1.


OUT => Inteiro (Double Word), obrigatoriamente varivel. IN => Inteiro (doubleWord), obrigatoriamente varivel.

5. CONFIGURANDO A IHM TD 200


Tanto as mensagens que sero exibidas, quanto as definies dos flags de controle sero enviados ao controlador como parte integrante do programa. Para realizar tal tarefa, o Step7MicroWin utiliza um tutorial, esse acessado pelo menu Tools opo Text Display Wizard ...

Aps iniciar o tutorial, receberemos uma tela de boas vindas, basta clicar na opo next.

Na segunda tela, ser selecionado o tipo de IHM a ser programado. No caso presente, trata-se da Verso 2.1. A tela seguinte diz respeito seleo do idioma (ingls, alemo, francs, italiano, chins ou espanhol) e do tipo de fonte (letra).

No quarto passo existem trs CheckBox a opo A permite visualizar e setar o relgio de tempo real no menu da IHM. A opo B permite alterar o contedo das variveis exibidas na tela. E, a opo C pode habilitar o uso de senha para realizar tais tarefas, note que quanto a senha desabilitada o campo para digita-la desaparece.

A quinta etapa consiste em selecionar quais bits de memria (Mx.y) sero responsveis por transferir ao programa o nvel lgico das teclas F1 ~ F8. Assim, se a opo for o byte de memria 31, M31.0 fica vinculado tecla F1, M31.1 tecla F2 e assim sucessivamente. Neste todos os contados de M31.3 existentes no programa, sero 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 nmero total de mensagens que sero utilizadas. Lembre-se que cada mensagem ocupar quarenta bytes (vinte words) da memria de trabalho.

Na stima tela sero configurados os endereos de memria que controlam a exibio das mensagens, bem como o endereo inicial onde elas sero armazenadas. So necessrios quatorze bytes para a inicializar a IHM. O primeiro campo define o endereo inicial. No campo seguinte define-se o endereo inicial dos flags que controlam a exibio das mensagens na tela. Este endereo precisa distar quatorze bytes daquele definido no campo acima. Cada mensagem possui um nico flag, portando, esta rea da memria ter o tamanho igual ao numero de mensagens dividido por oito (se o resto da diviso no for nulo, ele ocupar mais um byte)

O ultimo campo deve conter a posio de memria em que os caracteres das mensagens sero armazenados. Na oitava tela efetuado o preenchimento do texto a ser exibido. Para passar a mensagem seguinte basta clicar em Next Message.

Em cada caixa so exibidos o endereo do bit de controle e o byte inicial donde os caracteres so armazenados. Caso tenha sido selecionada, na tela 7, a posio VB14 como inicial para os flags de controle, o endereamento seguir a tabela abaixo. V14.7 V14.4 V14.1 V15.6 V15.3 V15.0 V16.5 V16.2 V17.7 V17.4 MSG 1 MSG 4 MSG 7 MSG 10 MSG 13 MSG 16 MSG 19 MSG 22 MSG 25 MSG 28 V14.6 V14.3 V14.0 V15.5 V15.2 V16.7 V16.4 V16.1 V17.6 V17.3 MSG 2 MSG 5 MSG 8 MSG 11 MSG 14 MSG 17 MSG 20 MSG 23 MSG 26 MSG 29 V14.5 V14.2 V15.7 V15.4 V15.1 V16.6 V16.3 V16.0 V17.5 V17.2 MSG 3 MSG 6 MSG 9 MSG 12 MSG 15 MSG 18 MSG 21 MSG 24 MSG 27 MSG 30

Desta maneira, quando o bit V14.7 setado, a Mensagem 1 exibida no display. Se mais de uma for mensagem habilitada ser exibida a de menor ndice. Para visualizar as outras use as teclas direcionais. Por exemplo, se o programa em questo necessitar de nove mensagens e o primeiro campo for definido com byte 0 (VB0). O segundo campo deve ser definido como quatorze. Se existem nove mensagens, os bytes 14 e 15 (VB14 e VB15) ficam reservados para esta funo. O terceiro campo deve ser dezesseis, sero necessrios trezentos sessenta bytes (9 x 40) para armazenar os caracteres, ou seja, VB16 at VB375. Para este exemplo, as variveis de programa devem comear na posio VB376.

You might also like