Mastertool - Manual de programação Ladder

Embed Size (px)

Citation preview

Manual de Programao Ladder MasterTool Extended Edition MT8000Rev. G 08/2010 Cd. Doc.: MP399102

altus

Condies Gerais de Fornecimento

Nenhuma parte deste documento pode ser copiada ou reproduzida sem o consentimento prvio e por escrito da Altus Sistemas de Informtica S.A., que se reserva o direito de efetuar alteraes sem prvio comunicado. Conforme o Cdigo de Defesa do Consumidor vigente no Brasil, informamos, a seguir, aos clientes que utilizam nossos produtos aspectos relacionados com a segurana de pessoas e instalaes. 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 em caso de defeito em suas partes e peas ou de erros de programao ou instalao, podendo inclusive colocar em risco vidas humanas. O usurio deve analisar as possveis consequncias destes defeitos e providenciar instalaes adicionais externas de segurana que, em caso de necessidade, sirvam para preservar a segurana do sistema, principalmente nos casos da instalao inicial e de testes. Os equipamentos fabricados pela Altus no trazem riscos ambientais diretos, no emitindo nenhum tipo de poluente durante sua utilizao. No entanto, no que se refere ao descarte dos equipamentos, importante salientar que quaisquer componentes eletrnicos incorporados em produtos contm materiais nocivos natureza quando descartados de forma inadequada. Recomenda-se, portanto, que quando da inutilizao deste tipo de produto, o mesmo seja encaminhado para usinas de reciclagem que deem o devido tratamento para os resduos. imprescindvel a leitura completa dos manuais e/ou caractersticas tcnicas do produto antes da instalao ou utilizao do mesmo. Os exemplos e figuras deste documento so apresentados apenas para fins ilustrativos. Devido s possveis atualizaes e melhorias que os produtos possam incorrer, a Altus no assume a responsabilidade pelo uso destes exemplos e figuras em aplicaes reais. Os mesmos devem ser utilizados apenas para auxiliar na familiarizao e treinamento do usurio com os produtos e suas caractersticas. A Altus garante os seus equipamentos conforme descrito nas Condies Gerais de Fornecimento, anexada s propostas comerciais. A Altus garante que seus 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 Altus desconsiderar qualquer outra garantia, direta ou implcita, principalmente quando se tratar de fornecimento de terceiros. Os pedidos de informaes adicionais sobre o fornecimento e/ou caractersticas dos equipamentos e servios Altus devem ser feitos por escrito. A Altus no se responsabiliza por informaes fornecidas sobre seus equipamentos sem registro formal. DIREITOS AUTORAIS Srie Ponto, MasterTool, Quark, ALNET e WebPLC so marcas registradas da Altus Sistemas de Informtica S.A. Windows, Windows NT e Windows Vista so marcas registradas da Microsoft Corporation.

i

Sumrio

Sumrio1. INTRODUO ................................................................................................................................................. 1 O Software MasterTool Extended Edition ...................................................................................................... 1 MasterTool ProPonto MT6000 ................................................................................................................... 1 Lite, Professional e Advanced .......................................................................................................................... 1 Documentos Relacionados a este Manual........................................................................................................ 1 Inspeo Visual .................................................................................................................................................. 2 Suporte Tcnico ................................................................................................................................................. 2 Mensagens de Advertncia Utilizadas neste Manual ..................................................................................... 2 2. A LINGUAGEM DE PROGRAMAO ....................................................................................................... 3 Elementos de Programao .............................................................................................................................. 3 Lgicas ................................................................................................................................................................ 3 Operandos .......................................................................................................................................................... 4 Identificao de um Operando pelo Endereo ............................................................................................ 5 Identificao de um Operando pelo Tag ..................................................................................................... 5 Operandos Utilizados no MasterTool XE ................................................................................................... 5 Identificao dos Operandos Simples ......................................................................................................... 6 Identificao de Operandos Constante ........................................................................................................ 7 Identificao dos Operandos Tabela ........................................................................................................... 8 Operandos %E - Rels de Entrada .............................................................................................................. 8 Operandos %S - Rels de Sada .................................................................................................................. 9 Operandos %A - Rels Auxiliares .............................................................................................................. 9 Operandos %R - Endereos no Barramento .............................................................................................. 10 Operandos %M - Memrias ...................................................................................................................... 11 Operandos %D - Decimais ........................................................................................................................ 12 Operandos %F - Reais ............................................................................................................................... 12 Operandos %I - Inteiros ............................................................................................................................ 13 Operandos %KM, %KD, %KF e %KI - Constantes ................................................................................. 14 Operandos %TM, %TD, %TF e %TI - Tabelas ........................................................................................ 15 Acesso Indireto.......................................................................................................................................... 15 Declarao de Operandos .......................................................................................................................... 16 Operandos Retentivos ............................................................................................................................... 17 Instrues ......................................................................................................................................................... 18 Restries Quanto ao Posicionamento das Instrues .............................................................................. 19 Projeto de Programao ................................................................................................................................. 20 Estruturao de um Projeto de Programao ............................................................................................ 20 Estados de Operao do CP ...................................................................................................................... 25 Execuo do Projeto de Programao ....................................................................................................... 26 Elaborao de Projetos de Programao ................................................................................................... 27 Depurao de Projetos de Programao .................................................................................................... 33 Tempos de Ciclo de Execuo do Programa ............................................................................................. 39 Nveis de Proteo do CP .......................................................................................................................... 41 Intertravamento de Comandos no CP........................................................................................................ 42 3. REFERNCIA DAS INSTRUES ............................................................................................................. 44 Lista das Instrues ......................................................................................................................................... 44 Convenes Utilizadas .............................................................................................................................. 44ii

