You are on page 1of 151

Manual de Programao Ladder MasterTool Extended Edition MT8000

Rev. E 11/2008 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 conseqncias 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. imprescindvel a leitura completa dos manuais e/ou caractersticas tcnicas do produto antes da instalao ou utilizao do mesmo. 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. 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, PX, MasterTool, Quark, ALNET e WebPlc so marcas registradas da Altus Sistemas de Informtica S.A. Windows NT, 2000 e XP so marcas registradas da Microsoft Corporation.

Sumrio

Sumrio
1. 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 .......................................................................................................10 Operandos %R Endereos no Barramento .........................................................................................10 Operandos %M Memrias.................................................................................................................11 Operandos %D Decimais ..................................................................................................................12 Operandos %F Reais.........................................................................................................................13 Operandos %I Inteiros.......................................................................................................................14 Operandos %KM, %KD, %KF e %KI Constantes .............................................................................15 Operandos %TM, %TD, %TF e %TI Tabelas....................................................................................15 Acesso Indireto....................................................................................................................................16 Declarao de Operandos.....................................................................................................................17 Operandos Retentivos ..........................................................................................................................18 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...................................................................................................27 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.........................................................................................................................44
ii

Sumrio Contatos ..............................................................................................................................................46 Bobinas ...............................................................................................................................................47 SLT - Bobina de Salto..........................................................................................................................48 PLS - Rel de Pulso .............................................................................................................................50 RM, FRM - Rel Mestre, Fim de Rel Mestre ......................................................................................50 Instrues do Grupo Movimentadores ..................................................................................................52 MOV - Movimentao de Operandos Simples......................................................................................53 MOP - Movimentao de Partes (Subdivises) de Operandos...............................................................55 MOB - Movimentao de Blocos de Operandos ...................................................................................57 MOT - Movimentao de Tabelas ........................................................................................................59 MES - Movimentao de Entradas/Sadas ............................................................................................62 CES - Converso de Entradas/Sadas....................................................................................................64 AES - Atualiza Entradas/Sadas ...........................................................................................................66 CAB - CarregaBloco..........................................................................................................................67 Instrues do Grupo Aritmticas ..........................................................................................................71 SOM - Adio......................................................................................................................................72 SUB Subtrao .................................................................................................................................74 MUL - Multiplicao ...........................................................................................................................76 DIV - Diviso ......................................................................................................................................77 AND - E Binrio entre Operandos........................................................................................................79 OR - Ou Binrio entre Operandos ........................................................................................................81 XOR - Ou Exclusivo entre Operandos..................................................................................................83 CAR - Carrega Operandos ...................................................................................................................85 Instrues de Comparao de Operandos - Igual, Maior Menor ........................................................87 Instrues do Grupo Contadores ..........................................................................................................90 CON - Contador Simples .....................................................................................................................91 COB - Contador Bidirecional...............................................................................................................93 TEE - Temporizador na Energizao....................................................................................................96 TED Temporizador na Desenergizao .............................................................................................98 Instrues do Grupo Conversores.......................................................................................................100 B/D - Converso Binrio-Decimal......................................................................................................101 D/B - Converso Decimal-Binrio......................................................................................................102 A/D - Converso Analgico-Digital ...................................................................................................103 D/A - Converso Digital-Analgico ...................................................................................................105 Instrues do Grupo Geral .................................................................................................................107 LDI - Liga/Desliga Indexado..............................................................................................................108 TEI - Teste de Estado Indexado..........................................................................................................110 SEQ - Seqenciador...........................................................................................................................112 CHP - Chama Mdulo Procedimento .................................................................................................116 CHF - Chama Mdulo Funo ...........................................................................................................118 CHF - Chama Mdulo Funo Configurao Especial F-PID16.056................................................123 CHF - Chama Mdulo Funo Especial AL-2752............................................................................127 ECR - Escrita de Operandos em Outro CP..........................................................................................130 LTR - Leitura de Operandos de Outro CP ..........................................................................................137 LAI - Libera Atualizao de Imagens dos Operandos .........................................................................139 ECH - Escrita de Operandos em Outro CP para Ethertnet ...................................................................140 LTH - Leitura de Operandos de Outro CP para Ethernet.....................................................................141 LAH - Libera Atualizao de Imagens dos Operandos para Ethernet ..................................................142 Instrues do Grupo Ligaes ............................................................................................................143 LGH - Ligao Horizontal .................................................................................................................143 NEG - Ligao Negada ......................................................................................................................143 LGV - Ligao Vertical .....................................................................................................................143 4. GLOSSRIO ...........................................................................................................................................144

iii

1. Introduo

1. Introduo
O Software MasterTool Extended Edition
O 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 ambientes Windows 2000 e Windows XP, 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 Advanced


O 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 Manual


Para 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. Aconselha-se os seguintes documentos como fonte de informao adicional:

1. Introduo 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 Visual
Antes 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 Tcnico
Para 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 altus@altus.com.br. 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 Windows (juntamente com seu Service Pack) do computador em que o software est sendo executado.

Mensagens de Advertncia Utilizadas neste Manual


Neste 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. A Linguagem de Programao

2. A Linguagem de Programao
Os 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 assemelha-se 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 Programao
Um programa aplicativo composto por 4 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.

Lgicas
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 a seguir mostra o formato de uma lgica do programa aplicativo.
3

2. A Linguagem de Programao

Figura 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 4 Ordem de Processamento das Clulas na Lgica

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

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

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.

Para maiores informaes sobre criao e atribuio de tags para operandos, ver o Manual de Utilizao do MasterTool XE. 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:

2. A Linguagem de Programao
Tipo %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 7 Formato de um Operando Simples Tipo do operando: %E - entrada %S - sada %A - auxiliar %M memria %I - inteiro %D - decimal %F - real

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 10 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 negativa
7

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 ou decimal. O formato geral de um operando tabela pode ser visto na figura abaixo:

Figura 13 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:

2. A Linguagem de Programao

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

Limites: Minmo : 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 19 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: Minimo: 0 Mximo : 255


9

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

Figura 22 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: Minimo: 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 25 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.
10

2. A Linguagem de Programao 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. 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 28 Formatos dos Operandos %M A quantidade de operandos memria configurvel na declarao do Mdulo Configurao (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, 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:

11

2. A Linguagem de Programao

Figura 31 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: 32767 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 34 Formatos dos Operandos %D A quantidade de operandos decimal configurvel na declarao do Mdulo Configurao (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, 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 2-13.

Figura 37 Formato do Operando Decimal


12

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

Figura 40 Formatos dos Operandos %F A quantidade de operandos real configurvel na declarao do mdulo 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 43 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 3,4028234663852886E+38. a

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

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

Figura 46 Formatos dos Operandos %I A quantidade de operandos inteiro configurvel na declarao do mdulo 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 49 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

14

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

Figura 52 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 55 Formato dos Operandos Tabelas A quantidade de tabelas e o nmero de posies de cada uma so configurveis na declarao do mdulo 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

15

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

Figura 58 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:

Figura 61 Exemplo com a Instruo MOV 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.

16

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

17

2. A Linguagem de Programao Tabela 2-3 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. 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.

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 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 movimentao de partes de operandos MOP movimentao de blocos de operandos MOB movimentao de tabelas de operandos MOT movimentao de entradas ou sadas MES converso de entradas ou sadas CES atualizao de entradas ou sadas AES carrega bloco de constantes CAB ARITMTICOS contendo as instrues: SOM soma
18

2. A Linguagem de Programao

SUB MUL DIV AND OR XOR CAR = < >

subtrao multiplicao diviso funo "e" binrio entre operandos funo "ou" binrio entre operandos funo "ou exclusivo" binrio entre operandos carrega operando igual menor maior

CONTADORES contendo as instrues: CON contador simples contador bidirecional COB temporizador na energizao TEE temporizador na desenergizao TED CONVERSORES contendo as instrues: B/D converso binrio - decimal converso decimal - binrio D/B converso analgico - digital A/D converso digital analgico D/A 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 ligao horizontal ligao vertical LGV ligao negada NEG
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

19

2. A Linguagem de Programao Instrues que podem ser editadas nas colunas 0 a 6:

RNA RNF PLS LGH LGV NEG DIV MOB > < = SEQ CHF ECR LTR

rel normalmente aberto rel normalmente fechado rel de pulso ligao horizontal ligao vertical ligao negada diviso movimentao de blocos de operandos maior 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 Programao
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 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 63 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
21

2. A Linguagem de Programao 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 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, 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 vez depois 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).

23

2. A Linguagem de Programao

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

25

2. A Linguagem de Programao 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 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 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 69 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.

26

2. A Linguagem de Programao 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. A figura abaixo mostra esquematicamente a execuo do programa aplicativo.

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

27

2. A Linguagem de Programao 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 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 75 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).

28

2. A Linguagem de Programao

Figura 78 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 81 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. 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.

29

2. A Linguagem de Programao 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 que o E018 seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclo do mdulo E001.

Figura 84 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 87 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. 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

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. 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 ou
33

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, aconselhase 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. 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 90 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 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 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. ATENO: A operao de foramento no atua sobre operandos %E ou %S atualizados com a instruo AES. Esta instruo executa a leitura para operandos %E ou a escrita de operandos %S no momento em que executada, no considerando os efeitos de foramento sobre os mesmos. Por este motivo, recomenda-se que no sejam forados os operandos atualizados pela instruo AES que estejam ativas no programa. 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.

35

2. A Linguagem de Programao 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, para que as alteraes tenham efeito.

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. 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 o CP 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 XE 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
36

2. A Linguagem de Programao 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 de CP utilizado. 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 93 Compactao de Memria RAM Se o mdulo P010 for removido do CP o banco 0 passar a ter a seguinte organizao:

37

2. A Linguagem de Programao

Figura 96 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:

Figura 99 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 XE (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 compactao pode aumentar em muito o tempo de alguns ciclos do programa aplicativo, quando realizado em modo execuo. Deve-se estar consciente dos efeitos deste aumento de tempo de processamento. Aconselha-se que a compactao no seja disparada caso a mquina sob controle esteja em operao ou com seus acionamentos principais ativos. 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 do CP, 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. No MasterTool XE no existe a Compactao de FLASH. O mtodo para se compactar a FLASH carregar os mdulos para a RAM, limpar a FLASH e recarregar os mdulos para a FLASH.
38

2. A Linguagem de Programao 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. 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 FLASH para RAM: Os mdulos presentes na memria flash EPROM ou no cartucho de EPROM tambm podem ser transferidos para a memria RAM de programa. 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 de mdulos em FLASH: O comando de apagamento pode ser utilizado para mdulos armazenados na memria FLASH do CP. Como o apagamento de FLASHs 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 FLASH 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. Apagamento da memria FLASH: 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. 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, Informaes a partir do menu principal), sendo informados diversos tempos de ciclos de execuo, especificados a seguir.
39

2. A Linguagem de Programao 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 XE. 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 XE 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.

40

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

DICA: 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. Nveis de Proteo do CP Os CPs da srie AL-2000 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 Sem proteo. Nvel 1 Permitido monitorao, escrita, foramento de operandos e leitura de mdulos de programa. Nvel 2 Permitido monitorao, escrita, foramento de operandos. Nvel 3 Permitido apenas leitura das informaes do CP.

A troca do nvel de proteo realizada com as opes Comunicao, Estado, Proteo no MasterTool XE, devendo-se digitar a senha de acesso correta para efetiv-la. O nvel de proteo do CP pode ser consultado com o MasterTool XE 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 XE, 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.
41

2. A Linguagem de Programao A proteo do CP atua no somente para as operaes realizadas com o MasterTool XE, mas tambm para os comandos recebidos pelas redes ALNET I e ALNET II, com as mesmas caractersticas definidas para cada nvel. Intertravamento de Comandos no CP Na srie AL-2000 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 abaixo 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, Informaes no MasterTool XE. 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, ALNETII) 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 Transferncia de EPROM para RAM 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 Transferncia de RAM para FLASH 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 CM Sinal Ligado CM

Apagamento de FLASH EPROM

CM

Legenda: CM - Carregando Mdulo

Tabela 2-5 Intertravamento de Comandos no CP (carregando mdulo)

42

2. A Linguagem de Programao
Operao realizada no CP Carga de Mdulos Comando bloqueado (ALNET I, ALNETII) 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 Sinal Ligado CR

Legenda: CR - Compactando RAM

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

43

3. Referncia das Instrues

3. Referncia das Instrues


Este captulo apresenta a lista de instrues integrantes da Linguagem de Diagramas e Rels ALTUS, descrevendo o formato, o uso, a sintaxe e fornecendo exemplos de cada instruo.

Lista das 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 XE, utiliza um conjunto de poderosas instrues apresentadas nas sees seguintes. As instrues do MasterTool XE podem ser divididas em 7 grupos:

RELS MOVIMENTADORES ARITMTICOS CONTADORES CONVERSES GERAIS LIGAES

Convenes Utilizadas Foram utilizadas diversas convenes para a apresentao dos grupos e instrues tornando melhor a visualizao e reconhecimento dos itens descritos, visando com isto um aprendizado mais simples e uma fonte de consulta direta aos tpicos desejados. Apresentao dos Grupos A descrio de cada grupo segue o seguinte roteiro. 1. O grupo descrito com um ttulo contendo o nome do grupo. 2. Logo aps o ttulo, realizada uma breve descrio das caractersticas comuns s instrues do grupo. 3. Finalizando a apresentao do grupo, exibida uma tabela contendo na primeira coluna o nome da instruo, na segunda coluna a descrio do nome da instruo e na terceira coluna a seqncia de teclas para realizar a insero da instruo diretamente pelo teclado. Exemplo:

Instrues do Grupo 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).

44

3. Referncia das Instrues So usadas tambm para desvio do fluxo e controle do processamento do programa aplicativo.
Nome RNA RNF BOB SLT BBL BBD PLS FRM RM Descrio do Nome Contato normalmente aberto Contato normalmente fechado Bobina simples Bobina de salto Bobina liga Bobina desliga Rel de pulso Fim de rel mestre Rel mestre Seqncia de Edio Alt, I, R, A Alt, I, R, F Alt, I, R, B Alt, I, R, S Alt, I, R, L Alt, I, R, D Alt, I, R, P Alt, I, R, M Alt, I, R, R

Tabela 3-1 Instrues do grupo Rels Apresentao das Instrues A descrio de cada instruo feita da seguinte maneira. 1. A instruo descrita com um ttulo contendo o nome da instruo e a descrio do nome. Uma figura apresentando como a instruo visualizada no diagrama de rels contendo seus operandos, entradas e sadas. Abaixo da figura, exibida uma breve descrio do significado de cada operando. 2. O item Descrio contm informaes descrevendo o funcionamento da instruo conforme as entradas habilitadas e os tipos de operando utilizados. Neste item tambm so descritas as sadas que sero acionadas aps a execuo da instruo. 3. O item Sintaxe descreve as combinaes de operandos que podem ser utilizados na instruo. Este item somente esta presente nas instrues que possuam operandos. 4. O item Exemplo fornece um exemplo de utilizao da instruo descrevendo seu comportamento. Este item somente esta presente nas instrues que requeiram um detalhamento maior de seu funcionamento. 5. Podem existir outros itens descrevendo uma caracterstica especfica da instruo caso haja necessidade. Exemplo: 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 utilizado em nenhum outro ponto do programa aplicativo.

Sintaxe: OPER1 %AXXXX.X

45

3. Referncia das Instrues

Contatos RNA contato normalmente aberto

RNF

contato normalmente fechado

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

No caso acima, de um contato normalmente aberto, o contato somente ser fechado caso o estado do operando %A0010.4 for igual a 1. Caso contrrio ele permanecer aberto.

J neste caso, onde o contato normalmente fechado, o contato estar aberto caso o estado do operando %A0010.4 for igual a 1. Do contrrio ele permanecer fechado. Sintaxe: OPER1 %EXXXX.X %SXXXX.X %AXXXX.X %MXXXX.X %DXXXX.X %DXXXXhX Tabela 3-2 Sintaxe das Instrues RNA e RNF

46

3. Referncia das Instrues

Bobinas BOB Bobina Simples

BBL

Bobina Liga

BBD

Bobina Desliga

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

No caso acima, enquanto a bobina estiver energizada o operando %A0005.7 ter valor lgico 1, caso contrrio o seu valor ser 0.

Neste caso, no momento em que a bobina for energizada, o operando %A0005.7 ter valor lgico 1. Ele permanecer com este estado mesmo que a bobina liga esteja desenergizada.

