Sei sulla pagina 1di 128

SUPORTE

A U T O M A O I N D U S T R I A L

Curso Bsico - B1
Apostila Programao Bsica de Controladores Programveis Piccolo, Quark, AL-600 e AL-2000/MSP

altus

Condies Gerais

Conforme legislao vigente no Brasil, do Cdigo de Defesa do Consumidor, informamos os seguintes aspectos relacionados com a segurana de pessoas e instalaes do cliente: Os equipamentos de automao industrial, fabricados pela ALTUS, so robustos e confiveis devido ao rgido controle de qualidade a que so submetidos. No entanto, equipamentos eletrnicos de controle industrial (controladores programveis, comandos numricos, etc.) podem causar danos s mquinas ou processos por eles controlados, no caso de defeito em suas partes e peas, erros de programao ou instalao, podendo inclusive colocar em risco vidas humanas. O usurio deve analisar as possveis conseqncias destes defeitos e providenciar instalaes adicionais externas de segurana que, em caso de necessidade, atuem no sentido de preservar a segurana do sistema, principalmente nos casos da instalao inicial e de testes. imprescindvel a leitura completa dos manuais e/ou caractersticas tcnicas do produto, antes da instalao ou utilizao do mesmo. A SUPORTE garante os equipamentos ALTUS contra defeitos reais de fabricao pelo prazo de doze meses a partir da data da emisso da nota fiscal. Esta garantia dada em termos de manuteno de fbrica, ou seja, o transporte de envio e retorno do equipamento at a fbrica da ALTUS, em Porto Alegre, RS, Brasil, ocorrer por conta do cliente. A garantia ser automaticamente suspensa caso sejam introduzidas modificaes nos equipamentos por pessoal no autorizado pela SUPORTE. A SUPORTE exime-se de quaisquer nus referentes a reparos ou substituies em virtude de falhas provocadas por agentes externos aos equipamentos, pelo uso indevido dos mesmos, bem como resultantes de caso fortuito ou por fora maior. A SUPORTE garante que os equipamentos funcionam de acordo com as descries contidas explicitamente em seus manuais e/ou caractersticas tcnicas, no garantindo a satisfao de algum tipo particular de aplicao dos equipamentos. A SUPORTE desconsiderar qualquer outra garantia, direta ou implcita, principalmente quando se tratar de fornecimento de terceiros. Pedidos de informaes adicionais sobre o fornecimento e/ou caractersticas dos equipamentos e servios ALTUS, devem ser feitos por escrito. O endereo da SUPORTE pode ser encontrado na ltima capa. A ALTUS no se responsabiliza por informaes fornecidas sobre seus equipamentos sem registro formal. MASTERTOOL E QUARK so marcas registradas da ALTUS Sistemas de Informtica S.A. IBM marca registrada da International Business Machines Corporation.

Sumrio

Sumrio
Terminologia..............................................................................................................................i Convenes Utilizadas...............................................................................................................ii Suporte Tcnico........................................................................................................................ii 0 Introduo....................................................................................................................................1 Curso B1 1 Objetivos 1 Pr-requisitos.....................................................................................................................1 1 Conceitos Bsicos de CPs.............................................................................................................1 Histrico de CPs........................................................................................................................1 Conceitos Bsicos de CPs..........................................................................................................2 Ponto de entrada................................................................................................................2 Ponto de sada....................................................................................................................2 Programa2 Controlador programvel (CP)...........................................................................................2 Conceito de bit, byte, nibble e palavra.......................................................................................2 Bit 2 Nibble 2 Byte 3 Palavra 3 Sistemas de Numerao.............................................................................................................3 Nmeros decimais..............................................................................................................3 Nmeros binrios...............................................................................................................3 Nmeros Hexadecimais.....................................................................................................3 Nmeros BCD ( decimais codificados em binrio).............................................................4 Componentes de CP...................................................................................................................4 Terminal de Programao..................................................................................................4 Unidade Central de Processamento (UCP).........................................................................4 Entradas e sadas (E/S)......................................................................................................5 Dispositivos de campo.......................................................................................................5 Princpio de funcionamento de um CP.......................................................................................5 Linguagens de rels e blocos......................................................................................................6 Caractersticas...................................................................................................................6 Exemplo 6 Linguagens Estruturadas...........................................................................................................7 Vantagens da utilizao de linguagens estruturadas...........................................................7 Redes de Comunicao .............................................................................................................8 Rede de comunicao ALNET I................................................................................................8 Caractersticas Principais..................................................................................................8 Rede ALNET II.........................................................................................................................9 Caractersticas Principais..................................................................................................9 Vantagens do uso de Controladores Programveis...................................................................10 I

Sumrio

Aplicaes tpicas de CPs........................................................................................................10 2 Introduo programao...........................................................................................................1 Lgicas de Programas...............................................................................................................1 Operandos da linguagem de rels...............................................................................................2 Grupos de Instrues...............................................................................................................13 Conceitos de programao estruturada....................................................................................18 Exemplo 1: Ligar e desligar uma lmpada...............................................................................43 Representao eltrica.....................................................................................................43 Equivalncia no diagrama de rels do CP........................................................................43 Programa "ladder"...........................................................................................................44 3 Instrues de Rels.......................................................................................................................1 Instrues Contato RNA e RNF, Ligaes Horizontal, Vertical e Negada e Bobina..................1 Exemplo 2: Intertravamento bsico de um motor...............................................................3 Modelos de UCP AL-2000/MSP...............................................................................................4 Modelos de UCP AL-600..........................................................................................................4 Modelos de UCP QUARK.........................................................................................................5 Modelos de UCP PICCOLO......................................................................................................5 Seqncia de operaes para soluo de exerccios...................................................................6 Exerccio 1: Transportador de peas com expulso automtica.........................................7 Exerccio complementar 1: Controle de nvel de lquido.....................................................8 Instrues Bobina Liga e Bobina Desliga..................................................................................9 Exemplo 3: Bobina Liga e Bobina Desliga.........................................................................9 Instruo Rel de Pulso.............................................................................................................9 Exemplo 4: Rel de Pulso................................................................................................10 Exerccio 2: Ligar e desligar um motor com apenas um pulso..........................................10 Exerccio complementar 2: Acionamento e reverso de um motor....................................10 Instrues Rel Mestre e Fim de Rel Mestre..........................................................................10 Exemplo 5: Rel Mestre e Fim de Rel Mestre.................................................................11 Instruo Bobina de Salto........................................................................................................12 Exemplo 6: Instruo Bobina de Salto.............................................................................13 4 Instrues Temporizador e Contador.........................................................................................1 Instruo Temporizador na Energizao....................................................................................1 Exemplo 7: Temporizador na Energizao ou "on delay"...................................................3 Instruo Temporizador na Desenergizao..............................................................................3 Exemplo 8: Temporizador na Desenergizao ou "off delay".............................................3 Temporizador Monoestvel.......................................................................................................4 Exemplo 9: Temporizador monoestvel.............................................................................4 Temporizador Astvel...............................................................................................................5 Exemplo 10: Temporizador astvel....................................................................................5 Temporizadores em Cascata......................................................................................................6 Exemplo 11: Temporizadores em cascata..........................................................................6 Instruo Contador ...................................................................................................................6 Exemplo 12: Contador.......................................................................................................8 Multiplicao de Bases de Tempo.............................................................................................9 Exemplo 13: Multiplicao de Bases de Tempo.................................................................9 Exerccio 3: Dispositivo de Separao e Contagem............................................................9 Exerccio complementar 3: Relgio..................................................................................10 5 Instrues Aritmticas.................................................................................................................1 Instruo Soma..........................................................................................................................1 II

Sumrio

Instruo Subtrao...................................................................................................................2 Instruo Multiplicao.............................................................................................................3 Instruo Diviso......................................................................................................................3 Exemplo 16: Executar as Quatro Operaes Carregando Valores do Teclado e Apresentando Resultados na IHM FOTON 3.....................................................5 Instruo "E" Binrio................................................................................................................6 Instruo "OU" Binrio.............................................................................................................8 Instruo "OU Exclusivo" Binrio.............................................................................................9 Exemplo 17: Instruo E, OU Binrio..........................................................................11 6 Instrues de Teste.......................................................................................................................1 Instruo Carrega Operando......................................................................................................1 Instrues de Comparao de Operandos..................................................................................2 7 Instrues de Movimentao.......................................................................................................1 Instruo MOV.........................................................................................................................1 Exemplo 19: Instruo MOV.............................................................................................2 Instruo MOP..........................................................................................................................3 Exemplo 20: Atualizao Imediata. de mdulos de E/S.....................................................5 Exerccio 4: Dispositivo de Furao..................................................................................5 Exerccio complementar 4: Fresadora................................................................................7 8 Solues dos Exerccios................................................................................................................1 Exerccio 1: Transportador de peas com expulso automtica.................................................1 Equivalncia no diagrama de rels do CP..........................................................................1 Programa "Ladder"............................................................................................................2 Exerccio 2: Ligar e desligar um motor com um pulso...............................................................3 Equivalncia no diagrama de rels do CP..........................................................................3 Programa "Ladder"............................................................................................................3 Exerccio 3: Dispositivo de Classificao e Contagem...............................................................4 Equivalncia no diagrama de rels do CP..........................................................................4 Programa "Ladder" ..........................................................................................................5 Exerccio 4: Dispositivo de Furao..........................................................................................6 Equivalncia no diagrama de rels do CP..........................................................................6 Programa "Ladder"............................................................................................................7

III

Prefcio

Terminologia
Nesta apostila, as palavras software e hardware so empregadas livremente, por sua generalidade e freqncia de uso. As expresses abaixo relacionadas so empregadas com freqncia no texto, evidenciando a necessidade de serem conhecidas para melhor compreenso. Os programadores MASTERTOOL e AL-3830: identificam os programas ALTUS para computador padro IBM-PC , permitem o desenvolvimento de aplicativos para CPs da srie PICCOLO, QUARK, AL-600 e AL-2000. Nesta apostila, estes programas sero referidos por sua sigla. Utiliza-se o termo UCP para designar somente a Unidade Central de Processamento, enquanto que o termo CP utilizado para Controladores Programveis representando a UCP mais os pontos de entrada e sada. Outras expresses podem ser encontradas no apndice A, Glossrio.

Prefcio

Convenes Utilizadas
Os smbolos utilizados ao longo deste manual possuem os seguintes significados: Este marcador indica uma lista de itens ou tpicos. indicam nomes de teclas, por exemplo ENTER.
MAISCULAS PEQUENAS

As mensagens de advertncia apresentam os seguintes formatos e significados: PERIGO: O rtulo PERIGO indica que risco de vida, danos pessoais graves ou prejuzos materiais substanciais resultaro se as precaues necessrias no forem tomadas. CUIDADO: O rtulo CUIDADO indica que risco de vida, danos pessoais graves ou prejuzos materiais substanciais podem resultar se as precaues necessrias no forem tomadas. ATENO: O rtulo ATENO indica que danos pessoais ou prejuzos materiais mnimos podem resultar se as precaues necessrias no forem tomadas. Contm informaes importantes sobre o produto, sua operao ou uma parte do texto para a qual se deve dar ateno especial.

Suporte Tcnico
Quaisquer dvidas sobre os produtos devem ser encaminhadas ao servio de suporte da SUPORTE. Os endereos e telefones podem ser encontrados na contra capa.

II

Captulo 1

Conceitos Bsicos de CPs

0 Introduo
Os cursos de programao oferecidos pela SUPORTE, tem como objetivo possibilitar aos seus usurios o alcance do domnio sobre os equipamentos ALTUS. Os cursos de programao de CPs so os seguintes: B1 - Curso de programao bsica dos CPs PICCOLO, QUARK, AL-600 e AL-2000 B2 - Curso de programao avanada dos CPs PICCOLO, QUARK, AL600 e AL-2000

Curso B1
Objetivos
O curso de programao bsica dos CPs PICCOLO, QUARK, AL-600 e AL2000/MSP aborda conceitos bsicos da utilizao de controladores programveis, sistemas de numerao (binrio, octal, decimal, hexadecimal), varredura de entradas e sadas, forma de execuo de programas no CP (lgicas), sistema de endereamento, conceitos bsicos de hardware, operao do terminal de programao, apresentao com exerccios das instrues bsicas da linguagem dos CPs PICCOLO, QUARK, AL-600 e AL-2000/MSP. So ressaltadas as diferenas da linguagem de programao, apresentando o conceito de programao estruturada, embora no utilizando intensamente o mesmo para no tornar complexo o curso que pretende ser introdutrio. O objetivo fixar nos alunos os conceitos bsicos de CPs e de sua programao, atravs apresentao de exemplos e da soluo de exerccios simples que permitem conhecimento da operao do terminal de programao. O aluno deve ser estimulado a consultar os manuais dos produtos aprendendo o seu contedo e fixando locais onde pode solucionar dvidas.

Pr-requisitos
Os pr-requisitos mnimos para que os alunos possam cursar satisfatoriamente o curso B1, so: Conceitos de eletricidade bsica; Conceitos de lgicas de rels;

Captulo 2

Conceitos Bsicos de CPs

1 Conceitos Bsicos de CPs

Histrico de CPs
Os primeiros controladores programveis foram introduzidos em controle industrial, no incio da dcada de 60, para substituir painis de controle a rels. Quando era necessrio inserir novos requisitos de controle, no era econmico modificar a lgica destes painis, o que acarretava, freqentemente, o projeto e aquisio de novos painis. CPs foram desenvolvidos para serem reprogramados, quando as alteraes de controle so necessrias, sem grandes modificaes no hardware, sendo ento equipamentos reutilizveis. Os CPs passaram a ser utilizados primeiramente na indstria automobilstica e, a partir da, nos outros segmentos industriais. Assim como a sua aceitao, tambm a demanda por mais funes, tais como maior capacidade de memria e de pontos E/S, cresceu. A maioria dos fabricantes respondeu positivamente a estes requisitos, introduzindo novos modelos de CPs, cobrindo aplicaes de pequeno (50-100 rels), mdio (150500 rels) e grande (500-3000 rels) nmero de pontos. Geralmente estes vrios modelos no eram compatveis uns com os outros; os mdulos de E/S no eram intercambiveis, exceto adicionando-se adaptadores, o que aumentava os custos e os problemas de manuteno. O advento do microprocessador, das facilidades de desenvolvimento de software e uma maior maturidade do mercado, deu aos CPs novo impulso. Na dcada de 80 surgiram microprocessadores e memrias mais compactos, permitindo a reduo de custos e tamanhos, com aumento de confiabilidade. Esta nova gerao de microprocessadores trouxe consigo a capacidade de interligao dos CPs entre si e com outros equipamentos (computadores) em redes industriais de comunicao, permitindo a informatizao das fbricas.

Captulo 2

Conceitos Bsicos de CPs

Conceitos Bsicos de CPs


Ponto de entrada
Considera-se cada sinal recebido pelo CP, a partir de dispositivos ou componentes externos (sensores), como um ponto de entrada para o CP. Ex.: microchaves, botes, termopares, rels, etc.

Ponto de sada
Cada sinal produzido pelo CP para acionar dispositivos ou componentes do sistema de controle (atuadores) constitui um ponto de sada. Ex.: lmpadas, solenides, motores, etc.

Programa
A lgica existente entre os pontos de entrada e de sada e que executa as funes desejadas, de acordo com o estado das entradas no CP, o programa.

Controlador programvel (CP)


um equipamento eletrnico digital com hardware e software compatveis com aplicaes industriais (conceito ABNT).

Conceito de bit, byte, nibble e palavra


Bit
Bit (Binary DigiT) a unidade para o sistema de numerao binrio. Um bit a unidade bsica de informao e pode assumir o valor "0" ou "1". 1 bit 1

Nibble
Nibble a unidade formada por 4 bits consecutivos. 1 nibble = 4 bits

Captulo 2

Conceitos Bsicos de CPs

Byte
Byte uma unidade constituda de 8 bits consecutivos. Em um CP por exemplo o estado das entradas de um mdulo digital de 8 pontos pode ser armazenado em um byte. 1 byte = 8 bits = 2 nibbles

Palavra
Uma palavra um conjunto de 2 bytes consecutivos. No CP por exemplo, os valores numricos resultados de operaes aritmticas, contagens ou temporizaes so armazenados em palavras. 1 palavra = 16 bits = 4 nibbles = 2 bytes

Sistemas de Numerao
Os CPs, como todos os computadores, somente conseguem manipular valores representados no sistema binrio.

Nmeros decimais
Dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Base: 10 Posio do algarismo no nmero: potncias de 10 Exemplo: n 456 = (4 x 102 )+(5 x 101 )+(6 x 100)

Nmeros binrios
Dgitos: 0,1 Base: 2 Posio do algarismo no nmero: Potncias de 2 Exemplo: n 110011 = (1 x 25)+(1 x 24)+(0 x 23)+(0 x 22)+(1 x 21)+(1 x 20) = 51D

Nmeros Hexadecimais
Dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Base: 16 Posio do algarismo no nmero: Potncias de 16 Exemplo: n 1CD = (1 x 162)+(12 x 161)+(13 x 160) = 461D 3

Captulo 2

Conceitos Bsicos de CPs

Nmeros BCD ( decimais codificados em binrio)


Dgitos: Nmeros Decimais 0 1 2 3 4 5 6 7 8 9 Exemplo: 0000 0 x 10 0 0101 5 x 10 500 Nmeros Binrios 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 1 x 10
1

0011 3 x 10 3

10

= 513D

Componentes de CP
Terminal de Programao
Memria Memria de de

Proces-

Entradas Sadas
Fonte de Alimentao Externa

Dispositivo de Campo

sador Programa Dados


Fonte de Alimentao Interna

Figura 2-1 Componentes de um CP.

Terminal de Programao
O terminal de programao um dispositivo que conectado temporariamente ao CP permite introduzir o programa de usurio. Utiliza-se o terminal de programao para efetuar modificaes em programas ou para permitir ao pessoal de manuteno o exame do estado dinmico de um sistema de controle. possvel, atravs deste equipamento, verificar a operao prpria ou imprpria de qualquer parte do sistema de controle, acompanhando todos os passos do programa em tempo real.

Unidade Central de Processamento (UCP)


A UCP a unidade "inteligente do CP. Na UCP so tomadas todas as decises para controle da mquina ou processo, ela recebe os dados de entrada, 4

Captulo 2

Conceitos Bsicos de CPs

realiza as decises lgicas baseada no programa armazenado e atualiza as sadas.

Entradas e sadas (E/S)


Elementos (mdulos) responsveis pela interface dos CPs com o ambiente externo realizando tarefa de filtragem dos sinais adaptao de nveis de tenso e corrente.

Dispositivos de campo
So os elementos do sistema de controle necessrios para obteno de informaes (sensores) e atuao (atuadores) do processo.

Princpio de funcionamento de um CP
Um CP realiza continuamente um ciclo de varredura que consiste em: 1. Leitura de entradas; 2. Execuo do programa, que consiste em calcular novas sadas em funo das entradas, de acordo com a seqncia de instrues; 3. Atualizao das sadas. A figura 2.2, mostra o ciclo bsico de varredura de um CP, o tempo tpico para execuo de uma varredura de 20 ms.

Figura 2-2 Ciclo de varredura de um CP

Captulo 2

Conceitos Bsicos de CPs

Linguagens de rels e blocos


Caractersticas
Representao grfica Facilidade de compreenso Linguagem mais utilizada no mundo

Exemplo

Figura 2-3 Exemplo de programa "ladder

Captulo 2

Conceitos Bsicos de CPs

Linguagens Estruturadas

Figura 2-4 Ciclo de varredura linguagens estruturadas

Vantagens da utilizao de linguagens estruturadas


Organizao; Desenvolvimento de bibliotecas de rotinas utilitrias para utilizao em vrios programas; Facilidade de manuteno; Simplicidade de documentao e entendimento por outras pessoas alm do autor do software.

Captulo 2

Conceitos Bsicos de CPs

Redes de Comunicao Rede de comunicao ALNET I

Figura 2-5 Rede ALNET I

Caractersticas Principais
Protocolo mestre-escravo (mestre o microcomputador); Determinstica; Velocidade 9600 bauds; Topologia de barramento; Distncia mxima 1 km (AL-1410) ou 2 km (AL-1413); At 32 nodos; CPs Piccolo, Quark, AL-600 e AL-2000 Drivers de comunicao desenvolvidos para os principais softwares de superviso do mercado internacional;

Captulo 2

Conceitos Bsicos de CPs

Rede ALNET II

Figura 2-6 Rede ALNET II

Caractersticas Principais
Protocolo multimestre determinstico; Velocidade programvel at 1Mbaud; Distncia mxima 2 km no mesmo barramento (sub-rede); CPs da srie QK-2000, AL-2000/MSP e AL-2002/MSP; Capacidade de interligao com equipamentos com diferentes protocolos de comunicao atravs de "gateways" programveis; "Drivers" de comunicao desenvolvidos para os principais softwares de superviso do mercado internacional; Possibilidade de utilizao de fibras ticas;

Captulo 2

Conceitos Bsicos de CPs

Vantagens do uso de Controladores Programveis


Os CPs oferecem um considervel nmero de benefcios para aplicaes na indstria. Estes benefcios podem resultar em economia que excede o custo do CP em s e devem ser considerados quando da seleo de um dispositivo de controle industrial. As vantagens da utilizao de CPs, se comparados a outros dispositivos de controle industrial incluem: Menor ocupao de espao; Potncia eltrica requerida menor; Reutilizao; Programvel, se ocorrerem mudanas de requisitos; Confiabilidade maior; Manuteno mais fcil; Maior flexibilidade, satisfazendo um nmero maior de aplicaes; Permite a interface atravs de rede de comunicao com outros CPs e com microcomputadores; Projeto do sistema mais rpido.

Aplicaes tpicas de CPs


Praticamente no existem ramos de aplicaes industriais onde no existam aplicaes de CPs, algumas aplicaes tpicas so: Mquinas industriais (operatrizes, injetoras de plstico, txteis, calados, etc.); Equipamentos industriais para processos (siderurgia, papel e celulose, pneumticos, dosagem e pesagem, fornos, etc.); Equipamentos para controle de energia (demanda, fator de carga); Controle de processos com realizao de sinalizao, intertravamento e laos PID; Aquisio de dados de superviso em: fbricas, prdios inteligentes, dispositivos que necessitem de controle remoto, etc.; Bancadas de teste automtico de componentes industriais.

10

Captulo 3

Introduo Programao

2 Introduo programao

Lgicas de Programas
Chama-se lgica a matriz de programao formada por 32 clulas (elementos da matriz) dispostas em 4 linhas (0 a 3) e 8 colunas (0 a 7). Em cada uma das clulas podem ser colocadas instrues, podendo-se programar at 32 instrues em uma mesma lgica.
Cada lgica presente no programa simula um pequeno trecho de um diagrama de rels real. A figura 3-1 mostra o formato de uma lgica do programa aplicativo.

Figura 3-1 Formato de uma lgica

As duas linhas laterais da lgica representam barras de energia entre as quais so colocadas as instrues a serem executadas. Esto disponveis para a programao instrues simblicas tipicamente encontradas em diagramas, tais como contatos, bobinas, ligaes e instrues representadas em caixas, como temporizadores, contadores e aritmticas. A lgica deve ser programada de forma que bobinas e entradas das instrues de caixas sejam "energizadas" a partir do fechamento de um fluxo de "corrente" da esquerda para a direita entre as duas barras, atravs de contatos ou das sadas das caixas interligados. Entretanto, o fluxo de "corrente eltrica" simulado em uma lgica flui somente no sentido da barra de energia esquerda para a direita, diferentemente dos esquemas eltricos reais. O conceito utilizado simplifica sobremaneira o projeto lgico de rels, uma vez que no necessrio a preocupao com caminhos de fuga de corrente. O processamento das instrues de uma lgica realizado em colunas, desde a coluna 0 at a 7. Uma coluna processada na ordem seqencial de suas linhas, desde a linha 0 at a linha 3. A figura 3-2 mostra a ordem de processamento das clulas da lgica. O nmero existente dentro de cada clula indica a sua ordem de processamento.

Captulo 3

Introduo Programao

Figura 3-2 Ordem de Processamento das Clulas na Lgica

Operandos da linguagem de rels