Sumrio Instrues do Grupo Rels ........................................................................................................................ 44 Contatos..................................................................................................................................................... 46 Bobinas...................................................................................................................................................... 47 SLT - Bobina de Salto ............................................................................................................................... 48 PLS - Rel de Pulso................................................................................................................................... 50 RM, FRM - Rel Mestre, Fim de Rel Mestre .......................................................................................... 51 Instrues do Grupo Movimentadores ...................................................................................................... 53 MOV - Movimentao de Operandos Simples ......................................................................................... 54 MOP - Movimentao de Partes (Subdivises) de Operandos ................................................................. 56 MOB - Movimentao de Blocos de Operandos....................................................................................... 58 MOT - Movimentao de Tabelas ............................................................................................................ 60 MES - Movimentao de Entradas/Sadas ................................................................................................ 63 CES - Converso de Entradas/Sadas ........................................................................................................ 65 AES - Atualiza Entradas/Sadas ................................................................................................................ 67 CAB - Carrega Bloco ................................................................................................................................ 68 Instrues do Grupo Aritmticas............................................................................................................... 72 SOM - Adio ........................................................................................................................................... 73 SUB - Subtrao ........................................................................................................................................ 75 MUL - Multiplicao ................................................................................................................................ 77 DIV - Diviso ............................................................................................................................................ 78 AND - E Binrio entre Operandos ............................................................................................................ 80 OR - Ou Binrio entre Operandos ............................................................................................................. 82 XOR - Ou Exclusivo entre Operandos ...................................................................................................... 84 CAR - Carrega Operando .......................................................................................................................... 86 Instrues de Comparao de Operandos - Igual, Maior e Menor ............................................................ 88 Instrues do Grupo Contadores ............................................................................................................... 91 CON - Contador Simples .......................................................................................................................... 92 COB - Contador Bidirecional .................................................................................................................... 94 TEE - Temporizador na Energizao ........................................................................................................ 97 TED - Temporizador na Desenergizao .................................................................................................. 99 Instrues do Grupo Conversores ........................................................................................................... 101 B/D - Converso Binrio-Decimal .......................................................................................................... 102 D/B - Converso Decimal-Binrio .......................................................................................................... 103 A/D - Converso Analgico-Digital ....................................................................................................... 104 D/A - Converso Digital-Analgico ....................................................................................................... 106 Instrues do Grupo Geral ...................................................................................................................... 108 LDI - Liga/Desliga Indexado .................................................................................................................. 109 TEI - Teste de Estado Indexado .............................................................................................................. 111 SEQ - Seqenciador ................................................................................................................................ 113 CHP - Chama Mdulo Procedimento...................................................................................................... 117 CHF - Chama Mdulo Funo ................................................................................................................ 119 CHF - Chama Mdulo Funo Configurao Especial F-PID16.056 .................................................. 124 CHF - Chama Mdulo Funo Especial AL-2752 ............................................................................... 129 ECR - Escrita de Operandos em Outro CP.............................................................................................. 132 LTR - Leitura de Operandos de Outro CP .............................................................................................. 138 LAI - Libera Atualizao de Imagens dos Operandos ............................................................................ 140 ECH - Escrita de Operandos em Outro CP pela Ethernet ....................................................................... 141 LTH - Leitura de Operandos de Outro CP pela Ethernet ........................................................................ 142 LAH - Libera Atualizao de Imagens dos Operandos pela Ethernet..................................................... 143 Instrues do Grupo Ligaes ................................................................................................................. 144 LGH - Ligao Horizontal ...................................................................................................................... 144 NEG - Ligao Negada ........................................................................................................................... 144 LGV - Ligao Vertical........................................................................................................................... 144 4. GLOSSRIO ................................................................................................................................................. 145iii

1. Introduo