Nesta bobina, no momento em que a bobina for energizada, o operando %A0005.7 ter valor lgico 0. Ele permanecer com este estado mesmo que a bobina desliga esteja desenergizada. Sintaxe: OPER1 %SXXXX.X %AXXXX.X %MXXXX.X %DXXXX.X %DXXXXhX Tabela 3-4 Sintaxe das Instrues BOB, BBL e BBD

47

3. Referncia das Instrues SLT - Bobina de Salto

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. Exemplo: Supondo que a instruo a seguir esteja na lgica 1, a execuo do programa aplicativo desviada para a lgica 6 se a linha de acionamento estiver energizada. Se a bobina no for energizada, o processamento continua normalmente, ou seja, a prxima lgica a ser executada seria a 2.

Figura 102 Exemplo da Instruo SLT Pode ser utilizada nesta instruo uma constante %KM com valor zero ou mesmo com valor negativo. Se programada com o valor zero, a lgica destino a mesma que contm a bobina de salto, quando esta energizada. Ou seja, o processamento desviado para o incio da prpria lgica da bobina. Se o valor programado negativo, o processamento desviado para uma lgica anterior lgica que contm a bobina de salto. 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.

ATENO: Caso se utilize um salto com operando negativo aps uma instruo RLM, a barra estar desligada para as instrues executadas.
48

3. Referncia das Instrues Sintaxe: OPER1 %KM +XXXXX %KM-XXXXX Tabela 3-6 Sintaxe da Instruo SLT

49

3. Referncia das Instrues

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. Exemplo: Neste caso quando a entrada deste rel acionada, a sada permanece energizada durante toda a varredura do programa aplicativo. No operando %A0000.0 armazenado o estado deste rel.

Sintaxe: OPER1 %AXXXX.X Tabela 3-8 Sintaxe da Instruo PLS RM, FRM - Rel Mestre, Fim de Rel Mestre RM Rel Mestre

FRM

Fim de Rel Mestre

Descrio: 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. A instruo FRM atua sempre, mesmo que sua entrada esteja desenergizada.

50

3. Referncia das Instrues 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: Para o exemplo abaixo, quando o contato normalmente aberto , associado ao operando %A0000.0 estiver em 0 (contato aberto) a entrada da instruo RM estar desenergizada desabilitando a barra de alimentao das lgicas seguintes (Lgica:001) at a que contiver a instruo FRM (Lgica:002).

Figura 105 Exemplo de utilizao da instruo FRM

51

3. Referncia das Instrues

Instrues do Grupo Movimentadores Estas instrues so utilizadas para a manipulao e transferncia de valores numricos entre constantes, operandos simples ou tabelas de operandos.
Nome MOV MOP MOB MOT MES AES CES CAB Descrio do Nome Movimentao de operandos simples Movimentao de partes de operandos Movimentao de blocos de operandos Movimentao de tabelas de operandos Movimentao de entradas ou sadas Atualizao de entradas ou sadas Converso de entradas ou sadas Carrega bloco Seqncia de Edio Alt, I, M, V Alt, I, M, P Alt, I, M, B Alt, I, M, T Alt, I, M, E Alt, I, M, A Alt, I, M, S Alt, I, M, C

Tabela 3-10 Instrues do Grupo Movimentadores

52

3. Referncia das Instrues

MOV - Movimentao de Operandos Simples

OPER1 - operando origem OPER2 - operando destino Descrio: Esta instruo move o contedo de operandos simples, 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 de 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. Quando o operando destino da instruo um inteiro (%M) e pelo menos um dos demais operandos da instruo um real (%F) o resultado armazenado ser truncado, ou seja, armazena-se no operando M apenas a parte inteira do resultado da operao, desprezando-se a parte fracionria. NOTA: Se OPER1 for de maior preciso que OPER2 ento preservada a preciso de OPER2. Exemplo: Na instruo abaixo, o valor do operando %M0000 movimentado para o operando %M0001 assim que a entrada habilita for energizada. Ou seja, suponhamos que inicialmente o operando %M0000 possua o valor 5 e %M0001 possua o valor 3. Aps a energizao da entrada habilita, os valores de %M0000 e %M0001 sero 5 e 5 respectivamente.

53

3. Referncia das Instrues Sintaxe: OPER1 %E %S %A %M %D %M*E %M*S %M*A %M*M %M*D %KM %KD OPER2 %M %E %S %A %D %M*E %M*A %M*M %M*D %M*S OPER1 OPER2

%M %F %I %M*M %M*F %M*I %KM %KF %KI

%M %F %I %M*M %M*F %M*I

Tabela 3-12 Sintaxe da Instruo MOV

54

3. Referncia das Instrues

MOP - Movimentao de Partes (Subdivises) de Operandos

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:

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 107 Figura 3-14 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. 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.

55

3. Referncia das Instrues Sintaxe: OPER1 %EXXXX.X %SXXXX.X %AXXXX.X %MXXXX.X %DXXXX.X %DXXXXhX %FXXXX.X %FXXXXhX %IXXXX.X %IXXXXhX %KMXXXXX %KDXXXXX OPER1 %EXXXXnX %SXXXXnX %AXXXXnX %MXXXXnX %DXXXXnX %FXXXXnX %IXXXXnX %KMXXXXX %KDXXXXX OPER1 %DXXXXwX %FXXXXwX %IXXXXwX %MXXXX %KMXXXXX %KDXXXXX OPER2 %EXXXX.X %SXXXX.X %AXXXX.X %MXXXX.X %DXXXX.X %DXXXXhX %FXXXX.X %FXXXXhX %IXXXX.X %IXXXXhX OPER1 MXXXXbX %DXXXXbX %FXXXXbX %IXXXXbX %EXXXX %SXXXX %AXXXX %KMXXXXX %KDXXXXX OPER2

%MXXXXbX %DXXXXbX %FXXXXbX %IXXXXbX

OPER2 %EXXXXnX %SXXXXnX %AXXXXnX %MXXXXnX %DXXXXnX %FXXXXnX %IXXXXnX

OPER1

OPER2

%MXXXXbX %DXXXXbX %FXXXXbX %IXXXXbX

%EXXXX %SXXXX %AXXXX

OPER2 %DXXXXwX %FXXXXwX %IXXXXwX

OPER1 %DXXXXwX %FXXXXwX %IXXXXwX

OPER2

%MXXXX

Tabela 3-16 Sintaxes da Instruo MOP

56

3. Referncia das Instrues

MOB - Movimentao de Blocos de Operandos

OPER1 - primeiro operando do bloco origem OPER2 - nmero de transferncias a realizar OPER3 - operando de controle OPER4 - primeiro operando do bloco destino OPER5 - nmero de transferncias por varredura Descrio: Esta instruo realiza a cpia dos valores de um bloco de operandos origem para um bloco destino. Especifica-se o primeiro operando do bloco origem em OPER1 e o primeiro operando do bloco destino em OPER4. O nmero total de transferncias a serem realizadas declarado no parmetro OPER2, devendo tambm ser especificados o nmero de transferncias por varredura (OPER5) e uma memria acumuladora para a contagem do nmero de transferncias (OPER3). Se o bloco origem ou destino for uma tabela, a transferncia tem incio na sua primeira posio. Se o formato do operando destino for menor do que a origem, os octetos mais significativos do valor origem so desprezados. Caso contrrio, os octetos mais significativos do destino so zerados. O nmero de transferncias por varredura limitado em 255 operandos. Na medida do possvel devese evitar um nmero elevado de transferncias na mesma varredura, para diminuir o tempo de execuo do programa. Em cada instruo MOB utilizada uma memria como operando de controle (OPER3), que deve estar zerada antes da primeira execuo. ATENO: O operando de controle no deve ter seu contedo alterado em nenhuma parte do programa aplicativo, sob pena de prejudicar a execuo correta da instruo. Cada ocorrncia desta instruo no programa deve possuir um operando de controle exclusivo, diferente dos demais. Este operando no pode ser retentivo. Quando ligadas, as sadas da segunda e terceira clulas indicam, respectivamente,

57

3. Referncia das Instrues endereo superior ao nmero mximo declarado para o operando ou tabela utilizada, no sendo realizada nenhuma movimentao. Caso o valor do segundo operando seja negativo, a sada ndice origem invlido acionada. A sada da primeira clula acionada na varredura em que a movimentao for completada. ATENO: A entrada habilita deve permanecer ativa at que a movimentao esteja concluda. Como esta instruo executada em mltiplos ciclos de execuo, no deve ser saltada enquanto no estiver terminada a movimentao. Exemplo:

No exemplo acima se deseja movimentar os valores do bloco de operandos de %M0000 at %M0010, pois o OPER1 indica o inicio do bloco origem para movimentao e o OPER2 indica o seu tamanho. Em OPER4 temos o operando inicial da faixa destino, ou seja, o primeiro operando do bloco destino ao qual se deseja movimentar os valores %M1000. OPER5 representa o nmero de operandos que deve ser movimentado a cada varredura do CP, que neste caso ser 2 (%KM+00002). Em OPER3 (%M0100) armazenado qual foi a ltima movimentao feita pela instruo. Sintaxe: OPER1 %E %S %A %M %I %D %TM %TI %TD OPER1 %F %TF OPER2 OPER3 OPER4 %E %S %A %M %I %D %TM %TI %TD OPER4 %F %TF OPER5

%KM

%M

%KM

OPER2 %KM

OPER3 %M

OPER5 %KM

Tabela 3-18 Sintaxe da Instruo MOB Tabela Verdade (Vlida somente para a PO3x47):
Situao Instruo no habilitada Operando 1 Invlido 1 Operando 3 Invlido Operando 4 Invlido 2 Cpia parcial Operao completada Tabela Verdade instruo MOB Entradas Habilita Oper1 Oper3 Oper4 Inval Inval Inval 0 x x x 1 1 x x 1 0 1 x 1 0 0 1 1 0 0 0 1 0 0 0 Oper4 inalterado inalterado inalterado inalterado Oper1 Oper1 Sadas Concl. Org Inv 0 0 0 1 0 1 0 0 0 0 1 0 Dest Inv 0 0 0 1 0 0

58

3. Referncia das Instrues Tabela 3-10 Tabela Verdade da Instruo MOB Notas: - Legendas: Inval = Invlido ; Org.Inv = Origem Invlido; Dest.Inv = Destino Invlido; 1 Esta indicao est disponvel somente nas UCPs PO3x47 2 Operao ainda no concluda, ocorre quando a transferncia est em andamento MOT - Movimentao de Tabelas

OPER1 - tabela origem ou operando origem OPER2 - ndice da tabela OPER3 - operando destino ou tabela destino Descrio: Esta instruo permite duas operaes: transferir o valor de uma posio de tabela para um operando simples ou de um operando simples para uma posio de tabela. O operando que ocupa a primeira clula da instruo (OPER1) o operando origem, cujo valor movimentado para o operando destino especificado na terceira clula (OPER3). OPER2 contm a posio da tabela declarada em OPER1 ou OPER3. Leitura de contedo de tabela: Permite ler o contedo de uma posio de tabela e carreg-lo em um operando memria ou decimal. A instruo programada da seguinte forma: OPER1 - especifica o endereo da tabela a ser lida OPER2 - especifica a posio (%KM) a ser lida ou a memria (%M) que contm esta posio OPER3 - especifica para onde o contedo da posio de tabela deve ser transferido

Se o primeiro operando referenciar indiretamente uma tabela no especificada, ou se o valor do segundo operando for negativo ou maior que a ltima posio definida para a tabela, a transferncia no realizada e a sada ndice origem invlido acionada. Se o terceiro operando referenciar indiretamente um operando no declarado, a transferncia no realizada e a sada ndice destino invlido acionada. Quando ambos os operando de origem e destino forem invlidos, a sada ndice origem invlido acionada. A sada Sucesso energizada quando a movimentao foi realizada com sucesso. Escrita de valores em tabela: Permite escrever um valor constante ou o contedo de um operando memria ou decimal em uma posio de tabela. A instruo programada da seguinte forma:
59

3. Referncia das Instrues OPER1 - especifica o operando origem OPER2 - especifica a posio (%KM) a ser escrita na tabela ou a memria (%M) que contm esta posio OPER3 - especifica o endereo da tabela para onde transferido o contedo

Se o primeiro operando referenciar indiretamente um operando no declarado, a transferncia do contedo no realizada e a sada ndice origem invlido acionada. Se o valor do segundo operando for negativo ou maior que a ltima posio definida para a tabela, ou se o terceiro operando referenciar indiretamente uma tabela no especificada, a transferncia do contedo no realizada e a sada ndice destino invlido acionada. Esta instruo simplifica a programao de uma srie de algoritmos envolvendo decodificaes, seqenciamentos, gerao de curvas, armazenamento e comparao de valores, entre outros. Exemplo:

Neste exemplo o valor da posio 3 (%KM00003) da tabela %TM0000 ser transferido para a memria %M0100. Sintaxe:

Leitura:
OPER1 %TM %M*TM OPER1 %TD %M*TD OPER1 %TF %M*TF OPER1 %TI %M*TI OPER2 %KM %M OPER2 %KM %M OPER2 %KM %M OPER2 %KM %M OPER3 %M %M*M OPER3 %D %M*D OPER3 %F %M*F OPER3 %I %M*I

Escrita:
OPER1 %KM %M %M*M OPER1 %KD %D %M*D OPER1 %KF %F %M*F OPER1 %KI %I %M*I OPER2 %KM %M OPER2 %KM %M OPER2 %KM %M OPER2 %KM %M OPER3 %TM %M*TM OPER3 %TD %M*TD OPER3 %TF %M*TF OPER3 %TI %M*TI

Tabela 3-20 Sintaxes da Instruo MOT Tabela Verdade (Vlida somente para a PO3x47)::
Tabela Verdade - instruo MOT: Leitura de contedo de tabela Entradas Habilita Oper1 Oper2 Oper3 Oper3

Situao

Sadas Suces Org

Dest

60

3. Referncia das Instrues


Inval Instruo no habilitada Operando 1 Invlido Operando 2 negativo ou fora da tabela Operando 3 Invlido Operao normal 0 1 1 1 1 x 1 0 0 0 <0 ou > tam x x 1 0 0 Inval x x x 1 0 inalterado inalterado inalterado inalterado valor lido 0 0 0 0 1 Inv 0 1 1 0 0 Inv 0 0 0 1 0

Tabela Verdade - instruo MOT: Escrita de valores em tabela Entradas Situao Habilita Oper1 Oper2 Oper3 Oper3 Inval <0 ou > Inval tam Instruo no habilitada 0 x x x inalterado Operando 1 Invlido 1 1 x x inalterado Operando 2 negativo ou fora da 1 0 1 x inalterado tabela Operando 3 Invlido 1 0 0 1 inalterado Operao normal 1 0 0 0 valor lido

Sadas Suces Org Inv 0 0 0 0 1 0 1 0 0 0

Dest Inv 0 0 1 1 0

Tabela 3-11 Tabela Verdade da Instruo MOT Notas: - Legendas: Inval = Invlido ; Org.Inv = Origem Invlido; Dest.Inv = Destino Invlido; Suces = Sucesso.

61

3. Referncia das Instrues

MES - Movimentao de Entradas/Sadas

OPER1 - primeiro operando origem OPER2 - nmero de octetos a transferir OPER3 - primeiro operando destino Descrio: Esta instruo utilizada para a transferncia de dados diretamente entre operandos memria e octetos do barramento de mdulos de entrada e sada. possvel realizar leituras de valores dos octetos do barramento ou escritas no mesmo, conforme os operandos programados na instruo. O operando que ocupa a primeira clula da instruo (OPER1) o operando origem, cujo contedo ser movimentado para o operando destino especificado na terceira clula (OPER3). OPER2 define o nmero de octetos a serem transferidos a partir do primeiro origem e destino especificados. ATENO: O nmero de octetos a serem transferidos est limitado em 255. Caso seja programada uma constante na primeira clula (escrita de valor no barramento), o seu valor movido para todos os octetos do barramento especificados pelos operandos da segunda e terceira clulas. Sempre que a entrada habilita est energizada, uma das sadas da instruo energizada, conforme as regras a seguir. A sada ndice origem invlido energizada em 3 situaes: o nmero de transferncias especificado em OPER2 for negativo, zero, maior do que o nmero mximo de octetos no barramento do CP utilizado (leitura do barramento) ou que o limite de memrias configurado (escrita no barramento) a primeira posio lida for maior do que o nmero mximo de octetos no barramento do CP utilizado (%M*R programado em OPER1) o primeiro endereo de memria a ser escrito for negativo ou maior do que o ltimo endereo de memria configurado (%M*M programado em OPER1) A sada ndice destino invlido energizada quando: O nmero de transferncias especificado em OPER2 for maior do que o limite de memrias configurado (leitura do barramento) ou que o nmero mximo de octetos no barramento do CP utilizado (escrita no barramento) A primeira posio escrita for maior do que o nmero mximo de octetos no barramento do CP utilizado (%M*R programado em OPER3) O primeiro endereo de memria a ser lido for negativo ou maior do que o ltimo endereo de memria configurado (%M*M programado em OPER3)
62