Operandos so elementos utilizados pelas instrues do MASTERTOOL na elaborao de um programa aplicativo. Os operandos podem definir valores constantes, definidos no momento da programao, ou variveis, identificados atravs de um endereo ou de um tag, com valores possveis de serem alterados durante a execuo do programa aplicativo.

Identificao de um Operando pelo Endereo


A identificao e utilizao de um operando pelo seu endereo caracterizada pelo caractere % como primeiro caractere do nome. O restante do nome utilizado deve seguir s regras de formatao de endereo de operandos. O formato de cada operando pode ser visto na seo Identificao de Operandos Simples e nas subseqentes, neste mesmo captulo.

Identificao de um Operando pelo Tag


A identificao e utilizao de um operando pelo seu tag caracterizada pela utilizao de um nome, com at 7 caracteres (alfanumricos), que pode ser atribudo a qualquer operando, exceto constantes. Este nome passa a representar o operando nos processos de programao, monitorao, depurao e documentao de um programa aplicativo. Ex.: Atribui-se o tag CONT1 ao operando %M0000. Sempre que o operando %M0000 necessite ser utilizado na edio do programa aplicativo, pode-se utilizar o seu tag CONT1. A escolha do nome do tag para o operando deve refletir ao mximo a funo que o contedo do operando executa no programa aplicativo. Ex.: LIMSUP1, armazena o valor limite superior do processo 1. A identificao de um operando pelo seu endereo poder ser feita sempre, uma vez que todo operando possui um endereo. A identificao de um operando pelo seu tag, somente poder ser feita aps atribuio do tag a um operando. A atribuio de tags operandos pode ser feita atravs do comando Operandos do menu Relatrio ou diretamente no momento da programao. No segundo caso, ao preencher o nome de um operando de uma instruo com um tag no existente, indicada a inexistncia da definio do tag, e solicitado o tipo de operando para qual o tag deve ser criado.

Operandos Utilizados no MASTERTOOL


So mostrados na tabela 3-3 os operandos disponveis no MASTERTOOL: 2

Captulo 3

Introduo Programao

Tipo
%E %S %R %A %M %D %KM %KD %TM %TD

Operando
Rels de Entrada Rels de Sada Endereo no Barramento Rels Auxiliares Memrias Decimais Constantes Memrias Constantes Decimais Tabelas Memrias Tabelas Decimais
Tabela 3-3 Operandos Utilizados no MASTERTOOL

Os operandos dividem-se em 3 grupos: operandos simples operandos constante operandos tabela

Identificao dos Operandos Simples

Os operandos simples so utilizados como variveis de armazenamento de valores no programa aplicativo. Conforme a instruo que os utilizam, eles podem ser referenciados na sua totalidade ou em uma subdiviso (uma parte do operando). As subdivises de operandos podem ser palavra, octeto , nibble ou ponto.

O formato geral de um operando simples pode ser visto na figura 3-4

% 0 XXXX S E
endereo da subdiviso (hexadecimal-opcional) tipo da subdiviso (,. ,h , n ,b ,w - opcional) endereo do operando (decimal) tipo do operando (E, S, A, R, M, D) identificador de endereo de operando
Figura 3-4 Formato de um Operando Simples

Tipo do operando: %E - entrada %S - sada %A - auxiliar %R - endereo no barramento %M - memria %D - decimal

Tipo da subdiviso: . - ponto da palavra baixa (1 ponto) h - ponto da palavra alta (1 ponto) n - nibble (4 pontos) b - octeto (8 pontos) 3

Captulo 3

Introduo Programao

w - palavra (16 pontos) Exemplos de Endereos: %E0002.3 - ponto 3 do operando de entrada 2 %S0004.7 - ponto 7 do operando de sada 4 %A0039n1 - nibble 1 do operando auxiliar 39 %A0045 - octeto auxiliar 45 %M0205 - operando memria 205 %M0205b0 - octeto 0 da memria 205 %D0029 - operando decimal 29 %D0034w1 - palavra 1 do decimal 34 Exemplos de Tags: FORNO LIMSUP CHAVE1

Identificao dos Operandos Constante

Os operandos constante so utilizados para a definio de valores fixos durante a edio do programa aplicativo. O formato geral de um operando constante pode ser visto na figura 3-5.

% K 0 +/- XXXX
valor da constante (decimal) sinal da constante (positivo ou negativo) tipo da constante (M ou D) smbolo de constante (K) identificador de endereo de operando
Figura 3-5 Formato de um Operando Constante

Tipo da constante: %M memria %D decimal Exemplos: %KM+05172 - constante memria positiva %KD-0974231 - constante decimal negativa

Identificao dos Operandos Tabela

Tabelas de operandos so conjuntos de operandos simples, constituindo arranjos unidimensionais. So utilizados ndices para determinar a posio da tabela que se

deseja ler ou alterar. So possveis tabelas de operandos memria ou decimal. O formato geral de um operando tabela pode ser visto na figura 3-6.

Captulo 3

Introduo Programao

% T 0 XXXX
endereo da tabela (decimal) tipo de tabela (M ou D) smbolo da tabela (T) identificador de endereo de operando
Figura 3-6 Formato de um Operando Tabela

Tipo da tabela: %TM memria %TD decimal Exemplos: %TM0026 - tabela memria 26 %TD0015 - tabela decimal 15

Operandos %E - Rels de Entrada

So operandos usados para referenciar pontos de mdulos digitais de entrada. Sua quantidade determinada pelo nmero de mdulos de E/S que esto dispostos nos bastidores que compem o sistema. Ver item Configurando o Barramento no final deste captulo.
Os operandos %E so utilizados em instrues binrias (contatos, bobinas) e de movimentao. Ocupam um byte de memria (8 bits), armazenando os valores dos pontos diretamente em cada bit. Os valores dos operandos so armazenados na memria interna do microprocessador, no utilizando o espao disponvel ao programa aplicativo.

Os formatos dos operandos %E podem ser vistos na figura 3-7.

% E XXXX % E XXXX n X % E XXXX . X

- octeto de entrada (8 pontos) - nibble de entrada (4 pontos - n0 a n3) - ponto de entrada (1 ponto - .0 a .7) endereo da subdiviso tipo de subdiviso endereo do operando

Figura 3-7 Formatos dos Operandos %E

Exemplos: %E0018.6 - ponto 6 do octeto de entrada 18 %E0021n0 - nibble 0 do octeto de entrada 21 %E0025 - octeto de entrada 25

Operandos %S - Rels de Sada

So operandos usados para referenciar pontos de mdulos digitais de sada.


Sua quantidade determinada pelo nmero de mdulos de E/S que esto dispostos nos bastidores que compem o sistema. Ver item Configurando o Barramento no

final deste captulo.


Os operandos %S so utilizados em instrues binrias (contatos, bobinas) e de movimentao. Ocupam um byte de memria (8 bits), armazenando os valores dos

Captulo 3

Introduo Programao

pontos diretamente em cada bit. Os valores dos operandos so armazenados na memria interna do microprocessador, no utilizando o espao disponvel ao programa aplicativo.

Os formatos dos operandos %S podem ser vistos na figura 3-8.

% S XXXX % S XXXX n X % S XXXX . X

- octeto de sada (8 pontos) - nibble de sada (4 pontos - n0 a n3) - ponto de sada (1 ponto - .0 a .7) endereo da subdiviso tipo de subdiviso endereo do operando

Figura 3-8 Formatos dos Operandos %S

Exemplos: %S0011.2 - ponto 2 do octeto de sada 11 %S0010n1 - nibble 1 do octeto de sada 10 %S0015 - octeto de sada 15

Operandos %A - Rels Auxiliares

Os rels auxiliares so operandos usados para armazenamento e manipulao de valores binrios intermedirios no processamento do programa aplicativo. Sua quantidade nos controladores fixa (ver seo Declarao de Operandos neste mesmo captulo).
Operandos %A so utilizados em instrues binrias (contatos, bobinas) e de movimentao. Ocupam um byte de memria (8 bits), armazenando valores diretamente em cada bit. Os valores dos operandos so armazenados na memria interna do microprocessador, no utilizando o espao disponvel ao programa aplicativo.

Os formatos dos Operandos %A podem ser vistos na figura 3-9.

% A XXXX % A XXXX n X % A XXXX . X

- octeto de auxiliar (8 pontos) - nibble de auxiliar (4 pontos - n0 a n3) - ponto de auxiliar (1 ponto - .0 a .7) endereo da subdiviso tipo da subdiviso endereo do operando

Figura 3-9 Formatos dos Operandos %A

Exemplos: %A0032.7 - ponto 7 do auxiliar de sada 32 %A0087n1 - nibble 1 do auxiliar de sada 87 %A0024 - octeto auxiliar 24

Operandos %R - Endereos no Barramento


6

Captulo 3

Introduo Programao

So operandos usados para referenciar pontos ou octetos no barramento de mdulos de entrada e sada do controlador. Estes operandos representam apenas endereos do barramento, no armazenando valores nem ocupando espao de memria. So utilizados em algumas instrues ou funes que realizam acessos a mdulos. Os formatos dos operandos %R podem ser vistos na figura 3-10.

% R XXXX % R XXXX

- octeto do barramento (8 pontos)

. X

- ponto do barramento (1 ponto - .0 a .7) endereo da subdiviso tipo da subdiviso endereo do operando

Figura 3-10 Formatos dos Operandos %R

Nos CPs AL-3003, AL-3004 e nos barramentos 0 e 1 do AL-2002/MSP, cada posio no barramento corresponde a 8 octetos de operandos %R. Desta forma, na posio 0 tem-se os operandos %R0000 a %R0007; na posio 1, %R0008 a %R0015, e assim por diante. Para se obter o primeiro operando de uma posio do barramento, basta calcular: Endereo do Octeto = Posio no Barramento X 8 Nos CPs AL-600, AL-2000/MSP, QK800, QK801, QK2000/MSP e nos barramentos de 2 a 9 do AL-2002/MSP, cada posio no barramento corresponde a 2 octetos de operandos %R. Desta forma, na posio 0 tem-se os operandos %R0000 e %R0001; na posio 1, %R0002 e %R0003, e assim por diante. Para se obter o primeiro operando de determinada posio do barramento, basta calcular: Endereo do Octeto = Posio no Barramento X 2 Os endereos para cada posio do barramento so automaticamente mostrados na janela de declarao do barramento na coluna Endereos (ver item Configurando o Barramento no final deste captulo.). Exemplos: %R0026 - octeto 26 do barramento %R0015.7 - ponto 7 do octeto 15 do barramento

Operandos %M - Memrias
11.

Os operandos %M so usados para processamento numrico, armazenando valores em preciso simples, com sinal. Os formatos dos operandos %M podem ser vistos na figura 3-

% % % %

M M M M

XXXX XXXX b X XXXX n X XXXX . X

- operando memria (16 pontos) - octeto de memria (8 pontos - b0 a b1) - nibble de memria (4 pontos - n0 a n3) - ponto de memria (1 ponto - .0 a .F) endereo da subdiviso tipo da subdiviso endereo do operando

Captulo 3

Introduo Programao

Figura 3-11 Formatos dos Operandos %M

A quantidade de operandos memria configurvel na declarao do mdulo C, sendo o limite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos neste mesmo captulo). Os operandos %M so utilizados em instrues de movimentao, comparao, aritmticas, contagem, temporizao e de converso. Podem ser utilizados em contatos, da mesma forma que os operandos %E, %S e %A. Estes operandos ocupam dois bytes de memria (16 bits), armazenando o valor no formato complemento de dois (2'), conforme a figura 3-12.

Figura 3-12 Formato do Operando Memria

Exemplos: %M0032 - memria 32 %M0064b0 - octeto 0 da memria 64 %M0072n1 - nibble 1 da memria 72 %M0084.F - ponto 15 da memria 84

Operandos %D - Decimais

Os operandos %D so usados para processamento numrico, armazenando valores em formato BCD com at 7 dgitos e sinal. Os formatos dos operandos %D podem ser vistos na figura 3-13.

% % % % % %

D D D D D D

XXXX XXXX XXXX XXXX XXXX XXXX

- operando decimal (32 pontos)

w b n . h

X X X X X

- palavra de decimal (16 pontos - w0 a w1) - octeto de decimal (8 pontos - b0 a b3) - nibble de decimal (4 pontos - n0 a n7) - ponto na palavra 0 (1 ponto - .0 a .F) - ponto na palavra 1 (1 ponto - h0 a hF) endereo da subdiviso tipo da subdiviso endereo do operando

Figura 3-13 Formatos dos Operandos %D

A quantidade de operandos decimal configurvel na declarao do mdulo C, sendo o limite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos neste mesmo captulo). Os operandos %D so utilizados em instrues de movimentao, comparao, aritmticas, e converso. Podem ser utilizados em contatos, da mesma forma que os operandos %E, %S e %A. Estes operandos ocupam quatro bytes de memria (32 bits), armazenando o valor no formato BCD (cada dgito ocupa 4 bits), com sinal, conforme a figura 3-14.

Captulo 3

Introduo Programao

Figura 3-14 Formato do Operando Decimal

Exemplos: %D0041 - decimal 41 %D0023b2 - octeto 2 do decimal 23 %D0059n6 - nibble 6 da memria 59 %D0172hA - ponto 10 da palavra 1 da memria 172

Operandos %KM e %KD - Constantes

So operandos usados para a definio de valores fixos na elaborao do programa aplicativo. Existem dois tipos de constante, %KM e %KD, cada um seguindo um formato diferente de representao de valores, sendo idnticos aos operandos %M e %D, respectivamente. O formato dos operandos constantes pode ser visto na figura 3-15.

% K 0 +/- XXXX
valor da constante (decimal) sinal da constante (positivo ou negativo) tipo da constante (M ou D) smbolo de constante (K) identificador de endereo de operando
Figura 3-15 Formato dos Operandos Constantes

Estes operandos so utilizados em instrues de movimentao, comparao, aritmticas, contagem e de temporizao. Exemplos: %KM+00241 - constante memria + 241 %KD-0019372 - constante decimal - 19.372

Operandos %TM e %TD - Tabelas

Tabelas de operandos so conjuntos de operandos simples, constituindo arranjos unidimensionais com a finalidade de armazenar valores numricos.
Cada tabela possui uma quantidade de posies configurvel, onde cada posio pode conter exatamente os mesmos valores de um operando %M ou %D se a tabela for do tipo %TM ou %TD, respectivamente.

O formato dos operandos tabelas pode ser visto na figura 3-16.

% T 0 XXXX
endereo da tabela (decimal) tipo de tabela (M ou D) smbolo da tabela (T) identificador de endereo de operando
Figura 3-16 Formato dos Operandos Tabelas

A quantidade de tabelas e o nmero de posies de cada uma configurvel na declarao do mdulo C. Podem ser definidas at 255 tabelas totais e at o mximo de 255 posies em cada tabela, respeitando-se o limite da memria de operandos do CP. As tabelas so utilizadas em instrues de movimentao. 9

Captulo 3

Introduo Programao

Acesso Indireto

Esta forma de acesso usada em conjunto com um operando memria %M para referenciar indiretamente outros operandos do sistema. O sinal *, colocado na frente de um tipo de operando, indica que este referenciado pelo endereo contido na memria especificada esquerda do sinal. O formato do acesso indireto pode ser visto na figura 3-17.

Figura 3-17 Formato de um Acesso Indireto

No MASTERTOOL, o acesso indireto s tabelas representado sem o asterisco. So utilizados em instrues de movimentao, comparao, contagem e de temporizao. Exemplos: %M0043*E - octeto de entrada referenciada indiretamente pela memria 43 %M1824*A - octeto auxiliar referenciado indiretamente pela memria 1824 %M0371TD - tabela de decimais referenciada indiretamente pela memria 371 %M0009*M - operando memria referenciado indiretamente pela memria 9 Exemplo:

habilita

+--MOV---+ | | ---| %KM+ |--- sucesso | 00431 | | | |%M0009*M| | | +--------+

Esta instruo movimenta o valor +431 para o operando memria cujo endereo o valor correntemente armazenado em %M0009. Se %M0009 contiver o valor 32, ento o valor +431 ser armazenado em %M0032. Se %M0009 contiver o valor 12 ento o valor constante ser armazenado em %M0012. ATENO: responsabilidade do programa aplicativo que o valor contido na memria de referncia (%M0009, no exemplo) represente endereos vlidos, no contendo valores negativos ou muito altos, acima dos endereos existentes para o tipo de operando referenciado indiretamente. As instrues no realizam os acessos indiretos invlidos, normalmente possuindo um sinal de sada para a indicao do erro.
Se no programa do exemplo anterior houvessem sido declarados 256 operandos %M, o valor de %M0009 deveria estar entre 0 e 255 para que a instruo fosse corretamente executada. Caso o valor no estivesse nesta faixa, o acesso no seria realizado.

10

Captulo 3

Introduo Programao

Declarao de Operandos

Os operandos %E, %S e %A ocupam reas de memrias prprias, permanentemente reservadas no microprocessador do CP. A quantidade destes operandos nos controladores, portanto, constante. Os operandos %R no ocupam espao em memria, sendo apenas endereos para o acesso aos barramentos. Por representarem valores fixos, os operandos constante (%KM e %KD) tambm no ocupam espao em memria, sendo armazenados no prprio programa aplicativo na etapa de programao. No h limites no nmero de operandos constante utilizados no programa. Pode-se declarar a quantidade de operandos %M, %D, %TM e %TD, ocupando estes uma rea de memria RAM prpria da UCP em uso. A tabela 3-18 mostra a capacidade mxima de memria para o armazenamento destes operandos em cada controlador. Os operandos %E, %S e %A no ocupam esta rea. Controlador AL-600 AL-3003 AL-3004 AL-2000/MSP AL-2002/MSP QK800 QK801 QK2000 Memria de Operandos %M, %D, %TM e %TD 8 Kbytes 11,5 Kbytes 11,5 Kbytes 15,5 Kbytes 15,5 Kbytes 15,5 Kbytes 15,5 Kbytes 15,5 Kbytes

Tabela 3-18 Capacidade de Memria dos Operandos Numricos do CP

A declarao dos operandos realizada atravs da janela de edio do mdulo C do MASTERTOOL, sendo armazenada no mdulo C. A quantidade de operandos declarada deve se adequar capacidade mxima de memria disponvel. Ver itens Configurando Operandos Simples, Configurando Operandos Tabelas e Configurando Operandos Retentivos na seo Configurando o Mdulo C no final deste captulo.

A reserva dos operandos %M e %D realizada em blocos de 256 bytes. No caso de operandos memria, esta quantidade corresponde a 128 operandos. Em operandos decimais, corresponde a 64 operandos. Os operandos %TM e %TD so declarados informando-se o nmero de tabelas necessrio para cada tipo e o nmero de posies que cada tabela contm. possvel a definio de at 255 tabelas totais e at 255 posies para uma tabela, respeitando-se o limite da memria RAM de operandos. A tabela 3-19 mostra o espao de memria ocupado por cada tipo de operando e onde os seus valores so armazenados. Operando %E - entrada %S - sada %A - auxiliar %R - barramento %KM - constante M %KD - constante D %M - memria %D - decimal %TM - tabela M %TD - tabela D Ocupao de Memria 1 byte 1 byte 1 byte 2 bytes 4 bytes 2 bytes por posio 4 bytes por posio Localizao microprocessador microprocessador microprocessador RAM de operandos RAM de operandos RAM de operandos RAM de operandos 11

Captulo 3

Introduo Programao

Tabela 3-19 Ocupao de Memria e Localizao dos Operandos

As tabelas 3-20 e 3-21 mostram a quantidade de operandos disponvel para cada controlador. O nmero total de 64 octetos para os CPs AL-2000/MSP e AL-3003 inclui entradas e sadas simultaneamente, de acordo com a configurao de mdulos de entrada e sada utilizada no barramento. Portanto, a soma do nmero de operandos %E com %S deve ser menor ou igual a este limite.
Operando %E entrada %S sada %A auxiliar %R barramento %M memria %D decimal %TM tabela memria %TD tabela decimal AL-600 %E0000 a %E0031 %S0000 a %S 0031 %A0000 a %A0095 %R0000 a %R0031 %M0000 a %M4095 %D0000 a %D2047 4096 posies totais 2048 posies totais AL-3003 %E0000 a %E0063 %S0000 a %S0063 %A0000 a %A0095 %R0000 a %R0127 %M0000 a %M5887 %D0000 a %D2943 5888 posies totais 2944 posies totais AL-3004 %E0000 a %E0005 %S0006 a %S0009 %A0000 a %A0095 %R0000 a %R0127 %M0000 a %M5887 %D0000 a %D2943 5888 posies totais 2944 posies totais AL-2000 %E0000 a %E0063 %S0000 a %S0063 %A0000 a %A0095 %R0000 a %R0063 %M0000 a %M7935 %D0000 a %D3967 7936 posies totais 3968 posies totais

Tabela 3-20 Quantidade Mxima de Operandos

Operando %E entrada %S sada %A auxiliar %R barramento %M memria %D decimal %TM tabela memria %TD tabela decimal

AL-2002 %E0000 a %E0063 %S0000 a %S0063 %A0000 a %A0095 %R0000 a %R0511 %M0000 a %M7935 %D0000 a %D3967 7936 posies totais 3968 posies totais

QK800 %E0000 a %E0031 %S0000 a %S0031 %A0000 a %A0095 %R0000 a %R0031 %M0000 a %M7935 %D0000 a %D3967 7936 posies totais 3968 posies totais

QK801 %E0000 a %E0063 %S0000 a %S0063 %A0000 a %A0095 %R0000 a %R0063 %M0000 a %M7935 %D0000 a %D3967 7936 posies totais 3968 posies totais

QK2000 %E0000 a %E0063 %S0000 a %S0063 %A0000 a %A0095 %R0000 a %R0063 %M0000 a %M7935 %D0000 a %D3967 7936 posies totais 3968 posies totais

Tabela 3-21 Quantidade Mxima de Operandos

A tabela especifica ainda a quantidade mxima possvel de operandos %M, %D, %TM e %TD com a memria de operandos utilizada totalmente por cada tipo, sem a declarao dos demais. Caso 12

Captulo 3

Introduo Programao

sejam declarados dois ou mais tipos diferentes de operandos em um programa aplicativo, o nmero mximo possvel para cada tipo ser diferente dos valores apresentados.

Operandos Retentivos

Operandos retentivos so operandos que tm seus valores preservados quando a UCP desenergizada (desligada). Os operandos no retentivos tm o seu valor zerado no momento em que o controlador programvel ligado. Todos os operandos tabela so sempre retentivos. possvel configurar a quantidade de operandos %M (memria), %D (decimal), %S (sada) e %A (auxiliar) retentivos.
Os operandos retentivos so configurados a partir dos ltimos endereos at os iniciais, obedecendo a mesma regra dos operandos simples. Ou seja, a re serva

realizada em blocos de 256 bytes para operandos numricos. A declarao dos operandos %S e %A realizada de octeto em octeto. Por exemplo, se existem 512 operandos %M declarados (%M0000 a %M0511) e deseja-se que 128 desses operandos sejam retentivos, sero considerados retentivos os operandos %M0384 ao %M0511.
Ver item Configurando Operandos Retentivos na seo Configurando o Mdulo C no final deste captulo.

Grupos de Instrues
Os CPs ALTUS utilizam a linguagem de rels e blocos para a elaborao do programa aplicativo, cuja principal vantagem, alm de sua representao grfica, ser similar a diagramas de rels convencionais. A programao desta linguagem, realizada atravs do MASTERTOOL, utiliza um conjunto de poderosas instrues apresentadas no captulo 3 Referncia das Instrues, neste manual. As instrues do MASTERTOOL podem ser divididas em 7 grupos: RELS contendo as instrues: RNA contato normalmente aberto RNF contato normalmente fechado BOB bobina simples BBL bobina liga BBD bobina desliga SLT bobina de salto PLS rel de pulso RM rel mestre FRM fim de rel mestre MOVIMENTADORES contendo as instrues: MOV movimentao de operandos simples MOP movimentao de partes de operandos MOB movimentao de blocos de operandos MOT movimentao de tabelas de operandos MES movimentao de entradas ou sadas CES converso de entradas ou sadas AES atualizao de entradas ou sadas CAB carrega bloco de constantes 13

Captulo 3

Introduo Programao