1. IntroduoO Software MasterTool Extended EditionO software MasterTool Extended Edition MT8000, ou simplesmente MToolXE, a ferramenta de configurao e programao de equipamentos Altus (Sries Grano, Srie PX, Ponto e AL-2004), incluindo CPs e remotas. Esta ferramenta permite tambm o monitoramento de processos, configurao de mdulos e gerao de relatrios. executvel nos sistemas operacionais Windows 2000, Windows XP e Windows 7, (todos 32bits)., tendo disponveis verses em ingls e portugus do software e manuais. Este software uma verso aprimorada do MasterTool Programming, contendo inmeros recursos melhorados e extras, tornando esta ferramenta de programao muito verstil. O MasterTool Extended Edition permite o desenvolvimento de aplicaes. A edio do programa aplicativo utiliza o conceito de programao simblica (tags ou nicknames), possibilitando a documentao do projeto durante a edio dos mdulos. O conceito de projeto, que estabelece uma relao entre vrios arquivos formando um ambiente de trabalho, facilita o trabalho, reduzindo de forma significativa o tempo de desenvolvimento, alm de impedir o usurio de cometer erros de configuraes mais comuns, atravs da opo de verificao de projeto. MasterTool ProPonto MT6000 Os CPs da Srie Ponto foram includos na verso 3.00 do MasterTool e o software MasterTool ProPonto MT6000 necessrio para sua programao. Este software, referenciado neste documento como ProPonto, encontra-se no mesmo CD-ROM do MasterTool XE, em um subdiretrio com o mesmo nome, e deve ser instalado a partir de l. ATENO: O ProPonto necessrio apenas para a configurao de barramentos de CPs da Srie Ponto. Maiores informaes sobre o ProPonto podem ser obtidas no Manual de Utilizao do ProPonto, que pode ser encontrado no formato PDF no diretrio ProPonto\Manual do CD-ROM.

Lite, Professional e AdvancedO software MasterTool Extended Edition MT8000 possui trs verses de distribuio, cada uma com um perfil otimizado de acordo com a necessidade. So elas: Lite: software programador especfico para pequenas aplicaes Professional: software programador contendo as ferramentas necessrias para todas as linhas de CPs da Altus Advanced: software programador com ferramentas para aplicaes de grande porte

Cada uma destas verses possui caractersticas, finalidades e funcionalidades especficas para cada propsito. O detalhamento sobre as diferenas entre as verses pode ser visto no Manual de Utilizao do MasterTool Extended Edition.

Documentos Relacionados a este ManualPara obter informaes adicionais sobre o MasterTool Extended Edition podem ser consultados outros documentos (manuais e caractersticas tcnicas) alm deste. Estes documentos encontram-se disponveis em sua ltima reviso em www.altus.com.br.1

1. Introduo Aconselha-se os seguintes documentos como fonte de informao adicional: Caractersticas Tcnicas MT8000 Manual de Utilizao do MasterTool Extended Edition Manual de Programao ST do MasterTool Extended Edition Manual de Utilizao do MasterTool ProPonto - MT6000

Inspeo VisualAntes de proceder instalao, recomendvel fazer uma inspeo visual cuidadosa do material, verificando se no h danos causados pelo transporte. Verifique se todos os CD-ROMs esto em perfeito estado. Em caso de defeitos, informe a companhia transportadora e o representante ou distribuidor Altus mais prximo. importante registrar o nmero de srie de cada equipamento recebido bem como as revises de software, caso existentes. Essas informaes sero necessrias caso se necessite contatar o Suporte Tcnico da Altus.

Suporte TcnicoPara entrar em contato com o Suporte Tcnico da Altus em So Leopoldo, RS, ligue para +55-513589-9500. Para conhecer os centros de Suporte Tcnico da Altus existentes em outras localidades, consulte nosso site (www.altus.com.br) ou envie um e-mail para [email protected]. Se o software j estiver instalado, tenha em mos as seguintes informaes ao solicitar assistncia: A verso do software MasterTool Extended Edition A verso da chave de software utilizada no MasterTool Extended Edition A reviso do equipamento e a verso do software executivo, constantes na etiqueta afixada na lateral do produto, quando a questo refere-se com comunicao com dispositivos O contedo do programa aplicativo (mdulos) A verso do sistema operacional Windows (juntamente com seu Service Pack) do computador em que o software est sendo executado

Mensagens de Advertncia Utilizadas neste ManualNeste manual, as mensagens de advertncia apresentaro os seguintes formatos e significados: PERIGO: Indica situaes potenciais que, se no observadas, causam danos integridade fsica e sade, patrimnio, meio ambiente e perda da produo.

CUIDADO: Indica detalhes de configurao, aplicao e instalao que devem ser seguidos para evitar condies que possam levar a falha do sistema e suas conseqncias relacionadas.

ATENO: Indica detalhes importantes de configurao, aplicao ou instalao para obteno da mxima performance operacional do sistema.

2

2. A Linguagem de Programao