3. Referncia das Instrues A sada sucesso energizada quando as sadas ndice origem invlido e ndice destino invlido no forem energizadas. Esta instruo utilizada somente para acessos especiais ao barramento. Para o seu uso, deve-se saber exatamente que mdulo de E/S est colocado na posio fsica do barramento lida ou escrita pela MES e como acess-lo. Como os mdulos de entrada e sada fornecidos pela ALTUS possuem instrues especficas para o seu acesso, a instruo MES no necessria na maioria dos programas aplicativos. No possvel escrever valores em octetos de mdulos digitais de entrada ou ler valores de octetos de mdulos digitais de sada com a instruo MES. ATENO: Esta instruo s vlida para os CPs da srie AL.

Exemplo:

Neste caso, os valores faixa de memria %M0000 at %M0002 (o operando %KM+00003 determina o tamanho da faixa) sero movimentados para os registradores de barramento %R0002 at %R0004. Sintaxe: OPER1 %R %M*R OPER1 %KM %M %M*M OPER2 %KM %M OPER2 %KM %M OPER3 %M %M*M OPER3 %R %M*R

Tabela 3-22 Sintaxes da instruo MES

63

3. Referncia das Instrues

CES - Converso de Entradas/Sadas

OPER1 - operando origem OPER2 - operando destino Descrio: Esta instruo utilizada para a transferncia de dados diretamente entre operandos memria e octetos no barramento, convertendo os valores de binrio para BCD, em caso de escrita no barramento, ou BCD para binrio, em caso de leitura. Caso se deseje converter octetos do barramento para uma memria, deve-se programar em OPER1 o octeto inicial e em OPER2 a memria a receber os valores convertidos. A instruo concatena o valor do octeto especificado com o octeto seguinte, converte do formato BCD para binrio e armazena o valor convertido na memria destino. Caso se deseje converter valores de uma memria ou constante memria para o barramento, deve-se especificar em OPER1 o valor a ser convertido em OPER2 o octeto inicial a receber os valores. A instruo converte o valor para o formato BCD e escreve o mesmo no octeto especificado e no seguinte. Se o valor movimentado para o barramento possuir mais do que 4 dgitos, os dgitos mais significativos excedentes sero descartados. Exemplo:

Movimentar o contedo de %M0100 para %R0010: valor de %M0100=21947, equivalente a 101010110111011 no formato binrio valor de %M0100=21947, convertido para 0010 0001 1001 0100 0111 no formato BCD valor movido para %R0010=47 no formato BCD, equivalente a 0100 0111 escrito no octeto valor movido para %R0011=19 no formato BCD, equivalente a 0001 1001 escrito no octeto A instruo executada sempre que a entrada habilita energizada. A sada sucesso energizada caso a instruo tenha sido executada corretamente. A sada erro energizada quando se faz um acesso invlido a algum operando referenciado indiretamente por uma memria. Sintaxe: OPER1 %R %M*R OPER1 %KM %M %M*M
64

OPER2 %M %M*M OPER2 %R %M*R

3. Referncia das Instrues Tabela 3-24 Sintaxes da Instruo CES ATENO: Esta instruo s vlida para os CPs da srie AL

65

3. Referncia das Instrues

AES - Atualiza Entradas/Sadas

OPER1 - primeiro octeto de operandos a atualizar OPER2 - nmero de octetos a atualizar Descrio: Esta instruo executa uma atualizao imediata na memria imagem para os operandos especificados. Sua atuao idntica varredura dos pontos de E/S realizada pelo programa executivo ao final de cada varredura, porm com o nmero de operandos limitados. O primeiro operando (OPER1) contm o primeiro octeto de operandos a ser atualizado, enquanto que o segundo operando (OPER2) indica o nmero total de octetos a atualizar. Os operandos %E (entrada) so lidos do barramento para a memria imagem e os operandos %S (sada) so escritos da memria imagem para o barramento quando a instruo executada. Se o nmero de operandos a atualizar ultrapassar o nmero de operandos declarados, so atualizados somente os possveis dentro do tipo declarado. Se nenhum octeto for atualizado pela instruo, a sada sucesso desenergizada. A instruo AES deve ser usada somente em processamentos especiais, nos quais um tempo de resposta muito rpido ou constante exigido do CP. Em programas aplicativos relativamente pequenos, com baixo tempo de varredura e tarefas de controle comuns, a mesma no necessita ser utilizada. Exemplo:

Caso a configurao do CP seja 16 octetos de entrada (%E0000 a %E0015) e 8 octetos de sada (%S0016 a %S0023), a instruo apresentada atualizaria apenas 4 octetos (%E0012 a %E0015). Nenhum octeto de sada atualizado. Sintaxe: OPER1 %E %S OPER2 %KM %M

Tabela 3-26 Sintaxes da Instruo AES

66

3. Referncia das Instrues

CAB - CarregaBloco

OPER1 - operando inicial ou tabela a ser carregada OPER2 quantidade de operandos ou posies de tabela Descrio: Esta instruo permite a carga de at 255 valores constantes em um bloco de operandos ou em tabelas. O operando inicial ou tabela a ser carregada especificado no primeiro parmetro (OPER1), a quantidade de operandos ou posies da tabela a serem carregados no segundo operando (OPER2). O valor do segundo operando deve ser positivo, menor ou igual a %KM+255. Estes valores so declarados selecionando o boto Bloco, sendo aberta uma janela de edio no MasterTool. As constantes editadas no bloco variam conforme o tipo de operando: so %KM se o tipo do primeiro operando for %E, %S, %A, %M, %TM; so %KD se o primeiro operando for %D ou %TD; so %KF se o primeiro operando for %F ou %TF; so %KI se o primeiro operando for %I ou %TI;

Caso o primeiro operando seja um octeto (%E, %S ou %A), somente sero movimentados os valores dos octetos menos significativos de cada constante declarada. Quando o boto Bloco selecionado exibida a janela edio dos valores conforme mostrado na figura a seguir:

Figura 108 Janela de edio da CAB


67

3. Referncia das Instrues Tambm possvel realizar a declarao dos valores da tabela em ASCII. Ao pressionar o boto Edio ASCII que a abre a janela CAB Edio em ASCII onde possvel digitar um texto que ser carregado na tabela com os valores ASCII relativos a cada caractere. A edio dos valores em ASCII est limitada aos operandos %TM e ao tamanho mximo de 128 posies de tabela.

Figura 111 Janela de edio da CAB em ASCII Os valores podem ser inicializados com um nico valor atravs da janela CAB Inicializar Bloco, acessada atravs do boto Inicializar. Nesta janela possvel editar o valor e as posies para onde o valor ser movido.

Figura 114 Janela de Inicializao da CAB A sada ndice destino invlido acionada quando algum operando no puder ser acessado ou uma posio de tabela no existir. A sada sucesso acionada sempre que a instruo for executada corretamente. Se a sada ndice destino invlido foi acionada, nenhuma carga de constantes ocorreu. A carga dos valores constantes inteiramente realizada em uma s varredura do programa aplicativo, podendo ocasionar um tempo de ciclo excessivo quando o mesmo for extenso. Na maior parte dos programas aplicativos, a instruo CAB pode ser executada somente na inicializao do mesmo (carga de tabelas cujos contedos sero somente lidos) ou em alguns momentos especiais, no precisando ser chamada em todas as varreduras. Nestes casos, recomenda-se a sua programao no mdulo de programa aplicativo de inicializao (E000) ou que seja acionada apenas nos momentos de carga necessrios.

68

3. Referncia das Instrues Exemplo:

Figura 117 - Exemplo de configurao da instruo CAB Este exemplo mostra como configura a instruo CAB para copiar os valores 1, 2, 3, 4 e 5 para as primeiras 5 posies do operando %TM0010. Sintaxe:

OPER1 %E %S %A %M %TM %M*E %M*S %M*A %M*M %M*TM

OPER2 %KM

OPER3 Tabela de valores memria

69

3. Referncia das Instrues OPER1 %D %TD %M*D %M*TD OPER1 %F %TF %M*F %M*TF OPER2 %KM OPER3 Tabela de valores decimais

OPER2 %KM

OPER3 Tabela de valores reais

OPER1 %I %TI %M*I %M*TI

OPER2 %KM

OPER3 Tabela de valores inteiro

Tabela 3-28 Sintaxe da instruo CAB

70

3. Referncia das Instrues

Instrues do Grupo 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.
Nome SOM SUB MUL DIV AND OR XOR CAR IGUAL MENOR MAIOR Descrio do Nome Adio Subtrao Multiplicao Diviso Funo E binrio entre operandos Funo OU binrio entre operandos Funo OU EXCLUSIVO entre operandos Carrega operandos Igual Menor Maior Seqncia de Edio Alt, I, A, S Alt, I, A, B Alt, I, A, M Alt, I, A, D Alt, I, A, A Alt, I, A, O Alt, I, A, X Alt, I, A, C Alt, I, A, I Alt, I, A, N Alt, I, A, R

Tabela 3-30 Instrues do Grupo Artmticas

71

3. Referncia das Instrues

SOM - Adio

OPER1 - primeiraparcela OPER2 - segundaparcela OPER3 - resultado 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. Quando o operando destino da instruo um inteiro (%M) e pelo menos um dos demais operandos da instruo um real (%F) o resultado armazenado ser truncado, ou seja, armazena-se no operando M apenas a parte inteira do resultado da operao, desprezando-se a parte fracionria. Exemplo:

Suponhamos que o operando %M0000 possua o valor 100, e o operando %M0001 possua o valor 34. Aps a entrada habilita energizada, o valor no operando %M0002 ser de 134 e a sada copia da entrada tambm ser energizada. No caso em que o valor do operando %M0000 seja 30000 e o de %M0001 seja 15000, por exemplo, a sada estouro ser energizada, pois ultrapassou o limite de armazenamento dos operandos %M. Sintaxe: OPER1 %KD %D OPER2 %KD %D OPER3 %D

72

3. Referncia das Instrues OPER1 %KF %F %KM %M OPER2 %KF %F %KM %M OPER3 %F %M %I

OPER1 %KM %M %KI %I

OPER2 %KM %M %KI %I

OPER3 %M %I

Tabela 3-32 Sintaxes da Instruo SOM

73

3. Referncia das Instrues

SUB Subtrao

OPER1 - minuendo OPER2 - subtraendo 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. Quando o operando destino da instruo um inteiro (%M) e pelo menos um dos demais operandos da instruo um real (%F) o resultado armazenado ser truncado, ou seja, armazena-se no operando M apenas a parte inteira do resultado da operao, desprezando-se a parte fracionria. Exemplo:

Suponhamos que o operando %M0000 possua o valor 100, e o operando %M0001 possua o valor 34. Aps a entrada habilita energizada, o valor no operando %M0002 ser de 66 e a sada resultado maior que zero ser energizada. No caso em que o valor do operando %M0000 seja 1000 e o de %M0001 seja 1500, por exemplo, a sada resultado menor que zero ser energizada. E finalmente se o valor de %M0000 for 10 e o de %M0001 tambm for 10, a sada resultado igual a zero ser habilitada. Sintaxe: OPER1 %KD OPER2 %KD
74

OPER3

3. Referncia das Instrues %D OPER1 %KF %F %KM %M OPER1 %KM %M %KI %I %D OPER2 %KF %F %KM %M OPER2 %KM %M %KI %I %D OPER3 %F %M %I OPER3 %M %I

Tabela 3-34 Sintaxes da Instruo SUB

75

3. Referncia das Instrues

MUL - Multiplicao

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. Quando o operando destino da instruo um inteiro (%M) e pelo menos um dos demais operandos da instruo um real (%F) o resultado armazenado ser truncado, ou seja, armazena-se no operando M apenas a parte inteira do resultado da operao, desprezando-se a parte fracionria. Exemplo:

No caso acima, suponhamos que o valor de %M0000 seja 10, e o valor de %M0001 seja 6, aps a entrada habilita ser energizada, o valor em %M0002 ser de 60, e a sada cpia da entrada ser habilitada. Entretanto, se o valor de %M0000 for 10000 e o valor de %M0001 for de 5, a sada estouro ser energizada. Sintaxe: OPER1 %KF %F %KM %M OPER2 %KF %F %KM %M OPER3 %F %M %I

OPER1 %KM %M %KI %I

OPER2 %KM %M %KI %I

OPER3

%M %I

Tabela 3-36 Sintaxe da Instruo MUL


76

3. Referncia das Instrues DIV - Diviso

OPER1 - dividendo OPER2 - divisor OPER3 - quociente OPER4 - resto 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. Exemplo:

Suponhamos que na instruo acima o valor de %M0000 seja 11, e o valor de %M0001 seja 10. Aps a energizao da entrada habilita, o resultado da diviso aparecera no operando %M0002 com o valor 1, e o no operando %M0003 teremos o valor 1, que e o resto da diviso. Se tudo ocorrer normalmente a sada copia da entrada tambm ser habilitada, caso ocorra diviso por zero, a sada com este mesmo nome ser habilitada. Sintaxe: OPER1 %KM %M %KI %I OPER1 %KF %F %KM %M OPER2 %KM %M %KI %I OPER2 %KF %F %KM %M OPER3 %I OPER4 %I

OPER3

OPER4

%M

%M

77

3. Referncia das Instrues

OPER1 %KF %F %KM %M

OPER2 %KF %F %KM %M

OPER3

OPER4 %M(NU) %F(NU) %I(NU)

%F

OPER1 %KF %F %KM %M OPER1 %KM %M %KI %I

OPER2 %KF %F %KM %M OPER2 %KM %M %KI %I

OPER3

OPER4

%I

%I

OPER3

OPER4

%M

%M

Tabela 3-38 Sintaxe da Instruo DIV NU= Operando no utilizado pela instruo, podendo ser informado qualquer endereo de operando declarado no CP.

78

3. Referncia das Instrues

AND - E Binrio entre Operandos

OPER1 - primeiro operando OPER2 - segundo operando OPER3 - resultado 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 Exemplo: Ponto OPER2 0 1 0 1 Ponto OPER3 (resultado) 0 0 0 1

Tabela 3-40 Operaes Ponto a Ponto (AND)

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 (00000111 binrio). Decimal 215 AND 15 7 Binrio 00000000 11010111 (contedo de %M0000) AND 00000000 00001111 (valor de %KM+00015) 00000000 00000111 (resultado em %M0001)

Portanto, o valor 7 decimal armazenado em %M0001. Sintaxe: OPER1 %KM %M OPER2 %KM %M OPER3 %M

79

3. Referncia das Instrues OPER1 %KD %D OPER1 %KI %I OPER2 %KD %D OPER2 %KI %I OPER3 %D OPER3 %I

Tabela 3-42 Sintaxes da Instruo AND

80

3. Referncia das Instrues

OR - Ou Binrio entre Operandos

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 3-44 Operaes Ponto a Ponto (OR) Exemplo:

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 OR 15 28287 Sintaxe: OPER1 %KM %M OPER1 %KD %D OPER2 %KM %M OPER2 %KD %D
81

Binrio 01101110 01110101 (contedo de %M0000) OR 00000000 00001111 (valor de %KM+00015) 01101110 01111111 (resultado em %M0001)

OPER3 %M OPER3 %D

3. Referncia das Instrues

OPER1 %KI %I

OPER2 %KI %I

OPER3 %I

Tabela 3-46 Sintaxes da Instruo OR

82

3. Referncia das Instrues

XOR - Ou Exclusivo entre Operandos

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 3-48 Operaes Ponto a Ponto (XOR) 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 XOR 15 1603 XOR Binrio 00000110 01001100 (contedo de %M0000) 00000000 00001111 (valor de %KM+00015) 00000110 01000011 (resultado em %M0001)

Portanto, o valor 1603 decimal armazenado em M001. Sintaxe: OPER1 %KM %M OPER2 %KM %M OPER3 %M

83

3. Referncia das Instrues OPER1 %KD %D OPER1 %KI %I OPER2 %KD %D OPER2 %KI %I OPER3 %D OPER3 %I

Tabela 3-50 Sintaxes da Instruo XOR

84

3. Referncia das Instrues

CAR - Carrega Operandos

OPER1 - 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. No pode ser feita a comparao entre operandos decimais e operandos flutuante.