ARITMTICOS contendo as instrues: SOM soma SUB subtrao MUL multiplicao DIV diviso AND funo "e" binrio entre operandos OR funo "ou" binrio entre operandos XOR funo "ou exclusivo" binrio entre operandos CAR carrega operando = igual < menor > maior CONTADORES contendo as instrues: CON contador simples COB contador bidirecional TEE temporizador na energizao TED temporizador na desenergizao CONVERSORES contendo as instrues: B/D converso binrio - decimal D/B converso decimal - binrio A/D converso analgico - digital D/A converso digital analgico

GERAIS contendo as instrues: LDI liga ou desliga pontos indexados TEI teste de estado de pontos indexados SEQ seqenciador CHP chama mdulo procedimento CHF chama mdulo funo ECR escrita de operandos em outro CP LTR leitura de operandos de outro CP LAI libera atualizao de imagem de operandos LIGAES contendo as instrues: LGH ligao horizontal LGV ligao vertical LGN ligao negada

Restries Quanto ao Uso de Instrues nos CPs

A linguagem de rels e blocos perfeitamente compatvel entre os CPs programados pelo MASTERTOOL. Devido a caractersticas de funcionamento, contudo, algumas instrues no esto disponveis em todos os controladores. Na tabela 3-22 esto relacionadas as instrues e os controladores nos quais as mesmas no podem ser utilizadas. 14

Captulo 3

Introduo Programao

- indica que o CP possui a instruo - indica que o CP no possui a instruo Instruo CES A/D D/A ECR LTR LAI AL-600 AL-3003 AL-3004 QK800 QK801

Tabela 3-22 Instrues Inexistentes em Determinados CPs

O MASTERTOOL no permite inserir no programa aplicativo uma instruo que no possa ser executada no CP para o qual est configurado. ATENO: Ao editar um mdulo de programa aplicativo, o tipo de UCP declarado no item Modelo de UCP da janela de edio do mdulo C deve ser o da UCP onde o programa ser executado. ATENO:
Caso se deseje mudar o tipo de UCP para outro, aps o programa estar editado, devese procurar e remover as instrues que no podem ser utilizadas no novo tipo de UCP. Este procedimento deve ser realizado em todos os mdulos do programa.

Representao Grfica das Instrues

Nas figuras a seguir esto representadas as configuraes mximas de entradas e sadas em cada tipo, no sendo necessariamente todas utilizadas em uma determinada instruo. Instrues com uma clula +----INS---+ entrada -----| OPER |----- sada +----------+ +----------+ entrada -----| INS |---- sada +----------+ Instrues com duas clulas +---INS----+ entrada 1 ---| OPER 1 |--- sada 1 | | entrada 2 ---| OPER 2 |--- sada 2 +----------+ Instrues com trs clulas 15

Captulo 3

Introduo Programao

+---INS----+ entrada 1 ---| OPER 1 |--- sada 1 | | entrada 2 ---| OPER 2 |--- sada 2 | | entrada 3 ---| OPER 3 |--- sada 3 +----------+ Instrues com quatro clulas +---INS----+---------+ entrada 1 ---| OPER 1 | OPER 3 |--- sada 1 | | | entrada 2 ---| OPER 2 | OPER 4 |--- sada 2 +----------+---------+

Instrues com seis clulas +---INS----+---------+ entrada 1 ---| OPER 1 | OPER 4 |--- sada 1 | | | entrada 2 ---| OPER 2 | OPER 5 |--- sada 2 | | | entrada 3 ---| OPER 3 | OPER 6 |--- sada 3 +----------+---------+

Descrio da Sintaxe das Instrues

A descrio dos operandos possveis de serem programados nas clulas de cada instruo realizada de acordo com o formato mostrado na figura 3-23.

OPER 1 LISTA DE OPERANDOS POSSVEIS NA CLULA

OPER 2 LISTA DE OPERANDOS POSSVEIS NA CLULA

OPER 3 LISTA DE OPERANDOS POSSVEIS NA CLULA

Figura 3-23 Formato da Sintaxe das Instrues

Vrias combinaes diferentes de operandos podem ser especificadas para uma mesma instruo. Exemplo:
OPER 1 %M OPER 2 %M %M*M %KM OPER 1 %D OPER 2 %D %M*D %KD

Esta declarao de sintaxe significa que, como primeiro operando, podem ser utilizados %M ou %D. Se o primeiro operando for %M, o segundo somente poder ser %KM, %M ou %M * M (acesso indireto a memria). Se o primeiro for %D, o segundo somente poder ser %KD, %D ou %M * D (acesso indireto a decimal). 16

Captulo 3

Introduo Programao

Restries Quanto ao Posicionamento das Instrues

Existem regras a serem respeitadas quanto ao posicionamento das instrues nas 8 colunas da lgica. Pode-se dividir as instrues em trs categorias: Instrues que podem ser editadas somente na coluna 7: BOB bobina simples BBL bobina liga BBD bobina desliga SLT bobina de salto RM rel mestre FRM fim de rel mestre Instrues que podem ser editadas nas colunas 0 a 6: RNA rel normalmente aberto RNF rel normalmente fechado PLS rel de pulso LGH ligao horizontal LGV ligao vertical LGN ligao negada DIV diviso MOB movimentao de blocos de operandos > maior < menor = igual SEQ seqenciador CHF chama mdulo funo ECR escrita de operandos em outro CP LTR leitura de operandos de outro CP Instrues que podem ser editadas em todas as colunas: MOV movimentao de operandos simples MOP movimentao de partes de operandos MOT movimentao de tabelas de operandos MES movimentao de entradas ou sadas CES converso de entradas ou sadas AES atualizao de entradas ou sadas CAB carrega bloco de constantes SOM soma SUB subtrao MUL multiplicao AND funo 'e' binrio entre operandos OR funo 'ou' binrio entre operandos XOR funo 'ou exclusivo' binrio entre operandos CON contador simples COB contador bidirecional TEE temporizador na energizao TED temporizador na desenergizao B/D converso binrio - decimal 17

Captulo 3

Introduo Programao

D/B converso decimal - binrio CAR carrega operando LDI liga ou desliga pontos indexados TEI teste de estado de pontos indexados CHP chama mdulo procedimento LAI libera atualizao de imagem A/D converso analgico - digital D/A converso digital - analgico

Conceitos de programao estruturada


Estruturao de um Projeto de Programao
Funcionalmente, um projeto de programao, pode ser visto como uma coleo de mdulos utilizados para realizar uma tarefa especifica, tambm conhecido como programa aplicativo. Isto permite uma viso hierrquica do projeto com a criao de sub-rotinas e funes. Os mdulos so chamados para a execuo pelo software executivo (sistema operacional do CP) ou por outros mdulos, atravs de instrues apropriadas.
Quando armazenado em disco, o projeto de programao corresponde a um conjunto de arquivos, onde cada arquivo contm um mdulo, denominados como mostra a figura 3-24.

Figura 3-24 Formato do nome dos mdulos em arquivo

Exemplo: F-PID.033 Em alguns locais deste manual e na Ajuda os mdulos de programa so referenciados somente pelo seu tipo e nmero, quando no for relevante o nome utilizado no mesmo. Exemplo: E018 ATENO: O nome do arquivo correspondente a um mdulo de programa no deve ser alterado atravs de outro aplicativo do Windows. Para alterar o nome de um arquivo, deve-se ler e salvar o mesmo com o nome desejado atravs do MASTERTOOL. Se o nome do arquivo for modificado atravs de outro aplicativo do Windows, poder ser atribudo um nome invlido para o mesmo, no podendo mais ser lido para o MASTERTOOL ou carregado no CP. 18

Captulo 3

Introduo Programao

Existem 4 tipos de mdulos que podem fazer parte de um projeto de programao: Mdulo C (Configurao): existe um mdulo de configurao por projeto, contendo os parmetros de configurao do CP (C000). Mdulo E (Execuo): podem existir at 4 mdulos de execuo por projeto. Os mesmos so chamados somente pelo sistema operacional do CP (E000, E001, E018 e E020). Mdulo P (Procedimento): podem existir at 112 mdulos procedimento por projeto. Eles contm trechos de programa aplicativo, sendo chamados por instrues colocadas em mdulos de execuo, procedimento ou funo. Aps serem executados, o processamento retorna para a instruo seguinte de chamada. Os mdulos P funcionam como sub-rotinas, no permitindo a passagem de parmetros para o mdulo chamado (P000 a P111). Mdulo F (Funo): podem existir at 112 mdulos funo por projeto. Eles contm trechos de programa aplicativo escritos de forma genrica, permitindo a passagem de parmetros para o mdulo chamado, de forma a poderem ser reaproveitados em vrios programas aplicativos diferentes. So semelhantes a instrues, podendo ser chamados por mdulos de execuo, procedimento ou funo. (F000 a F111). Mdulo C - Configurao O mdulo C contm os parmetros de configurao do CP. Sua criao pr-requisito para a edio dos demais mdulos do projeto de programao no MASTERTOOL. A definio dos parmetros contidos no mesmo realizada atravs da janela de edio de mdulo C. Para maiores detalhes sobre como configurar um mdulo C, ver seo Configurando o Mdulo C no final deste captulo . H somente um mdulo C por projeto de programao, tendo como nome o prprio nome do projeto, para uma melhor identificao do mesmo. Como o mdulo C nico no controlador programvel, o seu nmero no possui significado para o mesmo, sendo aconselhvel us-lo como nmero de verso do programa aplicativo. Contedo de um mdulo C: Declarao do Barramento de mdulos de E/S : especifica a configurao dos mdulos de E/S a serem utilizados no controlador programvel, indicando a distribuio dos mesmos e mdulos especiais no barramento do CP. A declarao dos mdulos define, desta forma, o nmero de pontos e os endereos de E/S a serem utilizados no programa aplicativo. A mesma realizada atravs da janela de edio do mdulo C. Para maiores informaes sobre como configurar o barramento, ver o item Configurando o Barramento na seo Configurando o Mdulo C no final deste captulo . Declarao de Operandos : especifica o nmero de operandos simples e tabelas de operandos que sero utilizados no projeto de programao, dentro de cada tipo disponvel. Permite tambm a definio da retentividade dos operandos, ou seja, quais operandos devem manter seu contedo com a falta de energia do sistema. Declarao de Operandos Simples : permite a definio da quantidade de operandos Memria (%M) e Decimal (%D). realizada atravs da janela de edio de mdulo C. Para maiores informaes sobre como declarar operandos simples, ver o item Configurando Operandos Simples na seo Configurando o Mdulo no final deste captulo . Declarao de Operandos Tabela : permite a definio do nmero de tabelas de operandos Memria (%TM) e de operandos Decimal (%TD) e do nmero de posies de cada uma. Uma tabela representa um conjunto de operandos, sendo a sua definio realizada atravs da janela de edio de mdulo C. Para maiores informaes sobre como configurar operandos tabela, ver o item Configurando Operandos Tabela na seo Configurando o Mdulo C no final deste captulo . Declarao de Operandos Retentivos : especifica o nmero de operandos simples que so retentivos, dentro dos operandos j declarados. Operandos retentivos so aqueles que continuam com o seu contedo inalterado com a falta de energia do CP, sendo os no retentivos zerados com a 19

Captulo 3

Introduo Programao

reinicializao do sistema. Os operandos tabela so todos retentivos. A declarao realizada atravs da janela de edio de mdulo C. Para maiores informaes sobre como configurar operandos retentivos, ver o item Configurando Operandos Retentivos na seo Configurando Operandos Retentivos no no final deste captulo . Declarao dos Parmetros Gerais da UCP : so parmetros genricos necessrios para o funcionamento do controlador programvel, tais como o tipo de UCP na qual o programa aplicativo ser carregado, o perodo de chamada dos mdulos acionados por interrupo e o tempo mximo de ciclo de varredura . Estes parmetros so declarados atravs da janela de edio de mdulo C. Para maiores informaes sobre como configurar os parmetros gerais, ver seo Configurando o Mdulo C no final deste captulo . Declarao dos Parmetros da Rede ALNET I: especifica os diversos parmetros necessrios ao funcionamento da comunicao em rede ALNET I. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores informaes sobre como configurar parmetros da rede ALNET I, ver item Configurando Parmetros da Rede ALNET I na seo Configurando o Mdulo C no no final deste captulo . Declarao dos Parmetros da Rede ALNET II: especifica os diversos parmetros necessrios ao funcionamento da comunicao em rede ALNET II, para os controladores programveis que permitem o seu uso. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores informaes sobre como configurar parmetros da rede ALNET II, ver item Configurando Parmetros da Rede ALNET II na seo Configurando o Mdulo C no final deste captulo Declarao dos Parmetros da Rede Ethernet : especifica os diversos parmetros necessrios ao funcionamento da comunicao em rede Ethernet, para os controladores programveis que permitem o seu uso. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores informaes sobre como configurar parmetros da rede Ethernet, ver item Configurando Parmetros da Rede Ethernet na seo Configurando o Mdulo C no final
deste captulo

Declarao dos Parmetros da Rede de Sincronismo : especifica os diversos parmetros necessrios ao funcionamento da comunicao com rede de sincronismo, para os controladores programveis que permitem o seu uso. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores informaes sobre como configurar parmetros da rede de sincronismo, ver item Configurando Parmetros da Rede de Sincronismo na seo Configurando o Mdulo C no final deste captulo Mdulo E - Execuo Os mdulos E contm trechos do programa aplicativo, sendo chamados para a execuo pelo software executivo. Existem diversos mdulos E, diferenciando-se entre si pelo modo como so chamados execuo, conforme o seu nmero. Tipos de mdulos E: E000 - Mdulo de Inicializao : executado uma nica vez, ao se energizar o CP ou na passagem de modo programao para execuo com o MASTERTOOL, antes da execuo cclica do mdulo E001. E001 - Mdulo Seqencial de Programa Aplicativo : contm o trecho principal do programa aplicativo, sendo executado ciclicamente. E018 - Mdulo Acionado por Interrupo de Tempo : o trecho de programa aplicativo colocado neste mdulo chamado para a execuo em intervalos de tempo peridicos. Define-se o perodo de chamada do mesmo nos parmetros gerais do mdulo C, podendo ser escolhido entre 50 ms, 25 ms, 10 ms, 5 ms, 3,125 ms, 2,5 ms, 1,25 ms e 0,625 ms. Ao ser transcorrido o tempo programado, a execuo seqencial do programa aplicativo interrompida e o mdulo E018 executado. Aps o seu final, o sistema retorna a execuo para o ponto do processamento seqencial onde o mdulo E0001 havia sido interrompido. O tempo continua a ser 20

Captulo 3

Introduo Programao

contado durante a chamada do mdulo E018, devendo a sua execuo ser o mais breve possvel para no haver o aumento excessivo no tempo de ciclo do mdulo E001. ATENO: O tempo de execuo do mdulo E018 no pode ser maior ou igual ao perodo de chamada. Caso isto acontea, o CP entra em modo erro sendo exibida a mensagem Reentrada no mdulo E018 , na janela Informaes (comando Comunicao, Estado, Informaes ). E020 - Mdulo Acionado pela Entrada de Interrupo : o trecho de programa aplicativo colocado neste mdulo executado com o acionamento da entrada de interrupo dos CPs AL-600/4, AL-600/8 ou AL-600/16. Quando ocorrer uma transio de subida no sinal presente nesta entrada, a execuo seqencial do programa aplicativo interrompida e o mdulo E020 executado. Aps o seu final, o sistema retorna a execuo para o ponto do processamento seqencial onde o mdulo E0001 havia sido interrompido. Se a entrada for acionada com muita freqncia, o tempo de execuo do mdulo E020 deve ser o mais breve possvel, para no haver o aumento excessivo no tempo de ciclo do mdulo E001.

ATENO: O tempo de execuo do mdulo E020 no pode ser maior ou igual ao perodo de chamada. Caso isto acontea, o CP entra em modo erro sendo exibida a mensagem Reentrada no mdulo E020 , na janela Informaes (comando Comunicao, Estado, Informaes ). O mdulo E020 atua somente nos CPs AL-600/4, AL-600/8 e AL-600/16, a partir da verso 1.20 do software executivo. Somente estes CPs possuem a entrada rpida de interrupo que aciona o E020. Mdulo P - Procedimento Os mdulos P contm trechos de programas aplicativos chamados a partir de mdulos E, P ou F atravs da instruo CHP (CHama Procedimento). Este tipo de mdulo no possui passagem de parmetros, sendo similar ao conceito de sub-rotina. O nmero mximo de mdulos deste tipo 112 (P000 a P111). O mdulo P til para conter trechos de programas aplicativos que devem ser repetidos vrias vezes no programa principal, sendo assim programados uma s vez e chamados quando necessrio, economizando memria de programa. Podem ser usados tambm para uma melhor estruturao do programa principal, dividindo-o em segmentos de acordo com a sua funo e declarando-os em diversos mdulos P. Neste caso, o mdulo de execuo contnua E001 somente chama os mdulos P na seqncia desejada. Exemplos: P-MECAN.000 - realiza o intertravamento mecnico da mquina P-TEMPER.001 - realiza o controle de temperaturas P-VIDEO.002 - realiza o interfaceamento homem-mquina P-IMPRES.003 - gerencia a impresso de relatrios Mdulo F - Funo Os mdulos F contm trechos de programas aplicativos chamados a partir de mdulos E, P ou F, atravs da instruo CHF (CHama Funo). Na chamada dos mdulos F possvel a passagem de valores como parmetros para o mdulo chamado. Estes mdulos so usualmente escritos de forma genrica para serem aproveitados por vrios programas aplicativos, em linguagem de rels ou de mquina, sendo semelhantes s instrues da linguagem de rels. Os valores dos parmetros so enviados e devolvidos atravs de 21

Captulo 3

Introduo Programao

listas de operandos existentes na instruo de chamada e no mdulo F. Na edio de um instruo CHF, devem ser definidas 2 listas de operandos que so utilizadas para: enviar parmetros para execuo do mdulo funo (Entrada) receber os valores retornados pelo mdulo funo (Sada) Na edio do mdulo funo, tambm devem ser definidas 2 listas de operandos, utilizando o comando Edio, Editar, Parmetros , que so utilizados para: receber parmetros da instruo CHF (Entrada) enviar valores de retorno para a instruo CHF (Sada) A passagem de parmetros realizada atravs da cpia dos valores dos operandos declarados (passagem de parmetros por valor). A figura 3-25 apresenta o fluxo de dados entre a instruo CHF e o mdulo funo.

Figura 3-25 Passagem de Parmetros para o Mdulo F

Maiores informaes a respeito da passagem de parmetros podem ser encontradas na descrio da instruo CHF neste mesmo manual. permitida a passagem de todos os tipos de operandos. Exemplos: F-LINEAR.002 - executa a linearizao de valores lidos de um sensor F-PID.033 - realiza clculos para implementao de lao PID de controle

Estados de Operao do CP

Existem cinco estados ou modos de operao do CP: inicializao, execuo, programao, ciclado e erro. O estado em que o controlador programvel se encontra indicado nos LEDs do painel frontal da UCP, podendo tambm ser consultado pelo MASTERTOOL, atravs da caixa de dilogo Estado (opes Comunicao, Estado, a partir do menu principal). Para obter informaes especficas sobre os modos de operao, consultar o manual de utilizao do controlador utilizado. Estado Inicializao : o CP inicializa as diversas estruturas de dados de uso do programa executivo e realiza consistncias no projeto de programao presente na memria. Este estado ocorre aps a energizao do controlador, passando aps alguns segundos para o estado execuo. Caso no exista programa aplicativo na memria, o CP passa para modo erro. Enquanto o CP est inicializando, pode-se acionar o comando Comunicao, Estado, Programao, ou atalho equivalente na barra de ferramentas, fazendo com que o CP passe diretamente para o estado de programao, ao invs de executar o programa aplicativo. Este procedimento til para a reinicializao de CPs com programas contendo erros graves de programao. Por exemplo, um mdulo com um lao infinito de execuo, programado com uma instruo de salto para uma lgica anterior, provoca o acionamento do circuito de co-de-guarda da UCP sempre 22

Captulo 3

Introduo Programao

que for ligada, aps o estado de inicializao. Executando-se o procedimento anterior logo aps a energizao, o CP passa para o estado programao aps inicializar, permitindo o apagamento ou a substituio do programa. Estado Execuo: normalmente o controlador programvel se encontra neste estado, varrendo continuamente os pontos de entrada e atualizando os pontos de sada de acordo com a lgica programada. Este estado indica que o CP est executando corretamente um programa aplicativo. Estado Programao : o programa aplicativo no executado, no havendo a leitura dos pontos de entrada, sendo as sadas desativadas e a memria do CP compactada. O CP permanece inoperante, esperando comandos do MASTERTOOL. Este modo normalmente utilizado para a carga dos mdulos do projeto de programao pelo MASTERTOOL,atravs do canal serial. Ao passar para estado execuo ou ciclado a partir do estado programao, os operandos so zerados. Estado Ciclado: quando em modo ciclado, o controlador programvel no executa ciclicamente o mdulo E001, permanecendo espera de comandos do MASTERTOOL. Cada comando executa ciclo acionado no MASTERTOOL (opes Comunicao, Estado, Executa Ciclo a partir do menu principal ou atalho equivalente) dispara uma nica varredura do programa aplicativo (mdulo E001), permanecendo o CP espera de um novo comando aps a execuo da mesma. Quando o CP passa para modo ciclado, a contagem de tempo nos temporizadores pra, sendo os mesmos incrementados de uma unidade de tempo a cada duas varreduras executadas. As chamadas para o mdulo de interrupo de tempo E018 no so realizadas neste modo. O mdulo E020, acionado pela entrada de interrupo externa, continua sendo chamado neste modo. Estado de Erro: indica que houve alguma anomalia no CP durante o processamento do projeto de programao. O tipo de erro ocorrido pode ser consultado atravs da caixa de dilogo (opes Comunicao, Estado, Informaes a partir do menu principal), enquanto o CP estiver neste estado. A sada do estado de erro somente possvel passando-se o controlador programvel para modo programao. Em condies normais, o controlador programvel pode estar nos modos execuo, programao e ciclado, sendo esses modos acionados atravs de comandos do MASTERTOOL (opes errneo nestes modos, o CP passa para estado de erro. A recuperao do modo erro somente possvel passando-se o controlador programvel para modo programao. A figura 3-26 apresenta as possibilidades de troca de estados. MODO DE OPERAO DO CP

Execuo, Programao e Ciclado da caixa de dilogo Estado, ou seus atalhos equivalentes na Barra de Ferramentas). Na ocorrncia de alguma situao de funcionamento

23

Captulo 3

Introduo Programao

P Comando do MASTERTOOL E Situao de erro


Figura 3-26 Estados de Operao do CP

Nos modos execuo, programao e ciclado possvel carregar e ler mdulos do projeto de programao pelo canal serial do controlador programvel, bem como monitorar e forar quaisquer operandos utilizados. Essas operaes no so possveis caso o CP esteja em modo erro. Os operandos que no so retentivos so zerados na passagem de modo programao para execuo ou programao para ciclado, permanecendo os demais inalterados.

Execuo do Projeto de Programao

Quando o CP energizado ou aps a passagem para modo execuo, as inicializaes do sistema so realizadas de acordo com o contedo do mdulo C, sendo logo aps executado o mdulo E000 uma nica vez. O controlador programvel passa ento para o processamento cclico do mdulo E001, atualizando as entradas e sadas e chamando o mdulo E018, quando existente, a cada perodo de tempo de interrupo programado. Nos CPs AL-600/4, AL-600/8 e AL-600/16, o mdulo E020 chamado, quando existente, com o acionamento da entrada de interrupo. A figura 3-27 mostra esquematicamente a execuo do programa aplicativo.

Figura 3-27 Execuo do Projeto de Programao

Elaborao de Projetos de Programao


Consideraes Gerais Um projeto de programao composto ao menos por um mdulo C (configurao) e um mdulo E001 (execuo). A condio mnima para a execuo de um projeto de programao a presena destes dois mdulos na UCP do controlador programvel. 24

Captulo 3

Introduo Programao