2. A Linguagem de ProgramaoOs controladores programveis surgiram para substituir painis de controle a rels. Neste contexto, uma linguagem de programao que mais se aproximasse da experincia de tcnicos e engenheiros seria a soluo mais adequada para desenvolvimento de programas aplicativos de CPs. Em vista disso, as instrues disponveis para a construo do programa aplicativo no MasterTool XE so programadas em linguagem de rels e blocos, muito semelhante linguagem de contatos eltricos e bobinas, utilizadas na descrio dos painis de controle a rel. A principal vantagem da utilizao deste tipo de linguagem seu rpido aprendizado, pois se assemelha muito com os esquemas eltricos convencionais. O acompanhamento e verificao de funcionamento de um programa aplicativo similar ao de um esquema eltrico, com a vantagem de visualizar o estado dos contatos e bobinas na janela do MasterTool XE. Este captulo descreve a linguagem de Rels e Blocos ALTUS detalhando os elementos da linguagem, a estruturao modular de um programa aplicativo e a funo de cada mdulo. Ao final da leitura deste captulo ser possvel estruturar um programa aplicativo bem como realizar a configurao de CPs.

Elementos de ProgramaoUm programa aplicativo composto por quatro elementos bsicos: Mdulos Lgicas Instrues Operandos

Um programa aplicativo composto por diversos mdulos, permitindo uma melhor estruturao das rotinas de acordo com as suas funes. Os mdulos so programados em linguagem de rels, seguindo a tendncia mundial de normatizao nesta rea. Um mdulo de programa aplicativo dividido em lgicas de programao. O formato de uma lgica de programa aplicativo utilizado nos CPs das sries AL-2000, PONTO, PX e GRANO permite at oito elementos em srie e at quatro caminhos em paralelo. As instrues so utilizadas para executar determinadas tarefas por meio de leituras e/ou alteraes do valor dos operandos. Os operandos identificam diversos tipos de variveis e constantes utilizadas na elaborao de um programa aplicativo, podendo ter seu valor modificado de acordo com a programao realizada. Como exemplo de variveis pode-se citar pontos de E/S e memrias contadoras. Cada elemento componente do programa aplicativo explicado em detalhes nas sees seguintes.

LgicasChama-se lgica a matriz de programao formada por 32 clulas (elementos da matriz) dispostas em quatro 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 a seguir mostra o formato de uma lgica do programa aplicativo.3

2. A Linguagem de Programao

Figura 2-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 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 a seguir mostra a ordem de processamento das clulas da lgica. O nmero existente dentro de cada clula indica a sua ordem de processamento.

Figura 2-2. Ordem de processamento das clulas na lgica

OperandosOperandos so elementos utilizados pelas instrues do MasterTool XE na elaborao de um programa aplicativo. Os operandos podem ser valores constantes, definidos no momento da4

2. A Linguagem de Programao programao, ou variveis, identificadas 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 dos 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 25 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. ATENO: O MasterTool XE no permite a utilizao de tags para operandos do tipo constante (%KM, %KD, %KF e %KI). 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. ATENO: 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.: TANQUE1, armazena o volume do tanque 1.

ATENO: 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 a atribuio do tag a um operando. Para maiores informaes sobre criao e atribuio de tags para operandos, ver o Manual de Utilizao do MasterTool XE. ATENO: Os operandos tambm podem ser visualizados atravs de seu wire-info associado. No entanto, um operando no pode ser forado ou monitorado digitando-se o wire-info ao invs do tag ou endereo. Operandos Utilizados no MasterTool XE So mostrados na tabela abaixo os operandos disponveis no MasterTool XE:

5

2. A Linguagem de ProgramaoTipo %E %S %R %A %M %D %F %I %KM %KD %KF %KI %TM %TD %TF %TI Operando Rels de Entrada Rels de Sada Endereo no Barramento Rels Auxiliares Memrias Decimais Reais Inteiros Constantes Memrias Constantes Decimais Constantes Reais Constantes Inteiros Tabelas Memrias Tabelas Decimais Tabelas Reais Tabelas Inteiros

Tabela 2-1. Operandos utilizados no MasterTool XE 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 abaixo:

Figura 2-3. Formato de um operando simples Tipo do operando: %E - entrada %S - sada %A - auxiliar %M - memria %I - inteiro %D - decimal %F - real

6

2. A Linguagem de Programao Tipo da subdiviso: . - ponto da palavra baixa (1 ponto) h - ponto da palavra alta (1 ponto) vide operandos decimais e reais n - nibble (4 pontos) b - octeto (8 pontos) 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 %I0234 - operando inteiro 234 %M0205 - operando memria 205 %M0205b0 - octeto 0 da memria 205 %D0029 - operando decimal 29 %D0034w1 - palavra 1 do operando decimal 34 %F0001 - operando real 1

Identificao de 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 a seguir:

Figura 2-4. Formato de um operando constante Tipo da constante: %M - memria %I - inteiro %D - decimal %F - real

Exemplos: %KM+05172 - constante memria positiva %KI-1 - constante inteira negativa %KD-0974231 - constante decimal negativa7

2. A Linguagem de Programao %KF+0153.78 - constante real positiva

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, inteiro, decimal ou real. O formato geral de um operando tabela pode ser visto na figura abaixo:Erro! No possvel criar objetos a partir de cdigos de campo de edio.

Figura 2-5. Formato de um operando tabela Tipo da tabela: %TM - memria %TI - inteiro %TD - decimal %TF - real

Exemplos: %TM0026 - tabela memria 26 %TI0020 - tabela inteiro 20 %TD0015 - tabela decimal 15 %TF0069 - tabela real 69

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. Os operandos %E so normalmente 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 abaixo:

Figura 2-6. Formatos dos operandos %E Exemplos: %E0018.6 - ponto 6 do octeto de entrada 18 %E0021n0 - nibble 0 do octeto de entrada 218

2. A Linguagem de Programao %E0025 - octeto de entrada 25

Limites: Mnimo: 0 Mximo : 255

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. Os operandos %S 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 %S podem ser vistos na figura abaixo:

Figura 2-7. 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

Limites: Mnimo: 0 Mximo: 255

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 abaixo:

9

2. A Linguagem de Programao

Figura 2-8. 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

Limites: Mnimo: 0 Mximo: 255

Operandos %R - Endereos no Barramento 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 abaixo:

Figura 2-9. Formatos dos operandos %R Nos barramentos 0 e 1 do CP AL-2004, cada posio no barramento corresponde a 8 octetos de operandos %R. Desta forma, na posio 0 tem-se os operandos %R0256 a %R0257; na posio 1, %R0258 a %R0259 e assim por diante. Para se obter o primeiro operando de uma posio do barramento, basta calcular: Endereo do Octeto = Posio no Barramento * 8 Nos barramentos de 2 a 9 do AL-2004, 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.10

2. A Linguagem de Programao Exemplos: %R0026 - octeto 26 do barramento %R0015.7 - ponto 7 do octeto 15 do barramento

Limites: Mnimo: 0 Mximo: 32767

Operandos %M - Memrias 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 abaixo:

Figura 2-10. Formatos dos operandos %M A quantidade de operandos memria configurvel na declarao do mdulo de configurao,, 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, de comparao, aritmticas, de contagem, de 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 abaixo:

Figura 2-11. Formato do operando memria Exemplos: %M0032 - memria 32 %M0072n1 - nibble 1 da memria 72 %M0084.F - ponto 15 da memria 84

Limites: Mnimo: -32768 Mximo: 3276711

2. A Linguagem de Programao 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 a seguir:

Figura 2-12. Formatos dos operandos %D A quantidade de operandos decimal configurvel na declarao do mdulo de configurao, 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, de comparao, aritmticas, e de 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 a seguir:

Figura 2-13. 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

Limites: Mnimo: -9999999 Mximo: 9999999

Operandos %F - Reais Os formatos dos operandos %F podem ser vistos na figura a seguir:

12

2. A Linguagem de Programao

Figura 2-14. Formatos dos operandos %F A quantidade de operandos real configurvel na declarao do mdulo de configurao, sendo o limite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos neste mesmo captulo). Os operandos %F so usados para processamento numrico, armazenando valores em 32 bits com ponto flutuante, preciso simples e sinal, conforme a norma IEEE 754. Estes operandos ocupam quatro bytes de memria (32 bits), armazenando o valor conforme a figura a seguir:

Figura 2-15. Formato do operando real O valor de um operando real (%F) obtido pela seguinte expresso: Valor = Sinal x 1,Mantissa x 2(Expoente - 127) Sendo assim, a faixa de valores armazenveis vai de -3,4028234663852886E+38 a 3,4028234663852886E+38. Valores cujo mdulo maior que zero e menor que 1,1754943508222875E-38 so tratados como zero pelos CPs por serem muito pequenos. Os CPs no tratam os seguintes casos especiais previstos na norma: nmeros no normalizados, infinito e NANs (not a number). Exemplo: %F0032 - real 32

Limites: Mnimo: -3.4028235e+38 Mximo: 3.4028235e+38

Operandos %I - Inteiros Os operandos %I so usados para processamento numrico, armazenando valores em preciso simples, com sinal. A diferena bsica entre este tipo de operando e o operando Memria %M, que o operando Inteiro %I possui 32 bits. Os formatos dos operandos %I podem ser vistos na figura a seguir:

13

2. A Linguagem de Programao