Ver consideraes e exemplos apresentados na seo seguinte, Instrues de Comparao de Operandos. Exemplo: Ver exemplos de uso desta instruo em Instrues de Comparao de Operandos - Igual, Maior e Menor. Sintaxe: OPER1 %E %S %A %M %D %F %I %KM %KD %KF %KI %M*E %M*S %M*A %M*M %M*D %M*F %M*I Tabela 3-52 Sintaxe da Instruo CAR

85

3. Referncia das Instrues NOTA: - Para se no caso, for habilitado uma instruo CAR e logo aps desta, uma outra instruo CAR com operando indexado invlido, a instruo CAR permanece com o valor anteriormente carregado, mesmo se uma nova instruo CAR for acionada com operando invlido. - As instrues de comparao sero executadas aps a instruo CAR ter sido executada, caso contrrio as instrues de comparao no retornaro verdadeiro. - Se colocar instrues de comparao no mdulo E000 e uma CAR no mdulo E001, as instrues de comparao no sero executadas aps o POWER-ON, mas sim aps trocar o modo para programao/execuo.

86

3. Referncia das Instrues

Instrues de Comparao de Operandos - Igual, Maior Menor

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 operando presente na ltima instruo CAR ativa for maior que o valor do seu operando. 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). Se algum dos operandos diferentes for do tipo real, o operando de menor preciso convertido para real e aps efetuada a mesma comparao ponto a ponto. 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.

No pode ser feita a comparao entre operandos decimais e operandos flutuante. Exemplo:

Figura 119 Exemplo das Instrues de Comparao


87

3. Referncia das Instrues Como os tipos dos operandos so diferentes (%M e %D), a comparao realizada ponto a ponto, sem considerar os sinais aritmticos. Devido a este fato, se %M0012possuir valor -45 e %D0010 possuir valor +21, o operando %A0003.2 ser energizado, como se o valor de %M0012 fosse maior que %D0010, o que no ocorre na realidade.
%M0012 %D0000 =-45 =+21 0000 0000 0000 0000 1111 0000 1111 0000 1101 0010 0011 0001

Para considerar os sinais na comparao do exemplo, deve-se converter o valor do operando memria para um decimal, utilizando este ltimo na instruo CAR, como mostrado na lgica a seguir: O valor 1111 1111 1101 0011 (%M0012) maior que 10 0001 (%D0010) na comparao ponto a ponto, mesmo representando um valor negativo.

Figura 122 Exemplo das Instrues de Comparao 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 no captulo 2 e o exemplo a seguir. Exemplo:

Figura 125 Utilizao Incorreta da Instruo CAR Na lgica apresentada, deseja-se comparar os valores dos operandos %M0000, %M0001, %M0002 e %M0003 com as constantes %KM00000, %KM00001, %KM00002 e %KM00003, respectivamente.
88

3. Referncia das Instrues Entretanto, o funcionamento ocorre de forma diversa do que o aspecto visual sugere. Como o processamento da lgica ocorre em colunas, no final da execuo da coluna 0 estar carregado o valor de %M0003 para as comparaes na coluna 1. Na realidade, somente o valor do operando %M0003 ser comparado com as constantes presentes na coluna 1. Para o funcionamento desejado, a lgica deve ser programada da seguinte forma:

Figura 128 Utilizao Correta da Instruo CAR ATENO: Para evitar interpretaes errneas no funcionamento das instrues de comparao, sugere-se o uso de apenas uma instruo CAR por coluna da lgica. Sintaxe: OPER1 %E %S %A %M %D %F %I %KM %KD %KF %KI %M*E %M*S %M*A %M*M %M*D %M*F %M*I Tabela 3-54 Sintaxe das Instrues Maior, Igual e Menor

89

3. Referncia das Instrues

Instrues do Grupo Contadores As instrues contadoras so utilizadas para realizar contagens de eventos ou de tempo no programa aplicativo.
Nome CON COB TEE TED Descrio do Nome Contador simples Contador bidirecional Temporizador na energizao Temporizador na desenergizao Seqncia de Edio Alt, I, C, N Alt, I, C, B Alt, I, C, T Alt, I, C, D

Tabela 3-56 Instrues do campo Contadores

90

3. Referncia das Instrues

CON - Contador Simples

OPER1 - contador OPER2 - limite de contagem 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 est 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. Em caso de acesso indireto invlido para o segundo operando da instruo, a sada no limite energizada. 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. Exemplo:

Neste caso, quanto um pulso gerando na entrada incrementa, o valor do contador dentro da memria %M0000 aumenta de uma unidade. Para que isto ocorra a entrada ativa deve estar sempre energizada. Enquanto a contagem no atinge o limite estipulado por %KM+00010, a sada no limite permanece habilitada. Quando a contagem chega ao seu limite, a sada no limite desabilitada e a sada limite passa a ficar energizada. Para que o contador seja reiniciado necessrio desenergizar a entrada ativa e energizar novamente para uma nova contagem. Sintaxe: OPER1 %M OPER2 %KM %M %M*M

Tabela 3-58 sintaxe da Instruo CON


91

3. Referncia das Instrues Tabela Verdade (Vlida somente para a PO3x47):


Tabela Verdade - instruo CON Entradas Inc Ativa Oper1 < 0 Oper1 >= Oper2 x x x x x 0 x x x 1 0 x x 1 1 x nT 1 0 0 nT 1 0 1 T T 1 1 0 0 0 1

Situao Oper1 invlido Entrada no ativada Oper2. Invlido ou negativo Oper2. Invlido ou negativo Sem transio Sem transio, limite superior Transio Transio, limite superior

Operando Inalterado 0 Inalterado 0 Oper1 Oper2 Oper1 + 1 Oper2

Sadas Lim 0 0 0 0 0 1 0 1

NL 1 1 1 1 1 0 1 0

Tabela 3-30 Tabela Verdade da Instruo CON Notas: - Legendas: T = transio; nT = no transio; x = no influi; Inval = Invlido; Lim = Limite; NL = No Limite Inc = Incrementa - Quando algum operando invlido ou o operando 2 negativo no zera sada.

92

3. Referncia das Instrues

COB - Contador Bidirecional

OPER1 - contador OPER2 - passo de contagem OPER3 - limite de contagem Descrio: Esta instruo realiza contagens com o valor de incremento ou decremento definido por um operando. A instruo contador bidirecional permite contagens em ambos os sentidos, isto , incrementa ou decrementa o contedo de um operando do tipo memria. 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. Em caso de acesso indireto invlido para qualquer um dos operandos da instruo, a sada limite inferior energizada. ATENO: Com a entrada ativa desativada, a sada limite inferior 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.

93

3. Referncia das Instrues Exemplo:

No caso acima o valor da contagem fica armazenado em %M0000. Para habilitar o contador necessrio que a entra ativa esteja energizada. Para incrementar a contagem, basta dar um pulso na entrada incrementa, e para decrementar, faa o mesmo na entrada decrementa. A contagem neste exemplo ser de dois em dois, devido ao valor do operando %KM+00002, e o limite de 20 (%KM00020). Enquanto o contador no atinge os limites, a sada no limite permanece habilitada. Caso o limite superior ou inferior for atingido, suas respectivas sadas so energizadas. Sintaxe: OPER1 %M %M*M OPER2 %M %M*M %KM OPER3 %M %M*M %KM

Tabela 3-31 Sintaxe da Instruo COB Tabela Verdade (Vlida somente para a PO3x47):
Tabela Verdade - instruo COB Entradas Dec Ativa Oper3 Oper1 Oper1 >= <0 <0 Oper3 x x x x x x 0 x x x x x x x x nT ou T nT ou T nT nT nT T T T 1 1 1 1 1 1 1 1 1 1 1 1 1 x x 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 x x x X 0 1 0 0 0 1 0 0 1

Situao Oper 1. Invlido Entrada 2 no ativada Oper 2 ou Oper 3 invlido Oper 2 ou Oper 3 invlido Oper 3 negativo Oper 3 negativo Limite inferior Sem transio, limite superior Sem transio Transio positiva Transio positiva, limite inferior Transio positiva, limite superior Transio negativa Transio negativa, limite inferior Transio negativa, limite superior

Inc x x x x x x x nT ou T nT ou T T T T nT NT nT

Operando inalterado 0 0 inalterado 0 Inalterado 0 Oper3 Oper1 Oper1 + Oper2 Oper2 Oper3 Oper1 Oper2 Oper2 Oper3-Oper2

Sadas Lim+ 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0

NL 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1

Lim1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

Tabela 3-32 Tabela Verdade da Instruo COB Notas: - Legendas: T = transio;


94

3. Referncia das Instrues nT = no transio; x = no influi; Inval = Invlido; Lim = Limite; NL = No Limite Inc = Incrementa - Quando ambas as entradas transicionam no h incremento ou decremento. - Quando algum operando invlido ou operando 3 negativo no altera a sada.

95

3. Referncia das Instrues

TEE - Temporizador na Energizao

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. Diagrama de Tempos:

Figura 131 Diagrama de Tempos da Instruo TEE

96

3. Referncia das Instrues Exemplo:

No exemplo acima, suponhamos que a entrada ativa esteja ligada, quanto a entrada libera for ativada a sada Q ser energizada aps 10 (%KM+00100) segundos. Na sada Q temos o valor da sada Q invertida. No operando %M0000 fica armazenado o valor da contagem de tempo. Sintaxe: OPER1 %M OPER2 %M %M*M %KM

Tabela 3-33 Sintaxe da Instruo TEE Tabela Verdade (Vlida somente para a PO3x47):
Tabela Verdade da instruo TEE Entradas Libera Ativa Oper1 < 0 Oper1 >= Oper2 x x x x x 0 x x x 1 0 x x 1 1 x 1 1 x 0 1 1 x 1 1 1 x 0 1 1 x 1 0 1 x 0 0 1 x 1

Situao Oper1 invlido Entrada no ativada Oper2. Invlido ou negativo Oper2. Invlido ou negativo Tempo = T Tempo = T, limite superior Tempo < T Tempo < T, limite superior No liberada No liberada, limite superior

Operando Inalterado 0 Inalterado 0 Oper1+T Oper2 Oper1 Oper2 Oper1 Oper2

Sadas Q 0 0 0 0 0 1 0 1 0 1

Q1 1 1 1 1 0 1 0 1 0

Tabela 3-34 Tabela Verdade da Instruo TEE Notas: Legendas: T = tempo da varredura em unid 0,1s; x = no influi Quando Oper1 for negativo ele tratado como zero. ATENO: Esta instruo tem alguns pontos que necessitam de ateno: - A instruo TEE no est habilitada para funcionamento em mdulos de interrupo externa E020. - No execute esta instruo em um ciclo; - Executar esta instruo mais de uma vez no mesmo ciclo. - Esta instruo no pode ser saltada

97

3. Referncia das Instrues TED Temporizador na Desenergizao

OPER1 acumulador de tempo OPER2 limite de tempo (dcimos de segundo) Descrio: Esta instruo realiza contagens de tempo com a desenergizao da sua entrada de acionamento. A instruo TED 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 a entrada ativa estiver energizada e a entrada bloqueia desenergizada, o operando OPER1 incrementado a cada dcimo de segundo. Quando OPER1 for maior ou igual a OPER2, a sada Q desenergizada e Q energizada, permanecendo OPER1 com o mesmo valor de OPER2. A sada Q fica energizada sempre que a entrada ativa estiver energizada e OPER1 for menor do que OPER2. Acionando-se a entrada bloqueia, h a interrupo na contagem do tempo, enquanto que desacionando a entrada ativa, o tempo do acumulador zerado e a sada Q desacionada. 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. Diagrama de Tempos:

Figura 134 Diagrama de Tempos da Instruo TED

98

3. Referncia das Instrues Exemplo:

No exemplo acima, suponhamos que a entrada ativa esteja ligada, quanto a entrada bloqueia for desenergizada a sada Q ser desenergizada aps 10 (%KM+00100) segundos. Na sada Q temos o valor da sada Q negada. No operando %M0000 fica armazenado o valor da contagem de tempo. Sintaxe: OPER1 %M OPER2 %M %M*M %KM

Tabela 3-35 Sintaxe da Instruo TED Tabela Verdade (Vlida somente para a PO3x47):
Tabela Verdade da instruo TED Entradas Bloqueia Ativa Oper1 < 0 Oper1 >= Oper2 x x x x x 0 x x x 1 0 x x 1 1 x 0 1 x 0 0 1 x 1 0 1 x 0 0 1 x 1 1 1 x 0 1 1 x 1

Situao Oper1 invlido Entrada no ativada Oper2. Invlido ou negativo Oper2. Invlido ou negativo Tempo = T Tempo = T, limite superior Tempo < T Tempo < T, limite superior Bloqueada Bloqueada, limite superior

Operando Inalterado 0 Inalterado 0 Oper1+T Oper2 Oper1 Oper2 Oper1 Oper2

Sadas Q 0 0 1 1 1 0 1 0 1 0

Q1 1 0 0 0 1 0 1 0 1

Tabela 3-36 Tabela Verdade da instruo TED Notas: - Legendas: T = tempo da varredura em unid 0,1s; x = no influi - Quando Oper1 for negativo ele tratado como zero.

ATENO: Esta instruo tem alguns pontos que necessitam de ateno: - A instruo TED no est habilitada para funcionamento em mdulos de interrupo externa E020. - No execute esta instruo em um ciclo; - Executar esta instruo mais de uma vez no mesmo ciclo. - Esta instruo no pode ser saltada

99

3. Referncia das Instrues

Instrues do Grupo Conversores Esse grupo possui instrues que permitem a converso entre os formatos de armazenamento dos valores utilizados nos operandos do programa aplicativo e acessos a mdulos analgicos no barramento de entrada e sada.
Nome BIN/DEC DEC/BIN ANA/DIG DIG/ANA Descrio do Nome Converso binrio-decimal Converso decimal - binrio Converso analgico decimal Converso digital analgico Seqncia de Edio Alt, I, V, B Alt, I, V, D Alt, I, V, A Alt, I, V, G

Tabela 3-37 Instrues do Grupo Conversores

100

3. Referncia das Instrues

B/D - Converso Binrio-Decimal

OPER1 - origem OPER2 - destino Descrio: Esta instruo converte valores armazenados em formato binrio, contidos em operandos memria (%M), para o formato decimal (BCD), armazenando-os em operandos decimais (%D). O valor binrio contido no primeiro operando (OPER1) convertido para valor decimal e armazenado no segundo operando (OPER2). A sada sucesso acionada se a converso for corretamente realizada. Se algum acesso indireto invlido a operando ocorrer, a sada sucesso no energizada. Exemplo:

Suponhamos que no operando %M0000 temos o valor 10 (em binrio 0000 0000 0000 1010). Aps a energizao da entrada habilita, o valor do operando %D0000 passar a ser 10 (em binrio considerando apenas a parte baixa 0000 0000 0001 0000), ou seja, o valor de %M0000 foi convertido para o formato BCD. ATENO: Caso utilizada a instruo MOV para este tipo de operao, podero haver discrepncias nos valores dos operandos %D. Sintaxe: OPER1 %M %M*M OPER2 %D %M*D

Tabela 3-38Sintaxe da Instruo B/D

101

3. Referncia das Instrues

D/B - Converso Decimal-Binrio

OPER1 - origem OPER2 - destino Descrio: Esta instruo converte valores armazenados em formato decimal, contidos em operandos decimais (%D), para o formato binrio, armazenando-os em operandos memrias (%M). O valor decimal contido no primeiro operando (OPER1) convertido para valor binrio e armazenado no segundo operando (OPER2). A sada sucesso acionada se a converso for corretamente realizada. Se algum acesso indireto invlido a operando ocorrer, a sada sucesso no energizada. Caso o valor convertido resultar em um valor maior do que os mximos armazenveis em operandos %M, a sada sucesso no energizada, sendo armazenado o valor limite no operando destino. Exemplo:

Suponhamos que no operando %D0000 temos o valor 23 (em binrio considerando apenas a parte baixa 0000 0000 0010 0011). Aps a energizao da entrada habilita, o valor do operando %M0000 passar a ser 23 (em binrio 0000 0000 0001 0111), ou seja, o valor de %D0000 em DCD foi convertido o formato do operando %M0000. Sintaxe: OPER1 %D %M*D OPER2 %M %M*M

Tabela 3-39 Sintaxe da Instruo D/B

102

3. Referncia das Instrues

A/D - Converso Analgico-Digital