O primeiro passo para a edio de um projeto de programao no MASTERTOOL a criao ou a leitura de um projeto. O mdulo de configurao do projeto criado automaticamente na criao de um novo projeto, uma vez que neste mdulo esto contidas as declaraes dos mdulos de entrada e sada e operandos utilizados em todo o projeto. Cada mdulo que contenha trechos de programa aplicativo (E, P ou F) necessita que o mdulo C esteja presente no MASTERTOOL para que possa ser editado. Aps a criao ou leitura de um projeto, pode-se editar o mesmo adicionando mdulos j existentes, criando mdulos novos para o projeto ou excluindo mdulos que j faam parte do projeto. O MASTERTOOL permite que vrios mdulos sejam carregados e permaneam simultaneamente em sua memria Consideraes sobre Operandos Os diversos mdulos que compem um projeto de programao devem preferencialmente ter sido programados utilizando-se o mesmo mdulo C. Caso um mdulo j programado necessite ser usado em outro projeto de programao , os operandos utilizados pelo mdulo devem obrigatoriamente estar declarados no mdulo C do novo projeto. Os operandos disponveis no controlador programvel so de uso comum a todos os mdulos do projeto de programao presentes no CP (operandos globais). Em conseqncia deste fato, dois mdulos quaisquer podem estar inadvertidamente acessando o mesmo operando, ocorrendo erros no funcionamento de ambos. Ao elaborar um projeto de programao , deve-se reservar operandos em nmero suficiente para o mesmo, preferencialmente separando-os em grupos, cada grupo utilizado somente por um mdulo. Os operandos utilizados nos mdulos F programados em linguagem de rels e blocos tambm podem ser acessados por quaisquer outros mdulos de programa presentes no CP, mesmo os operandos utilizados na passagem de parmetros. Para garantir o seu carter genrico, cada mdulo F deve utilizar um grupo de operandos diferente dos demais utilizados no programa aplicativo. Utilizao dos Mdulo P e F Dentro de um mdulo do projeto de programao podem ser colocadas as instrues de chamada de outros mdulos. As instrues CHP e CHF chamam, respectivamente, mdulos de procedimento e funo. Elas realizam o gerenciamento das chamadas dos mdulos, verificando a existncia ou no dos mesmos no diretrio do controlador programvel, baseadas em seus tipos e nmeros. Nas UCPs AL-600, AL-600/4, AL-600/8, AL-600/16, AL-3003, AL-3004, AL-2000/MSP, AL2002/MSP, QK800, QK801 e QK2000/MSP existem 18 nveis de chamada, desde os mdulos E (nvel mais alto). Ou seja, podem ser executadas at 18 chamadas consecutivas de mdulos sem ser finalizada a execuo de nenhum. Deve-se considerar que o mdulo E018 (se existir) e os mdulos por ele chamados tambm ocupam nveis de chamada.

Figura 3-28 Nmero Mximo de Nveis de Chamada de Mdulos

25

Captulo 3

Introduo Programao

Quando o nmero mximo de chamadas acumuladas sem retorno for ultrapassado, o sistema no mais as realizar, prosseguindo com a execuo normal do programa aplicativo. Nos casos de ocorrncia de chamadas para mdulos inexistentes ou o excesso do nmero de chamadas totais, so mostradas mensagens de advertncia na janela Informaes (opes Comunicao, Estado, Informaes a partir do menu principal), pois estas situaes podero causar erros no processamento conforme a lgica programada. possvel a chamada de um mdulo por ele mesmo (programao por recursividade) tomando-se os cuidados necessrios, ou seja, deve ser previsto no trecho de programa aplicativo com recursividade um momento em que no h mais chamadas para o mesmo mdulo. Embora seja possvel, o uso de tal procedimento no aconselhvel em controladores programveis, devido ao grande tempo de processamento que um pequeno trecho de programa aplicativo pode necessitar para ser executado e facilidade da ocorrncia de laos infinitos de execuo (loops).

Figura 3-29 Chamada Recursiva de Mdulos

Deve-se evitar a programao indevida de laos de chamada de mdulos sem fim ("dead locks"). Caso um mdulo do projeto de programao chame outro e este tambm realize uma chamada para o primeiro, se as instrues de chamada nos dois mdulos no forem desabilitadas ambos permanecero chamando-se mutuamente at a passagem do controlador programvel para modo erro, por excesso de tempo de execuo do programa aplicativo. A mesma situao pode ocorrer com chamadas encadeadas entre diversos mdulos, quando um mdulo chamado volte a chamar algum mdulo inicial da cadeia. Por exemplo, se o mdulo P005 chamar o P002, este chamar P007 e este chamar novamente o P005, o processamento poder permanecer neste lao se nenhuma instruo de chamada for desabilitada.

Figura 3-30 Lao de Chamada de Mdulos

Utilizao do Mdulo E018 O mdulo E018 deve ser utilizado quando for necessrio um processamento rpido para alguns pontos de entrada e sada do controlador programvel, como por exemplo, no sensoreamento de fins-de-curso em sistemas de posicionamento rpido. Para este caso deve ser empregada a instruo de atualizao de pontos de E/S (AES), realizando dentro do mdulo E018 um processamento semelhante a um lao completo de execuo do programa principal. As entradas so lidas, o trecho de programa aplicativo desejado executado e as sadas so atualizadas. Da mesma forma, este mdulo torna-se til quando se deseja uma resposta dos acionamentos de sada aps um tempo fixo dos estmulos das entradas, independente do tempo de varredura do programa principal, que pode ser varivel. Essa caracterstica importante tambm em sistemas de controle de posio. Outra aplicao para o mdulo E018 a gerao de bases de tempo menores que 100 ms para o programa principal. Podem ser gerados temporizadores com preciso de 50 ms, 10 ms ou menos, se necessrio, atravs do uso de instrues contadoras dentro do mdulo de interrupo de tempo. 26

Captulo 3

Introduo Programao

Em resumo, este mdulo til quando se deseja um controle preciso de tempos no processamento do CP. Utilizao do Mdulo E020 A entrada rpida de interrupo dos CPs da srie AL-600 pode ser usada para um processamento imediato de um ponto de entrada, sendo til para o controle rpido de posicionamentos. Com o seu acionamento, o mdulo E020 chamado para a execuo, realizando o processamento necessrio e a atualizao de pontos de sada atravs da instruo AES. O mdulo E020 tambm pode ser utilizado no acionamento de dispositivos ou procedimentos de segurana, dispositivos de frenagem ou outras aplicaes que necessitem rapidez de atuao. A entrada de interrupo tambm utilizada como a segunda entrada de contagem rpida nos CPs AL600, no sendo necessrio nenhum ajuste no equipamento para selecionar sua funo. Caso o mdulo E020 esteja presente no CP, este chamado a cada acionamento da entrada. Se o programa aplicativo chamar o mdulo F-CONT.005, este realiza a leitura e escrita do valor de contagem, incrementado a cada acionamento da entrada. Se desejado, pode-se utilizar esta entrada com ambas as funes, com o mdulo F-CONT.005 contando o nmero de vezes que o mdulo E020 foi acionado. O mdulo E020 atua somente nos CPs AL-600/4, AL-600/8 e AL-600/16, a partir da verso 1.20 do software executivo. Somente estes CPs possuem a entrada rpida de interrupo que aciona o E020. Cuidados na Utilizao do Mdulo E018 Alguns cuidados especiais so necessrios na programao do mdulo E018. Como o mesmo chamado de modo sncrono a cada perodo fixo de tempo, interrompendo o processamento do mdulo E001, o seu tempo de execuo deve ser o mais breve possvel para no aumentar excessivamente o tempo de ciclo total do programa aplicativo. Se o intervalo entre as chamadas do mdulo E018 for programado para 25 ms, por exemplo, e o seu tempo de execuo for 20 ms, restaro somente 5 ms para a execuo do programa principal antes que o E018 seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclo do mdulo E001.

Figura 3-31 Cuidados na Utilizao do Mdulo E018

Caso a execuo do mdulo E018 demore mais do que o intervalo de tempo programado para suas chamadas, o CP passa para o estado de erro, sendo exibida a mensagem "Reentrada no mdulo E018" na janela Informaes (opes Comunicao, Estado, Informaes a partir do menu principal). Nesta situao, deve-se aumentar o perodo de chamada utilizado ou diminuir o tempo de execuo do mdulo E018 para que o projeto de programao possa ser executado corretamente. 27

Captulo 3

Introduo Programao

As instrues permanecem com o mesmo comportamento quando executadas dentro do mdulo E018, exceto em relao a algumas caractersticas particulares. Os temporizadores (TEE e TED) continuam a contar o tempo a cada 100 ms, qualquer que seja o perodo de acionamento programado para o mdulo, exatamente como na execuo cclica. O rel de pulso (PLS) aciona a sua sada durante uma execuo do mdulo E018, zerando a mesma na prxima chamada. As instrues CHP e CHF podem ser usadas da mesma forma como no programa principal, devendo os mdulos acionados pelas mesmas obedecerem s mesmas regras de programao vlidas para o mdulo E018 propriamente dito. O nmero mximo de nveis de chamada de mdulos utilizados dentro do mdulo E018 deve ser acrescentado ao mximo nvel empregado em E001, devendo esta soma ser menor que o limite do sistema (18 nveis). Cuidados na Programao do Mdulo E020 Alguns cuidados especiais so necessrios na programao do mdulo E020. O seu tempo de processamento deve ser breve, principalmente se a entrada de interrupo for acionada de forma freqente, para no aumentar de forma excessiva o tempo de ciclo total do programa aplicativo. Se a entrada de interrupo for acionada de forma peridica a cada 30 ms, por exemplo, e o tempo de execuo do E020 for 25 ms, s restaro 5 ms para a execuo do programa principal antes que o mdulo seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclo do mdulo E001.

Figura 3-32 Cuidados na Utilizao do Mdulo E020

Caso o mdulo E020 esteja sendo executado e ocorra novo acionamento na entrada de interrupo do CP, este acionamento desconsiderado, continuando normalmente a execuo do mdulo. Esta situao no provoca a mudana para modo erro, permanecendo o CP em execuo normal. Portanto, o CP ignora acionamentos da entrada rpida de interrupo que ocorram em tempos menores que o tempo de execuo do E020. As instrues continuam a ter o mesmo comportamento quando executadas dentro do mdulo E020, exceto em relao a algumas caractersticas particulares. A chamada do mdulo depende do processo que est sendo controlado, no ocorrendo de forma peridica. Esta caracterstica inviabiliza o uso dos temporizadores no E020, ou seja, as instrues TEE e TED no devem ser utilizadas no mesmo. O rel de pulso (PLS) aciona a sua sada durante uma execuo do mdulo E020, zerando a mesma na prxima chamada. As instrues CHP e CHF podem ser usadas da mesma forma como no programa principal, devendo os mdulos acionados pelas mesmas obedecerem s mesmas regras de programao vlidas para o mdulo E020 propriamente dito. O nmero mximo de nveis de chamada de mdulos utilizados dentro do mdulo E020 deve ser acrescentado ao mximo nvel empregado em E001 e E018, devendo esta soma ser menor que o limite do sistema (18 nveis). Utilizao dos Operandos na Programao dos Mdulos E018 e E020 28

Captulo 3

Introduo Programao

Outro cuidado necessrio diz respeito ao compartilhamento de dados entre os mdulos E018 ou E020 e os demais presentes no controlador programvel. As interrupes podem ocorrer em qualquer ponto do programa principal de execuo cclica (mdulo E001 ou mdulos P ou F chamados pelo mesmo), inclusive durante o processamento das suas instrues. Como os operandos so todos de uso comum a qualquer mdulo do projeto de programao , deve-se tomar o cuidado para no utilizar inadvertidamente nos mdulos E018 ou E020 algum operando que seja utilizado em outro mdulo do projeto de programao, pois este uso, conforme o caso, pode ocasionar o funcionamento incorreto. Quando o mdulo E018 e E020 so utilizados simultaneamente, ambos devem empregar operandos exclusivos. Para possibilitar o compartilhamento de dados entre os mdulos E018, E020 e outro mdulo qualquer de execuo cclica devem ser utilizadas as instrues MOV (movimentao de operandos simples) e MOB (movimentao de blocos de operandos), para criar uma imagem dos operandos que contm os dados a serem compartilhados. Estas instrues devem ser utilizadas nos mdulos pertencentes ao ciclo normal de execuo e no nos mdulos E018 ou E020. Por exemplo, se for necessrio que o mdulo E018 utilize o valor contido em uma memria usada no programa principal, deve-se passar o valor desta memria para outra atravs da instruo MOV, devendo o mdulo E018 utilizar somente esta ltima. A instruo MOV deve estar no programa principal, e no no mdulo E018. O fluxo contrrio de dados tambm exige a criao de operandos imagem. Se o mdulo E020 manipula uma tabela e o programa principal precisa utilizar os valores desta tabela, esses valores devem ser copiados para uma segunda tabela de uso exclusivo do programa principal, atravs de uma instruo MOB. A instruo MOB deve estar no programa principal, e no no mdulo E020. Uma situao semelhante ocorre para as instrues bobinas. Se algum ponto de um operando modificado no programa principal por uma bobina, no permitida a alterao de qualquer ponto pertencente a todo octeto do mesmo operando nos mdulos E018 ou E020. Esta restrio no existe quando os octetos utilizados pertencem faixa %S0000 a %S0015. Entretanto, possvel que pontos de um operando sejam alterados nos mdulos E018 ou E020 por uma bobina e sejam somente testados por outro mdulo com instrues contatos, por exemplo. A situao contrria tambm permitida, ou seja, os pontos de um operando modificados no programa principal por bobinas podem ser testados nos mdulos E018 ou E020 por contatos. Outro cuidado a ser tomado diz respeito atualizao das entradas e sadas dentro dos mdulos E018 ou E020. Preferencialmente devem ser atualizadas dentro destes mdulos somente as entradas utilizadas no seu processamento, utilizando-se a instruo AES. Como o programa aplicativo de execuo cclica pode ser interrompido em qualquer local por estes mdulos, se neles forem atualizadas as imagens das entradas do programa principal, estas podero assumir valores diversos em pontos diferentes do programa aplicativo durante o mesmo ciclo de execuo. Este fato pode provocar erros se um operando de entrada for utilizado em vrios lugares do programa principal, pois normalmente suposto que seu valor permanea inalterado na mesma varredura. Devido a este fato, aconselhvel o uso de octetos de entrada exclusivos para os mdulos E018 ou E020, se for necessria a sua atualizao dentro do mesmo, no sendo estes octetos utilizados no programa principal. Caso seja necessria a atualizao de entradas utilizadas simultaneamente nas interrupes e no processamento cclico, o valor das mesmas pode ser copiado para operandos auxiliares ou memrias no incio do programa principal, sendo estes operandos utilizados no restante do mesmo. Pode-se tambm no atualizar as imagens das entradas nos mdulos E018 ou E020 com a instruo AES, mas somente ler diretamente os valores dos mdulos de E/S para operandos memria atravs da instruo MES, e utilizar estas memrias em contatos para realizar o processamento nos mdulos de interrupo. 29

Captulo 3

Introduo Programao

A atualizao de octetos de sada nos mdulos E018 ou E020 (atravs da instruo AES) possvel, desde que os pontos pertencentes a estes octetos sejam acionados por bobinas somente dentro destes mdulos. Nos mdulos E018 e E020, no se deve escrever valores com a instruo MES em mdulos de sada declarados no barramento atravs do MASTERTOOL, pois a varredura das sadas tambm realiza atualizao de valores nos mesmos. Quando um mdulo E018 ou E020 est sendo executado e a compactao for disparada, os mesmos podero ser transferidos para outra posio na memria pela rotina de compactao. Durante esta transferncia a sua chamada ser desabilitada, podendo algumas interrupes ocorrerem sem que os mdulos E018 ou E020 sejam processados. Deve-se atentar para este efeito da compactao sobre a execuo do mdulo acionado por interrupo. Durante a compactao dos demais mdulos, todavia, os mdulos E018 ou E020 continuaro sendo executados. Utilizao Simultnea dos Mdulos E018 e E020 possvel a utilizao simultnea do mdulo E018 (acionado periodicamente pela interrupo de tempo) com o mdulo E020 (acionado pela entrada rpida de interrupo) nos CPs AL-600/4, AL600/8 e AL-600/16. No existem prioridades de execuo quanto s interrupes dos dois mdulos. Ou seja, se estiver sendo executado o mdulo E020 e ocorrer a prxima interrupo de tempo, o processamento do E020 interrompido, executado o mdulo E018, retornando aps para a execuo interrompida do E020. Da mesma forma, se estiver sendo executado o mdulo E018 e for acionada a entrada de interrupo, o processamento do E018 interrompido, executado o mdulo E020, retornando aps para a execuo interrompida do E018. Alguns cuidados devem ser observados na utilizao simultnea dos dois mdulos. Deve-se somar o tempo de execuo do mdulo E018 ao E020, devendo este total ser menor do que o perodo de chamada programado para o E018, evitando-se o erro de reentrada de execuo no mesmo. Deve-se tambm somar o nmero mximo de nveis de chamada dos mdulos E001, E018 e E020, devendo o resultado ser menor ou igual ao nmero mximo permitido (18 nveis). Os dois mdulos devem utilizar operandos exclusivos, obedecendo s regras da seo Utilizao dos Operandos na Programao dos Mdulos E018 e E020, neste mesmo captulo.

Depurao de Projetos de Programao

Vrias facilidades esto previstas no controlador programvel para auxiliar a depurao dos projetos de programao, sendo descritas a seguir. Informaes do Estado do CP Diversas informaes sobre o estado do controlador podem ser obtidas com o acionamento das opes Comunicao, Estado, Informaes no MASTERTOOL: Modelo da UCP - indica o tipo do controlador com o qual o MASTERTOOL est comunicando. Verso do Executivo - mostra o nmero da verso do programa executivo que o CP contm. Modo de Operao - indica o modo de operao atual do CP: execuo, programao, ciclado ou erro. Mensagem de Erro/Advertncia - se o CP estiver em modo erro, apresentada uma mensagem indicando a causa do erro ocorrido. Caso o CP esteja em qualquer outro modo, a mensagem indica a existncia de problemas que no causam a mudana para modo erro (por exemplo, a bateria do CP descarregada). Ver Mensagens de Erro, apndice A do Manual de Utilizao do MASTERTOOL. Sadas - indica se as sadas esto habilitadas ou desabilitadas. Rels Forados - indica se existe algum ponto de entrada ou sada forado. 30

Captulo 3

Introduo Programao

Troca de Mdulos com CP Energizado - indica a possibilidade de troca de mdulos com CP energizado. Compactando RAM - indica se o CP est compactando a memria RAM do programa aplicativo. Copiando Mdulo - indica se algum mdulo est sendo carregado no CP, transferido da RAM para a flash EPROM ou da flash EPROM para a RAM, ou se o CP est apagando a memria flash. Nvel de Proteo - mostra o nvel de proteo atual do CP. Tempos de Ciclo - mostra o valor instantneo, mdio, mximo e mnimo do tempo de ciclo do programa aplicativo. Ver seo Tempos de Ciclo de Execuo do Programa neste mesmo captulo. Perodo de Acionamento de E018 - mostra o perodo de chamada do mdulo acionado por interrupo de tempo E018, se estiver presente no CP. As janelas de estado do CP (opes Comunicao, Estado, Informaes), diretrio de mdulos (opes Comunicao, Mdulos) e monitorao (opes Comunicao, Monitorar Operandos ou Monitorar Bloco de Operandos ou Monitorar Tabelas ) fornecem diversas informaes teis para a verificao do bom funcionamento do controlador. Estas informaes podem ser obtidas distncia, caso o CP esteja ligado em rede. Sempre que o MASTERTOOL for conectado a algum CP, aconselha-se a consulta dessas informaes como o primeiro procedimento a ser tomado. Monitorao Atravs do MASTERTOOL possvel monitorar os valores de um ou mais operandos do CP em qualquer modo de operao, exceto em modo erro. Os valores dos operandos contidos em uma lgica de programa aplicativo tambm podem ser visualizados diretamente sobre a mesma facilitando a verificao de seu funcionamento. A monitorao de operandos no CP ocorre no final do ciclo de execuo do programa aplicativo. Devido a este fato, situaes incoerentes podem ser visualizadas na monitorao de lgicas, se os valores dos operandos forem modificados nas lgicas posteriores monitorada.

Monitorando Operandos

A monitorao de operandos consiste em apresentar no MASTERTOOL em tempo real os valores contidos nos operandos do CP ou roteador. Os valores dos operandos so apresentados em uma janela de edio que contm uma lista dos operandos que devem ser monitorados. Podem ser utilizadas vrias janelas de monitorao sendo permitida uma para cada dispositivo conectado rede identificadas pelo endereo de n e sub-rede do mesmo. Na janela da lista de monitorao permitida a insero ou remoo direta de um operando ou uma posio de tabela. Caso a monitorao seja realizada para um bloco de operandos ou para mais de uma posio de tabela, para cada bloco de operandos exibida uma janela de monitorao, no sendo permitida a edio direta nesta janela. So apresentadas 2 colunas na janela de monitorao identificando o Operando monitorado e o seu Valor. No ttulo de cada janela de monitorao, so exibidos o ttulo da janela, o endereo de n e o endereo de sub-rede do dispositivo que est sendo monitorado. Os operandos podem ser inseridos na lista de monitorao de 2 maneiras: pelo comando Comunicao, Monitorar, explicado detalhadamente nos itens Para monitorar operandos simples e Para monitorar operandos tabela adiante neste captulo diretamente na janela de edio do dispositivo correspondente explicado detalhadamente no item Editando a lista de monitorao adiante neste captulo Para monitorar operandos simples 1. A partir do menu Comunicao, escolher Monitorar (ALT, C, M). exibida a caixa de dilogo Monitorar Valores do CP. 31

Captulo 3

Introduo Programao

2. No item N, digitar o endereo de n do dispositivo a ser monitorado. 3. No item Sub-rede, digitar o endereo de sub-rede do dispositivo a ser monitorado. 4. No item Operando , digitar o tag ou endereo do operando a ser includo na lista de monitorao. 5. No item Nmero de posies , digitar quantos operandos devem ser monitorados. Digitar 1 para colocar 1 operando na lista de monitorao. Digitar um nmero maior que 1 para abrir uma janela de monitorao de bloco de operandos. Ex.: se for indicado o operando %M0002 no item Operando e no item Nmero de posies for editado o nmero 5, ser exibida uma janela de monitorao de bloco com os operandos %M0002, %M0003, %M0004, %M0005 e %M0006. Para monitorar operandos tabela 1. A partir do menu Comunicao, escolher Monitorar (ALT, C, M). exibida a caixa de dilogo Monitorar Valores do CP. 2. No item N, digitar o endereo de n do dispositivo a ser monitorado. 3. No item Sub-rede, digitar o endereo de sub-rede do dispositivo a ser monitorado. 4. No item Operando , digitar o tag ou endereo da tabela a ser includa na lista de monitorao. 5. Selecionar o item Tabela inteira caso seja desejada uma janela de monitorao com todas as posies declaradas no mdulo C para a tabela, ou selecionar Intervalo, indicando a primeira e a ltima posio da tabela a serem monitoradas na janela de monitorao.

Editando a lista de monitorao

A lista de monitorao para cada dispositivo pode ser editada diretamente para inserir e remover operandos na mesma. Para inserir operandos na lista 1. Posicionar o ponto de insero (clula com contorno duplo) na linha onde se deseja inserir o novo operando. 2. Utilizar um dos seguintes mtodos: Realizar um duplo clique Pressionar a tecla ENTER 3. Digitar o tag ou endereo do operando desejado. Caso j exista um operando na posio editada, o mesmo deixa de fazer parte da lista sendo substitudo pelo novo. Para remover operandos da lista 1. Posicionar o ponto de insero (clula com contorno duplo) no operando a ser removido. 2. Utilizar um dos seguintes mtodos: Realizar um duplo clique Pressionar a tecla ENTER
3. Pressionar a tecla DELETE

Foramento Os valores dos operandos tambm podem ser forados com o MASTERTOOL, ou seja, pode-se modificar o contedo de qualquer operando do projeto de programao. O foramento de operandos permitido em qualquer modo de operao, exceto em modo erro. Para forar operandos simples 1. A partir do menu Comunicao, escolher Forar (ALT, C, F). exibida a caixa de dilogo Forar. 2. No item N, digitar o endereo de n do dispositivo a ter o operando forado. 3. No item Sub-rede, digitar o endereo de sub-rede do dispositivo a ter o operando forado. 4. No item Operando , digitar o tag ou endereo do operando a ser forado. 5. No item Nmero de posies , digitar quantos operandos devem ser forados.

32

Captulo 3

Introduo Programao