Figura 2-16. Formatos dos operandos %I A quantidade de operandos inteiro configurvel na declarao do mdulo de configurao, sendo o limite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos neste mesmo captulo). Os operandos %I so utilizados em instrues de movimentao, de comparao, aritmticas, e de converso. Estes operandos ocupam quatro bytes de memria (32 bits), com sinal, conforme a figura a seguir:

Figura 2-17. Formato do operando inteiro Exemplos: %I0041 - inteiro 41 %I0023b2 - octeto 2 do inteiro 23 %I0059n6 - nibble 6 do inteiro 59 %I0172hA - ponto 10 da palavra 1 do inteiro 172

Limites: Mnimo: -2147483648 Mximo: 2147483647

Operandos %KM, %KD, %KF e %KI - Constantes So operandos usados para a definio de valores fixos na elaborao do programa aplicativo. Existem tipos de constante, %KM, %KI, %KD e %KF, cada um seguindo um formato diferente de representao de valores, sendo idnticos aos operandos %M, %I, %D e %F, respectivamente. O formato dos operandos constantes pode ser visto na figura a seguir:

14

2. A Linguagem de Programao

Figura 2-18. Formato dos operandos constantes Estes operandos so utilizados em instrues de movimentao, de comparao, aritmticas, de contagem e de temporizao. Exemplos: %KM+00241 - constante memria + 241 %KI+2000000000 - constante inteiro 2 bilhes ou 2 x 109 %KD-0019372 - constante decimal - 19.372 %KF+0125.78 - constante real + 125.78 %KF+3.1415E23 - constante real 3.1415 x 1023

Operandos %TM, %TD, %TF e %TI - 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 configurveis, onde cada posio pode conter exatamente os mesmos valores de um operando %M, %I, %D ou %F, se a tabela for do tipo %TM, %TI, %TD ou %TF, respectivamente. O formato dos operandos tabelas pode ser visto na figura a seguir:

Figura 2-19. Formato dos operandos tabelas A quantidade de tabelas e o nmero de posies de cada uma so configurveis na declarao do mdulo de configurao. Podem ser definidas at 255 tabelas totais e, no mximo, 255 posies em cada tabela, respeitando-se o limite da memria de operandos do CP. As tabelas so utilizadas em instrues de movimentao. Limites: Mnimo: 0 Mximo: 254

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.15

2. A Linguagem de Programao O formato do acesso indireto pode ser visto na figura a seguir:

Figura 2-20. Formato de um acesso indireto No MasterTool XE, o acesso indireto s tabelas representado sem o asterisco. O acesso indireto utilizado em instrues de movimentao, de comparao, de 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 %F0045*M - operando real referenciado indiretamente pela memria 45

Exemplo:

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 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. 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.16

2. A Linguagem de Programao Por representarem valores fixos, os operandos constante (%KM, %KI, %KD e %KF) 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, %I, %D, %F, %TM, %TI, %TD e %TF, ocupando estes uma rea de memria RAM prpria do CP em uso. A tabela a seguir mostra a capacidade mxima de memria para o armazenamento destes operandos em cada controlador. Os operandos %E, %S e %A no ocupam esta rea. A declarao dos operandos realizada atravs da janela de edio do mdulo de configurao do MasterTool XE, sendo armazenada no mdulo configurao. 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 no Manual de Utilizao do MasterTool XE. ATENO: Deve-se declarar uma quantidade mnima de operandos memria (%M) que comporte os bytes de diagnstico utilizados nos mdulos do barramento. A reserva dos operandos %M, %I, %D e %F realizada em blocos de 256 bytes. No caso de operandos memria, esta quantidade corresponde a 128 operandos. Em operandos decimais e reais, correspondem a 64 operandos. Os operandos %TM, %TI, %TD e %TF 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 a seguir, 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 %KM constante M %KI constante I %KD constante D %KF constante F %M memria %I inteiro %D decimal %F real %TM tabela M %TI tabela I %TD tabela D %TF tabela F Ocupao de Memria 1 byte 1 byte 1 byte 2 bytes 4 bytes 4 bytes 4 bytes 2 bytes por posio 4 bytes por posio 4 bytes por posio 4 bytes por posio Localizao Microprocessador Microprocessador Microprocessador RAM de operandos RAM de operandos RAM de operandos RAM de operandos RAM de operandos RAM de operandos RAM de operandos RAM de operandos

Tabela 2-2. Ocupao de memria e localizao dos operandos Operandos Retentivos Operandos retentivos so operandos que tm seus valores preservados quando o CP desenergizado (desligado). 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), %I (inteiro), %D (decimal), %F (real), %S (sada) e %A (auxiliar) retentivos.17

2. A Linguagem de Programao Os operandos de entrada (%E) tambm so sempre retentivos. Quando estes operandos esto associados a mdulos do barramento local, garante-se que tero seu valor atualizado antes mesmo do primeiro ciclo de execuo. J quando associados a mdulos do barramento remoto (PROFIBUS, MODBUS, etc.) deve-se considerar um tempo de latncia at a atualizao dos mesmos. Os operandos retentivos so configurados a partir dos ltimos endereos at os iniciais, obedecendo a mesma regra dos operandos simples. Ou seja, a reserva 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.