OPER1 - endereo do mdulo no barramento / nmero de canais a converter OPER2 - primeiro operando a receber o valor convertido Descrio: Esta instruo converte os valores lidos de um mdulo de entrada analgica para valores numricos armazenados em operandos. possvel efetuar a leitura de 1 ou 8 canais alterando-se apenas a especificao do primeiro operando, o qual indica o endereo no barramento ocupado pelo mdulo A/D. Este mdulo deve estar especificado na declarao do barramento, realizada no MasterTool XE. O endereo a ser programado em OPER1 pode ser obtido diretamente no MasterTool XE. Os valores convertidos so colocados em operandos do tipo memria, definidos em OPER2. A converso realizada apenas se a entrada habilita estiver energizada. Caso OPER1 seja especificado com subdiviso do tipo ponto (%RXXXX.X), a converso realizada somente para o canal do mdulo relativo ao ponto. Os pontos .0 a .7 do operando correspondem aos canais 0 a 7 do mdulo, respectivamente. Neste formato, o tempo de execuo da instruo significativamente menor do que a converso dos 8 canais, sendo adequada, por exemplo, para uso em mdulos de programa E018, acionados por interrupo de tempo. Se OPER1 for especificado como %RXXXX (converso de 8 canais), os valores convertidos so colocados na memria declarada em OPER2 e nas 7 memrias subseqentes. Se OPER1 for especificado como %RXXXX.X (converso de 1 canal), o valor j convertido colocado na memria declarada em OPER2. Os mdulos disponveis para realizar a converso A/D so mostrados a seguir. Os valores convertidos pela instruo pertencem a uma faixa relacionada com a caracterstica de cada mdulo: AL-1103 (10 bits) : valores de 0000 a 1023 AL-1116 (12 bits) : valores de 0000 a 4095 AL-1119 e QK1119 (12 bits) : valores de 0000 a 4095 AL-1139: valores de 0000 a 3999, com indicao de overflow (4000 a 4095) A sada de erro da instruo ativada em alguma das seguintes situaes: Exemplo: mdulo declarado no barramento invlido para a instruo (no um dos mdulos relacionados anteriormente) tentativa de acesso a operandos no declarados erro de converso (exceto AL-1103)

103

3. Referncia das Instrues Suponhamos que no registro de operando %R0012 declarada uma entrada analgica. Estes dados sero todos transferidos para o operando %M0000. Sintaxe: OPER1 %RXXXX %RXXXX.X OPER2 %M

Tabela 3-40 Sintaxe da Instruo A/D

104

3. Referncia das Instrues

D/A - Converso Digital-Analgico

OPER1 - primeiro operando com os valores a serem convertidos OPER2 - endereo do mdulo no barramento / nmero de canais a converter Descrio: Esta instruo converte os valores numricos de memrias para sinais analgicos. Os valores so convertidos atravs dos cartes de sada analgica AL-1203, AL-1214 ou AL-1222 sendo possvel a converso de 1 ou 4 canais utilizando-se apenas uma instruo D/A. O primeiro operando especifica a primeira memria com o valor a converter. O segundo operando indica o endereo do mdulo D/A no barramento de mdulos. O mdulo deve estar especificado na declarao do barramento, realizada no MasterTool XE. O endereo a ser programado em OPER2 pode ser obtido diretamente atravs do MasterTool XE. A converso efetuada apenas se a entrada habilita estiver energizada. Caso OPER2 seja especificado com subdiviso do tipo ponto (%RXXXX.X), a converso realizada do operando declarado em OPER1 para o canal do mdulo correspondente ao ponto. Os pontos .0 a .3 do operando correspondem aos canais 0 a 3 do mdulo, respectivamente. Se OPER2 for especificado como %RXXXX (converso de 4 canais), os valores a serem convertidos so obtidos da memria declarada em OPER1 e das 3 subseqentes. Os mdulos disponveis para realizar a converso D/A so mostrados a seguir. Os valores convertidos pela instruo pertencem a uma faixa relacionada com a caracterstica de cada mdulo: Sada em Tenso Mdulo AL-1203 AL-1214 AL-1222 AL-1222 Resoluo 10 bits 10 bits 12 bits 12 bits Normalizao No utilizada No utilizada Desligada Ligada Faixa 0000 a 1000 0000 a 1000 0000 a 4000 -2000 a +2000

Tabela 3-41 Instruo D/A - Sada em Tenso Sada em Corrente Mdulo AL-1203 AL-1214 AL-1222 Resoluo 10 bits 10 bits 11 bits Normalizao No utilizada No utilizada Desligada Faixa 0000 a 1000 0000 a 1000 0000 a 4000

Tabela 3-42 Instruo D/A - Sada em Corrente Os valores convertidos do AL-1222 depende ainda da entrada normaliza, que converte valores simtricos quando energizada. Isto torna-se til quando se necessita trabalhar com valores negativos, por exemplo na faixa de tenso de 10V. No existe normalizao para os mdulos AL-1203 e AL-1214, apenas para o AL-1222. Entretanto, a normalizao somente possvel para operao em modo tenso.

105

3. Referncia das Instrues ATENO: Em modo corrente a entrada normaliza no deve ser energizada. Os AL-1222 podem trabalhar com as 4 sadas em modo tenso ou modo corrente, ou os dois modos simultaneamente. A seleo do modo de operao feita pelo usurio atravs da programao do endereamento do mdulo em OPER2: Se %RXXXX for par, converte corrente Se %RXXXX for mpar, converte tenso Exemplo: Caso o mdulo seja colocado no endereo %R0024 do barramento, se a instruo for programada com %R0024, os AL-1222 iro operar em modo corrente. Se for programada com %R0025, ir operar em modo tenso. ATENO: A instruo no pode ser saltada durante a execuo do programa aplicativo sob pena dos valores amostrados estarem incorretos. A sada de erro da instruo ativada em alguma das seguintes situaes: Sintaxe: OPER1 %M OPER2 %RXXXX RXXXX.X mdulo declarado no barramento invlido para a instruo (no um dos mdulos relacionados anteriormente) tentativa de acesso a operandos no declarados

Tabela 3-43 Sintaxe da Instruo D/A

106

3. Referncia das Instrues

Instrues do Grupo Geral As instrues do grupo gerais permitem teste e acionamentos de pontos indiretamente, implementaes de mquinas de estado, chamadas de procedimentos e funes e escrita e leitura de operandos na rede ALNET II.
Nome LDI TEI SEQ CHP CHF ECR LTR LAI ECH LTH Descrio do Nome Liga ou desliga pontos indexados Teste de estado de pontos indexados Seqenciador Chama modulo procedimento Chama modulo funo Escrita de operandos em outro CP Leitura de operandos de outro CP Libera atualizao de imagens Escrita de Operandos em Outro CP para Ethertnet Leitura de Operandos em Outro CP para Ethertnet Seqncia de Edio Alt, I, G, L Alt, I, G, T Alt, I, G, S Alt, I, G, P Alt, I, G, F Alt, I, G, E Alt, I, G, T, T Alt, I, G, I Alt, I, G, E Alt, I, G,

Tabela 3-44 Instrues do Grupo Geral

107

3. Referncia das Instrues

LDI - Liga/Desliga Indexado

OPER1 - endereo do ponto a ser ligado ou desligado OPER2 - endereo limite inferior OPER3 - endereo limite superior Descrio: Esta instruo utilizada para ligar ou desligar pontos indexados por uma memria, delimitados por operandos de limite inferior e superior. O primeiro operando especifica a memria cujo contedo referencia o operando auxiliar, entrada ou sada a ser ligado ou desligado. Deve ser declarado como operando de acesso indireto a operando %E ou %A (%MXXXX*E ou %MXXXX*A). Mesmo quando a instruo for utilizada para ligar ou desligar pontos de sada (%S), a representao deste operando ser como acesso indireto a entrada (%MXXXX*E). O segundo operando especifica o endereo do primeiro rel de sada ou auxiliar vlido na instruo. Deve ser especificado com subdiviso de ponto (%RXXXX.X, %SXXXX.X ou %AXXXX.X). O terceiro operando especifica o endereo do ltimo rel de sada ou auxiliar vlido na instruo. Deve ser especificado com subdiviso de ponto (%EXXXX.X, %SXXXX.X ou %AXXXX.X). Se as entradas liga ou desliga forem acionadas, o ponto especificado pelo valor contido no operando memria (OPER1) ligado ou desligado se estiver dentro da rea de endereos limitada por OPER2 e OPER3. Por exemplo, se estes operandos correspondem a %S0003.3 e %S0004.5, respectivamente, esta instruo s atua para os elementos de %S0003.3 a %S0003.7 e de %S0004.0 a %S0004.5. Se o rel ou auxiliar apontado pela memria ndice estiver fora dos limites definidos pelos parmetros da segunda e terceira clulas, a sada ndice superior invlido ou ndice inferior invlido ligada. A sada da primeira clula acionada se qualquer uma das entradas liga ou desliga energizada e o acesso for corretamente realizado. Caso as entradas permaneam desacionadas, todas as sadas da instruo permanecem desenergizadas. Se ambas as entradas forem energizadas simultaneamente, nenhuma operao realizada, e todas as sadas da instruo so desenergizadas. Em OPER1 deve ser carregado um valor que especifique o ponto desejado para ligar ou desligar, de acordo com a seguinte frmula: VALOR OPER1 = (OCTETO * 8) + PONTO Exemplo: Por exemplo, se S0010.5 o ponto que se deseja ligar indiretamente, ento: OCTETO = 10 PONTO = 5 VALOR OPER1 = (10 * 8) + 5 = 85 O valor a ser carregado em OPER1 85.
108

3. Referncia das Instrues ATENO: Esta instruo permite ligar ou desligar indiretamente pontos de operandos %E, sobrepondo o valor da varredura dos mdulos de entrada aps a sua execuo. Sintaxe: OPER1 %M*E OPER1 %M*S OPER1 %M*A OPER2 %EXXXX.X OPER2 %SXXXX.X OPER2 %AXXXX.X OPER3 %EXXXX.X OPER3 %SXXXX.X OPER3 %AXXXX.X

Tabela 3-45 Sintaxes da Instruo LDI

109

3. Referncia das Instrues

TEI - Teste de Estado Indexado

OPER1 - endereo do ponto a ser testado OPER2 - endereo limite inferior OPER3 - endereo limite superior Descrio: Esta instruo utilizada para testar o estado de pontos indexados por uma memria, delimitados por operandos de limite inferior e superior. O primeiro operando especifica a memria cujo contedo referencia o operando auxiliar ou rel de sada a ser testado. Deve ser declarado como operando de acesso indireto a operando %E ou %A (%MXXXX*E ou %MXXXX*A). Mesmo quando a instruo for utilizada para testar pontos de sada (%S), a representao deste operando ser como acesso indireto a entrada (%MXXXX*E). O segundo operando especifica o endereo do primeiro rel de sada ou auxiliar vlido na instruo. Deve ser especificado com subdiviso de ponto (%EXXXX.X, %SXXXX.X ou %AXXXX.X). O terceiro operando especifica o endereo do ltimo rel de sada ou auxiliar vlido na instruo. Deve ser especificado com subdiviso de ponto (%EXXXX.X, %SXXXX.X ou %AXXXX.X). Se a entrada habilita estiver energizada, o estado do rel ou auxiliar especificado pelo valor contido na memria ndice (OPER1) examinado. Conforme esteja em 1 ou 0, a sada resposta ligada ou no. O ponto indexado pela memria testado se estiver dentro da rea de endereos limitada por OPER2 e OPER3. Por exemplo, se estes operandos correspondem a %S0003.3 e %S0004.5, respectivamente, esta instruo s atua para os elementos de %S0003.3 a %S0003.7 e de %S0004.0 a %S0004.5. Se o rel ou auxiliar apontado pela memria ndice estiver fora dos limites definidos pelos parmetros da segunda e terceira clulas, a sada ndice superior invlido ou ndice inferior invlido ligada e a sada da primeira clula desligada. Esta verificao feita somente no momento em que a entrada habilita energizada. O clculo do valor a ser armazenado no primeiro operando, para referncia do ponto desejado, o mesmo especificado na instruo LDI. Exemplo:

Suponhamos que o operando %M0000 possua o valor 1, assim ser feito o teste se o operando %E0000.1 est ativo ou no. Se %M0000 possuir o valor 0, o operando testado ser o %E0000.0.
110

3. Referncia das Instrues Sintaxe: OPER1 %M*E OPER1 %M*S OPER1 %M*A OPER2 %EXXXX.X OPER2 %SXXXX.X OPER2 %AXXXX.X OPER3 %EXXXX.X OPER3 %SXXXX.X OPER3 %AXXXX.X

Tabela 3-46 Sintaxes da Instruo TEI

111

3. Referncia das Instrues

SEQ - Seqenciador

OPER1 - tabela de condies ou primeira tabela de estados OPER2 - ndice da(s) tabela(s) (estado atual) OPER3 - operando base da primeira srie de condies OPER4 - operando base da segunda srie de condies Descrio: Esta instruo permite a programao de seqenciamentos complexos com condies de evoluo especficas para cada estado. Sua forma de programao semelhante a "mquinas de estado". A instruo pode ser executada em dois modos: o modo 1000 e o modo 3000. Quando a entrada modo est desenergizada, a instruo executada no modo 1000, e quando ela est energizada, a instruo executada no modo 3000. No modo 3000 seqenciamentos mais complexos podem ser programados. Modo 1000: Neste modo ocorre uma seqncia de evoluo fixa dos estados. A evoluo sempre ocorre do estado atual para o seguinte, e do ltimo para o primeiro. O primeiro operando especifica uma tabela onde cada posio contm o endereo de um ponto de operando auxiliar que testado como condio de evoluo para o prximo estado. O segundo operando especifica uma memria que armazena o estado atual e serve de ndice para a tabela especificada no primeiro operando. O terceiro operando irrelevante, porm deve ser especificado um operando do tipo memria ou auxiliar nesta clula, pois o MasterTool realiza a consistncia conforme o modo 3000. O quarto operando irrelevante, porm deve ser especificado um operando do tipo memria ou auxiliar nesta clula, pois o MasterTool realiza a consistncia conforme o modo 3000. Quando a entrada habilita est desenergizada, as sadas pulso e ndice invlido ficam desenergizadas, independente de qualquer outra condio. Quando a entrada habilita estiver energizada, a sada de pulso fica normalmente energizada, e a sada de ndice invlido fica normalmente desenergizada. Alm disso, quando a entrada habilita est energizada, a posio da tabela (OPER1) indexada pelo estado atual (OPER2) acessada e o ponto de operando auxiliar referenciado nesta posio da tabela examinado. Se este ponto estiver energizado, o contedo de OPER2 incrementado (ou zerado, se estiver apontando para a ltima posio da tabela OPER1) e na sada pulso ocorre um pulso de desenergizao com durao de um ciclo de programa. Se o ponto examinado estiver desenergizado nada ocorre e o valor da memria em OPER2 permanece inalterado. A sada ndice invlido ativada se a memria OPER2 (estado atual) contiver um valor que indexa uma posio no existente na tabela especificada em OPER1. Isto pode ocorrer modificando-se a memria OPER2 em um ponto do programa aplicativo fora da instruo SEQ (na inicializao de OPER2, por exemplo). Deve-se ter o cuidado de definir e inicializar a tabela especificada em OPER1 com valores legais. Na tabela especificada em OPER1 devem ser carregados valores em formato decimal que especifiquem pontos de operandos auxiliares que devem ser testados como condies de evoluo. O clculo destes valores especificado pela equao:
112