Ex.: se for indicado o operando %A0002 no item Operando e no item Nmero de posies for editado o nmero 5, sero forados os operandos %M0002, %M0003, %M0004, %M0005 e %M0006. 6. Caso a operao de foramento esteja sendo realizada para 1 operando, digitar o valor a ser forado no item Valor. Caso esteja sendo realizada para um bloco de operandos, digitar o valor de foramento para cada operando na tabela Valor. 7. Selecionar o item Incluir para monitorao , caso o operando deva ser includo na lista de monitorao se o item Nmero de Posies for 1, ou se deve ser criada uma janela de monitorao de bloco para os operandos forados se o item Nmero de Posies for maior do que 1. Para forar operandos tabela 1. A partir do menu Comunicao, escolher Forar (ALT, C, F). exibida a caixa de dilogo Forar. 2. No item N, digitar o endereo de n do dispositivo a ter o operando forado. 3. No item Sub-rede, digitar o endereo de sub-rede do dispositivo a ter o operando forado. 4. No item Operando , digitar o tag ou endereo do operando a ser forado. 5. Selecionar o item Tabela inteira caso se deseje forar o contedo de todas as posies declaradas no mdulo C para a tabela, ou selecionar Intervalo, indicando a primeira e a ltima posio da tabela a serem foradas. 6. Digitar o valor de foramento para cada posio na tabela Valor. 7. Selecionar o item Incluir para monitorao , caso deva ser criada uma janela de monitorao para a tabela. Os operandos %A, %M, %D, %TM e %TD tm o seu valor alterado somente por uma varredura, logo aps o envio do comando ao CP. Para que o valor forado permanea no operando, no pode haver no programa nenhuma instruo que o modifique. O foramento dos operandos %E e %S realizado de forma permanente no controlador. Aps o envio do comando ao CP, o valor forado em todas as varreduras do programa aplicativo, at que o operando seja liberado. O LED FC no painel da UCP permanece ligado se houver algum operando %E ou %S forado. Os valores forados em operandos %E sobrepem os obtidos na leitura dos mdulos de entrada, antes do incio de cada ciclo de execuo do programa aplicativo. O programa executado com o valor forado, como se o ponto de entrada correspondente estivesse com este valor, podendo ser visualizado na monitorao. Por exemplo, caso o operando %E0002.5 esteja forado com o valor 1, o programa aplicativo ser executado com este valor para este operando, no importando o estado do ponto no mdulo de entrada correspondente. A monitorao de %E0002.5 mostra sempre o valor 1. Os valores forados nos operandos %S so diretamente enviados para os mdulos de sada, independente do valor obtido aps a execuo do programa aplicativo. A monitorao mostra o valor forado, que corresponde ao valor assumido pelo ponto correspondente ao operando no mdulo de sada. Por exemplo, caso o operando %S0024.3 esteja forado com o valor 0, o ponto respectivo no mdulo de sada permanecer desligado, no importando o estado da bobina que contenha o operando no programa aplicativo. A monitorao de %S0024.3 mostra sempre o valor 0. ATENO: Podem ser visualizadas situaes incoerentes na monitorao de lgicas com operandos %S forados. Isto ocorre porque o valor monitorado pode ser diferente do valor realmente obtido pelo programa aplicativo. ATENO: Todos os foramentos de operandos %E e %S so removidos com a desenergizao do CP. O foramento destes operandos deve ser utilizado de forma temporria, somente para auxiliar a 33

Captulo 3

Introduo Programao

depurao do projeto de programao. No devem ser deixados operandos %E ou %S forados em carter permanente, pois sero liberados com a desenergizao e posterior energizao do controlador. Os operandos %E e %S deixam de ser forados pelo CP atravs do comando de liberao de foramento. A liberao consiste em anular o foramento anteriormente determinado. Os operandos %E voltam a ter seus valores atualizados de acordo com os mdulos de entrada, enquanto que os mdulos de sada recebem os valores obtidos no processamento do programa aplicativo.

Liberando Operandos Forados

Os valores forados para operandos %E e %S podem ser liberados pelo MASTERTOOL. Para liberar pontos forados de um operando 1. A partir do menu Comunicao , escolher Estado (ALT, C, S). No quadro Pontos Forados so exibidos os operandos forados e o valor dos pontos forados. 2. No quadro Pontos Forados , selecionar o operando desejado. 3. Escolher o boto > Liberar. apresentada a caixa de dilogo Liberar. 4. Selecionar o item Palavra inteira caso se deseje liberar todos os pontos forados do operando ou selecionar Nmero do bit e digitando o nmero do ponto do operando a ser liberado. Desabilitao das Sadas Para a segurana na posta-em-marcha quando se utiliza o programa aplicativo diretamente na mquina, os acionamentos das sadas do controlador programvel podem ser desabilitados atravs do comando desabilita. O programa aplicativo continua a ser executado no CP, com a varredura das entradas e clculo dos valores das sadas, porm com todos os pontos de sada mantidos desacionados. Os operandos %S podem ser monitorados e conferidos com os valores esperados para os mesmos.

Habilitando e Desabilitando as Sadas

As sadas habilitadas, determinam que o CP atualize os pontos de sada com os valores da memria imagem. As sadas desabilitadas, determinam que o CP desenergize todas as suas sadas digitais. Entretanto, esta operao no altera os estados dos operandos correspondentes na memria imagem. ATENO: Se o CP for desenergizado, a desabilitao dos pontos de sada removida. Ou seja, quando o CP for novamente energizado, o estado dos operandos da memria ser normalmente transferido, ao final de cada varredura, para os pontos de sada. A desabilitao deve ser utilizada de forma temporria, somente para auxiliar a depurao do projeto de programao . Modificaes no Programa A carga de mdulos durante a execuo do projeto de programao (carga "on line") possibilita sucessivas modificaes e envios do mdulo em depurao para o controlador programvel. Deste modo no necessria a reinicializao do programa aplicativo de controle nem a troca do estado do controlador programvel a cada alterao efetuada em um mdulo. ATENO: Aps qualquer modificao realizada no mdulo C do projeto de programao, o mesmo deve ser enviado para o CP. ATENO: Se a declarao de operandos simples ou tabelas for modificada, aconselha-se reinicializar o CP, passando para modo programao, carregando o mdulo C e retornando para modo execuo. 34

Captulo 3

Introduo Programao

Podem ocorrer erros no funcionamento alterando-se a configurao de operandos e enviando o mdulo C com o controlador em modo execuo. Aps um certo nmero de cargas sucessivas em modo execuo, entretanto, pode se tornar necessria a compactao da memria RAM de programa pelos motivos explicados na seo Gerenciamento de Mdulos do Projeto de Programao no CP , neste captulo. Este tipo de carga somente possvel se houver memria livre suficiente no CP para armazenamento do mdulo a ser enviado. Ao acabar a depurao de um mdulo de programa, sugere-se a transferncia do mesmo para a memria flash EPROM ou a sua gravao no cartucho de EPROM, liberando o espao disponvel na memria RAM de programa. Modo Ciclado A execuo do projeto de programao em modo ciclado torna-se til na verificao do funcionamento de intertravamentos rpidos no programa aplicativo. As demais facilidades de depurao continuam atuando da mesma forma como no modo execuo (monitorao, foramento, carga e outras operaes com mdulos). Em modo ciclado, os valores dos operandos permanecem constantes entre os ciclos, exceto os pontos de entrada (%E) que continuam sendo continuamente atualizados, mostrando seus valores reais. Gerenciamento de Mdulos do Projeto de Programao Os mdulos que compem o programa aplicativo so independentes entre si, no necessitando de ligao ("link") atravs de programas auxiliares. A carga dos mdulos no controlador programvel pelo canal serial pode ser realizada em qualquer ordem, permitindo que somente o mdulo alterado seja carregado no CP, em caso de manuteno de projetos de programao . ATENO: Para a UCP do sistema, somente o tipo do mdulo e seu nmero so relevantes, sendo o seu nome desconsiderado. Se dois mdulos com tipo e nmero iguais mas com nomes diferentes forem carregados no CP, somente o ltimo carregado ser considerado. O controlador programvel organiza um diretrio interno onde so armazenadas diversas informaes a respeito dos mdulos contidos no mesmo, podendo ser consultado pelo MASTERTOOL atravs do comando diretrio de mdulos (opes Comunicao, Mdulos a partir do menu principal). Quando este comando for acionado, uma caixa de dilogo aberta, mostrando na sua parte superior, dois quadros chamados Mdulos em RAM e Mdulos em EPROM com a lista dos nomes e a ocupao de memria de cada mdulo presente no CP. No quadro Memria Ocupada informado o nmero total de mdulos e o espao de memria total ocupado pelos mesmos (soma de todas as ocupaes individuais), alm do espao total ocupado em RAM ou EPROM. No quadro Memria Livre esto expostas as quantidades de memria RAM e EPROM disponvel para a carga de novos mdulos, em cada banco de memria existente no controlador programvel. Somente os mdulos presentes no diretrio so considerados vlidos para a execuo no CP. Um mdulo de programa presente no diretrio do CP pode estar somente em um tipo de memria, RAM ou EPROM, nunca simultaneamente em ambas. Os mdulos carregados pelo canal serial so sempre armazenados na memria RAM de programa aplicativo. Compactao A memria de programa do controlador programvel est dividida em um ou mais bancos, dependendo do modelo da UCP utilizada (ver tabela 2-1 na seo Organizao de Memria dos CPs neste captulo). 35

Captulo 3

Introduo Programao

medida que os mdulos que compem o projeto de programao so enviados para o CP atravs do canal serial, os mesmos ocupam o primeiro banco de memria RAM, desde o seu incio at o seu final. Quando o espao restante no primeiro banco no for suficiente para carregar o prximo mdulo, este ser carregado no banco seguinte, se este existir. A cada carga de novo mdulo no controlador programvel, o software executivo testa se h espao suficiente para o mesmo desde o primeiro at o ltimo banco disponvel. A carga de um novo mdulo somente possvel se houver memria livre disposio para o seu armazenamento. Dentro de um banco de memria RAM, a carga de um mdulo realizada sempre a partir da primeira posio aps o ltimo mdulo presente. Se um mdulo no incio do banco for removido, os mdulos que esto aps o mesmo devem ser transferidos para ocupar o seu espao de memria, para que este espao esteja disponvel no final do banco para a carga de outros mdulos. Este procedimento denomina-se compactao da memria RAM do programa aplicativo. Exemplo: Suponha-se que o primeiro banco de memria do controlador programvel esteja inicialmente com os seguintes mdulos:

Figura 3-33 Compactao de Memria

Se o mdulo P010 for removido do CP o banco 0 passar a ter a seguinte organizao:

Figura 3-34 Compactao da Memria RAM - 2

O espao anteriormente ocupado por P010 no aproveitvel pelo controlador programvel, pois a carga de um novo mdulo somente possvel aps o ltimo, o mdulo E001. Aps realizar a compactao de memria do CP, o banco 0 passa para a seguinte configurao:

36

Captulo 3

Introduo Programao

Figura 3-35 Compactao da Memria RAM - 3

Os mdulos E018 e E001 so transferidos para o espao anteriormente ocupado pelo mdulo P010, tornando este espao disponvel ao final da memria do banco para a carga de outro mdulo. Se o controlador programvel estiver em modo programao ou ciclado, os bancos de memria RAM de programa so mantidos automaticamente compactados pelo programa executivo. Em modo execuo, todavia, deve-se disparar a compactao manualmente, atravs do MASTERTOOL (opes Comunicao, Mdulos, Compactar RAM desde o menu principal). Este procedimento comum quando so realizadas diversas cargas de mdulos em modo execuo (cargas "on line"), tipicamente quando um mdulo est sendo depurado, necessitando de sucessivas alteraes e transmisses para o CP. ATENO: Dependendo da localizao dos mdulos na memria, o procedimento de aumentar em muito o tempo de alguns ciclos do programa aplicativo, quando execuo. Deve-se estar consciente dos efeitos deste aumento de tempo Aconselha-se que a compactao no seja disparada caso a mquina sob operao ou com seus acionamentos principais ativos. compactao pode realizado em modo de processamento. controle esteja em

Devido a este mecanismo de gerenciamento de mdulos no controlador programvel, possvel que a soma da memria disponvel nos bancos do CP com o valor ocupado pelos mdulos seja menor que a memria de programa total da UCP, se esta estiver em modo execuo. Este fato significa que a memria de programa no est compactada. Aps a compactao, entretanto, a soma dos valores ocupados com a memria livre deve ser igual memria total. Utilizao da Memria EPROM ou Flash EPROM Os controladores podem conter dois tipos diferentes de memria para gravao permanente do programa aplicativo: Memria EPROM - apresentada na forma de cartuchos, conectados no painel frontal do CP. O projeto de programao gravado nos cartuchos atravs do gravador AL-2860, ligado ao MASTERTOOL, e removido com apagadores apropriados, utilizando luz ultravioleta. Utilizada nos controladores AL-3003 e AL-3004. Memria flash EPROM - colocada na placa do circuito do CP, no sendo necessrio removla para gravar ou apagar programas. Estas operaesso realizadas pelo prprio controlador, atravs de comandos do MASTERTOOL. Utilizada nos controladores das sries AL-600, AL-2000 e QUARK. Ambos os tipos possuem caractersticas peculiares: podem ser gravadas parcialmente, porm no permitem o apagamento parcial do seu contedo. Ou seja, somente possvel desgravar todo o contedo da memria no seu apagamento. 37

Captulo 3

Introduo Programao

Cada CP somente utiliza um dos dois tipos citados anteriormente. Nenhum CP possui ambos os tipos de memria EPROM. A configurao de memria de cada modelo de CP apresentada na seo Organizao de Memria dos CPs neste captulo. Neste manual, na Ajuda e no programador MASTERTOOL, o nome EPROM refere-se indistintamente memria utilizada para gravao permanente do projeto de programao no CP, seja do tipo cartucho de EPROM ou flash EPROM. Transferncia de mdulos de RAM para flash: Aps serem carregados na memria RAM de programa, atravs do canal serial do CP, os mdulos do projeto de programao podem ser transferidos para a flash EPROM. Este comando somente utilizvel nos CPs que possuam memria flash. Para transferir mdulos em RAM para Flash EPROM 1. A partir do menu Comunicao, escolher Mdulos (ALT, C, D). 2. No quadro Mdulos em RAM, selecionar os mdulos a serem transferidos. O nmero de mdulos pode variar de 1 at o limite disponvel de mdulos em RAM. Marca-se cada mdulo para transferncia, clicando sobre o mdulo ou pressionando a BARRA DE ESPAO. O processo para desmarcar um mdulo j selecionado o mesmo utilizado para marc-lo. 3. Selecionar o boto >> RAM --> Flash. Pode-se transferir um nico mdulo ou um conjunto de mdulos, mesmo com o CP executando o programa. A transferncia em modo execuo realizada parcialmente em cada varredura, podendo demorar vrios segundos at ser completada, principalmente se houver alto tempo de ciclo de execuo. No final da transferncia, o mdulo em RAM automaticamente apagado e as informaes do diretrio modificadas. O gerenciamento da carga do mdulo na flash EPROM idntico ao da memria RAM, mostrada na seo anterior Compactao. Ou seja, o mdulo da RAM gravado no primeiro banco de flash que possua espao livre suficiente para o conter, aps o ltimo mdulo do banco. A pesquisa do espao livre ocorre na ordem seqencial dos bancos (0, 1, 2 e 3). Transferncia de mdulos de EPROM para RAM: Os mdulos presentes na memria flash EPROM ou no cartucho de EPROM tambm podem ser transferidos para a memria RAM de programa. Para transferir um mdulo em EPROM para RAM 1. A partir do menu Comunicao, escolher Mdulos (ALT, C, D). 2. No quadro Mdulos em EPROM, selecionar os mdulos a serem transferidos. O nmero de mdulos pode variar de 1 at o limite disponvel de mdulos em EPROM. Marca-se cada mdulo para transferncia, clicando sobre o mdulo ou pressionando a BARRA DE ESPAO. O processo para desmarcar um mdulo j selecionado o mesmo utilizado para marc-lo. 3. Selecionar o boto RAM <-- Flash <<. Pode-se transferir um nico mdulo ou um conjunto de mdulos, mesmo com o CP executando o programa. A transferncia em modo execuo realizada parcialmente em cada varredura, podendo demorar vrios segundos at ser completada, principalmente se houver alto tempo de ciclo de execuo. No final da transferncia, as informaes do diretrio so modificadas. O gerenciamento da carga do mdulo na flash EPROM idntico ao da memria RAM, mostrada na seo anterior Compactao. Apagamento e reabilitao de mdulos em EPROM: 38

Captulo 3

Introduo Programao

O comando de apagamento pode ser utilizado para mdulos armazenados na memria EPROM do CP. Como o apagamento de EPROMs somente possvel para todo o seu contedo, este comando apenas retira as informaes do diretrio de mdulos, no realizando um apagamento real da memria. O mesmo ocorre se um mdulo gravado em EPROM for substitudo por um novo mdulo de mesmo tipo e nmero carregado pelo canal serial. O novo mdulo armazenado em RAM, permanecendo o antigo em EPROM, sendo mostrado no diretrio apenas o novo em RAM. O mdulo removido atravs do comando de apagamento ou substitudo com carga de um novo mdulo pode ser recuperado para o diretrio, pois o seu contedo ainda est gravado na memria EPROM. Esta recuperao possvel com o comando de reabilitao de mdulos. A reabilitao faz com que um mdulo inexistente no diretrio reaparea situado em EPROM, ou que um j existente em RAM seja substitudo por um antigo em EPROM. Para apagar um mdulo do CP ou roteador 1. A partir do menu Comunicao, escolher Mdulos (ALT, C, D). 2. No item Mdulos em RAM ou Mdulos em EPROM, selecionar os mdulos a serem apagados. O nmero de mdulos pode variar de 1 at o limite disponvel de mdulos em RAM ou em EPROM. Marca-se cada mdulo para apagamento, clicando sobre o mdulo ou pressionando a BARRA DE ESPAO. O processo para desmarcar um mdulo j selecionado o mesmo utilizado para marc-lo. A cada execuo do comando Apagar Mdulo, somente um quadro pode conter mdulos selecionados para apagamento, Mdulos em RAM ou Mdulos em EPROM. 3. Selecionar o boto Apagar Mdulo. Apagamento da memria EPROM: Com o apagamento total da memria EPROM, todos os mdulos so removidos, ficando todo o seu espao disponvel para a gravao de novos mdulos. Para apagar o cartucho de EPROM deve ser utilizado um dispositivo apagador apropriado, aps a remoo do cartucho do CP. Para apagar a memria flash EPROM, utiliza-se as opes Comunicao, Mdulos, Apaga Flash estando o CP em modo programao. O apagamento pode demorar vrios segundos, dependendo da capacidade da memria flash utilizada no CP. Para apagar a memria Flash EPROM 1. A partir do menu Comunicao, escolher Mdulos (ALT, C, D). 2. Selecionar o boto Apagar Flash .

Tempos de Ciclo de Execuo do Programa

O tempo mximo possvel para a execuo de um ciclo completo do programa aplicativo no controlador programvel configurvel de 100 ms a 800 ms. Ou seja, a execuo completa de uma varredura do mdulo E001 no pode se estender por mais do que o valor configurado, incluindo as chamadas para mdulos P e F e acionamentos do mdulo de interrupo de tempo E018. O software executivo realiza uma verificao contnua no tempo de ciclo, passando automaticamente para estado de erro caso este limite seja ultrapassado. Pode-se verificar os tempos de execuo do programa aplicativo atravs da janela de informaes do CP (opes Comunicao, Estado, Informaes a partir do menu principal), sendo informados diversos tempos de ciclos de execuo, especificados a seguir: Tempo de ciclo instantneo : indica o tempo de ciclo da ltima varredura executada pelo CP antes de enviar as informaes do seu estado para o MASTERTOOL. Este item til em modo ciclado, quando mostra o tempo de execuo do ltimo ciclo disparado no controlador programvel. Tempo de ciclo mdio : indica a mdia de tempos de execuo das ltimas 256 varreduras realizadas pelo CP. Em modo execuo este parmetro fornece uma idia geral do 39

Captulo 3

Introduo Programao

tempo de processamento do programa aplicativo, ao contrrio do tempo de ciclo instantneo, que pode estar mostrando um valor atpico de uma varredura isoladamente. Como este tempo calculado somente a cada 256 varreduras, por vezes o seu valor necessita de alguns segundos para ser atualizado, principalmente em caso de aumento brusco no tempo de execuo (incluso de novos mdulos no controlador programvel, por exemplo). Tempo de ciclo mximo : indica o maior tempo entre todos os ciclos realizados desde a passagem do CP para modo execuo ou ciclado. Tempo de ciclo mnimo: indica o menor tempo entre todos os ciclos realizados desde a passagem do CP para modo execuo ou ciclado. Os tempos de ciclo so indicados em milisegundos (ms), sendo as contagens inicializadas na passagem de modo programao para execuo ou programao para ciclado. O atendimento da comunicao serial com o MASTERTOOL aumenta o tempo de ciclo do programa aplicativo no CP, podendo, em alguns casos, ultrapassar o tempo de ciclo mximo selecionado. Caso o tempo de execuo limite for ultrapassado somente devido aos comandos da comunicao serial (monitorao, foramento e demais), o CP no entrar em estado de erro. possvel, portanto, a indicao de um tempo de ciclo mximo maior que o selecionado sem que o controlador programvel tenha entrado em modo erro. O procedimento de compactao da memria de programa do controlador programvel tambm segue a regra anterior. Em alguns casos, a rotina de compactao necessita copiar um mdulo muito extenso na memria entre dois ciclos do programa aplicativo, aumentando exageradamente o tempo de execuo de uma varredura. Nesta situao o CP no entrar em estado de erro. Deve-se tomar cuidados especiais quando os tempos de ciclo de execuo se aproximam do tempo mximo selecionado. O simples fato do programa aplicativo estar executando corretamente com as condies mais comuns dos pontos de entrada no garante que seu tempo de varredura, em condies reais de funcionamento da mquina, permanea dentro do valor limite. ATENO: Cada projeto de programao deve ser examinado cuidadosamente em busca de situaes que iro provocar os maiores tempos de execuo. Essas situaes devem ser simuladas e os tempos medidos, verificando se no so excessivos. Este procedimento deve ser realizado mesmo em projeto de programao com tempos de ciclo bem abaixo do limite, para assegurar o seu bom funcionamento. possvel que em algumas varreduras isoladas o tempo de ciclo exceda o tempo mximo selecionado sem que o CP passe para modo erro, caso estas varreduras espordicas no causem atrasos nos temporizadores do sistema. ATENO: Se o CP indicar o tempo de ciclo mximo maior que o selecionado sem que tenha havido uma compactao de memria, mesmo que continue normalmente em modo execuo, deve-se examinar o programa para diminuir o seu tempo de ciclo nas situaes que causem maiores tempos. Existem alguns procedimentos tpicos para diminuir o tempo de execuo de programas aplicativos muito extensos. Um bom gerenciamento na chamada de mdulos pode diminuir sensivelmente o tempo de ciclo total, sendo realizadas chamadas de poucos mdulos do programa aplicativo em cada varredura, no permitindo que todos sejam disparados em um mesmo ciclo. O uso de instrues de salto dentro dos mdulos, diminui o tempo de execuo dos mesmos, pois um trecho de programa aplicativo saltado desconsiderado pelo software executivo. As instrues rel mestre e fim de rel mestre (RM e FRM) no possuem esta propriedade, pois o segmento de programa aplicativo delimitado pelas mesmas continua a ser executado mesmo quando a bobina RM o desabilita. Deve-se realizar inicializaes de valores em operandos ou tabelas dentro do mdulo E000, idealizado especialmente para este propsito. A execuo do mdulo E000, por no ser cclica, pode 40

Captulo 3

Introduo Programao

demorar mais que o tempo mximo, sendo este tempo desconsiderado na contagem do tempo da primeira varredurado mdulo E001. Pelo modo como executado, torna-se sem sentido a programao de temporizadores (TEE, TED) no mdulo E000.

Nveis de Proteo do CP