InstruesOs 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 XE, utiliza um conjunto de poderosas instrues. As instrues do MasterTool XE podem ser divididas em 7 grupos:

RELS contendo as instrues: RNA RNF BOB BBL BBD SLT PLS RM FRM

contato normalmente aberto contato normalmente fechado bobina simples bobina liga bobina desliga bobina de salto rel de pulso rel mestre 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 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 > maior18

2. A Linguagem de Programao

CONTADORES contendo as instrues:

CON COB TEE TED

contador simples contador bidirecional temporizador na energizao 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 TEI SEQ CHP CHF ECR LTR LAI ECH LTH LAH

liga ou desliga pontos indexados teste de estado de pontos indexados seqenciador chama mdulo procedimento chama mdulo funo escrita de operandos em outro CP leitura de operandos de outro CP libera atualizao de imagem de operandos

escrita de operandos em outro CP leitura de operandos em outro CP libera atualizao de imagem de operandos.

LIGAES contendo as instrues:

LGH LGV NEG

ligao horizontal ligao vertical ligao negada

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 BBL BBD SLT RM FRM

bobina simples bobina liga bobina desliga bobina de salto rel mestre fim de rel mestre

Instrues que podem ser editadas nas colunas 0 a 6:

RNA RNF PLS LGH LGV NEG DIV MOB >

rel normalmente aberto rel normalmente fechado rel de pulso ligao horizontal ligao vertical ligao negada diviso movimentao de blocos de operandos maior19

2. A Linguagem de Programao

< = SEQ CHF ECR LTR

menor igual seqenciador chama mdulo funo escrita de operandos em outro CP leitura de operandos de outro CP

Instrues que podem ser editadas em todas as colunas:

MOV MOP MOT MES CES AES CAB SOM SUB MUL AND OR XOR CON COB TEE TED B/D D/B CAR LDI TEI CHP LAI A/D D/A

movimentao de operandos simples movimentao de partes de operandos movimentao de tabelas de operandos movimentao de entradas ou sadas converso de entradas ou sadas atualizao de entradas ou sadas carrega bloco de constantes soma subtrao multiplicao funo 'e' binrio entre operandos funo 'ou' binrio entre operandos funo 'ou exclusivo' binrio entre operandos contador simples contador bidirecional temporizador na energizao temporizador na desenergizao converso binrio - decimal converso decimal - binrio carrega operando liga ou desliga pontos indexados teste de estado de pontos indexados chama mdulo procedimento libera atualizao de imagem converso analgico - digital converso digital - analgico

Projeto de ProgramaoEstruturao de um Projeto de Programao Funcionalmente, um projeto de programao pode ser visto como uma coleo de mdulos utilizados para realizar uma tarefa especifica e 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, sendo que cada arquivo contm um mdulo, denominados como mostra a figura a seguir:

20

2. A Linguagem de Programao

Figura 2-21. Formato do nome dos mdulos em arquivo Em alguns locais deste manual e na seo 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 XE. Se o nome do arquivo for modificado atravs de outro aplicativo do Windows, poder ser atribudo um nome invlido, fazendo com que o mesmo no possa mais ser lido pelo MasterTool XE ou carregado no CP. 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 C Estendido (Configurao): este mdulo de configurao existe quando o

usurio utiliza em seu projeto uma determinada caracterstica do CP que necessita de um mdulo de configurao estendido. Para maiores informaes consultar o manual de utilizao do MasterTool XE (C003 a C009). 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 200 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 P199). Mdulo F (Funo): podem existir at 229 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 F228).

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 XE. 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 o Manual de Utilizao do MasterTool XE. H somente um mdulo C por projeto de programao, tendo como nmero 000. 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 realizada21

2. A Linguagem de Programao atravs da janela de edio do mdulo C. Para maiores informaes sobre como configurar o barramento, ver Manual de Utilizao do MasterTool XE. 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), Inteiro (%I), Decimal (%D) e Real (%F). realizada atravs da janela de edio de mdulo C. Para maiores informaes sobre como declarar operandos simples, ver Manual de Utilizao do MasterTool XE. Declarao de Operandos Tabela: permite a definio do nmero de tabelas de operandos Memria (%TM), de operandos Inteiro (%TI), de operandos Decimal (%TD), de operandos Real (%TF) 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 Manual de Utilizao do MasterTool XE. 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 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 Manual de Utilizao do MasterTool XE.

Declarao dos Parmetros Gerais do CP: so parmetros genricos necessrios para o funcionamento do controlador programvel, tais como o tipo de CP 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 Manual de Utilizao do MasterTool XE. 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 Manual de Utilizao do MasterTool XE. 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 Manual de Utilizao do MasterTool XE 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 Manual de Utilizao do MasterTool XE 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 Manual de Utilizao do MasterTool XE