3. Referncia das Instrues VALOR = (endereo do operando * 8) + endereo da subdiviso Exemplo: Se %A0030.2 o ponto que se deseja usar como condio de evoluo a partir do estado 4, ento: endereo do operando = 30 Endereo da subdiviso = 2 VALOR = (30 * 8) + 2 = 242 O valor a ser carregado na posio 4 da tabela OPER1 deve ser 242 para que o ponto %A0030.2 cause a evoluo para o prximo estado, que o estado 5 (ou o estado 0, se a tabela tiver 5 posies). Modo 3000: Neste modo possvel definir a seqncia de evoluo e escolher um entre dois caminhos a partir do estado atual. Portanto, 2 graus de liberdade a mais so oferecidos em relao ao modo 1000, permitindo-se implementar mquinas de estado bem mais complexas. Existe, entretanto, menos liberdade para escolher as condies de evoluo em relao ao modo 1000, alm de ser necessrio o uso de mais memria (tabelas) no modo 3000. O primeiro operando especifica a primeira de duas tabelas subseqentes que so utilizadas pela instruo. As duas tabelas devem ter o mesmo tamanho. Cada posio da primeira tabela contm o prximo estado caso a condio associada ao operando 3 esteja energizada. Cada posio da segunda tabela contm o prximo estado caso a condio associada ao operando 4 esteja energizada. O segundo operando especifica uma memria que indica qual o estado atual e serve de ndice para as tabelas especificadas no primeiro operando. O terceiro operando especifica um operando que serve de base para determinar a condio de evoluo a partir do estado OPER2 para o estado indexado por OPER2 na primeira tabela. O quarto operando especifica um operando que serve de base para determinar a condio de evoluo a partir do estado OPER2 para o estado indexado por OPER2 na segunda tabela. Quando a entrada habilita est desenergizada, as sadas pulso e ndice invlido ficam desenergizadas, independente de qualquer outra condio. Quando a entrada habilita est energizada, a sada de pulso fica normalmente energizada, e a sada de ndice invlido fica normalmente desenergizada. Alm disso, quando a entrada habilita est energizada, a instruo busca o valor da memria OPER2 (estado atual) e testa a respectiva condio de evoluo com base em OPER3. Se esta condio estiver energizada, o operando OPER2 carregado com um novo estado, indexado pelo prprio operando OPER2 na primeira tabela especificada por OPER1. Caso a condio de evoluo associada a OPER2 e com base em OPER3 estiver desenergizada, testa-se a condio de evoluo associada a OPER2 e com base em OPER4. Se esta ltima condio estiver energizada, o operando OPER2 carregado com um novo estado, indexado pelo prprio operando OPER2 na segunda tabela especificada por OPER1. Se pelo menos uma das 2 condies acima estiver energizada, uma transio de estado ocorrer, e um pulso de desenergizao com durao de um ciclo de programa aplicativo ocorrer na sada pulso da instruo. Se nenhuma das 2 condies estiver energizada, nada acontece, e o valor da memria OPER2 (estado atual) permanece inalterado, bem como a sada pulso continua energizada. A sada ndice invlido ativada se a memria OPER2 contiver um valor que indexa uma posio no existente nas tabelas especificadas em OPER1. Isto pode ocorrer modificando-se a memria OPER2 em um ponto do programa aplicativo fora da instruo SEQ (na inicializao de OPER2, por exemplo) ou dentro da prpria instruo SEQ, caso algumas das posies das tabelas especificadas em OPER1 contenham valores invlidos para serem o prximo estado. Deve-se ter o cuidado de definir as 2 tabelas especificadas por OPER1 com o mesmo tamanho, e deve-se inicializ-las com

113

3. Referncia das Instrues valores legais (exemplo: se as tabelas tiverem 10 posies, somente valores entre 0 e 9 devem ser carregados em posies desta tabela, pois somente estes podem ser estados legais). As condies de evoluo associadas ao estado atual (OPER2) so determinadas com base em OPER3 (prximo estado carregado a partir da primeira tabela) ou com base em OPER4 (prximo estado carregado a partir da segunda tabela). Sabendo-se que os operandos OPER3 e OPER4 so do tipo memria (16 bits) ou do tipo auxiliar (8 bits), suponha-se o seguinte: ESTADO = contedo do operando OPER2 (estado atual) END3 = endereo de OPER3 END4 = endereo de OPER4 END1 = endereo do ponto a ser testado, com base em OPER3 SUB1 = subdiviso do ponto a ser testado, com base em OPER3 END2 = endereo do ponto a ser testado, com base em OPER4 SUB2 = subdiviso do ponto a ser testado, com base em OPER4 Os pontos testados como condio de evoluo associada a cada tabela sero: M<END1>.<SUB1> ou A<END1>.<SUB1> (primeira tabela) e M<END2>.<SUB2> ou A<END2>.<SUB2> (segunda tabela) onde: END1 = END3 + ESTADO / 16 (se operando %M) END1 = END3 + ESTADO / 8 (se operando %A) SUB1 = RESTO (ESTADO / 16) (se operando %M) SUB1 = RESTO (ESTADO / 8) (se operando %A) END2 = END4 + ESTADO / 16 (se operando %M) END2 = END4 + ESTADO / 8 (se operando %A) SUB2 = RESTO (ESTADO / 16) (se operando %M) SUB2 = RESTO (ESTADO / 8) (se operando %A) Exemplo: Sejam: OPER1 = %TM000 OPER2 = %M0010 OPER3 = %M0100 OPER4 = %A0020 Onde: %TM0000 Posio 000 001 002 003 004
114

Valor 00001 00002 00004 00001 00000

3. Referncia das Instrues %TM0001 Posio 000 001 002 003 004 Valor 00001 00003 00001 00004 00000

%M0010 = 00001 %M0100 %M0101 %M0102 %M... %A0020 %A0021 %A0022 %A... XXXXX XXXXX XXXXX ... XXXXX XXXXX XXXXX ...

Ento as condies de evoluo a partir do estado 1 sero: Para a primeira tabela: 100 + 1/16 = 100 resto(1/16) = 1

ponto a ser testado = %M0100.1 Para a segunda tabela: 20 + 1/8 = 20 resto(1/8) = 1

ponto a ser testado = %A0020.1 Baseado nas condies de %M0100.1 e %A0020.1 teremos, a partir de uma das tabelas, o novo estado do operando %M0010: %M0100.1 0 0 1 1 %A0020.1 0 1 0 1 %M0010 00001 00003 00002 00002 Observao No h mudana de estado Mudana de estado conforme %TM001 Mudana de estado conforme %TM000 Mudana de estado conforme %TM000 (OPER3 tem prioridade sobre OPER4)

Sintaxe: OPER1 %TM %M*TM OPER2 %M %M*M OPER3 %M %A OPER4 %M %A

Tabela 3-47 Sintaxe da Instruo SEQ

115

3. Referncia das Instrues

CHP - Chama Mdulo Procedimento

OPER1 - nome do mdulo a chamar OPER2 - nmero do mdulo a chamar Descrio: Esta instruo realiza o desvio do processamento do mdulo corrente para o mdulo Procedimento especificado, se o mesmo estiver presente no CP. Ao final da execuo do mdulo chamado, o processamento retorna para a instruo seguinte CHP. No h passagem de parmetros para o mdulo chamado. A instruo ao ser inserida, ou editada, abrir uma lista dos mdulos procedimentos contidos no projeto, como ilustra a figura a seguir:

Figura 137 Lista de seleo do mdulo Procedimento chamado pela CHP Para selecionar um mdulo, basta efetuar um duplo clique em cima do mdulo desejado ou ento selecionar na lista e clicar no boto OK. Caso o mdulo chamado no exista, a sada sucesso desenergizada e a execuo continua normalmente aps a instruo. O nome do mdulo no considerado pelo CP para a chamada mas apenas o seu nmero. Caso exista o mdulo P com o mesmo nmero do mdulo chamado, porm com nome diferente, este mdulo mesmo assim executado. Porm o MasterTool Extended Edition vai acusar erro na verificao de projeto, impossibilitando de enviar para o CP.

116

3. Referncia das Instrues Exemplo:

Ao ser energizada a entrada da instruo CHP, ser chamado o Mdulo procedimento P-Forno.003.

117

3. Referncia das Instrues

CHF - Chama Mdulo Funo

F-XXXXXX.000 - nome do mdulo funo a chamar OPER1 nmero de parmetros a enviar OPER2 nmero de parmetros a retornar Entrada... lista dos parmetros a enviar Sada... lista dos parmetros a retornar Descrio: A instruo CHF chama um mdulo funo que realiza o desvio do processamento do mdulo corrente para o mdulo especificado na mesma, se este estiver presente no CP. Ao final da execuo do mdulo chamado, o processamento retorna para a instruo seguinte CHF. A instruo CHF possui a seguinte tela para edio:

Figura 140 Tela de preenchimento da instruo CHF Deve ser selecionado um mdulo funo, presente no projeto corrente ou um Mdulo Funo fornecido pela Altus e instalado juntamente com o MasterTool Extended Edition. Esta seleo, que deve ser feita no momento da insero ou edio da instruo CHF, clicando no boto que aparece o nome do mdulo funo que ser chamado. Assim, ser aberto a seguinte janela:

118

3. Referncia das Instrues

Figura 143 Lista de seleo do mdulo Funo chamado pela CHF Para selecionar um mdulo funo, basta efetuar um duplo clique em cima do mdulo desejado ou ento selecionar na lista e clicar no boto OK. Caso tenha sido selecionado um mdulo funo instalado no MToolXE, mas que no pertence ao projeto, ser perguntado se deseja inserir o mdulo no projeto corrente. Deve ser respondido Sim para esta pergunta, pois do contrrio o mdulo no ser selecionado. Durante a execuo da instruo no CP, caso o mdulo chamado no exista na memria do CP, a sada sucesso desenergizada e a execuo continua normalmente aps a instruo. O nome do mdulo no considerado pelo CP para a chamada mas apenas o seu nmero. Caso exista o mdulo F com o mesmo nmero do mdulo chamado, porm com nome diferente, este mdulo mesmo assim executado. Porm o MasterTool Extended Edition vai acusar erro na verificao de projeto, impossibilitando de enviar para o CP. Diferentemente da instruo CHP, a CHF permite a passagem de parmetros para o mdulo funo chamado. Isto pode ser feito de duas maneiras: um mdulo funo distribudo pela Altus, ou um mdulo funo feito pelo usurio. Se for um mdulo distribudo pela Altus e que tenha uma forma padronizada de preenchimento, no ser necessrio definir a quantidade de parmetros de entrada e sada. Neste caso, ao clicar nos botes Entrada... ou Sada... ser aberta uma tela correspondente ao mdulo chamado, para edio dos parmetros, como mostra o exemplo a seguir:

119

3. Referncia das Instrues

Figura 146 Edio de parmetros de um mdulo Funo padronizado Neste modo, na edio dos parmetros informado o que permitido e por que no , atravs de uma interface amigvel. Alm disso, alguns dos mdulos fornecidos pela Altus tambm podem possuir mais de um modo de configurao, onde cada modo possui uma quantidade diferente de parmetros de entrada. Ao selecionar o novo modo o usurio dever refazer a configurao do mesmo. Caso o novo mdulo tenha menos operandos que o anterior, os operandos a mais sero descartados. Caso o novo mdulo tenha mais operandos que o anterior, os operando a mais sero configurados com o operando padro para o mdulo. Ser gerado um erro de verificao se um dos parmetros for de tipo diferente no novo modo. Alguns mdulos funo possuem uma configurao personalizada que acessada atravs do boto Configurao Especial.... Os mdulos que habilitam esta funo so apresentados nas prximas sees. Agora, no caso do mdulo Funo selecionado ter sido criado pelo usurio, ou no haver uma chamada padro para o mdulo, ser parametrizado de maneira diferente. Primeiramente deve definir a quantidade de parmetros de entrada e sada e posteriormente clicar no boto Entrada... ou Sada... conforme a necessidade. Neste caso ser aberto a seguinte janela para a edio dos parmetros:

120

3. Referncia das Instrues Figura 149 Edio de parmetros de um mdulo Funo no padronizado ATENO: O MasterTool no realiza nenhuma consistncia em relao aos operandos programados como parmetros, tanto na instruo CHF como no mdulo Funo. A lista de operandos a serem enviados para o mdulo F deve conter o mesmo nmero de operandos com o mesmo tipo dos declarados como parmetros de entrada do mdulo, para que a cpia dos seus valores seja realizada corretamente. A cpia dos operandos realizada na mesma ordem em que os mesmos esto dispostos nas listas. Caso uma das duas listas possua menos operandos em relao outra, os valores dos operandos excedentes no sero copiados. Se os operandos possurem tipos diferentes, a cpia dos valores ser realizada com as mesmas regras usadas na instruo MOV (movimentao simples de operandos). Este princpio vlido tambm para as listas de parmetros de retorno do mdulo Funo. A passagem de parmetros realizada com a cpia dos valores dos operandos declarados (passagem de parmetros por valor), embora esses operandos ainda continuem de uso global, utilizveis por qualquer mdulo presente no CP. Os mdulos F podem ser programados de forma genrica, para serem reutilizados em diversos programas aplicativos como novas instrues. aconselhvel que os mesmos empreguem operandos prprios, no usados por nenhum outro mdulo presente no programa aplicativo, evitando alteraes inadvertidas em operandos utilizados em outros mdulos. possvel a passagem de operandos simples e constantes para o mdulo Funo. No permitida a passagem de operandos com subdiviso para o mdulo Funo, tais como %M004.2, %A0021n1, etc. Devem ser usados somente operandos simples para esta passagem. A quantidade mxima de parmetros de entrada, ou parmetros de sada igual a 10. Ser permitido utilizar os seguintes operandos como parmetros: Operandos Permitidos como Parmetros

%TM %TD %TF %TI %M %D %F %I %E %S %A %R

%M*M %M*D %M*I %M*F %M*A %M*TM %M*TD %M*TI %M*TF %KM %KD %KF %KI

121

3. Referncia das Instrues Exemplo:

A CHF chamar o Mdulo Funo F-Alarme.001, possuindo 3 parmetros de entrada (%M0, %KM23 e %F3) e 1 parmetro de sada (%E0).

122

3. Referncia das Instrues

CHF - Chama Mdulo Funo Configurao Especial F-PID16.056 A instruo CHF possui uma interface de configurao especializada para o mdulo F-PID16.056. Esta interface, tambm chamada de skin PID, permite o ajuste e configurao do lao PID. A janela de configurao contm trs abas: Grfico de Tendncia: monitorar as variveis e configurar os parmetros bsicos do PID. Configurao: permite configurar itens avanados do PID. Operandos: permite configurar os operandos utilizados pelo mdulo funo F-PID16.056.

ATENO: Para o correto entendimento do skin PID necessrio ler a documentao do mdulo F-PID16.056.

Aba: Grfico de Tendncia A aba Grfico de Tendncia utilizada para parametrizar o PID permitindo inclusive monitorar as principais variveis em um grfico de tempo real.

Figura 152 Janela ski PID para mdulo F-PID16.056, aba grfico de tendncia. Na rea parte desde configurao possvel configurar as seguintes variveis: PA ponto de ajuste; GP ganho proporcional; TI termo integral; TD termo derivativo; VA varivel de atuao; Modo Automtico ou Manual; Modo Direto ou Reverso.

123

3. Referncia das Instrues

Para configurao dos valores de PA, GP, TI, TD e VA o usurio deve digitar o novo valor dentro da caixa de texto. Quando isto acontecer, ser parada a monitorao da respectiva varivel e a mesma ficar na cor vermelho, aguardando que o usurio confirme o envio valor para o CP atravs do boto que fica direta da caixa de texto. Se o usurio fechar a janela, os valores editados mas no enviados so descartados.

Varivel em edio. Figura 155 Edio de uma varivel do PID.

Boto para enviar o novo valor para o CP.

Os valores atualizados nesta janela so enviados para o CP apenas. Se o lao PID possuir instrues de ladder configurando as variveis, os mesmos no so atualizados automaticamente devendo o usurio configurar esta instruo manualmente. Para facilitar esta ao o boto Copiar valores de inicializao copia os valores para utilizao da CAB de iniciao do operando tabela de controle. Para configurar os modos Automtico, Manual, Direto e Reverso basta clicar que o comando ser enviado para o CP.

ATENO: Os modos Automtico/Manual e Direto/Reverso s esto habilitados para o mdulo F-PID16.056 na verso 1.10 ou superior; e a CHF estiver configurada para 7 parmetros. Para maiores detalhes sobre a verso 1.10 e o stimo parmetro ver a documentao do mdulo F-PID16.056 no help dos mdulos funo.

ATENO: A configurao dos valores no altera o programa ladder do usurio. Se o usurio estiver configurado os valores atravs de instrues ladder, estas instrues no sero alteradas. Na rea central possvel visualizar os valores de PA, VM e VA no grfico de tendncia tempo real. Para iniciar a monitorao necessrio pressionar o boto Monitorar Variveis. No mesmo boto possvel parar a monitorao. O grfico pode ser manipulado utilizando o mouse e o teclado, conforme apresentado na tabela a seguir:
Comando Boto esquerdo Boto esquerdo + Tecla SHIFT ou Boto do meio Boto direto Menu de contexto, com as opes: Un-Zoom: desfaz o ltimo zoom Undo All Zoom Pan: retorna o grfico aos valores iniciais de zoom e eixos. Ao Zoom na rea selecionada Movimenta o grfico horizontalmente ou verticalmente

Tabela 3-60. Comandos do mouse e teclado para grfico de tendncia.

124

3. Referncia das Instrues Tambm possvel salvar os valores monitorados nos ltimos 5 minutos, pressionando o boto Salvar. Para carregar os valores necessrio pressionar o boto Carregar e de pois selecionar o arquivo. Na rea direta possvel monitorar os valores de PA, VM e VA. Como tambm acompanhar estes mesmos valores em escala percentual atravs dos grficos de barra vertical. A escala dos grficos de barra de 0 a 30000. Aba: Configuraes A aba Configuraes utilizada para configurar os parmetros avanados do PID.