As UCPs das sries AL-600, AL-2000 e QUARK possuem um mecanismo de proteo do projeto de programao e dos operandos, permitindo o bloqueio da carga de mdulos de programa, foramentos de valores ou mesmo leituras de mdulos e monitorao por operadores no autorizados. Estas caractersticas so interessantes em processos crticos, para evitar modificaes acidentais nos dados ou no programa de controle ou na necessidade de sigilo dos mesmos. O bloqueio de operaes realizado atravs de nveis de proteo, que podem ser definidos apenas por operadores que conheam uma senha preestabelecida. O controlador pode operar em quatro diferentes nveis de proteo: Nvel 0 - todas as operaes no CP so permitidas. Nvel 1 - no possvel alterar o projeto de programao (apagar ou carregar novos mdulos de programa) ou mudar o estado do CP. Pode-se forar e monitorar operandos e ler mdulos do programa. Nvel 2 - no possvel alterar o projeto de programao (apagar ou carregar novos mdulos de programa), forar operandos ou mudar o estado do CP. Pode-se monitorar operandos e ler mdulos do programa. Nvel 3 - no possvel ler ou alterar o projeto de programao, monitorar ou forar variveis nem mudar o estado do CP. Pode-se apenas consultar o estado do CP e seu diretrio. A troca do nvel de proteo realizada com as opes Comunicao, Estado, Proteo no MASTERTOOL, devendo-se digitar a senha de acesso correta para efetiv-la. O nvel de proteo do CP pode ser consultado com o MASTERTOOL atravs das opes Comunicao, Estado, Informaes. A utilizao de nveis de proteo diferentes de zero permite que somente pessoas autorizadas, que conheam a senha, modifiquem o programa ou os dados do CP. Operadores no autorizados, mesmo dispondo do MASTERTOOL, ficam impedidos de realizar alteraes inadvertidas. A senha de acesso pode ter de um a oito caracteres alfanumricos. definida ou trocada com as opes Comunicao, Estado, Senha, devendo-se digitar a senha anterior e a nova senha duas vezes, para ser confirmada a mudana. O CP fornecido sem senha. No necessrio digitar qualquer valor no campo senha anterior para a definio da primeira senha. ATENO: A senha deve ser escrita e guardada em lugar seguro. Em caso de perda da senha programada no CP, entrar em contato com a ALTUS. A proteo do CP atua no somente para as operaes realizadas com o MASTERTOOL, mas tambm para os comandos recebidos pelas redes ALNET I e ALNET II, com as mesmas caractersticas definidas para cada nvel.

Alterando o Nvel de Proteo

O nvel de proteo do CP identificado por um nmero de 0 a 3. Cada um destes nveis proporciona um conjunto de comandos que podem ser executados no CP.
No nvel de proteo 0 no existe restrio, todos os comandos podem ser executados no CP. Conforme o nvel de proteo aumenta, o conjunto de comandos possveis diminui.

Para alterar o nvel de proteo do CP 1. A partir do menu Comunicao, escolher Estado (ALT, C, S). 41

Captulo 3

Introduo Programao

2. Selecionar o boto Proteo . 3. No item Senha , digitar a atual senha do CP. 4. No quadro Novo Nvel de Proteo , selecionar o nvel de proteo desejado.

Intertravamento de Comandos no CP

Na srie AL-2000 e na UCP QK2000/MSP da srie QUARK pode-se utilizar as redes de comunicao ALNET I e ALNET II em conjunto. Quando interligado desta forma, possvel a recepo simultnea de dois comandos cuja execuo concorrente seja indesejvel, devido s suas caractersticas. Por exemplo, o CP pode receber um comando de transferncia de mdulo da EPROM para a RAM pela ALNET II enquanto o mesmo mdulo est sendo carregado na ALNET I. Situaes semelhantes ocorrem com os comandos de transferncia de mdulos de programa da memria EPROM para RAM, de RAM para flash ou de apagamento da memria flash. A execuo destes comandos pode estender-se por vrios segundos, durante os quais o CP pode receber outros comandos que entrem em conflito com a operao em curso. Por exemplo, o CP pode receber um comando para apagar a memria flash enquanto um mdulo estava sendo transferido para a mesma memria. Para resolver as possveis situaes de conflito, h um mecanismo de intertravamento para a execuo de alguns comandos disponveis no CP. Estes comandos no podem ser executados caso o CP esteja realizando uma operao especfica. Existem dois sinais internos, carregando mdulo (CM) e compactando RAM (CR), que so usados para este propsito. As tabelas 2-9 e 2-10 mostram os comandos que utilizam o intertravamento e o acionamento dos sinais. O estado dos sinais carregando mdulo e compactando RAM pode ser verificado na janela de informaes do CP, opes Comunicao, Estado, Informaes no MASTERTOOL. Enquanto qualquer um dos sinais estiver acionado, o LED FC do painel do CP permanece aceso.
Operao realizada no CP Carga de Mdulos Comando bloqueado (ALNET I, ALNET II) Carga de mdulos Transferncia de EPROM para RAM Transferncia de RAM para flash Pedido de carga de mdulos Reabilitao de mdulos em EPROM Apagamento de Flash EPROM Compactao Carga de mdulos Transferncia de EPROM para RAM Transferncia de RAM para flash Pedido de carga de mdulos Reabilitao de mdulos em EPROM Apagamento de Flash EPROM Compactao Carga de mdulos Transferncia de EPROM para RAM Transferncia de RAM para flash Pedido de carga de mdulos Reabilitao de mdulos em EPROM Apagamento de Flash EPROM Compactao Carga de mdulos Transferncia de EPROM para RAM Transferncia de RAM para flash Pedido de carga de mdulos Reabilitao de mdulos em EPROM Apagamento de Flash EPROM Compactao CM Carregando Mdulo Sinal Ligado CM

Transferncia de EPROM para RAM

CM

Transferncia de RAM para flash

CM

Apagamento de Flash EPROM

CM

42

Captulo 3

Introduo Programao

Tabela 3-36 Intertravamento de Comandos no CP (carregando mdulo)

Operao realizada no CP Compactao

Comando bloqueado (ALNET I, ALNET II) Carga de mdulos Transferncia de EPROM para RAM Transferncia de RAM para flash Pedido de carga de mdulos Reabilitao de mdulos em EPROM Remoo de mdulos Compactao CR Compactando RAM

Sinal Ligado CR

Tabela 3-37 Intertravamento de Comandos no CP (Compactando RAM)

Por exemplo, enquanto um mdulo est sendo carregado no CP pela rede ALNET I ou ALNET II, os comandos de carga de mdulos, transferncia de EPROM para RAM, transferncia de RAM para flash, pedido de carga de mdulos, reabilitao de mdulos em EPROM, apagamento de Flash EPROM e compactao no podem ser executados, caso sejam recebidos atravs da outra rede. Se forem recebidos pelo CP, uma resposta indicando a impossibilidade de sua execuo transmitida para o solicitante. ATENO: O intertravamento dos comandos no ocorre para os CPs AL-3003 e AL-3004. O LED FC do painel frontal no ligado na ocorrncia das operaes das tabelas 3-36 e 3-37.

Exemplo 1: Ligar e desligar uma lmpada


Representao eltrica
C1

L1

Figura 3-38 Representao eltrica do exemplo

Equivalncia no diagrama de rels do CP


C1 = E0000.0 L1 = S0002.0

43

Captulo 3

Introduo Programao

Programa "ladder"

Figura 3-39 Programa "ladder" exemplo 1

Seqncia de operaes para transferir um programa para o CP

Figura 3-40 Seqncia de operaes para envio de programa para o CP

Caso o CP esteja em estado de erro, antes de transmitir o programa, deve-se passar o CP para o modo programao, enviar os mdulos E-.001 e C-.000 aps passar o CP para o modo execuo .

Configurando o Mdulo C
O que um Mdulo C?
Mdulo C o mdulo que possui todas as configuraes necessrias para o uso de um projeto de programao.

Configurando o Modelo de UCP

O mdulo de configurao deve ser declarado de acordo com o controlador a ser utilizado. Para isto deve-se configurar o modelo de UCP. Para configurar o modelo de UCP 44

Captulo 3

Introduo Programao

1. Selecionar como mdulo corrente o mdulo C a ser configurado.


2. No item Modelo de UCP, selecionar o modelo de UCP a ser utilizado na lista de UCPs disponveis.

Configurando Operandos Simples

Deve ser declarado no mdulo C a quantidade de operandos simples usada pelos demais mdulos que compe o programa aplicativo. A quantidade total de memria para os operandos depende do modelo de UCP. medida que os operandos so declarados, a quantidade de memria disponvel pode ser visualizada no item Bytes Livres, abaixo direita. Os operandos memria so alocados em blocos de 128 operandos. Caso o
valor digitado no seja mltiplo deste valor, arredondado para o primeiro valor mltiplo de 128 maior que o nmero digitado. Os operandos decimal so alocados em blocos de 64 operandos. Caso o valor digitado no seja mltiplo deste valor, arredondado para o primeiro valor mltiplo de 64 maior que o nmero digitado.

Para configurar operandos simples 1. No item Total de Operandos , Memria, digitar o nmero de operandos memria a serem utilizados. O item ao lado mostra automaticamente o intervalo dos operando memria que esto disponveis para serem utilizados.
2. No item Total de Operandos, Decimal , digitar o nmero de operandos decimal a serem utilizados. O item ao lado mostra automaticamente o intervalo dos operandos decimal que esto disponveis para serem utilizados.

Configurando Operandos Tabelas

Deve ser declarado no mdulo C a quantidade de operandos tabela usada pelos demais mdulos que compe o programa aplicativo.
A quantidade total de memria para os operandos depende do modelo de UCP. medida que os operandos so declarados, a quantidade de memria disponvel pode ser visualizada no item Bytes Livres, abaixo direita.

Para configurar operandos tabela 1. No item Memria do quadro Tabelas, digitar o nmero de operandos tabela memria a ser utilizado pela aplicao. Este nmero pode variar de 0 a 255. 2. Escolher o boto Posies, caso o nmero de tabelas for diferente de 0. exibida uma tabela para a configurao do nmero de posies.
3. No item Posies, digitar o nmero de posies para cada tabela. Este nmero pode variar de 0 a 255.

4. No item Decimal do quadro tabelas, digitar o nmero de operandos tabela decimal a ser utilizado pela aplicao. Este nmero pode variar de 0 a 255.
5. Escolher o boto Posies, caso o nmero de tabelas for diferente de 0. exibida uma tabela para a configurao do nmero de posies. 6. No item Posies, digitar o nmero de posies para cada tabela. Este nmero pode variar de 0 a 255.

Configurando Operandos Retentivos

Deve ser declarado no mdulo C o nmero de operandos retentivos, ou seja, que no tero seu valor perdido com a desenergizao do CP. Os operandos retentivos so um subconjunto dos operandos configurados e so sempre os ltimos operandos configurados para cada tipo. Por exemplo, se existirem 128 operandos memria e 64 forem declarados como retentivos, sero os operandos de %M0064 .a %M0127. Os operandos do tipo tabela so todos retentivos. Os operandos memria declarados como retentivos so alocados em blocos de 128 operandos. Caso o valor digitado no seja mltiplo deste valor, arredondado para o primeiro valor mltiplo de 128 maior que o nmero digitado.
Os operandos decimal declarados como retentivos so alocados em blocos de 64 operandos. Caso o valor digitado no seja mltiplo deste valor, arredondado para o

45

Captulo 3

Introduo Programao

primeiro valor mltiplo de 64 maior que o nmero digitado. Os operandos auxiliar e sada so alocados um a um.

Para configurar operandos retentivos 1. No item Operandos Retentivos , Memria, digitar o nmero de operandos memria a serem retentivos. 2. No item Operandos Retentivos , Decimal, digitar o nmero de operandos decimal a serem retentivos. 3. No item Operandos Retentivos , Sada, digitar o nmero de operandos sada a serem retentivos.
4. No item Operandos Retentivos, Auxiliar , digitar o nmero de operandos auxiliares a serem retentivos.

Configurando o Tempo Mximo de Ciclo de Varredura

Deve ser declarado no mdulo C o tempo mximo do ciclo de varredura do programa aplicativo. O limite de tempo mximo configurvel depende do modelo de UCP declarada.

Tempos de Ciclo de Execuo do Programa

O tempo mximo possvel para a execuo de um ciclo completo do programa aplicativo no controlador programvel configurvel de 100 ms a 800 ms. Ou seja, a execuo completa de uma varredura do mdulo E001 no pode se estender por mais do que o valor configurado, incluindo as chamadas para mdulos P e F e acionamentos do mdulo de interrupo de tempo E018. O software executivo realiza uma verificao contnua no tempo de ciclo, passando automaticamente para estado de erro caso este limite seja ultrapassado. Pode-se verificar os tempos de execuo do programa aplicativo atravs da janela de informaes do CP (opes Comunicao, Estado, Informaes a partir do menu principal), sendo informados diversos tempos de ciclos de execuo, especificados a seguir: Tempo de ciclo instantneo : indica o tempo de ciclo da ltima varredura executada pelo CP antes de enviar as informaes do seu estado para o MASTERTOOL. Este item til em modo ciclado, quando mostra o tempo de execuo do ltimo ciclo disparado no controlador programvel.
Tempo de ciclo mdio: indica a mdia de tempos de execuo das ltimas 256 varreduras realizadas pelo CP. Em modo execuo este parmetro fornece uma idia geral do tempo de processamento do programa aplicativo, ao contrrio do tempo de ciclo instantneo, que pode estar mostrando um valor atpico de uma varredura isoladamente. Como este tempo calculado somente a cada 256 varreduras, por vezes o seu valor necessita de alguns segundos para ser atualizado, principalmente em caso de aumento brusco no tempo de execuo (incluso de novos mdulos no controlador programvel, por exemplo).

Tempo de ciclo mximo : indica o maior tempo entre todos os ciclos realizados desde a passagem do CP para modo execuo ou ciclado. Tempo de ciclo mnimo: indica o menor tempo entre todos os ciclos realizados desde a passagem do CP para modo execuo ou ciclado. Os tempos de ciclo so indicados em milisegundos (ms), sendo as contagens inicializadas na passagem de modo programao para execuo ou programao para ciclado. O atendimento da comunicao serial com o MASTERTOOL aumenta o tempo de ciclo do programa aplicativo no CP, podendo, em alguns casos, ultrapassar o tempo de ciclo mximo selecionado. Caso o tempo de execuo limite for ultrapassado somente devido aos comandos da comunicao serial (monitorao, foramento e demais), o CP no entrar em estado de erro. possvel, portanto, a indicao de um tempo de ciclo mximo maior que o selecionado sem que o controlador programvel tenha entrado em modo erro. O procedimento de compactao da memria de programa do controlador programvel tambm segue a regra anterior. Em alguns casos, a rotina de compactao necessita copiar um mdulo muito 46

Captulo 3

Introduo Programao

extenso na memria entre dois ciclos do programa aplicativo, aumentando exageradamente o tempo de execuo de uma varredura. Nesta situao o CP no entrar em estado de erro. Deve-se tomar cuidados especiais quando os tempos de ciclo de execuo se aproximam do tempo mximo selecionado. O simples fato do programa aplicativo estar executando corretamente com as condies mais comuns dos pontos de entrada no garante que seu tempo de varredura, em condies reais de funcionamento da mquina, permanea dentro do valor limite. ATENO: Cada projeto de programao deve ser examinado cuidadosamente em busca de situaes que iro provocar os maiores tempos de execuo. Essas situaes devem ser simuladas e os tempos medidos, verificando se no so excessivos. Este procedimento deve ser realizado mesmo em projeto de programao com tempos de ciclo bem abaixo do limite, para assegurar o seu bom funcionamento. possvel que em algumas varreduras isoladas o tempo de ciclo exceda o tempo mximo selecionado sem que o CP passe para modo erro, caso estas varreduras espordicas no causem atrasos nos temporizadores do sistema. ATENO: Se o CP indicar o tempo de ciclo mximo maior que o selecionado sem que tenha havido uma compactao de memria, mesmo que continue normalmente em modo execuo, deve-se examinar o programa para diminuir o seu tempo de ciclo nas situaes que causem maiores tempos. Existem alguns procedimentos tpicos para diminuir o tempo de execuo de programas aplicativos muito extensos. Um bom gerenciamento na chamada de mdulos pode diminuir sensivelmente o tempo de ciclo total, sendo realizadas chamadas de poucos mdulos do programa aplicativo em cada varredura, no permitindo que todos sejam disparados em um mesmo ciclo. O uso de instrues de salto dentro dos mdulos, diminui o tempo de execuo dos mesmos, pois um trecho de programa aplicativo saltado desconsiderado pelo software executivo. As instrues rel mestre e fim de rel mestre (RM e FRM) no possuem esta propriedade, pois o segmento de programa aplicativo delimitado pelas mesmas continua a ser executado mesmo quando a bobina RM o desabilita. Deve-se realizar inicializaes de valores em operandos ou tabelas dentro do mdulo E000, idealizado especialmente para este propsito. A execuo do mdulo E000, por no ser cclica, pode demorar mais que o tempo mximo, sendo este tempo desconsiderado na contagem do tempo da primeira varredura do mdulo E001. Pelo modo como executado, torna-se sem sentido a programao de temporizadores (TEE, TED) no mdulo E000. Para configurar o tempo mximo do ciclo de varredura
1. No item Tempo Mximo do Ciclo de Varredura , selecionar o tempo a ser utilizado na lista de tempos disponveis. Podem ser escolhidos valores de 100 ms a 400 ms para todas

as UCPs disponveis, exceto a UCP AL-2002/MSP que permite tempos entre 100 ms e 800 ms.

Configurando o Perodo de Acionamento do Mdulo E018

Deve ser declarado no mdulo C o perodo de tempo que deve ser acionado o mdulo de interrupo de tempo E018. O trecho de programa aplicativo colocado neste mdulo chamado para a execuo em intervalos de tempo peridicos. Define-se o perodo de chamada do mesmo nos parmetros gerais do mdulo C, podendo ser escolhido entre50 ms, 25 ms, 10 ms, 5 ms, 3,125 ms, 2,5 ms, 1,25 ms e 0,625 ms. Ao ser transcorrido o tempo programado, a execuo seqencial do programa aplicativo interrompida e o mdulo E018 executado. Aps o seu final, o sistema retorna a execuo para o ponto do processamento seqencial onde o mdulo E0001 havia sido interrompido. O tempo continua a ser contado durante a chamada do mdulo E018, devendo a sua execuo ser o mais breve possvel para no haver o aumento excessivo no tempo de ciclo do mdulo E001. 47

Captulo 3

Introduo Programao

Para configurar o perodo de acionamento do mdulo E018


1. No item Perodo de Acionamento de E018, selecionar o tempo que deve ser utilizado entre as chamadas ao mdulo E018. So possveis tempos de 0,625 ms a 50 ms.

Configurando o Barramento

Deve ser declarado no mdulo C a configurao de mdulos de entrada e sada localizados em todos os barramentos possveis para cada modelo de UCP. Na configurao do barramento so alocados operandos de entrada e sada (%E e %S) para os mdulos digitais e indicado o endereo dos operandos de endereo no barramento (%R).
No item Primeiro Octeto de Sada possvel a definio do endereo do operando %S a partir do qual sero reservados os pontos de sada. Este valor automaticamente alterado com as declaraes dos mdulos de E/S nos barramentos, s precisando ser modificado pelo usurio para reservar endereos %E para futuras inseres de mdulos de entrada.

Para configurar o barramento: 1. Selecionar o boto Barramento . exibido um quadro de dilogo para a configurao dos barramentos. 2. No item Primeiro Octeto de Sada , digitar o nmero do primeiro octeto de sada.
3. No item Troca de Mdulos Energizado, deve-se selecionar o item caso seja utilizada a troca de mdulos com o CP energizado. Este item s existe na UCP AL-2002/MSP.

4. Selecionar o boto Barramento 0. exibida uma tabela para a configurao do barramento 0. Cada linha da tabela corresponde a uma posio no barramento indicado pela coluna Posio. A coluna PA indica o valor a ser configurado na ponte de ajuste do mdulo, se necessrio.
5. Na coluna Mdulo, digitar ou selecionar o mdulo de entrada ou sada que deve ocupar aquela posio. Se o mdulo for de entrada ou sada digital so configurados os operandos %E ou %S de acordo com o nmero de octetos do mdulo. A coluna Endereo indica o endereo no barramento a ser utilizado para acesso aos mdulos analgicos e especiais.

6. Repetir este item para todos os mdulos a serem inseridos no barramento 0. 7. Repetir o item 4 selecionando cada barramento a ser configurado. Repetir os item 5 para configurar os mdulos de cada barramento. O nmero de barramentos varia de acordo com o modelo de UCP utilizado.
Os botes <<Anterior e Prximo>> podem ser utilizados durante a configurao de um barramento para exibir diretamente a caixa de dilogo de configurao do barramento anterior ou do prximo barramento.

48

Captulo 4

Instrues de Rels

3 Instrues de Rels
As instrues do grupo Rels so utilizadas para o processamento lgico dos diagramas de rels. Atravs das mesmas pode-se manipular os valores dos pontos digitais de entrada (%E) e sada (%S), bem como pontos de operandos auxiliares (%A), memria (%M) e decimal (%D). So usadas tambm para desvio do fluxo e controle do processamento do programa aplicativo.

Instrues Contato RNA e RNF, Ligaes Horizontal, Vertical e Negada e Bobina


Nome RNA RNF BOB
Descrio do Nome contato normalmente aberto contato normalmente fechado bobina simples

Seqncia de Edio
ALT, R, A ALT, R, F ALT, R, B

Contatos RNA contato normalmente aberto OPER ----| |--- RNF contato normalmente fechado OPER ----| / |---Descrio: Estas instrues refletem, logicamente, o comportamento real de um contato eltrico de um rel no programa aplicativo. O contato normalmente aberto fecha conforme o estado do seu operando associado. Caso o ponto do operando esteja no estado lgico 1 ou 0, o contato normalmente aberto est fechado ou aberto, respectivamente. O contato normalmente fechado possui comportamento oposto ao normalmente aberto. Caso o ponto do operando associado esteja no estado lgico 1 ou 0, o contato normalmente fechado est aberto ou fechado, respectivamente. Quando um contato est fechado, a instruo transmite o estado lgico da sua entrada para a sua sada. Se estiver aberto, o valor da entrada no colocado na sada.

Captulo 4

Instrues de Rels

Sintaxe:

Tabela 4-1 Sintaxe das Instrues RNA e RNF

Bobinas BOB Bobina Simples OPER ----( )----| BBL Bobina Liga ----( OPER L )----|

BBD Bobina Desliga ----( OPER D )----|

Descrio: As instrues bobina modificam o estado lgico do operando na memria imagem do controlador programvel, conforme o estado da linha de acionamento das mesmas. A bobina simples liga ou desliga o ponto do operando conforme a linha de acionamento, enquanto que as bobinas do tipo liga e do tipo desliga somente ligam ou desligam os operandos quando a linha est energizada ("set"/"reset").
Estas instrues somente podem ser posicionadas na coluna 7 da lgica. Sintaxe:

Figura 4-2 Sintaxe das Instrues BOB, BBL E BBD

Captulo 4

Instrues de Rels

Exemplo 2: Intertravamento bsico de um motor


Representao eltrica

Figura 4-3 Representao eltrica exemplo 2

Equivalncia no diagrama de rels do CP Boto liga = E0000.0 Nvel OK = E0000.1 Presso OK = E0000.2 Boto desliga = E0000.3 Motor M1 = S0002.0

Figura 4-4 Programa "ladder" exemplo 2

Captulo 4

Instrues de Rels

Modelos de UCP AL-2000/MSP


Nmero de Mdulos de E/S Nmero de E/S Digitais Nmero de E/S Analgicas Memria de Programa RAM Memria de Programa "Flash" Memria de Dados Multiprocessamento Rede ALNET I Rede ALNET II Registro de Eventos Troca de Mdulos "a quente" AL2000/MSP 32 512 512 128 k 128 k 15,5 k No Sim Sim No No AL2002/MSP 142 512 * 128 k 128 k 15,5 k Sim Sim Sim Sim Sim

* Limitado pelo nmero mximo de mdulos de E/S

Modelos de UCP AL-600


Frequncia de Clock Entradas Integradas 24Vdc Sadas Int. (24 VDC / 0,5 A) Nmero Mx. de Mdulos Contadores at 10 KHz Int. Total de Pontos de E/S E/S Analgica Integrada Memria de Programa "Flash" Memria de Programa RAM Mdulos Funo Memria de Dados AL600/4 15 MHz 16 8 4 2 90 16 kbytes 16 kbytes No 8 kbytes AL-600/8 15 MHz 16 8 8 2 156 2 (0 a 10 VDC) 32 kbytes 16 kbytes Sim 8 kbytes AL-600/16 15 MHz 16 8 16 2 284 2 (0 a 10 VDC) 64 kbytes 16 kbytes Sim 8 kbytes