Mdulo C Estendido Configurao Estes mdulos contm configuraes de determinadas caractersticas das CPs. Estes mdulos so totalmente gerenciados pelo usurio, isto , deve ser criado e apagado conforme necessidade do usurio. Isto se deve ao fato de que a quantidade deste tipo de mdulo varia de acordo com cada aplicao, podendo no ter nenhum a ter at 7 mdulos (C003 a C009).22

2. A Linguagem de Programao Para maiores informaes consultar Manual de Utilizao do MasterTool XE. 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 XE, 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 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).

ATENO: O Mdulo Acionado por Interrupo de Tempo (E018) poder ser executado pela primeira vezdepois de executar a E000. E020 - Mdulo Acionado pela Entrada de Interrupo: 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).

ATENO: O Mdulo Acionado pela Entrada de Interrupo (E020) poder ser executado pela primeira vez depois de executar a E000.

Mdulo P - Procedimento

23

2. A Linguagem de Programao 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 200 (P000 a P199). 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 - gerncia 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 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, a seguir, apresenta o fluxo de dados entre a instruo CHF e o mdulo funo:

24

2. A Linguagem de Programao

Figura 2-22. 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. 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 do CP, podendo tambm ser consultado pelo MasterTool XE, 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 do CP sempre 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 XE. Este modo normalmente utilizado para a carga dos mdulos do projeto de programao pelo MasterTool XE, 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 XE. Cada comando executa ciclo acionado no MasterTool XE (opes Comunicao, Estado, Executa Ciclo a partir do menu25

2. A Linguagem de Programao 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 XE (opes Execuo, Programao e Ciclado da caixa de dilogo Estado, ou seus atalhos equivalentes na Barra de Ferramentas). Na ocorrncia de alguma situao de funcionamento 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, a seguir, apresenta as possibilidades de troca de estados:

Figura 2-23. 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 de26

2. A Linguagem de Programao tempo de interrupo programado. A figura abaixo mostra esquematicamente a execuo do programa aplicativo.

Figura 2-24. Execuo do projeto de programao ATENO: Os mdulos E020 e E018 podero ser executados pela primeira vez depois de executar o E000. 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 no CP. O primeiro passo para a edio de um projeto de programao no MasterTool XE 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 XE 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 XE 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.

27

2. A Linguagem de Programao 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 Mdulos 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. No CP AL-2004 existem 32 nveis de chamada. Ou seja, podem ser executadas at 32 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 2-25. Nmero mximo de nveis de chamada de mdulos 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 2-26. Chamada recursiva de mdulos28

2. A Linguagem de Programao 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 2-27. 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 sensoriamento 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. Este mdulo til quando se deseja um controle preciso de tempos no processamento do CP. Utilizao do Mdulo E020 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. 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. Cuidados no 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

29

2. A Linguagem de Programao que o E018 seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclo do mdulo E001.

Figura 2-28. 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. As instrues permanecem com o mesmo comportamento quando executadas dentro do mdulo E018, exceto em relao a algumas caractersticas particulares. o caso das instrues de temporizao, que podem passar a contar menos ou mais tempo que o realmente transcorrido se utilizadas no E018, 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 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.

30

2. A Linguagem de Programao

Figura 2-29. 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 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. ATENO: 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.31

2. A Linguagem de Programao

ATENO: 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.

ATENO: 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. 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 XE, 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.

32

2. A Linguagem de Programao Utilizao Simultnea dos Mdulos E018 e E020 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 (32 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, Informaes no MasterTool XE. Modelo da UCP - indica o tipo do controlador com o qual o MasterTool XE 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 Manual de Utilizao do MasterTool XE. Sadas - indica se as sadas esto habilitadas ou desabilitadas. Rels Forados - indica se existe algum ponto de entrada ou sada forado. 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 os valores 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 ou33

2. A Linguagem de Programao 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 XE for conectado a algum CP, aconselha-se a consulta dessas informaes como o primeiro procedimento a ser tomado. Monitorao Atravs do MasterTool XE 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. Para maiores informaes sobre como realizar a monitorao, ver itens Monitorando Operandos Simples, Monitorando Operandos Tabelas e Monitorando Programas no Manual de Utilizao do MasterTool XE. ATENO: 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.

Figura 2-30. Situao incoerente na monitorao de lgicas Foramento Os valores dos operandos tambm podem ser forados com o MasterTool XE, 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. Os operandos %A, %M, %I, %D, %F, %TM, %TI, %TD e %TF 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 do CP permanece ligado se houver algum operando %E ou %S forado.34

2. A Linguagem de Programao Os valores forados em operandos %E sobrepem os obtidos na