Figura 158 Janela mdulo F-PID16.056, aba configurao Os valores que podem ser configurados so: Valor feedforward/bias; Valor dt; Valor mnimo VA; Valor Mximo VA; Zona morta; Variao mxima da entrada; Habilita ao derivativa; Habilita ao proporcional; Habilita ao integral; Comando direto e reverso.

Para configurao dos valores o usurio deve digitar o novo valor dentro da caixa de texto. Quando isto acontecer, ser parada a monitorao da respectiva varivel e a mesma ficar na cor vermelho, aguardando que o usurio confirme o envio valor para o CP atravs do boto que fica direta da caixa de texto. Se o usurio fechar a janela, os valores editados mas no enviados so descartados. Os comandos de habilitao de ao so enviados imediatamente.
125

3. Referncia das Instrues

Aba: Operandos Na aba Operandos possvel configurar os operandos utilizados pelo mdulo F-PID16.056. As alteraes nesta janela alteram os parmetros carregados no mdulo F-PID16.056. Esta janela edita os seguintes parmetros de entrada da CHF para o mdulo F-PID16.056. A configurao dos operando s habilitada quando a monitorao est parada.
Parmetro de Entrada CHF 1 2 3 4 5 6 7 Operando de controle Operando VM Operando PA Operando VA Operando feedvorward/bias Octeto de controle Operando de controle Nome Tipo de operando aceito %TM %M %M %M %M %A %M

Tabela 3-61. Relao dos operandos com a configurao da CHF. A configurao do operando de controle no stimo parmetro s possvel a partir da verso 1.10 do mdulo funo F-PID16.056. Com o stimo parmetro habilitado possvel configurar de dentro do skin PID os parmetros de manual e automtico e direto e reverso. Caso o usurio no esteja utilizado esta verso estar disponvel o link Clique aqui para atualizar o mdulo para a verso mais recente e habilitar o operando de controle. Este link s est disponvel a partir da verso 3.05 dos Mdulos de Funo (ver menu Ajuda/Sobre para consultar a verso dos Mdulos Funo).

Figura 161 Janela mdulo F-PID16.056, aba operandos Se o mdulo funo utilizado for da verso 1.10 ou superior, o usurio poder selecionar se deseja utilizar o stimo parmetro da funo.

126

3. Referncia das Instrues

Habilita o uso do stimo parmetro da funo, quando habilitado.

Figura 164 Janela mdulo F-PID16.056, aba operandos, a partir da verso 1.10 ATENO: Qualquer alterao nesta janela s ser vlida aps o envio do mdulo ladder que contm a instruo CHF para o CP.

A janela de configurao deve ser utilizada para a configurao online do PID. Caso ocorra um erro de comunicao ser exibido um sinal exclamao, em cima da varivel com este problema como mostrado na figura a seguir.

Figura 167 Varivel com problema de comunicao. CHF - Chama Mdulo Funo Especial AL-2752 A instruo CHF tambm possui uma configurao especial para o mdulo F-2005.016, quando este est configurado para usar Funo 100 Laos PID AL-2752.. O AL-2752 um progama executado pelo AL-2005 que calcula at 100 laos PID. O skin PID para AL-2752 semelhante ao skin PID para o mdulo funo F-PID16.056, com poucas diferenas apenas. ATENO: Para o correto entendimento do modo especial da CHF necessrio ler o manual de utilizao do AL-2752 Funo 100 laos PID. Para habilitar o uso do skin PID para o AL-2752 a instruo CHF deve estar corretamente configurada para o uso com o AL-2752. Ou seja: Deve haver uma nica instruo CAB configurando a tabela de configurao do AL-2752 (segundo parmetro de entrada da instruo CHF).
127

3. Referncia das Instrues Na instruo CAB, a posio 2 deve estar com o valor2752 (cdigo para o AL-2752). Na instruo CAB, a posio 4, que indica o nmero de laos PID deve estar com um valor entre 1 e 100.

Ao abrir a janela de skin PID o usurio dever antes selecionar qual lao ele pretende configurar.

Figura 170 Janela de seleo do lao PID. Aba: Grfico de Tendncia A aba Grfico de Tendncia possui as mesmas funcionalidades descritas no skin PID para o mdulo F-2005.016. Contudo no possui boto para configurar a instruo CAB de configurao do lao PID, j que isto um recurso exclusivo do mdulo F-2005.016.

Figura 173 Janela ski PID para mdulo F-PID16.056, aba grfico de tendncia. Aba: Configuraes A aba Configuraes utilizada para configurar os parmetros avanados do PID.

128

3. Referncia das Instrues

Figura 176 Janela mdulo F-PID16.056, aba configurao Os valores que podem ser configurados so: Valor feedforward/bias; Valor mnimo PV; Valor Mximo PV; Valor mnimo MV; Valor Mximo MV; Zona morta; Variao mxima da entrada; Habilita ao derivativa; Habilita ao proporcional; Habilita ao integral; Comando direto e reverso.

Para configurao dos valores o usurio deve digitar o novo valor dentro da caixa de texto. Quando isto acontecer, ser parada a monitorao da respectiva varivel e a mesma ficar na cor vermelho, aguardando que o usurio confirme o envio valor para o CP atravs do boto que fica direta da caixa de texto. Se o usurio fechar a janela, os valores editados mas no enviados so descartados. Os comandos de habilitao de ao so enviados imediatamente. Aba: Operandos Na janela skin PID para o AL-2752 no possvel configurar os operandos do lao PID, apenas visualizar quais operandos so utilizados para as variveis do lao.

129

3. Referncia das Instrues

Figura 179 Janela mdulo F-PID16.056, aba operandos para AL-2752 ECR - Escrita de Operandos em Outro CP

OPER1 - endereo de nodo do controlador remoto OPER2 - endereo da sub-rede do controlador remoto OPER3 - operando de controle da instruo Descrio: Esta instruo realiza a escrita de valores de operandos do controlador onde est sendo executada em operandos presentes em outros CPs, atravs da rede ALNET II de comunicao. Para o seu uso, portanto, imprescindvel que o controlador que a execute esteja conectado a outros CPs pela ALNET II. Atravs da ECR podem ser transferidos valores de operandos individuais ou de conjuntos de operandos, sendo possvel a programao de at seis comunicaes diferentes em uma mesma instruo. A ECR pode ser programada para ser prioritria, enviando uma comunicao urgente, processada pelos "bridges" e pelo CP destino antes das comunicaes comuns. A ECR prioritria permite somente uma comunicao, sendo til para a sinalizao de alarmes ou situaes de emergncia entre CPs. Para programar a instruo, deve-se declarar na primeira e segunda clulas (OPER1 e OPER2) os endereos de nodo e sub-rede do controlador programvel destino que ir receber os valores escritos. Estes operandos so programados como constantes do tipo memria (%KM) e possuem o mesmo significado dos endereos configurados nas opes Comunicao, Endereo, Sub-rede e Comunicao, Endereo, N. A tabela a seguir apresenta os valores possveis para endereos de n e sub-rede. Sub-rede 001 a 063 064 N Tipo de Comunicao 001 a 031 ALNET II com um n xxx Endereo IP, onde xxx especifica outro endereo
130

3. Referncia das Instrues IP dentro da mesma subrede. 001 a 015 ALNET II com grupo de multicast em todas as sub-redes 001 a 015 ALNET II com grupo de multicast em uma sub-rede especfica xxx ALNET II em broadcast para todas as sub-redes xxx ALNET II em broadcast para uma sub-rede especfica Tabela 3-48 Endereos de N e Sub-rede O endereo de sub-rede entre os valores 001 e 063 indica que a comunicao realizada utilizando a rede ALNET II e que destinada a um nico n indicado na opo N. O endereo de sub-rede 100 indica que a comunicao realizada utilizando a rede ALNET II e destinada a todos os ns de todas as sub-redes que pertenam ao grupo de multicast especificado na opo N (multicast global). O endereo de sub-rede entre 101 e 163 indica que a comunicao realizada utilizando a rede ALNET II e que destinada a todos os ns da sub-rede indicada na opo Sub-rede menos 100 que pertenam ao grupo de multicast especificado na opo N (multicast local). O endereo de sub-rede 200 indica que a comunicao realizada utilizando a rede ALNET II e destinado a todos os ns de todas as sub-redes (broadcast global). O valor contido na opo N no relevante nesta opo. O endereo de sub-rede entre 201 e 263 indica que a comunicao realizada utilizando a rede ALNET II e destinada a todos os ns da sub-rede indicada na opo Sub-rede menos 200 (broadcast local). O valor contido na opo N no relevante nesta opo. Na terceira clula (OPER3) deve ser declarado um operando decimal (%D) para ser utilizado pela prpria instruo no controle do seu processamento. ATENO: O operando %D programado em OPER3 no pode ter o seu valor modificado em nenhum outro ponto do programa aplicativo para o correto funcionamento da ECR. Conseqentemente, cada nova instruo ECR, LTR, CEH ou LTH inserida no programa aplicativo deve utilizar um operando %D diferente das demais. Este operando no pode ser retentivo. Para realizar a edio dos parmetros da ECR deve-se clicar no boto CP... A fazer isto, ser aberto uma janela de edio das mensagens da instruo, como mostrado na prxima figura:

100 101 a 163 200 201 a 263

131

3. Referncia das Instrues

Figura 182 Caixa de Dilogo ECR - Parmetros Nesta janela, h uma tabela onde cada linha representa uma das seis comunicaes possveis entre CP Local e CP Remoto. Nesta tabela h as seguintes colunas: CP Local: Faixas de operandos do CP local que sero enviados ao CP Remoto atravs da instruo; CP Remoto: Faixas de operandos do CP Remoto que ser escrito os valores vindos das comunicaes da instruo.

Quando uma linha estiver vazia, significa que no ser efetuado uma comunicao, logo, na figura anterior teramos apenas duas comunicaes sendo feitas pela instruo. O item Mensagem Prioritria permite a edio de uma ECR prioritria quando estiver selecionado. Neste caso, ser permitido apenas uma comunicao, ficando na tabela apenas a primeira linha. Na verificao de Projeto do MasterTool Extended Edition, os operandos especificados para o CP local so consistidos pelo MasterTool de acordo com as declaraes constantes no mdulo C presente no mesmo, por pertencerem ao programa aplicativo que est sendo editado. Porm, os operandos declarados para o CP remoto no sofrem consistncias quanto a tipo e endereos, por pertencerem a um programa aplicativo de outro controlador programvel. Para editar ou inserir uma comunicao na instruo, basta efetuar um duplo clique sobre a linha correspondente, ou ento selecionar a linha e clicar no boto Configurao... Independente da forma utilizada, ser aberto a seguinte janela de edio das mensagens:

132

3. Referncia das Instrues

Figura 185 Edio de Mensagem do CP Local para CD Remoto Nesta janela, dever ser informado o operando inicial do CP Local e o operando inicial do CP Remoto. Deve ser informado tambm a quantidade de bytes utilizados na comunicao, tendo como limite superior 220 bytes. O valor desta quantidade de bytes ser mltiplo da maior quantidade de bytes em um nico operando do CP Local ou CP Remoto (Ver operandos neste mesmo manual). Na figura anterior o Nmero Mltiplo 4 porque o operando decimal (%D) possui quatro bytes, enquanto que o operando auxiliar (%A) possui apenas 1. A seguir esto relacionados os tipos de operandos possveis de serem programados para o CP local e remoto, com a disposio correta dos mesmos nas colunas de edio e os seus respectivos significados. Operandos Permitidos como Parmetros

%M %D %F %E %S %A %TM[x] %TD[x] %TF[x] %TI[x]


Ao ser acionada a entrada habilita, disparada a comunicao da primeira escrita presente na ECR, sendo energizada a sada ocupado da mesma. No momento em que esta comunicao for completada, a instruo dispara a prxima escrita, independentemente do estado da entrada de habilitao, repetindo este procedimento para as demais comunicaes existentes nesta instruo. Ao final da ltima escrita, a sada ocupado da ECR desenergizada, com o disparo de um pulso com durao de uma varredura na sada erro caso no tenha sido possvel realizar alguma comunicao. Nos seis primeiros nibbles do operando D programado em OPER3 so colocados os estados das seis comunicaes da instruo. Os ltimos dois nibbles so utilizados para o controle do seu processamento.
133

3. Referncia das Instrues

Figura 188 Operando de Controle da Instruo ECR e LTR O estado da comunicao armazenado em cada nibble codificado da seguinte forma: 0 - comunicao com sucesso 1 - operando no definido 2 - endereo do controlador local igual ao remoto (comunicao para o prprio CP) 3 - bloco de operando invlido 4 - tipo de operando invlido 5 - time-out de transmisso de pacote 6 - no h espao na fila de espera de transmisso 7 - falta de buffer de transmisso 8 - time-out de requisio 9 - erro de hardware 10 - CP remoto protegido Em resumo, ao ser disparada a execuo de uma instruo ECR todas as comunicaes existentes na mesma so realizadas, mesmo que a sua entrada de habilitao seja desenergizada. Quando todas as escritas forem completadas, a prxima instruo ECR ou LTR encontrada no programa aplicativo com a entrada habilita energizada torna-se ativa, comeando a processar as suas comunicaes. ATENO: O programa aplicativo no pode realizar saltos sobre a instruo ECR ativa ou deixar de executar o mdulo que a contm, para assegurar o seu correto processamento. Em um programa aplicativo sendo executado no CP, em um dado momento, somente uma instruo de acesso rede ALNET II (ECR ou LTR) considerada ativa, mesmo que existam vrias instrues com entrada habilita acionadas. A sada ocupado determina qual a instruo ativa, podendo ser utilizada para sincronizar as comunicaes com o programa aplicativo. Para evitar sobrecargas no trfego de informaes na rede, aconselha-se disparar as instrues ECR periodicamente, evitando mant-las permanentemente habilitadas no programa aplicativo, se possvel. Um procedimento recomendado desligar a entrada habilita logo que a sada ocupado for energizada, evitando um novo disparo da instruo aps seu trmino. A ECR prioritria no segue a ordem de processamento das ECRs no prioritrias, sendo processada e transmitindo seus dados o mais rpido possvel, ao ser habilitada. Por esse motivo uma ECR prioritria no deve ficar permanentemente habilitada, devendo ser disparada somente em situaes de alarme ou periodicamente. Caso contrrio, pode impedir que as demais ECRs do programa realizem as suas comunicaes ou causar o esgotamento de buffers de recepo do CP destino.
134

3. Referncia das Instrues Se a instruo for programada especificando-se o endereo de nodo igual ao endereo do prprio controlador que a executa (escrita de valores de si prprio), a sada erro energizada. Caso nenhum operando tenha sido definido em OPER4, as sadas erro e ocupado ficam desenergizadas. Sintaxe da Instruo:

Tabela 3-49 Sintaxe da Instruo ECR Exemplo:

Contedo das mensagens da ECR no prioritria

Esta instruo realiza escritas no controlador programvel com o endereo de n igual a 2 na subrede 1. So definidas seis comunicaes para a mesma, transferindo dados de diversos tipos entre os CPs. A comunicao 0 envia o contedo de um operando memria no CP local para dois operandos auxiliares no CP remoto, sendo transferidos 2 octetos. As comunicaes 1, 2, 3, 4 e 5 transferem, respectivamente, 4, 12, 2, 8 e 10 octetos entre os controladores.

135

3. Referncia das Instrues Contedo das mensagens da ECR prioritria:

Esta instruo realiza escritas no controlador programvel com o endereo de n igual a 2 na subrede 1. definida uma comunicao prioritria para a mesma. A comunicao P/1 envia o contedo de um operando memria no CP local para dois operandos auxiliares no CP remoto, sendo transferidos 2 octetos. Esta instruo somente pode ser utilizada nas UCPs AL-2004.

136

3. Referncia das Instrues

LTR - Leitura de Operandos de Outro CP

OPER1 - endereo de nodo do controlador remoto OPER2 - endereo da sub-rede do controlador remoto OPER3 - operando de controle da instruo Descrio: Esta instruo realiza a leitura de valores de operandos presentes em outros controladores programveis para operandos do controlador programvel onde est sendo executada, atravs da rede ALNET II de comunicao. Para o seu uso, portanto, imprescindvel que o CP que a execute esteja conectado a outros CPs pela ALNET II. Atravs da LTR podem ser lidos valores de operandos individuais ou de conjuntos de operandos, sendo possvel a programao de at 6 comunicaes de leitura diferentes em uma mesma instruo. A programao da instruo LTR idntica ECR, observando as mesmas restries. Na LTR, a transferncia dos valores ocorre dos operandos declarados no CP remoto para o CP local, sendo esta a nica diferena entre ambas. ATENO: A instruo LTR difere da ECR quanto a possibilidade de mensagens prioritrias, ou seja, no possvel editar uma LTR prioritria. Sintaxe da Instruo:

Tabela 3-50 Sintaxe da Instruo LTR Exemplo:

137

3. Referncia das Instrues Contedo das mensagens da LTR:

Esta instruo realiza leituras no controlador programvel com o endereo de n igual a 2 na sub-rede 1. So definidas seis comunicaes para a mesma, transferindo dados de diversos tipos entre os CPs. A comunicao 0 l o contedo de dois operandos auxiliares no CP remoto para um operando memria no CP local, sendo transferidos 2 octetos. As comunicaes 1, 2, 3, 4 e 5 transferem, respectivamente, 4, 12, 2, 8 e 10 octetos entre os controladores programveis. Esta instruo somente pode ser utilizada nas AL-2004.

138

3. Referncia das Instrues

LAI - Libera Atualizao de Imagens dos Operandos

Descrio: A instruo libera atualizao da imagem de operandos realiza o processamento das comunicaes pendentes da rede ALNET II para o CP local. Ao retornar para o processamento do software executivo, ao final de cada varredura, o CP processa as requisies de leitura e outros servios que tenham sido solicitados para o mesmo por outros CPs presentes na rede, durante a execuo do programa aplicativo. O controlador programvel possui uma rea de memria reservada para o armazenamento de at 32 comunicaes recebidas durante o lao de execuo do programa aplicativo, enquanto o software executivo no as processa. Caso o programa aplicativo possua tempo de execuo relativamente alto e o controlador programvel receba muitas requisies de servios da rede, pode ocorrer a situao do CP no conseguir atend-las, chegando ao limite de 32 comunicaes pendentes espera de processamento. Neste caso, o CP devolve uma resposta ao requisitante indicando a impossibilidade de atender a sua comunicao. A instruo LAI executa o processamento de recepes e transmisses pendentes no CP, diminuindo a possibilidade de ocorrncia da situao descrita anteriormente e reduzindo o tempo de atendimento s requisies. recomendado o seu uso em programas aplicativos com alto tempo de ciclo, devendo ser inserida em pontos intermedirios dos mdulos, dividindo-os em trechos com aproximadamente 20 ms de tempo de execuo. ATENO: Os valores dos operandos do programa aplicativo podem ser modificados aps a execuo de uma LAI, pois outro equipamento ligado rede pode estar solicitando escritas nos mesmos. Deve-se considerar a influncia deste fato ao se inserir esta instruo no programa aplicativo.

Esta instruo somente pode ser utilizada nas UCPs AL-2004.

139

3. Referncia das Instrues

ECH - Escrita de Operandos em Outro CP para Ethertnet

IP endereo IP do controlador remoto OPER1 - operando de controle da instruo Descrio: Esta instruo realiza a escrita de valores de operandos do controlador onde est sendo executada em operandos presentes em outros CPs, atravs da rede Ethernet de comunicao. Para o seu uso, portanto, imprescindvel que o controlador que a execute esteja conectado a outros CPs pela Ethernet. Atravs da ECH podem ser transferidos valores de operandos individuais ou de conjuntos de operandos, sendo possvel a programao de at 6 comunicaes diferentes em uma mesma instruo. Para programar a instruo, deve-se declarar o endereo IP do controlador programvel destino que ir receber os valores escritos. J no campo OPER1 deve ser declarado um operando decimal (%D) para ser utilizado pela prpria instruo no controle do seu processamento. ATENO: O operando %D programado em OPER1 no pode ter o seu valor modificado em nenhum outro ponto do programa aplicativo para o correto funcionamento da ECH. Conseqentemente, cada nova instruo ECH, LTH, ECR ou LTR inserida no programa aplicativo deve utilizar um operando %D diferente das demais. Este operando no pode ser retentivo. A instruo ECH possui o mesmo comportamento e as mesmas sintaxes que a instruo ECR, no que diz respeito ao operando de controle e a edio das mensagens. A diferena bsica fica por conta da rede onde a instruo atua, neste caso via Ethernet. Sendo assim, para maiores detalhes que como preencher e utilizar os operandos desta instruo, ver a instruo ECR.

140

3. Referncia das Instrues

LTH - Leitura de Operandos de Outro CP para Ethernet

IP endereo IP do controlador remoto OPER1 - operando de controle da instruo Descrio: Esta instruo realiza a leitura de valores de operandos presentes em outros controladores programveis para operandos do controlador programvel onde est sendo executada, atravs da rede Ethernet de comunicao. Para o seu uso, portanto, imprescindvel que o CP que a execute esteja conectado a outros CPs pela Ethernet. Para programar a instruo, deve-se declarar o endereo IP do controlador programvel destino que ir receber os valores escritos. J no campo OPER1 deve ser declarado um operando decimal (%D) para ser utilizado pela prpria instruo no controle do seu processamento. ATENO: O operando %D programado em OPER1 no pode ter o seu valor modificado em nenhum outro ponto do programa aplicativo para o correto funcionamento da LTH. Conseqentemente, cada nova instruo ECH, LTH, ECR ou LTR inserida no programa aplicativo deve utilizar um operando %D diferente das demais. Este operando no pode ser retentivo. Atravs da LTH podem ser lidos valores de operandos individuais ou de conjuntos de operandos, sendo possvel a programao de at 6 comunicaes de leitura diferentes em uma mesma instruo. A programao da instruo LTH idntica LTR, observando as mesmas restries. A nica diferena fica por conta de que esta instruo utilizada em redes Ethernet.

141

3. Referncia das Instrues

LAH - Libera Atualizao de Imagens dos Operandos para Ethernet

Descrio: A instruo libera atualizao da imagem de operandos realiza o processamento das comunicaes pendentes da rede Ethernet para o CP local. Ao retornar para o processamento do software executivo, ao final de cada varredura, o CP processa as requisies de leitura e outros servios que tenham sido solicitados para o mesmo por outros CPs presentes na rede, durante a execuo do programa aplicativo. O controlador programvel possui uma rea de memria reservada para o armazenamento de at 32 comunicaes recebidas durante o lao de execuo do programa aplicativo, enquanto o software executivo no as processa. Caso o programa aplicativo possua tempo de execuo relativamente alto e o controlador programvel receba muitas requisies de servios da rede, pode ocorrer a situao do CP no conseguir atend-las, chegando ao limite de 32 comunicaes pendentes espera de processamento. Neste caso, o CP devolve uma resposta ao requisitante indicando a impossibilidade de atender a sua comunicao. A instruo LAH executa o processamento de recepes e transmisses pendentes no CP, diminuindo a possibilidade de ocorrncia da situao descrita anteriormente e reduzindo o tempo de atendimento s requisies. recomendado o seu uso em programas aplicativos com alto tempo de ciclo, devendo ser inserida em pontos intermedirios dos mdulos, dividindo-os em trechos com aproximadamente 20 ms de tempo de execuo. ATENO: Os valores dos operandos do programa aplicativo podem ser modificados aps a execuo de uma LAH, pois outro equipamento ligado rede pode estar solicitando escritas nos mesmos. Deve-se considerar a influncia deste fato ao se inserir esta instruo no programa aplicativo.

142

3. Referncia das Instrues

Instrues do Grupo Ligaes As instrues do grupo ligaes permitem a construo de caminhos em srie e em paralelo bem como a inverso do sinal.
Nome LGH NEG LGV Descrio do Nome Ligao horizontal Ligao negada Ligao vertical Seqncia de Edio Alt, I, L, H Alt, I, L, N Alt, I, L, V

Tabela 3-51 Instrues do Grupo Ligaes LGH - Ligao Horizontal

NEG - Ligao Negada

LGV - Ligao Vertical

Descrio: As ligaes so elementos auxiliares na construo dos diagramas de rels, para interligar as demais instrues. A ligao negada inverte na sua sada o estado lgico da sua entrada.

143

4. Glossrio

4. Glossrio
Algoritmo Barramento Bit BT Byte Ciclo de varredura Circuito de co de guarda Cdigo comercial Controlador programvel CP Database Default Diagnstico Download E/S E2PROM Encoder Endereo de mdulo Entrada/sada Seqncia finita de instrues bem definidas, objetivando resoluo de problemas. Conjunto de sinais eltricos agrupados logicamente com a funo de transferir informao e controle entre diferentes elementos de um subsistema. Unidade bsica de informao, podendo estar no estado 0 ou 1. Sigla para teste de bateria em ingls (battery test). Unidade de informao composta por oito bits. Uma execuo completa do programa aplicativo de um controlador programvel. Circuito eletrnico destinado a verificar a integridade do funcionamento de um equipamento. Cdigo do produto, formado pelas letras PO, seguidas por quatro nmeros. Tambm chamado de CP. Equipamento que realiza controle sob o comando de um programa aplicativo. composto de uma UCP, uma fonte de alimentao e uma estrutura de E/S. Veja controlador programvel. Banco de dados. Valor predefinido para uma varivel, utilizado em caso de no haver definio. Procedimento utilizado para detectar e isolar falhas. tambm o conjunto de dados usados para tal determinao, que serve para a anlise e correo de problemas. Carga de programa ou configurao no CP. Veja entrada/sada. Memria no-voltil, que pode ser apagada eletricamente. Transdutor para medidas de posio. Endereo pelo qual o CP realiza acessos a um determinado mdulo de E/S. Tambm chamado de E/S. Dispositivos de E/S de dados de um sistema. No caso de CPs, correspondem tipicamente a mdulos digitais ou analgicos de entrada ou sada que monitoram ou acionam o dispositivo controlado. Significa Erasable Programmable Read Only Memory. uma memria somente de leitura, apagvel e programvel. No perde seu contedo quando desenergizada. Sigla usada para indicar erro nos LEDs. Sigla para descarga devida a eletricidade esttica em ingls (electrostatic discharge). Equipamento ligado a uma rede de CPs ou instrumentao com a finalidade de monitorar ou controlar variveis de um processo. Memria no-voltil, que pode ser apagada eletricamente. Equipamentos fsicos usados em processamento de dados onde normalmente so executados programas (software). Norma genrica para operao e utilizao de CPs. Antiga IEC 1131. Norma para proteo contra acessos incidentais e vedao contra gua, p ou outros objetos estranhos ao equipamento. Norma para proteo contra choque eltrico. Norma para testes de imunidade a interferncias por trem de pulsos. SWC significa Surge Withstand Capability. Esta norma trata da proteo do equipamento contra rudos tipo onda oscilatria. Dispositivo que adapta eltrica e/ou logicamente a transferncia de sinais entre dois equipamentos. Evento com atendimento prioritrio que temporariamente suspende a execuo de um programa e desvia para uma rotina de atendimento especfica Sigla usada para indicar isolado ou isolamento. Unidade representativa de quantidade de memria. Representa 1024 bytes. Sigla para light emitting diode. um tipo de diodo semicondutor que emite luz quando estimulado por eletricidade. Utilizado como indicador luminoso. Linguagem de programao do microprocessador, tambm conhecida como linguagem de mquina. Um conjunto de regras e convenes utilizado para a elaborao de um programa. Conjunto de instrues e operandos que permitem a edio de um programa aplicativo para ser utilizado em um CP. Matriz grfica onde so inseridas as instrues de linguagem de um diagrama de rels que compe um programa aplicativo. Um conjunto de lgicas ordenadas seqencialmente constitui um mdulo de programa. Conjunto de opes disponveis e exibidas por um programa no vdeo e que podem ser selecionadas pelo

EPROM ER ESD Estao de superviso FLASH EPROM Hardware IEC 61131 IEC Pub. 144 (1963) IEC-536-1976 IEC-801-4 IEEE C37.90.1 (SWC) Interface Interrupo ISOL. kbytes LED Linguagem Assembly Linguagem de programao Linguagem de rels e blocos Altus Lgica

Menu

144

4. Glossrio
usurio a fim de ativar ou executar uma determinada tarefa. Mdulo (referindo-se a hardware) Mdulo (referindo-se a software) Mdulo C Mdulo de configurao Elemento bsico de um sistema completo que possui funes bem definidas. Normalmente ligado ao sistema por conectores, podendo ser facilmente substitudo. Parte de um programa aplicativo capaz de realizar uma funo especfica. Pode ser executado independentemente ou em conjunto com outros mdulos, trocando informaes atravs da passagem de parmetros. Veja mdulo de configurao. Tambm chamado de mdulo C. um mdulo nico em um programa de CP que contm diversos parmetros necessrios ao funcionamento do controlador, tais como a quantidade de operandos e a disposio dos mdulos de E/S no barramento. Mdulo pertencente ao subsistema de entradas e sadas. Veja mdulo execuo. Mdulo que contm o programa aplicativo, podendo ser de trs tipos: E000, E001 e E018. O mdulo E000 executado uma nica vez, na energizao do CP ou na passagem de programao para execuo. O mdulo E001 contm o trecho principal do programa que executado ciclicamente, enquanto que o mdulo E018 acionado por interrupo de tempo. Veja mdulo funo. Mdulo de um programa de CP que chamado a partir do mdulo principal (mdulo E) ou a partir de outro mdulo funo ou procedimento, com passagem de parmetros e retorno de valores. Atua como uma subrotina. Veja mdulo procedimento. Mdulo de um programa de CP que chamado a partir do mdulo principal (mdulo E) ou a partir de outro mdulo procedimento ou funo, sem a passagem de parmetros. Unidade de informao composta por quatro bits. Conjunto de oito bits numerados de 0 a 7. Elementos sobre os quais as instrues atuam. Podem representar constantes, variveis ou um conjunto de variveis. Ver pontes de ajuste. Significa protocolo PROFIBUS Process Automation. Sigla para programmable controller. a abreviatura de controlador programvel em ingls. Chave de seleo de endereos ou configurao composta por pinos presentes na placa do circuito e um pequeno conector removvel, utilizado para a seleo. Procedimento de depurao final do sistema de controle, quando os programas de todas as estaes remotas e UCPs so executados em conjunto, aps terem sido desenvolvidos e verificados individualmente. o programa carregado em um CP, que determina o funcionamento de uma mquina ou processo. Sistema operacional de um controlador programvel. Controla as funes bsicas do controlador e a execuo de programas aplicativos. Sigla para random access memory. a memria onde todos os endereos podem ser acessados diretamente de forma aleatria e com a mesma velocidade. voltil, ou seja, seu contedo perdido quando o equipamento desenergizado, a menos que se possua uma bateria para a reteno dos valores. Ondulao presente em tenso de alimentao contnua. Sigla usada para indicar recepo serial. Sistema que contm elementos de reserva ou duplicados para executar determinada tarefa, que podem tolerar determinados tipos de falha sem que execuo da tarefa seja comprometida. Programas de computador, procedimentos e regras relacionadas operao de um sistema de processamento de dados. Dispositivo no qual se encaixam circuitos integrados ou outros componentes, facilitando a substituio dos mesmos e simplificando a manuteno. Conjunto de mdulos de E/S digitais ou analgicos e interfaces de um controlador programvel. Nome associado a um operando ou a uma lgica que permite uma identificao resumida de seu contedo. Elemento que possui dois estados estveis, trocados alternadamente a cada ativao. Procedimento de substituio de mdulos de um sistema sem a necessidade de desenergizao do mesmo. Normalmente utilizado em trocas de mdulos de E/S. Sigla usada para indicar transmisso serial. Sigla para unidade central de processamento. Controla o fluxo de informaes, interpreta e executa as instrues do programa e monitora os dispositivos do sistema. Em um sistema redundante, a UCP ativa realiza o controle do sistema, lendo os valores dos pontos de entrada, executando o programa aplicativo e acionando os valores das sadas. a UCP que no est no estado ativo (controlando o sistema) nem no estado reserva (supervisionando a UCP ativa). No pode assumir o controle do sistema. Corresponde outra UCP do sistema, como, por exemplo, a UCP2 em relao UCP1 e vice-versa.

Mdulo de E/S Mdulo E Mdulo execuo

Mdulo F Mdulo funo

Mdulo P Mdulo procedimento Nibble Octeto Operandos PA PROFIBUS PA PC Ponte de ajuste Posta em marcha

Programa aplicativo Programa executivo RAM

Ripple RX Sistema redundante Software Soquete Subsistema de E/S Tag Toggle Troca a quente TX UCP UCP ativa UCP inoperante UCP redundante

145

4. Glossrio
UCP reserva Upload Varistor WD Word Em um sistema redundante, a UCP que supervisiona a UCP ativa, no realizando o controle do sistema, mas estando pronta para assumir o controle em caso de falha na UCP ativa. Leitura do programa ou configurao do CP. Dispositivo de proteo contra surto de tenso. Sigla para co de guarda em ingls (watchdog). Veja circuito de co de guarda. Unidade de informao composta por 16 bits.

146

You might also like