Captulo 4

Instrues de Rels

Modelos de UCP QUARK


QK800 Frequncia de Clock Nmero Mximo de E/S Nmero Mx. de Mdulos Interface de Comunicao ALNET I Interface de Comunicao ALNET II Capacidade padro de memria Capacidade mxima de memria 14,7456 MHz 256 16 Sim No 32kb RAM 32kb FLASH 32kb RAM 32kb FLASH QK801 14,7456 MHz 512 32 Sim No 32kb RAM 64kb FLASH 128kb RAM 128kb FLASH QK2000/MSP 14,7456 MHz 512 32 Sim Sim 32kb RAM 64kb FLASH 128kb RAM 128kb FLASH

Modelos de UCP PICCOLO


Frequncia de Clock Entradas Integradas 24Vdc Sadas R (rel) T (transistor) N Mx. Mod. E/S digitais. E/S Analgicas Integradas Contadores at 10kHZ int. Interface de Comunicao ALNET I PL101/R PL101/T 14,7456 MHz 8 6 RS-232C PL102/R PL102/T 14,7456 MHz 14 10 RS-232C PL103/R PL103/T 14,7456 MHz 16 16 3 2 (0 a 10 Vdc) 2 RS-232C e EIA-485

Captulo 4

Instrues de Rels

Seqncia de operaes para soluo de exerccios

Figura 4-5 Seqncia de operaes para soluo de exerccios

Captulo 4

Instrues de Rels

Exerccio 1: Transportador de peas com expulso automtica

Figura 4-6 Transportador de peas com expulso automtica

1 2

Ao apertar o boto de Start o motor energizado e o pisto deve ser recuado (energiza SW1). A pea ser transportada at encostar no fim de curso 1 (FC1). Ao encostar no FC1 o motor desligado parando a esteira e o solenide SW2 deve ser energizado para empurrar a pea. Quando a pea passar pelo fim de curso 2 (FC2) o pisto deve ser recuado energizando o solenide SW1. Nesse momento o motor deve ser ligado iniciando o transporte de uma nova pea. Em qualquer momento que for pressionado o boto de Stop, o motor deve ser desligado e o pisto recuado (energizando SW1).

Captulo 4

Instrues de Rels

Figura 4-7 Representao eltrica do exerccio 1

Exerccio complementar 1: Controle de nvel de lquido

Figura 4-8 Controle de nvel de lquido no reservatrio

Elaborar um software aplicativo que implemente o controle do processo de enchimento de um reservatrio. Sempre que o nvel cair abaixo de um mnimo permitido (chave de nvel F1), liga vlvula Y1 e desliga a vlvula Y2. Por outro lado, quando o nvel atingir a chave de nvel F2, a vlvula alimentadora Y1 deve ser desligada, permitindo o acionamento de Y2. Prever uma chave manual/automtico CH1.

Captulo 4

Instrues de Rels

Instrues Bobina Liga e Bobina Desliga


BBL BBD
bobina liga bobina desliga
ALT, R, L ALT, R, D

Exemplo 3: Bobina Liga e Bobina Desliga

Figura 4-9 Programa "ladder" exemplo 3

Instruo Rel de Pulso


PLS
rel de pulso
ALT, R, P

PLS - Rel de Pulso Descrio: A instruo rel de pulso gera um pulso de uma varredura em sua sada, ou seja, permanece energizada durante uma varredura do programa aplicativo quando o estado da sua entrada passar de desenergizado para energizado. O rel auxiliar declarado serve como memorizador, evitando limitaes quanto ao nmero de instrues de pulso presentes no programa aplicativo. ATENO:
O valor do rel auxiliar no deve ser modificado em nenhum outro ponto do programa aplicativo.

Sintaxe:

Tabela 4-10 Sintaxe da Instruo SLT

Captulo 4

Instrues de Rels

Exemplo 4: Rel de Pulso

Figura 4-11 Programa "ladder" exemplo 4

Exerccio 2: Ligar e desligar um motor com apenas um pulso

Figura 4-12 Diagrama de sinais do exerccio 2

Exerccio complementar 2: Acionamento e reverso de um motor


Elaborar um software aplicativo que permita o acionamento e a reverso no sentido de rotao de um motor atravs de um comando manual. As condies de desligamento ou no acionamento do motor devem ser: boto stop presso baixa no sistema temperatura elevada

Instrues Rel Mestre e Fim de Rel Mestre


RM FRM
rel mestre fim de rel mestre
ALT, R, R ALT, R, M

RM, FRM - Rel Mestre, Fim de Rel Mestre RM Rel Mestre +--------+ -----| RM |----+--------+ FRM Fim de Rel Mestre +--------+ -----| FRM |----+--------+ Descrio: 10

Captulo 4

Instrues de Rels

As instrues rel mestre e fim de rel mestre so utilizadas para delimitar trechos de programas aplicativos, energizando ou no a barra lgica de alimentao nos mesmos, conforme o estado da sua linha de acionamento. Estas instrues no necessitam de operandos, podendo ser posicionadas somente na coluna 7 da lgica. Quando a entrada da instruo RM estiver desenergizada, a barra lgica de alimentao desenergizada desde a lgica seguinte at a lgica que contm a instruo FRM. Como estas instrues atuam sempre na lgica seguinte a que esto contidas aconselhvel o seu posicionamento sempre como ltimas instrues da lgica em que estiverem presentes. Assim sendo, o trecho de programa aplicativo delimitado visualmente pelas instrues no diagrama corresponde exatamente ao controlado pelas mesmas, evitando assim m interpretao de seu funcionamento. ATENO:
As instrues CON, COB, TEE e TED contm sadas energizadas mesmo sem o acionamento das suas entradas. Estas sadas permanecem energizadas mesmo dentro de um trecho sob comando de um rel mestre desenergizado, podendo causar acionamentos indesejveis.

Exemplo 5: Rel Mestre e Fim de Rel Mestre

Figura 4-13 Programa "ladder" exemplo 5

11

Captulo 4

Instrues de Rels

Instruo Bobina de Salto


SLT
bobina de salto
ALT, R, S

SLT - Bobina de Salto KM+ ----( S )----| XXXXX Descrio: A instruo bobina de salto serve para controlar a seqncia de execuo de um programa aplicativo, sendo usada para desviar o processamento do mesmo para uma lgica determinada. Seu operando uma constante que determina o nmero de lgicas a serem saltadas a partir da energizao da bobina. A determinao da lgica destino realizada pela soma da constante que acompanha a instruo com o nmero da lgica onde a mesma se encontra. Quando a linha de acionamento da bobina de salto estiver desenergizada, o salto no ocorre, e a instruo seguinte quela em que esta bobina est declarada executada. ATENO: O uso de constante zero ou negativa corresponde a um uso no convencional da instruo. Caso deseje-se utiliz-la, deve-se tomar os cuidados necessrios para evitar a entrada em lao infinito de execuo "loop" ou o aumento excessivo do tempo de ciclo do programa aplicativo. Recomenda-se, contudo, a utilizao da bobina de salto somente com constantes positivas maiores que zero. O controle da execuo nestas situaes deve ser realizado atravs de um intertravamento que desligue o salto para a lgica anterior, aps um certo nmero de laos executados no trecho de retorno. Caso a lgica destino ultrapasse a ltima lgica do programa aplicativo, o CP salta para o final do programa e continua seu ciclo normal. Caso a lgica destino de um salto de retorno seja menor do que a primeira lgica do programa aplicativo, a execuo reiniciada a partir da lgica 0. Sintaxe:

Tabela 4-14 Sintaxe da Instruo SLT

12

Captulo 4

Instrues de Rels

Exemplo 6: Instruo Bobina de Salto

Figura 4-15 Programa "ladder" exemplo 6

13

Captulo 5

Instrues Temporizador e Contador Simples

4 Instrues Temporizador e Contador


Nome TEE TED Descrio do Nome temporizador na energizao temporizador na desenergizao Seqncia de Edio ALT, C, T ALT, C, D

Instruo Temporizador na Energizao


TEE - Temporizador na Energizao +--TEE--+ libera --| OPER1 |-| | ativa --| OPER2 |-+-------+ Q -Q

OPER1 - acumulador de tempo OPER2 - limite de tempo (dcimos de segundos) Descrio: Esta instruo realiza contagens de tempo com a energizao das suas entradas de acionamento. A instruo TEE possui dois operandos. O primeiro (OPER1) especifica a memria acumuladora da contagem de tempo. O segundo operando (OPER2) indica o tempo mximo a ser acumulado. A contagem de tempo realizada em dcimos de segundos, ou seja, cada unidade incrementada em OPER1 corresponde a 0,1 segundo. Enquanto as entradas libera e ativa estiverem simultaneamente energizadas, o operando OPER1 incrementado a cada dcimo de segundo. Quando OPER1 for maior ou igual a OPER2, a sada Q energizada e -Q desenergizada, permanecendo OPER1 com o mesmo valor de OPER2. Desacionando-se a entrada libera , h a interrupo na contagem do tempo, permanecendo OPER1 com o mesmo valor. Desacionando-se a entrada ativa, o valor em OPER1 zerado. Se OPER2 for negativo ou o acesso indireto for invlido, OPER1 zerado e a sada -Q energizada. O estado lgico da sada Q exatamente o oposto da sada -Q, mesmo estando a instruo desativada. ATENO:
Com a entrada ativa desativada, a sada -Q permanece sempre energizada, mesmo quando a instruo estiver em um trecho comandado pela instruo RM (rel mestre). Deve-se ter cuidado para no realizar acionamentos indesejveis na lgica devido a este fato.

Captulo 5

Instrues Temporizador e Contador Simples

Diagrama de Tempos:

Figura 5-1 Diagrama de Tempos da Instruo TEE

Sintaxe:

Figura 5-2 Sintaxe da Instruo TEE

Captulo 5

Instrues Temporizador e Contador Simples

Exemplo 7: Temporizador na Energizao ou "on delay"

Figura 5-3 Programa "ladder" exemplo 7

Figura 5-4 Diagrama de tempo exemplo 7

Instruo Temporizador na Desenergizao


Exemplo 8: Temporizador na Desenergizao ou "off delay"

Figura 5-5 Programa "ladder" exemplo 8

Captulo 5

Instrues Temporizador e Contador Simples

Figura 5-6 Diagrama de tempo exemplo 8

Temporizador Monoestvel
Exemplo 9: Temporizador monoestvel

Figura 5-7 Programa "ladder" exemplo 9

Figura 5-8 Diagrama de tempo exemplo 9

Captulo 5

Instrues Temporizador e Contador Simples

Temporizador Astvel
Exemplo 10: Temporizador astvel

Figura 5-9 Programa "ladder" exemplo 10

Figura 5-10 Diagrama de tempo exemplo 10

Captulo 5

Instrues Temporizador e Contador Simples

Temporizadores em Cascata
Exemplo 11: Temporizadores em cascata

Figura 5-11 Programa "ladder" exemplo 11

Figura 5-12 Diagrama de tempo exemplo 11

Instruo Contador
Nome CON COB Descrio do Nome Contador simples Contador bidirecional Seqncia de Edio ALT, C, N ALT, C, B

CON - Contador Simples +---CON---+ incrementa --| OPER1 |-- limite superior | | ativa --| OPER2 |-- no limite +---------+ OPER1 - contador OPER2 - limite de contagem 6

Captulo 5

Instrues Temporizador e Contador Simples

Descrio: Esta instruo realiza contagens simples, com o incremento de uma unidade em cada acionamento. A instruo contador simples possui dois operandos. O primeiro, sempre do tipo %M, especifica a memria que contabiliza os eventos. O segundo estabelece o valor limite de contagem para energizao da sada da clula superior e pode ser do tipo %KM, %M ou operando %M referenciado indiretamente. Se a entrada ativa esta desenergizada, a memria em OPER1 zerada, a sada no limite energizada e a sada limite desenergizada.
Quando a entrada ativa est energizada, cada transio de ligao na entrada incrementa aumenta o valor do operando contador (OPER1) de uma unidade.

Se o valor do primeiro operando igualar-se ao do segundo operando, a sada limite energizada. A varivel contadora no incrementada com novas transies na entrada incrementa, permanecendo com o valor limite. Se for menor, a sada limite desenergizada. O estado lgico da sada no limite exatamente o oposto da sada limite, mesmo estando a instruo desativada. ATENO: Com a entrada ativa desativada, a sada no limite permanece sempre energizada, mesmo quando a instruo estiver em um trecho comandado pela instruo RM (rel mestre). Deve-se ter cuidado para no realizar acionamentos indesejveis na lgica devido a este fato. Sintaxe:

Tabela 5-13 Sintaxe da Instruo CON

Captulo 5

Instrues Temporizador e Contador Simples

O primeiro operando contm a memria acumuladora do valor contado, enquanto que o segundo especifica o valor do incremento ou decremento desejado. O terceiro operando contm o valor limite da contagem. A contagem ocorre sempre que a entrada ativa est energizada e as entradas incrementa ou decrementa sofrerem uma transio de desligadas para ligadas. Se ambas as entradas sofrem a transio no mesmo ciclo de varredura do programa, no h incremento nem decremento no valor da memria declarada em OPER1. Caso o valor do incremento seja negativo, a entrada incrementa provoca decrementos e a entrada decremento provoca incrementos no valor da contagem. Se o valor do primeiro operando tornar-se maior ou igual ao do terceiro operando, a sada limite superior energizada, no havendo incremento. Se o valor do primeiro operando tornar-se igual ou inferior a zero, a sada limite inferior acionada, sendo armazenado zero no primeiro operando. Se o valor do primeiro operando est entre zero e o limite, a sada no limite acionada. Se a entrada ativa no est energizada, a sada limite inferior energizada e o primeiro operando zerado. ATENO: Com a entrada ativa desativada, a sada no limite permanece sempre energizada, mesmo quando a instruo estiver em um trecho comandado pela instruo RM (rel mestre). Deve-se ter cuidado para no realizar acionamentos indesejveis na lgica devido a este fato. Sintaxe:

Tabela 5-14 Sintaxe da Instruo COB

Exemplo 12: Contador

Figura 5-15 Programa "ladder" exemplo 12

Captulo 5

Instrues Temporizador e Contador Simples

Multiplicao de Bases de Tempo


Exemplo 13: Multiplicao de Bases de Tempo

Figura 5-16 Programa "ladder" exemplo 13

Exerccio 3: Dispositivo de Separao e Contagem


Elaborar software aplicativo que faa a separao automtica das caixas pequenas, conforme figura abaixo:

Figura 5-17 Dispositivo de Separao e Contagem

Captulo 5

Instrues Temporizador e Contador Simples

Considerar as seguintes condies: Velocidade da esteira: 5 m/min; Comprimento da caixa grande: 0,8 m; Comprimento da caixa pequena: 0,2 m; Tempo de acionamento do pisto: 0,5 s.

Exerccio complementar 3: Relgio


Elaborar um software aplicativo que implemente um relgio com indicao de horas, minutos e segundos. O programa deve possibilitar o acerto da hora atual, a qual pode ser visualizada no display

10

Captulo 6

Instrues Aritmtica

5 Instrues Aritmticas
As instrues aritmticas modificam os valores dos operandos numricos, permitindo a realizao de clculos aritmticos e lgicos entre os mesmos. Permitem tambm comparaes entre valores de operandos.

Instruo Soma
Nome SOM Descrio do Nome adio Seqncia de Edio
ALT, A, S

+--SOM--+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 |-- estouro | | | OPER3 | +-------+ OPER1 - primeira parcela OPER2 - segunda parcela OPER3 total Descrio: Esta instruo realiza a soma aritmtica de operandos. Quando a entrada habilita energizada, os valores dos operandos especificados nas duas primeiras clulas so somados e o resultado armazenado no operando da terceira clula. Se o resultado da operao for maior ou menor do que o armazenvel, a sada estouro energizada e o mximo ou mnimo valor armazenvel atribudo a varivel total como resultado. Se a entrada habilita no est energizada, todas as sadas so desenergizadas e o valor de OPER3 no alterado. Sintaxe:

Tabela 6-1 Sintaxes da Instruo SOM

Captulo 6

Instrues Aritmticas

Instruo Subtrao
Nome SUB Descrio do Nome Subtrao Seqncia de Edio
ALT, A, B

+---SUB---+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 |-- estouro | | | OPER3 | +---------+ OPER1 - primeira parcela OPER2 - segunda parcela OPER3 resultado Descrio: Esta instruo realiza a subtrao aritmtica entre operandos. Quando habilita energizada, o valor do operando da segunda clula subtrado do valor do operando da primeira clula. O resultado armazenado na memria especificada na terceira clula. As linhas de sada resultado > 0, resultado = 0 e resultado < 0 podem ser usadas para comparaes e so acionadas de acordo com o resultado da subtrao. Se a entrada habilita no est energizada, todas as sadas so desenergizadas e OPER3 permanece inalterado. Se o resultado da operao excede o maior ou menor valor armazenvel no operando, o respectivo valor limite considerado como resultado. Sintaxe:

Tabela 6-2 Sintaxes da Instruo SUB

Captulo 6

Instrues Aritmtica

Instruo Multiplicao
Nome MUL Descrio do Nome Multiplicao Seqncia de Edio
ALT, A, M

+---MUL---+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 |-- estouro | | | OPER3 | +---------+ OPER1 - multiplicando OPER2 - multiplicador OPER3 - produto Descrio: Esta instruo realiza a multiplicao aritmtica de operandos. Quando a entrada habilita est energizada, ocorre a multiplicao do contedo do operando especificado na primeira clula pelo especificado na segunda.
O resultado armazenado na memria especificada na terceira clula. Caso este exceda o valor mximo armazenvel em uma memria, o resultado final este valor e a sada estouro energizada. Se a entrada habilita desenergizada, nenhuma sada ligada e OPER3 permanecer inalterado.

Sintaxe:

Tabela 6-3 Sintaxe da Instruo MUL

Instruo Diviso
Nome DIV Descrio do Nome Diviso Seqncia de Edio
ALT, A, D

+--DIV--+-------+ Habilita --| OPER1 | OPER3 |-- cpia da entrada | OPER2 | OPER4 |-- diviso por zero +-------+-------+ OPER1 OPER2 OPER3 OPER4 - dividendo - divisor - quociente - resto 3

Captulo 6

Instrues Aritmticas

Descrio: Esta instruo realiza a diviso aritmtica de operandos. Quando a entrada habilita est energizada, ocorre a diviso do valor do operando da primeira clula pelo da segunda, sendo o resultado armazenado na memria especificada na terceira clula e o resto da operao colocado no quarto operando. Os operandos da primeira e segunda clulas podem ser do tipo memria ou constante.
Se o valor do segundo operando for zero, a sada diviso por zero acionada e em OPER3 colocado o valor mximo ou mnimo armazenvel no operando, conforme o sinal de OPER1. Neste caso, em OPER4 (resto) ser armazenado zero. As sadas da instruo somente so energizadas se a entrada habilita estiver acionada. Se no estiver acionada, OPER3 e OPER4 permanecero inalterados.

Sintaxe:

Tabela 6-4 Sintaxe da Instruo DIV

Captulo 6

Instrues Aritmtica

Exemplo 16: Executar as Quatro Operaes Carregando Valores do Teclado e Apresentando Resultados na IHM FOTON 3

Captulo 6

Instrues Aritmticas

Figura 6-5 Programa "ladder" exemplo 16

Instruo "E" Binrio


Nome AND Descrio do Nome Funo E binrio entre operandos Seqncia de Edio
ALT, A, A

+---AND---+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 | | | | OPER3 | +---------+ OPER1 - primeiro operando OPER2 - segundo operando OPER3 - resultado

Captulo 6

Instrues Aritmtica

Descrio: Esta instruo realiza a operao "e" binrio entre os dois primeiros operandos, armazenando o resultado no terceiro. A operao realizada ponto a ponto entre os operandos. A tabela a seguir mostra as combinaes da operao "e" ponto a ponto possveis. Ponto OPER1 0 0 1 1 ponto OPER2 0 1 0 1 ponto OPER3 (resultado) 0 0 0 1

Tabela 6-6 Operaes Ponto a Ponto (AND)

Exemplo: +---AND---+ Habilita --| %M0000 |-- cpia da entrada | | | %KM+ | | 00015 | | | | %M0001 | +---------+ Neste exemplo deseja-se preservar o valor do nibble menos significativo de %M0000, zerando o resto do operando. Se %M0000 contm 215 (11010111 binrio), o resultado do "e" binrio com 15 (00001111 binrio) 7 (00000111binrio).
Decimal 215 15 7 Binrio 00000000 11010111 (contedo de %M0000) 00000000 00001111 (valor de %KM+00015) 00000000 00000111 (resultado em %M0001)

AND

AND

Portanto, o valor 7 decimal armazenado em %M0001. Sintaxe:

Tabela 6-7 Sintaxes da Instruo AND

Captulo 6

Instrues Aritmticas

Instruo "OU" Binrio


Nome OR Descrio do Nome Funo OU binrio entre operandos Seqncia de Edio
ALT, A, O

+---OR----+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 | | | | OPER3 | +---------+ OPER1 - primeiro operando OPER2 - segundo operando OPER3 - resultado Descrio: Esta instruo realiza a operao "ou" binrio entre os valores dos dois primeiros operandos, armazenando o resultado no terceiro.
A operao realizada ponto a ponto entre os operandos. A tabela a seguir mostra as combinaes da operao "ou" ponto a ponto possveis.

ponto OPER1 0 0 1 1

ponto OPER2 0 1 0 1

ponto OPER3 (resultado) 0 1 1 1

Tabela 6-8 Operaes Ponto a Ponto (OR)

Exemplo: +---OR----+ Habilita --| %M0000 |-- cpia da entrada | | | %KM+ | | 00015 | | | | %M0001 | +---------+ Neste exemplo deseja-se forar o nibble menos significativo de %M0000 para 1, preservando-se o valor nos outros nibbles. Se %M0000 contm 28277 (0110111001110101 binrio) o resultado 28287 (0110111001111111 binrio).
Decimal 28277 15 Binrio 01101110 01110101 (contedo de %M0000) 00000000 00001111 (valor de %KM+00015)

OR

OR

28287

01101110 01111111 (resultado em %M0001)

Captulo 6

Instrues Aritmtica

Sintaxe:

Tabela 6-9 Sintaxes da Instruo OR

Instruo "OU Exclusivo" Binrio


Nome XOR Descrio do Nome Funo OU EXCLUSIVO binrio entre operandos Seqncia de Edio
ALT, A, X

+---XOR---+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 | | | | OPER3 | +---------+ OPER1 - primeiro operando OPER2 - segundo operando OPER3 - resultado Descrio: Esta instruo realiza a operao "ou exclusivo" binrio entre os dois primeiros operandos, armazenando o resultado no terceiro.
A operao realizada ponto a ponto entre os operandos. A tabela a seguir mostra as combinaes da operao "ou exclusivo" ponto a ponto possveis.

ponto OPER1 0 0 1 1

ponto OPER2 0 1 0 1

ponto OPER3 (resultado) 0 1 1 0

Tabela 6-10 Operaes Ponto a Ponto (XOR)

Captulo 6

Instrues Aritmticas

Exemplo: Neste exemplo deseja-se inverter os pontos contidos no nibble menos significativo de %M0000, preservando o resto do operando. Se %M0000 contm 1612 (0000011001001100 binrio), o resultado 1603 (0000011001000011 binrio)
Decimal 1612 15 1603 Binrio 00000110 01001100 (contedo de %M0000) 00000000 00001111 (valor de %KM+00015) 00000110 01000011 (resultado em %M0001)

XOR

XOR

Portanto, o valor 1603 decimal armazenado em M001. Sintaxe:

Tabela 6-11 Sintaxes da Instruo XOR

10

Captulo 6

Instrues Aritmtica

Exemplo 17: Instruo E, OU Binrio


Quatro cilindros alimentam quatro esteiras, a partir de quatro magazines. Eles devem avanar manualmente OU atravs de quatro pedais independentes E se houver peas nos magazines. No caso de inexistncia de peas os cilindros no devem avanar gerando quatro alarmes independentes. Prever quatro mquinas independentes mas com o mesmo processo.
CILINDRO 1 OR PEDAL 1 AND ALARME AND

MANUAL

SENSOR

INV

Figura 6-12 Representao eltrica exemplo 17

Equivalncia no diagrama de rels do CP


Entradas de acionamento manual = E0.0 a E0.3 Entradas de acionamento por pedal = E0.5 a E1.0 Entradas do sensor de presena de peas = E1.2 a E1.5 Sadas de comando do avano do cilindro = S0002 Sadas de indicao de alarme = S0003

11

Captulo 6

Instrues Aritmticas

12

Captulo 6

Instrues Aritmtica

13

Captulo 6

Instrues Aritmticas

Figura 6-13 Programa ladder exemplo 17

14

Captulo 7

Instrues de Movimentao

6 Instrues de Teste
Instruo Carrega Operando
Nome CAR Descrio do Nome Carrega operandos Seqncia de Edio
ALT, A, C

+---CAR---+ Habilita --| OPER |-- sucesso +---------+ OPER - operando a ser carregado Descrio: A instruo carrega operando realiza a carga do valor do operando especificado em registrador especial interno ao CP, para subseqente uso das instrues de comparao (maior, menor, igual). O operando permanece carregado at a prxima instruo de carga, podendo ser utilizado por vrias lgicas, inclusive em ciclos de varredura subseqentes. A sada sucesso acionada se a carga for realizada. Se algum acesso indireto a operando no for possvel (ndice invlido), a sada sucesso no acionada.
Ver consideraes e exemplos apresentados na seo seguinte, Comparao de Operandos .

Instrues de

Sintaxe:

Tabela 7-1 Sintaxe da Instruo CAR

Captulo 7

Instrues de Movimentao

Instrues de Comparao de Operandos


Nome IGUAL MENOR MAIOR Descrio do Nome Igual Menor Maior Seqncia de Edio
ALT, A, I ALT, A, N ALT, A, M

+--- = ---+ Habilita --| OPER |-- registrador = operando +---------+ +--- < ---+ Habilita --| OPER |-- registrador < operando +---------+ +--- > ---+ Habilita --| OPER |-- registrador > operando +---------+ OPER - operando a ser comparado Descrio: As instrues maior, menor e igual realizam comparaes do operando especificado com o valor previamente carregado no registrador interno com a instruo CAR (Carrega Operando), fornecendo o resultado da comparao em suas sadas. Caso algum acesso indireto seja invlido, a sada desacionada.
Por exemplo, a instruo maior energiza a sua sada se o valor do seu operando for maior que o valor do operando presente na ltima instruo CAR ativa.

As instrues igual e menor operam de forma idntica, mudando apenas o tipo de comparao realizada. Se os operandos a serem comparados so do mesmo tipo, so comparados conforme o seu formato de armazenamento (considerando o seu sinal). Se no so do mesmo tipo, so comparados ponto a ponto (como valores binrios sem sinal). ATENO:
Sugere-se que sempre sejam comparados operandos de tipos iguais, para evitar m interpretao nos resultados quando os operandos possurem valores negativos. Ver o exemplo a seguir.

ATENO:
Devido ordem de processamento das instrues na lgica, deve-se cuidar o posicionamento das instrues de comparao para evitar erros na interpretao no seu funcionamento. Ver seo Lgicas neste mesmo captulo e o exemplo a seguir.

ATENO: Para evitar interpretaes errneas no funcionamento das instrues de comparao, sugere-se o uso de apenas uma instruo CAR por coluna da lgica.

Captulo 7

Instrues de Movimentao

Sintaxe:

Tabela 7-2 Sintaxe das Instrues Maior, Igual e Menor

Captulo 8

Instrues de Movimentao

7 Instrues de Movimentao
Instruo MOV
Nome MOV Descrio do Nome Movimentao de operandos simples Seqncia de Edio
ALT, M, V

+---MOV---+ Habilita --| OPER1 |-- sucesso | | | OPER2 | +---------+ OPER1 - operando origem OPER2 - operando destino Descrio: Esta instruo move o contedo de operandos simples, sem realizar converses entre tipos de operandos diferentes, quando a entrada habilita acionada. O operando que ocupa a primeira clula da instruo (OPER1) o operando origem, cujo valor movimentado para o operando destino, especificado na segunda clula (OPER2). Se o formato do operando destino for menor que o do origem, os octetos mais significativos do valor origem so desprezados. Se o formato do destino for maior, seus octetos mais significativos so zerados. Se a movimentao for realizada, a sada sucesso acionada. Se os ndices indiretos excederem os limites de operandos declarados no mdulo de configurao, a movimentao no efetuada e a sada sucesso no ligada. No permitida a movimentao de subdivises de operandos. Para isto, deve ser usada a instruo MOP.

Captulo 8

Instrues de Movimentao

Sintaxe da Instruo:

Tabela 8-1 Sintaxe da Instruo MOV

Exemplo 19: Instruo MOV

Figura 8-1 Programa "ladder" exemplo 19

Captulo 8

Instrues de Movimentao

Instruo MOP
Nome MOP Descrio do Nome Movimentao de partes de operandos Seqncia de Edio
ALT, M, P

+---MOP---+ Habilita --| OPER1 |-- cpia da entrada | | | OPER2 | +---------+ OPER1 - operando origem OPER2 - operando destino Descrio: Esta instruo move contedos de partes de operandos simples (palavras, octetos, "nibbles", pontos) quando a entrada habilita energizada. No realizada a converso entre tipos de operandos, apenas a movimentao dos valores. O operando que ocupa a primeira clula da instruo (OPER1) o operando origem, cujo valor movimentado para o operando destino especificado na segunda clula (OPER2). O tipo de subdiviso usado no primeiro operando deve ser o mesmo do segundo. ATENO: Se a movimentao realizada de uma constante para um operando, considerada sempre a subdiviso menos significativa da constante igual declarada no operando destino. Devido a esta caracterstica, sugere-se que sempre seja declarado na constante origem o valor real a ser movimentado, para maior clareza do programa. Exemplo: +---MOP----+ Habilita --| %KM+ |-- cpia da entrada | 03485 | | | | %M0061n2 | +----------+
O operando destino da instruo est declarado com subdiviso de nibble. Portanto, o nibble menos significativo da constante origem (com valor igual a 1101 em binrio, 13 em decimal) ser movido para o nibble 2 da memria M0061.

Figura 8-2 Exemplo da Instruo MOP

Os demais bits que compem a constante so desprezados, ou seja, o resultado da movimentao seria idntico utilizando-se uma constante %KM00013.

Captulo 8

Instrues de Movimentao

O exemplo apresentado utiliza um valor excedente ao da movimentao para melhor ilustrar o funcionamento da MOP. Para melhor interpretao do programa deve-se utilizar o valor %KM00013.

Sintaxe:

Tabela 8-3 Sintaxes da Instruo MOP

Captulo 8

Instrues de Movimentao

Exemplo 20: Atualizao Imediata. de mdulos de E/S

Figura 8-4 Programa "ladder" exemplo 20

Exerccio 4: Dispositivo de Furao


Seqncia de funcionamento do dispositivo de furao
1. Para ligar a mquina, a broca deve estar recuada (SW3 ligada) e o fim de curso 1 ativado (FC1). 2. Ao acionar o boto de partida (START), o motor que d rotao broca ligado, desligado o recuo (SW3) e ligado o avano rpido (SW1). 3. Quando ativado o fim de curso 2 (FC2), desligado o avano rpido (SW1) e ligado o avano lento (SW2) para corte. 4. Quando ativado o fim de curso 3 (FC3), desligado o avano lento (SW2) e ligado o recuo (SW3). 5. No recuo, quando ativar o fim de curso 1 (FC1), desliga o motor e permanece ligado apenas o recuo (SW3), deixando a maquina parada na condio de partida. Obs.: O Boto de STOP deve em qualquer passo da mquina: Desligar o motor. Desligar avano rpido (SW1). Desligar avano lento (SW2) Ligar Recuo (SW3) O dispositivo poder ter um display para visualizao das peas j furadas, sendo que quando contar 9999 poder ser ressetado por um boto.

Captulo 8

Instrues de Movimentao

Figura 8-5 Dispositivo de furao

Captulo 8

Instrues de Movimentao

Exerccio complementar 4: Fresadora


Elaborar um software aplicativo da fresadora (figura 10-5) na qual a pea colocada manualmente. Acionando start e a pea estando na posio (sensor atuado), a vlvula SW2 (cilindro A) fixa a pea na mesa, ligando a serra circular. Aps 5s a vlvula SW4 avana o cilindro B at o ponto desejado para a fresagem. O tempo de fresagem de 8s. Aps, a vlvula SW1 acionada retornando o cilindro B e desligando a serra. A vlvula SW3 recua o cilindro A para soltar a pea, que retirada manualmente. Em qualquer momento que for acionado o boto de emergncia deve desligar a serra circular recuar cilindro A e B e gerar uma mensagem de alarme no FOTON 3.

Figura 8-6 Fresadora

Captulo 9

Solues dos Exerccios

8 Solues dos Exerccios

Exerccio 1: Transportador de peas com expulso automtica


Equivalncia no diagrama de rels do CP
Pontos de Entrada
B1 B2 Start Stop FC1 FC2 = E0000.0 = E0000.1 = E0000.2 = E0000.3

Pontos de Sada
Motor Solenide Recuo Pisto Solenide Avano Pisto Lmp. Motor Ligado (L1) Lmp. Pisto Recuado (L2) Motor = S0002.0 Recpist = S0002.1 Avapist = S0002.2 Lmotor = S0002.3 Lpisto = S0002.4

Captulo 9

Solues dos Exerccios

Programa "Ladder"

Figura 9-1 Programa "ladder" exerccio 1

Captulo 9

Solues dos Exerccios

Exerccio 2: Ligar e desligar um motor com um pulso


Equivalncia no diagrama de rels do CP
Pontos de Entrada
E0000.0 = Start

Pontos de sada
S0002.0 = Motor

Programa "Ladder"

Figura 9-2 Programa "ladder" exerccio 2

Captulo 9

Solues dos Exerccios

Exerccio 3: Dispositivo de Classificao e Contagem


Equivalncia no diagrama de rels do CP
Pontos de Entrada
E0000.1 = Sensor; E0000.2 = Reset dos contadores.

Ponto de Sada
S0002.0 = Pisto.

Auxiliares
A0000.0 = Sinaliza caixa grande = CX-GRAN; A0000.1 = Sinaliza caixa pequena = CX-PEQU.

Memrias
M0001 = Temporizador de 4 segundos; M0002 = Temporizador de 0,5 segundos; M0003 = Contador de caixas grandes; M0004 = Contador de caixas pequenas.

Captulo 9

Solues dos Exerccios

Programa "Ladder"

Figura 9-3 Programa "ladder" exerccio 3

Captulo 9

Solues dos Exerccios

Exerccio 4: Dispositivo de Furao


Equivalncia no diagrama de rels do CP
Pontos de Entrada
E0000.0 = START, boto de partida; E0000.1 = FC1, fim de curso 1; E0000.2 = FC2, fim de curso 2; E0000.3 = FC3, fim de curso 3; E0000.7 = "RESET", "reset" do contador de peas. E0001.0 = "STOP", boto de parada;

Pontos de sada
S0002.0 = Motor; S0002.1 = SW1, vlvula de avano rpido; S0002.2 = SW2, vlvula de avano lento; S0002.3 = SW3, vlvula de retorno;

Captulo 9

Solues dos Exerccios

Programa "Ladder"

Figura 9-4 Programa "ladder" exerccio 4

Apndice A

Glossrio

Glossrio
Neste apndice apresentado um glossrio de palavras e abreviaturas utilizadas neste manual. Acesso ao meio. Mtodo utilizado por todos os ns de uma rede de comunicao para sincronizar as transmisses de dados e resolver possveis conflitos de transmisses simultneas. Algoritmo. Seqncia finita de instrues bem definidas onde cada passo completado antes que o prximo inicie, objetivando a resoluo de problemas. Barramento. Conjunto de sinais eltricos agrupados logicamente com a funo de transferir informao e controle entre diferentes elementos de um subsistema. Baud rate (taxa de transmisso). Taxa pela qual os bits de informao so transmitidos atravs de uma interface serial ou rede de comunicao. BCD (Binary Coded Decimal). Sistema de representao de nmeros decimais, no qual um nmero decimal representado por dgitos binrios com quatro bits em cada casa decimal que possua este nmero. Binrio. Sistema de numerao na base dois. Bridge (ponte). Equipamento para conexo de duas redes de comunicao com caractersticas similares. Broadcast. Disseminao simultnea de informao a todos os ns interligados a uma rede de comunicao. Buffer. rea de memria que armazena dados temporariamente. Em geral utilizada durante uma operao de transferncia de dados entre duas unidades com diferentes velocidades de transmisso ou recepo. Byte. Unidade de informao composta por oito bits. Canal serial. Dispositivo de hardware que permite a conexo de um equipamento a outros que contenham o mesmo dispositivo para comunicao para comunicao serial ou bit a bit. Caractere. Em geral, o termo que inclui todos os smbolos como letras, nmeros, sinais de pontuao, marcas, sinais matemticos, etc. o elemento de composio de informao alfanumrico. Ciclo de varredura. Uma execuo completa do programa executivo e do programa aplicativo de um controlador programvel. Circuito de co-de-guarda. Circuito eletrnico destinado a verificar a integridade no funcionamento de um equipamento.

A-1

Apndice A

Glossrio

Circuito integrado. Dispositivo que incorpora em um nico encapsulamento todos os elementos e interligaes necessrias a um circuito eletrnico completo miniaturizado. Comando. Instruo digitada pelo usurio que indica ao equipamento ou programa qual a tarefa a ser executada. Conector. Elemento mecnico que permite conectar ou separar dois ou mais componentes ou circuitos eltricos. Conexo T. Conexo entre uma derivao e dois segmentos de uma rede de comunicao. Controlador Programvel. Equipamento eletrnico digital hardware e software compatvel para aplicaes industriais. CP. Abreviatura de Controlador Programvel. Derivao. Cabo que interliga uma rede de comunicao a um n. Diagnstico. Procedimentos utilizados para detectar e isolar falhas. tambm o conjunto de dados usados para tal determinao, que serve para a anlise e correo de problemas. Driver. Programa que traduz solicitaes entre dois dispositivos ou sistemas distintos, convertendo-as para um formato reconhecvel. E/S (entrada/sada). Dispositivos de entrada e/ou sada, tambm chamados perifricos. Tipicamente podem ser memrias, impressoras, teclados, displays, monitores, etc., que auxiliam a UCP no processamento do sistema. Endereo de mdulo. Endereo pelo qual a UCP realiza acessos a um determinado mdulo de e/s colocado no barramento. EPROM (Erasable Programmable Read Only Memory). Memria somente de leitura, apagvel e programvel. Utiliza-se raios ultravioleta para apagar seu contedo, podendo ser reprogramada sempre que necessrio. No perde seu contedo quando desenergizada. E2PROM (Electrically Erasable Programmable Read Only Memory). Memria no voltil apagvel eletricamente. Estao de superviso. Equipamento ligado a uma rede de controladores programveis ou instrumentao com a finalidade de monitorar ou controlar variveis de um processo. Flash EPROM. Memria no voltil apagvel eletricamente. "Gateway". Equipamento que permite a ligao de duas redes de comunicao com diferentes protocolos. GERAPLIC. Linguagem de programao, com a qual, as IHMs FOTON 5 e FOTON 10 so programadas. Hardkey. Conector normalmente ligado interface paralela do microcomputador com a finalidade de impedir a execuo de cpias ilegais de um software. Hardware. Equipamentos fsicos usados em processamento de dados, onde normalmente so executados programas (software). Instruo. Operao a ser executada sobre um conjunto de operandos dentro de um programa. com

A-2

Apndice A

Glossrio

Interface. Dispositivo que adapta eltrica e/ou logicamente a transferncia de sinais entre dois equipamentos. Interrupo. Evento com atendimento prioritrio que temporariamente suspende a execuo de um programa. As interrupes podem ser divididas em dois tipos genricos: hardware e software. A primeira causada por um sinal vindo de um dispositivo perifrico e a segunda criada por instrues dentro de um programa. LED (Light Emitting Diode). Tipo de diodo semicondutor que emite luz quando estimulado por eletricidade. Utilizado como indicador luminoso. Linguagem. Um conjunto de regras, de convenes e de sintaxe. Um conjunto de smbolos utilizados para representao e comunicao de informaes ou dados entre pessoas e mquinas. Lgica. Matriz grfica onde so inseridas as instrues da linguagem de diagrama de rels que compem um programa aplicativo. Um conjunto de lgicas ordenadas seqencialmente constitui um mdulo de programa. Menu. Conjunto de opes disponveis e exibidas no vdeo por um programa, a serem selecionadas pelo usurio a fim de ativar ou executar uma determinada tarefa. Mdulo (quando se referir a hardware). Elemento bsico na configurao de um sistema que possui funes e sinais de entrada e sada bem definidos. Cada mdulo fabricado, testado e comercializado separadamente. Mdulo (quando se referir a software). Programa capaz de realizar uma funo especfica. Pode ser executado independentemente ou em conjunto com outros mdulos trocando informaes atravs da passagem de parmetros. Mdulo de configurao. Conjunto de parmetros de configurao especfica de hardware, sistema operacional, capacidade de memria, perifricos, etc. Multicast. Disseminao simultnea de informao a um determinado grupo de ns interligados a uma rede de comunicao. New Twisted Nematic. Caracterstica de um visor de cristal lquido (LCD) que permite maiores ngulos de viso e um melhor contraste. Nibble. Unidade de informao composta por quatro bits. N ou nodo. Qualquer estao de uma rede com capacidade de comunicao utilizando um protocolo estabelecido. Objeto. So os elementos bsicos de programao para a construo de telas. Octeto. Conjunto de oito bits numerados de 0 a 7. Operandos. Elementos sobre os quais as instrues atuam. Podem representar constantes, variveis e endereos. Pacote de comunicao. Unidades de informao trocada entre ns componentes de uma rede. PC (Programmable Controller). Ver Controlador Programvel. Programa. Conjunto de instrues bsicas devidamente ordenadas com que se instrui uma determinada mquina para que realize operaes sobre os dados a fim de obter um resultado. A-3

Apndice A

Glossrio

Programa aplicativo. Programa projetado para uma aplicao em rea de atividade especfica. Programa executivo. Sistema operacional de um controlador programvel; controla as funes bsicas do controlador e a execuo de programas aplicativos. Programa residente. Programa que permanece na memria do equipamento, mesmo que outro programa esteja sendo executado. Programao. O ato de preparar um programa em todas as suas etapas para um computador ou equipamento similar. Protocolo. Regras de procedimentos e formatos convencionais que, mediante sinais de controle, permitem o estabelecimento de uma transmisso de dados e a recuperao de erros entre equipamentos. RAM (Random Access Memory). Memria onde todos os endereos podem ser acessados diretamente de forma aleatria e a mesma velocidade. voltil, ou seja, seu contedo perdido quando desenergizada. Regio de memria onde feito o armazenamento de dados para o processamento do usurio. Rede de comunicao. Conjunto de equipamentos (ns) interconectados por canais de comunicao. Rede de comunicao determinstica. Rede de comunicao onde a transmisso e recepo de informaes entre os diversos ns que a compem garantida sob condies de certeza pelo protocolo que a suporta, dentro de um tempo mximo. Rede de comunicao mestre-escravo. Rede de comunicao onde as transferncias de informaes so iniciadas somente a partir de um nico n (o mestre da rede) ligado ao barramento de dados. Os demais ns da rede (escravos) apenas respondem quando solicitados. Rede de comunicao multimestre. Rede de comunicao onde as transferncias de informaes so iniciadas por qualquer n ligado ao barramento de dados. Segmento. Trecho da rede de comunicao entre dois ns. Servios de rede. Conjunto de solicitaes de envio de mensagens entre os diversos ns de uma rede de comunicao. Sistema em tempo real. Sistema de processamento de dados onde a necessidade de velocidade de execuo imposta ao conjunto hardware/software dependente de um processo exterior. Software. Programas de computador, procedimentos e regras relacionadas operao de um sistema de processamento de dados. Software executivo. Sistema operacional de um CP; controla as funes bsicas do controlador programvel e a execuo de programas aplicativos. Soquete. Dispositivo no qual se encaixam circuitos integrados ou outros componentes, facilitando a substituio dos mesmos e simplificando a manuteno. Subrede. Conjunto de equipamentos (ns) interconectados por canais de comunicao ligados a uma rede principal com o objetivo de isolar o trfego local.

A-4

Apndice A

Glossrio

Subsistema de entrada/sada. Conjunto de mdulos de entrada/sada que adaptam os sinais lgicos provenientes da UCP a um processo. Tela. Mostrador de dados e informaes. No FOTON 5 e FOTON 10 h o conceito de tela virtual pois, como o visor tem 2 ou 4 linhas, telas com mais linhas s podem ser visualizadas parcialmente atravs das teclas de direo. O nmero mximo de linhas da tela 20. Telas aninhadas. quando uma tela chamada por outra tela, que por ventura, foi chamada por uma outra, e assim sucessivamente. Tempo de reao. Tempo transcorrido entre a recepo de uma requisio de servio a uma rede de comunicao at a sua resposta. Terminao ou resistor de terminao. Grupo de resistores colocados no final de uma via de dados, linha ou cabo para eliminar reflexo de sinais. Terminal de programao. Microcomputador executando um software programador de controladores programveis, como o MASTERTOOL, AL-3830, AL-3832, AL-3880, entre outros. Time-out. Tempo preestabelecido mximo para que uma comunicao seja completada, que, se for excedido, provoca a ocorrncia de um erro de comunicao. Toggle. Elemento que possui alternadamente a cada ativao. dois estados estveis, trocados

UCP. Unidade central de processamento. Controla o fluxo de informaes, interpreta e executa as instrues do programa e monitora os dispositivos do sistema. Word. Unidade de informao composta por dezesseis bits.

A-5

Apndice B

Glossrio

Avaliao
SUA OPINIO MUITO IMPORTANTE ! A avaliao dos clientes com relao aos produtos e servios a garantia de melhorias para satisfao dos clientes. Questionrio de Avaliao: para avaliar o curso realizado, destaque e preencha a pgina 2 deste Apndice. Entregue a avaliao ao instrutor. Formulrio de Ao Corretiva Altus "FAA": para avaliar os produtos e servios ALTUS, destaque e preencha a carto resposta no final deste Apndice. Entregue o FAA ao instrutor ou se desejar preench-lo posteriormente, coloque-o em qualquer agncia dos Correios e Telgrafos. O porte ser pago pela ALTUS.

B-1

Apndice B

Glossrio

Questionrio de Avaliao
Este questionrio visa obter informaes e sugestes dos participantes dos cursos da SUPORTE quanto a organizao, desenvolvimento e resultados do mesmo. Suas respostas sero de grande importncia, pois possibilitaro que sejam feitas as reformulaes necessrias ao aprimoramento dos cursos. Responda com objetividade e franqueza. No preciso assinar. Curso: Data: Instrutor: Conceitue segundo o critrio: de 0 a 10 De um modo geral voc classificaria o curso como: Com relao ao contedo abordado: O material de suporte (transparncias, apostilas, etc.) foi: O cumprimento do programa previsto foi: Avalie o instrutor de acordo com os fatores abaixo: Domnio do contedo: Clareza na exposio das idias: Esclarecimento de dvidas: Relacionamento com os participantes: Desenvolvimento de exerccios: O mtodo de Aula foi: ( ( ( ( ) ( ( ( ( ) ( ) ) ) ) ) ) ) )

Os Conhecimentos que voc adquiriu neste curso iro auxili-lo no desenvolvimento do trabalho? Justifique.

Do seu ponto de vista o que necessrio para que um curso qualquer atenda as necessidades dos participantes?

Crticas e sugestes que visem a melhoria do curso.

B-2

Dados Cadastrais

Suporte Automao Industrial Ltda.


Av. Bento Gonalves, 280 Sala A Centro 35720-000 - Matozinhos MG Fone: (0XX31) 712-2229 Fax: (0XX31) 712-1711 e-mail: suporte@suporteautomacao.com.br

home-page: www.suporteautomacao.com.br

Potrebbero piacerti anche