mp399102

Upload: arthursinhoxd7391

Post on 07-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 MP399102

    1/152

    altus

    Manual de Programao LadderMasterTool Extended Edition

    MT8000Rev. G 08/2010

    Cd. Doc.: MP399102

  • 8/6/2019 MP399102

    2/152

  • 8/6/2019 MP399102

    3/152

  • 8/6/2019 MP399102

    4/152

    Sumrio

    ii

    Sumrio

    1. INTRODUO ................................................................................................................................................. 1O Software MasterTool Extended Edition ...................................................................................................... 1

    MasterTool ProPonto MT6000 ................................................................................................................... 1Lite, Professional e Advanced .......................................................................................................................... 1Documentos Relacionados a este Manual ........................................................................................................ 1Inspeo Visual .................................................................................................................................................. 2Suporte Tcnico ................................................................................................................................................. 2Mensagens de Advertncia Utilizadas neste Manual ..................................................................................... 2

    2. A LINGUAGEM DE PROGRAMAO ....................................................................................................... 3Elementos de Programao .............................................................................................................................. 3Lgicas ................................................................................................................................................................ 3Operandos .......................................................................................................................................................... 4

    Identificao de um Operando pelo Endereo ............................................................................................ 5Identificao de um Operando pelo Tag ..................................................................................................... 5Operandos Utilizados no MasterTool XE ................................................................................................... 5Identificao dos Operandos Simples ......................................................................................................... 6Identificao de Operandos Constante ........................................................................................................ 7Identificao dos Operandos Tabela ........................................................................................................... 8Operandos %E - Rels de Entrada .............................................................................................................. 8Operandos %S - Rels de Sada .................................................................................................................. 9Operandos %A - Rels Auxiliares .............................................................................................................. 9Operandos %R - Endereos no Barramento .............................................................................................. 10Operandos %M - Memrias ...................................................................................................................... 11Operandos %D - Decimais ........................................................................................................................ 12Operandos %F - Reais ............................................................................................................................... 12Operandos %I - Inteiros ............................................................................................................................ 13Operandos %KM, %KD, %KF e %KI - Constantes ................................................................................. 14Operandos %TM, %TD, %TF e %TI - Tabelas ........................................................................................ 15Acesso Indireto .......................................................................................................................................... 15Declarao de Operandos .......................................................................................................................... 16Operandos Retentivos ............................................................................................................................... 17

    Instrues ......................................................................................................................................................... 18Restries Quanto ao Posicionamento das Instrues .............................................................................. 19

    Projeto de Programao ................................................................................................................................. 20Estruturao de um Projeto de Programao ............................................................................................ 20Estados de Operao do CP ...................................................................................................................... 25Execuo do Projeto de Programao ....................................................................................................... 26Elaborao de Projetos de Programao ................................................................................................... 27Depurao de Projetos de Programao .................................................................................................... 33Tempos de Ciclo de Execuo do Programa ............................................................................................. 39Nveis de Proteo do CP .......................................................................................................................... 41Intertravamento de Comandos no CP ........................................................................................................ 42

    3. REFERNCIA DAS INSTRUES ............................................................................................................. 44Lista das Instrues ......................................................................................................................................... 44

    Convenes Utilizadas .............................................................................................................................. 44

  • 8/6/2019 MP399102

    5/152

    Sumrio

    iii

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

    4. GLOSSRIO ................................................................................................................................................. 145

  • 8/6/2019 MP399102

    6/152

  • 8/6/2019 MP399102

    7/152

    1. Introduo

    2

    Aconselha-se os seguintes documentos como fonte de informao adicional:

    Caractersticas Tcnicas MT8000 Manual de Utilizao do MasterTool Extended Edition Manual de Programao ST do MasterTool Extended Edition Manual de Utilizao do MasterTool ProPonto - MT6000

    Inspeo VisualAntes de proceder instalao, recomendvel fazer uma inspeo visual cuidadosa do material,verificando se no h danos causados pelo transporte. Verifique se todos os CD-ROMs esto emperfeito estado. Em caso de defeitos, informe a companhia transportadora e o representante oudistribuidor Altus mais prximo.

    importante registrar o nmero de srie de cada equipamento recebido bem como as revises desoftware, caso existentes. Essas informaes sero necessrias caso se necessite contatar o SuporteTcnico da Altus.

    Suporte Tcnico

    Para entrar em contato com o Suporte Tcnico da Altus em So Leopoldo, RS, ligue para +55-51-3589-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 [email protected].

    Se o software j estiver instalado, tenha em mos as seguintes informaes ao solicitar assistncia:

    A verso do software MasterTool Extended Edition A verso da chave de software utilizada no MasterTool Extended Edition A reviso do equipamento e a verso do software executivo, constantes na etiqueta afixada na

    lateral do produto, quando a questo refere-se com comunicao com dispositivos O contedo do programa aplicativo (mdulos) A verso do sistema operacional Windows (juntamente com seu Service Pack) do computador em

    que o software est sendo executado

    Mensagens de Advertncia Utilizadas neste Manual

    Neste manual, as mensagens de advertncia apresentaro os seguintes formatos e significados:

    PERIGO: Indica situaes potenciais que, se no observadas, causam danos integridadefsica e sade, patrimnio, meio ambiente e perda da produo.

    CUIDADO:

    Indica detalhes de configurao, aplicao e instalao quedevem

    ser seguidos para evitarcondies que possam levar a falha do sistema e suas conseqncias relacionadas.

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

    http://www.altus.com.br/http://www.altus.com.br/http://www.altus.com.br/mailto:[email protected]:[email protected]:[email protected]:[email protected]://www.altus.com.br/
  • 8/6/2019 MP399102

    8/152

    2. A Linguagem de Programao

    3

    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 MasterToolXE so programadas em linguagem de rels e blocos, muito semelhante linguagem de contatoseltricos e bobinas, utilizadas na descrio dos painis de controle a rel.

    A principal vantagem da utilizao deste tipo de linguagem seu rpido aprendizado, pois seassemelha muito com os esquemas eltricos convencionais.

    O acompanhamento e verificao de funcionamento de um programa aplicativo similar ao de umesquema eltrico, com a vantagem de visualizar o estado dos contatos e bobinas na janela doMasterTool 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 realizara configurao de CPs.

    Elementos de Programao

    Um programa aplicativo composto por quatro elementos bsicos:

    Mdulos

    Lgicas

    Instrues

    Operandos

    Um programa aplicativo composto por diversos mdulos, permitindo uma melhor estruturao dasrotinas 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 umalgica de programa aplicativo utilizado nos CPs das sries AL-2000, PONTO, PX e GRANO permiteat oito elementos em srie e at quatro caminhos em paralelo.

    As instrues so utilizadas para executar determinadas tarefas por meio de leituras e/ou alteraesdo valor dos operandos.

    Os operandos identificam diversos tipos de variveis e constantes utilizadas na elaborao de umprograma 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 emquatro 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 figuraa seguir mostra o formato de uma lgica do programa aplicativo.

  • 8/6/2019 MP399102

    9/152

    2. A Linguagem de Programao

    4

    Figura 2-1. Formato de uma lgica

    As duas linhas laterais da lgica representam barras de energia entre as quais so colocadas asinstrues 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 asduas barras, atravs de contatos ou das sadas das caixas interligados. Entretanto, o fluxo de "correnteeltrica" 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. Umacoluna processada na ordem seqencial de suas linhas, desde a linha 0 at a linha 3. A figura aseguir mostra a ordem de processamento das clulas da lgica. O nmero existente dentro de cadaclula indica a sua ordem de processamento.

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

    Operandos

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

  • 8/6/2019 MP399102

    10/152

    2. A Linguagem de Programao

    5

    programao, ou variveis, identificadas atravs de um endereo ou de um tag, com valores possveisde 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 % comoprimeiro caractere do nome. O restante do nome utilizado deve seguir s regras de formatao de

    endereo de operandos.O formato de cada operando pode ser visto na seo Identificao dos Operandos Simples e nassubseqentes, 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, excetoconstantes. Este nome passa a representar o operando nos processos de programao, monitorao,depurao e documentao de um programa aplicativo.

    ATENO:O MasterTool XE no permite a utilizao de tags para operandos do tipo constante (%KM, %KD,%KF e %KI).

    Ex.:

    Atribui-se o tag CONT1 ao operando %M0000.

    Sempre que o operando %M0000 necessite ser utilizado na edio do programa aplicativo, pode-seutilizar o seu tag CONT1.

    ATENO:

    A escolha do nome do tag para o operando deve refletir ao mximo a funo que o contedo dooperando executa no programa aplicativo. Ex.: TANQUE1, armazena o volume do tanque 1.

    ATENO:A identificao de um operando pelo seu endereo poder ser feita sempre, uma vez que todooperando possui um endereo. A identificao de um operando pelo seu tag, somente poder serfeita aps a atribuio do tag a um operando.

    Para maiores informaes sobre criao e atribuio de tags para operandos, ver o Manual deUtilizao do MasterTool XE.

    ATENO:Os operandos tambm podem ser visualizados atravs de seu wire-info associado. No entanto, umoperando 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:

  • 8/6/2019 MP399102

    11/152

    2. A Linguagem de Programao

    6

    Tipo Operando

    %E Rels de Entrada

    %S Rels de Sada

    %R Endereo no Barramento

    %A Rels Auxiliares

    %M Memrias

    %D Decimais

    %F Reais

    %I Inteiros

    %KM Constantes Memrias

    %KD Constantes Decimais

    %KF Constantes Reais

    %KI Constantes Inteiros

    %TM Tabelas Memrias

    %TD Tabelas Decimais

    %TF Tabelas Reais

    %TI Tabelas Inteiros

    Tabela 2-1. Operandos utilizados no MasterTool XEOs 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 programaaplicativo. Conforme a instruo que os utilizam, eles podem ser referenciados na sua totalidade ouem uma subdiviso (uma parte do operando). As subdivises de operandos podem ser

    palavra,

    octeto, nibble ou ponto.

    O formato geral de um operando simples pode ser visto na figura abaixo:

    Figura 2-3. Formato de um operando simples

    Tipo do operando:

    %E - entrada

    %S - sada

    %A - auxiliar

    %M - memria

    %I - inteiro

    %D - decimal

    %F - real

  • 8/6/2019 MP399102

    12/152

    2. A Linguagem de Programao

    7

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

    O formato geral de um operando constante pode ser visto na figura a seguir:

    Figura 2-4. Formato de um operando constante

    Tipo da constante:

    %M - memria

    %I - inteiro

    %D - decimal

    %F - real

    Exemplos:

    %KM+05172 - constante memria positiva

    %KI-1 - constante inteira negativa

    %KD-0974231 - constante decimal negativa

  • 8/6/2019 MP399102

    13/152

    2. A Linguagem de Programao

    8

    %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 possveistabelas de operandos memria, inteiro, decimal ou real.

    O formato geral de um operando tabela pode ser visto na figura abaixo:

    Erro! No possvel criar objetos a partir de cdigos de campo de edio.

    Figura 2-5. Formato de um operando tabela

    Tipo da tabela:

    %TM - memria

    %TI - inteiro

    %TD - decimal

    %TF - real

    Exemplos:

    %TM0026 - tabela memria 26

    %TI0020 - tabela inteiro 20

    %TD0015 - tabela decimal 15

    %TF0069 - tabela real 69

    Operandos %E - Rels de Entrada

    So operandos usados para referenciar pontos de mdulos digitais de entrada. Sua quantidade determinada pelo nmero de mdulos de E/S que esto dispostos nos bastidores que compem osistema.

    Os operandos %E so normalmente utilizados em instrues binrias (contatos, bobinas) e demovimentao. Ocupam um byte de memria (8 bits), armazenando os valores dos pontosdiretamente em cada bit. Os valores dos operandos so armazenados na memria interna domicroprocessador, no utilizando o espao disponvel ao programa aplicativo.

    Os formatos dos operandos %E podem ser vistos na figura abaixo:

    Figura 2-6. Formatos dos operandos %E

    Exemplos:

    %E0018.6 - ponto 6 do octeto de entrada 18

    %E0021n0 - nibble 0 do octeto de entrada 21

  • 8/6/2019 MP399102

    14/152

    2. A Linguagem de Programao

    9

    %E0025 - octeto de entrada 25

    Limites:

    Mnimo: 0

    Mximo : 255

    Operandos %S - Rels de Sada

    So operandos usados para referenciar pontos de mdulos digitais de sada. Sua quantidade determinada pelo nmero de mdulos de E/S que esto dispostos nos bastidores que compem osistema.

    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 utilizandoo espao disponvel ao programa aplicativo.

    Os formatos dos operandos %S podem ser vistos na figura abaixo:

    Figura 2-7. Formatos dos operandos %S

    Exemplos: %S0011.2 - ponto 2 do octeto de sada 11

    %S0010n1 - nibble 1 do octeto de sada 10

    %S0015 - octeto de sada 15

    Limites:

    Mnimo: 0

    Mximo: 255

    Operandos %A - Rels Auxiliares

    Os rels auxiliares so operandos usados para armazenamento e manipulao de valores binriosintermedirios 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 dosoperandos so armazenados na memria interna do microprocessador, no utilizando o espaodisponvel ao programa aplicativo.

    Os formatos dos Operandos %A podem ser vistos na figura abaixo:

  • 8/6/2019 MP399102

    15/152

    2. A Linguagem de Programao

    10

    Figura 2-8. Formatos dos operandos %A

    Exemplos:

    %A0032.7 - ponto 7 do auxiliar de sada 32

    %A0087n1 - nibble 1 do auxiliar de sada 87

    %A0024 - octeto auxiliar 24

    Limites:

    Mnimo: 0

    Mximo: 255

    Operandos %R - Endereos no Barramento

    So operandos usados para referenciar pontos ou octetos no barramento de mdulos de entrada esada do controlador. Estes operandos representam apenas endereos do barramento, noarmazenando valores nem ocupando espao de memria. So utilizados em algumas instrues oufunes que realizam acessos a mdulos.

    Os formatos dos operandos %R podem ser vistos na figura abaixo:

    Figura 2-9. Formatos dos operandos %R

    Nos barramentos 0 e 1 do CP AL-2004, cada posio no barramento corresponde a 8 octetos deoperandos %R. Desta forma, na posio 0 tem-se os operandos %R0256 a %R0257; na posio 1,

    %R0258 a %R0259 e assim por diante.Para se obter o primeiro operando de uma posio do barramento, basta calcular:

    Endereo do Octeto = Posio no Barramento * 8

    Nos barramentos de 2 a 9 do AL-2004, cada posio no barramento corresponde a 2 octetos deoperandos %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.

  • 8/6/2019 MP399102

    16/152

    2. A Linguagem de Programao

    11

    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 precisosimples, com sinal.

    Os formatos dos operandos %M podem ser vistos na figura abaixo:

    Figura 2-10. Formatos dos operandos %M

    A quantidade de operandos memria configurvel na declarao do mdulo de configurao,,sendo o limite mximo dependente do modelo de CP em uso (ver seo Declarao de

    Operandos neste mesmo captulo).Os operandos %M so utilizados em instrues de movimentao, de comparao, aritmticas, decontagem, de temporizao e de converso. Podem ser utilizados em contatos, da mesma forma queos operandos %E, %S e %A. Estes operandos ocupam dois bytes de memria (16 bits), armazenandoo valor no formato complemento de dois (2'), conforme a figura abaixo:

    Figura 2-11. Formato do operando memria

    Exemplos:

    %M0032 - memria 32

    %M0072n1 - nibble 1 da memria 72

    %M0084.F - ponto 15 da memria 84

    Limites:

    Mnimo: -32768 Mximo: 32767

  • 8/6/2019 MP399102

    17/152

    2. A Linguagem de Programao

    12

    Operandos %D - Decimais

    Os operandos %D so usados para processamento numrico, armazenando valores em formato BCDcom at 7 dgitos e sinal.

    Os formatos dos operandos %D podem ser vistos na figura a seguir:

    Figura 2-12. Formatos dos operandos %D

    A quantidade de operandos decimal configurvel na declarao do mdulo de configurao, sendoo limite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos nestemesmo captulo).

    Os operandos %D so utilizados em instrues de movimentao, de comparao, aritmticas, e deconverso. Podem ser utilizados em contatos, da mesma forma que os operandos %E, %S e %A.Estes operandos ocupam quatro bytes de memria (32 bits), armazenando o valor no formato BCD(cada dgito ocupa 4 bits), com sinal, conforme a figura a seguir:

    Figura 2-13. Formato do operando decimal

    Exemplos:

    %D0041 - decimal 41

    %D0023b2 - octeto 2 do decimal 23

    %D0059n6 - nibble 6 da memria 59

    %D0172hA - ponto 10 da palavra 1 da memria 172

    Limites:

    Mnimo: -9999999

    Mximo: 9999999

    Operandos %F - Reais

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

  • 8/6/2019 MP399102

    18/152

    2. A Linguagem de Programao

    13

    Figura 2-14. Formatos dos operandos %F

    A quantidade de operandos real configurvel na declarao do mdulo de configurao, sendo olimite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos nestemesmo captulo).

    Os operandos %F so usados para processamento numrico, armazenando valores em 32 bits componto flutuante, preciso simples e sinal, conforme a norma IEEE 754. Estes operandos ocupam

    quatro bytes de memria (32 bits), armazenando o valor conforme a figura a seguir:

    Figura 2-15. Formato do operando real

    O valor de um operando real (%F) obtido pela seguinte expresso:

    Valor = Sinal x 1,Mantissa x 2(Expoente - 127)

    Sendo assim, a faixa de valores armazenveis vai de -3,4028234663852886E+38 a3,4028234663852886E+38.

    Valores cujo mdulo maior que zero e menor que 1,1754943508222875E-38 so tratados comozero pelos CPs por serem muito pequenos. Os CPs no tratam os seguintes casos especiais previstosna norma: nmeros no normalizados, infinito e NANs (not a number).

    Exemplo:

    %F0032 - real 32

    Limites:

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

    Operandos %I - Inteiros

    Os operandos %I so usados para processamento numrico, armazenando valores em precisosimples, com sinal. A diferena bsica entre este tipo de operando e o operando Memria %M, queo operando Inteiro %I possui 32 bits.

    Os formatos dos operandos %I podem ser vistos na figura a seguir:

  • 8/6/2019 MP399102

    19/152

    2. A Linguagem de Programao

    14

    Figura 2-16. Formatos dos operandos %I

    A quantidade de operandos inteiro configurvel na declarao do mdulo de configurao, sendo olimite mximo dependente do modelo de CP em uso (ver seo Declarao de Operandos nestemesmo captulo).

    Os operandos %I so utilizados em instrues de movimentao, de comparao, aritmticas, e deconverso. Estes operandos ocupam quatro bytes de memria (32 bits), com sinal, conforme a figuraa seguir:

    Figura 2-17. Formato do operando inteiro

    Exemplos:

    %I0041 - inteiro 41

    %I0023b2 - octeto 2 do inteiro 23

    %I0059n6 - nibble 6 do inteiro 59

    %I0172hA - ponto 10 da palavra 1 do inteiro 172

    Limites:

    Mnimo: -2147483648

    Mximo: 2147483647

    Operandos %KM, %KD, %KF e %KI - Constantes

    So operandos usados para a definio de valores fixos na elaborao do programa aplicativo.Existem tipos de constante, %KM, %KI, %KD e %KF, cada um seguindo um formato diferente derepresentao de valores, sendo idnticos aos operandos %M, %I, %D e %F, respectivamente.

    O formato dos operandos constantes pode ser visto na figura a seguir:

  • 8/6/2019 MP399102

    20/152

    2. A Linguagem de Programao

    15

    Figura 2-18. Formato dos operandos constantesEstes operandos so utilizados em instrues de movimentao, de comparao, aritmticas, decontagem 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 unidimensionaiscom a finalidade de armazenar valores numricos. Cada tabela possui uma quantidade de posiesconfigurveis, onde cada posio pode conter exatamente os mesmos valores de um operando %M,%I, %D ou %F, se a tabela for do tipo %TM, %TI, %TD ou %TF, respectivamente.

    O formato dos operandos tabelas pode ser visto na figura a seguir:

    Figura 2-19. Formato dos operandos tabelas

    A quantidade de tabelas e o nmero de posies de cada uma so configurveis na declarao domdulo de configurao. Podem ser definidas at 255 tabelas totais e, no mximo, 255 posies emcada tabela, respeitando-se o limite da memria de operandos do CP.

    As tabelas so utilizadas em instrues de movimentao.

    Limites:

    Mnimo: 0

    Mximo: 254

    Acesso Indireto

    Esta forma de acesso usada em conjunto com um operando memria %M para referenciarindiretamente 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.

  • 8/6/2019 MP399102

    21/152

    2. A Linguagem de Programao

    16

    O formato do acesso indireto pode ser visto na figura a seguir:

    Figura 2-20. Formato de um acesso indireto

    No MasterTool XE, o acesso indireto s tabelas representado sem o asterisco.

    O acesso indireto utilizado em instrues de movimentao, de comparao, de contagem e detemporizao.

    Exemplos:

    %M0043*E - octeto de entrada referenciada indiretamente pela memria 43 %M1824*A - octeto auxiliar referenciado indiretamente pela memria 1824

    %M0371TD - tabela de decimais referenciada indiretamente pela memria 371

    %M0009*M - operando memria referenciado indiretamente pela memria 9

    %F0045*M - operando real referenciado indiretamente pela memria 45

    Exemplo:

    Esta instruo movimenta o valor +431 para o operando memria cujo endereo o valorcorrentemente armazenado em %M0009. Se %M0009 contiver o valor 32, ento o valor +431 serarmazenado em %M0032. Se %M0009 contiver o valor 12 ento o valor constante ser armazenadoem %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 endereosexistentes para o tipo de operando referenciado indiretamente. As instrues no realizam os acessosindiretos invlidos, normalmente possuindo um sinal de sada para a indicao do erro.

    Se no programa do exemplo anterior houvessem sido declarados 256 operandos %M, o valor de%M0009 deveria estar entre 0 e 255 para que a instruo fosse corretamente executada. Caso o valorno estivesse nesta faixa, o acesso no seria realizado.

    Declarao de Operandos

    Os operandos %E, %S e %A ocupam reas de memrias prprias, permanentemente reservadas nomicroprocessador do CP. A quantidade destes operandos nos controladores, portanto, constante.

    Os operandos %R no ocupam espao em memria, sendo apenas endereos para o acesso aosbarramentos.

  • 8/6/2019 MP399102

    22/152

  • 8/6/2019 MP399102

    23/152

    2. A Linguagem de Programao

    18

    Os operandos de entrada (%E) tambm so sempre retentivos. Quando estes operandos estoassociados a mdulos do barramento local, garante-se que tero seu valor atualizado antes mesmo doprimeiro 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 amesma 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 128desses 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 relsconvencionais.

    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 contato normalmente aberto RNF contato normalmente fechado BOB bobina simples BBL bobina liga BBD bobina desliga SLT bobina de salto PLS rel de pulso RM rel mestre FRM fim de rel mestre

    MOVIMENTADORES contendo as instrues:

    MOV movimentao de operandos simples MOP movimentao de partes de operandos MOB movimentao de blocos de operandos MOT movimentao de tabelas de operandos MES movimentao de entradas ou sadas CES converso de entradas ou sadas AES atualizao de entradas ou sadas CAB carrega bloco de constantes

    ARITMTICOS contendo as instrues:

    SOM soma SUB subtrao MUL multiplicao DIV diviso AND funo "e" binrio entre operandos OR funo "ou" binrio entre operandos XOR funo "ou exclusivo" binrio entre operandos CAR carrega operando = igual

    < menor > maior

  • 8/6/2019 MP399102

    24/152

    2. A Linguagem de Programao

    19

    CONTADORES contendo as instrues:

    CON contador simples COB contador bidirecional TEE temporizador na energizao TED temporizador na desenergizao

    CONVERSORES contendo as instrues:

    B/D converso binrio - decimal D/B converso decimal - binrio A/D converso analgico - digital D/A converso digital - analgico

    GERAIS contendo as instrues:

    LDI liga ou desliga pontos indexados TEI teste de estado de pontos indexados

    SEQ seqenciador CHP chama mdulo procedimento CHF chama mdulo funo ECR escrita de operandos em outro CP LTR leitura de operandos de outro CP LAI libera atualizao de imagem de operandos ECH escrita de operandos em outro CP LTH leitura de operandos em outro CP LAH libera atualizao de imagem de operandos.

    LIGAES contendo as instrues:

    LGH ligao horizontal LGV ligao vertical NEG ligao negada

    Restries Quanto ao Posicionamento das Instrues

    Existem regras a serem respeitadas quanto ao posicionamento das instrues nas 8 colunas da lgica.Pode-se dividir as instrues em trs categorias:

    Instrues que podem ser editadas somente na coluna 7:

    BOB bobina simples BBL bobina liga BBD bobina desliga

    SLTbobina de salto

    RM rel mestre FRM fim de rel mestre

    Instrues que podem ser editadas nas colunas 0 a 6:

    RNA rel normalmente aberto RNF rel normalmente fechado PLS rel de pulso LGH ligao horizontal LGV ligao vertical NEG ligao negada DIV diviso MOB movimentao de blocos de operandos > maior

  • 8/6/2019 MP399102

    25/152

    2. A Linguagem de Programao

    20

    < menor = igual SEQ seqenciador CHF chama mdulo funo ECR escrita de operandos em outro CP LTR leitura de operandos de outro CP

    Instrues que podem ser editadas em todas as colunas:

    MOV movimentao de operandos simples MOP movimentao de partes de operandos MOT movimentao de tabelas de operandos MES movimentao de entradas ou sadas CES converso de entradas ou sadas AES atualizao de entradas ou sadas CAB carrega bloco de constantes SOM soma SUB subtrao MUL multiplicao

    ANDfuno 'e' binrio entre operandos

    OR funo 'ou' binrio entre operandos XOR funo 'ou exclusivo' binrio entre operandos CON contador simples COB contador bidirecional TEE temporizador na energizao TED temporizador na desenergizao B/D converso binrio - decimal D/B converso decimal - binrio CAR carrega operando LDI liga ou desliga pontos indexados TEI teste de estado de pontos indexados CHP chama mdulo procedimento LAI libera atualizao de imagem A/D converso analgico - digital D/A converso digital - analgico

    Projeto de Programao

    Estruturao de um Projeto de Programao

    Funcionalmente, um projeto de programao pode ser visto como uma coleo de mdulos utilizadospara realizar uma tarefa especifica e tambm conhecido como programa aplicativo. Isto permiteuma 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) oupor outros mdulos atravs de instrues apropriadas. Quando armazenado em disco, o projeto deprogramao corresponde a um conjunto de arquivos, sendo que cada arquivo contm um mdulo,denominados como mostra a figura a seguir:

  • 8/6/2019 MP399102

    26/152

    2. A Linguagem de Programao

    21

    Figura 2-21. Formato do nome dos mdulos em arquivo

    Em alguns locais deste manual e na seo Ajuda, os mdulos de programa so referenciadossomente 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 outroaplicativo do Windows. Para alterar o nome de um arquivo, deve-se ler e salvar o mesmo com onome desejado atravs do MasterTool XE.

    Se o nome do arquivo for modificado atravs de outro aplicativo do Windows, poder ser atribudoum nome invlido, fazendo com que o mesmo no possa mais ser lido pelo MasterTool XE oucarregado 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 osparmetros de configurao do CP (C000).

    Mdulo C Estendido (Configurao): este mdulo de configurao existe quando ousurio utiliza em seu projeto uma determinada caracterstica do CP que necessita de ummdulo de configurao estendido. Para maiores informaes consultar o manual deutilizao do MasterTool XE (C003 a C009).

    Mdulo E (Execuo): podem existir at 4 mdulos de execuo por projeto. Os mesmos sochamados somente pelo sistema operacional do CP (E000, E001, E018 e E020).

    Mdulo P (Procedimento): podem existir at 200 mdulos procedimento por projeto. Elescontm trechos de programa aplicativo, sendo chamados por instrues colocadas em mdulosde execuo, procedimento ou funo. Aps serem executados, o processamento retorna para ainstruo seguinte de chamada. Os mdulos P funcionam como sub-rotinas, no permitindo apassagem de parmetros para o mdulo chamado (P000 a P199).

    Mdulo F (Funo): podem existir at 229 mdulos funo por projeto. Eles contm trechos deprograma aplicativo escritos de forma genrica, permitindo a passagem de parmetros para omdulo chamado, de forma a poderem ser reaproveitados em vrios programas aplicativosdiferentes. 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 ediodos demais mdulos do projeto de programao no MasterTool XE. A definio dos parmetroscontidos no mesmo realizada atravs da janela de edio de mdulo C. Para maiores detalhes sobrecomo 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/Sa serem utilizados no controlador programvel, indicando a distribuio dos mesmos e mdulos

    especiais no barramento do CP. A declarao dos mdulos define, desta forma, o nmero depontos e os endereos de E/S a serem utilizados no programa aplicativo. A mesma realizada

  • 8/6/2019 MP399102

    27/152

    2. A Linguagem de Programao

    22

    atravs da janela de edio do mdulo C. Para maiores informaes sobre como configurar obarramento, ver Manual de Utilizao do MasterTool XE.

    Declarao de Operandos: especifica o nmero de operandos simples e tabelas de operandosque sero utilizados no projeto de programao, dentro de cada tipo disponvel. Permite tambma definio da retentividade dos operandos, ou seja, quais operandos devem manter seu contedocom a falta de energia do sistema.

    Declarao de Operandos Simples: permite a definio da quantidade deoperandos Memria (%M), Inteiro (%I), Decimal (%D) e Real (%F). realizadaatravs da janela de edio de mdulo C. Para maiores informaes sobre comodeclarar operandos simples, ver Manual de Utilizao do MasterTool XE.

    Declarao de Operandos Tabela:permite a definio do nmero de tabelas deoperandos Memria (%TM), de operandos Inteiro (%TI), de operandos Decimal(%TD), de operandos Real (%TF) e do nmero de posies de cada uma. Umatabela representa um conjunto de operandos, sendo a sua definio realizadaatravs da janela de edio de mdulo C. Para maiores informaes sobre comoconfigurar operandos tabela, ver Manual de Utilizao do MasterTool XE.

    Declarao de Operandos Retentivos: especifica o nmero de operandos simplesque so retentivos, dentro dos operandos j declarados. Operandos retentivos soaqueles que continuam com o seu contedo inalterado com a falta de energia doCP, sendo os no retentivos zerados com a reinicializao do sistema. Osoperandos tabela so todos retentivos. A declarao realizada atravs da janela deedio de mdulo C. Para maiores informaes sobre como configurar operandosretentivos, ver Manual de Utilizao do MasterTool XE.

    Declarao dos Parmetros Gerais do CP: so parmetros genricos necessrios para ofuncionamento do controlador programvel, tais como o tipo de CP na qual o programaaplicativo ser carregado, o perodo de chamada dos mdulos acionados por interrupo e otempo mximo de ciclo de varredura . Estes parmetros so declarados atravs da janela deedio de mdulo C. Para maiores informaes sobre como configurar os parmetros gerais, verManual de Utilizao do MasterTool XE.

    Declarao dos Parmetros da Rede ALNET I: especifica os diversos parmetros necessriosao funcionamento da comunicao em rede ALNET I. Estes parmetros so configurados najanela de edio de mdulo C. Para maiores informaes sobre como configurar parmetros darede ALNET I, ver Manual de Utilizao do MasterTool XE.

    Declarao dos Parmetros da Rede ALNET II: especifica os diversos parmetrosnecessrios ao funcionamento da comunicao em rede ALNET II, para os controladoresprogramveis que permitem o seu uso. Estes parmetros so configurados na janela de edio demdulo C. Para maiores informaes sobre como configurar parmetros da rede ALNET II, verManual de Utilizao do MasterTool XE

    Declarao dos Parmetros da Rede Ethernet: especifica os diversos parmetros necessriosao 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. Paramaiores informaes sobre como configurar parmetros da rede Ethernet, ver Manual deUtilizao do MasterTool XE

    Declarao dos Parmetros da Rede de Sincronismo: especifica os diversos parmetrosnecessrios ao funcionamento da comunicao com rede de sincronismo, para os controladoresprogramveis que permitem o seu uso. Estes parmetros so configurados na janela de edio demdulo C. Para maiores informaes sobre como configurar parmetros da rede de sincronismo,ver Manual de Utilizao do MasterTool XE

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

  • 8/6/2019 MP399102

    28/152

    2. A Linguagem de Programao

    23

    Para maiores informaes consultar Manual de Utilizao do MasterTool XE.

    Mdulo E - ExecuoOs mdulos E contm trechos do programa aplicativo, sendo chamados para a execuo pelosoftware executivo. Existem diversos mdulos E, diferenciando-se entre si pelo modo como sochamados execuo, conforme o seu nmero.

    Tipos de mdulos E:

    E000 - Mdulo de Inicializao: executado uma nica vez, ao se energizar o CP ou napassagem de modo programao para execuo com o MasterTool XE, antes da execuo cclicado mdulo E001.

    E001 - Mdulo Seqencial de Programa Aplicativo: contm o trecho principal do programaaplicativo, sendo executado ciclicamente.

    E018 - Mdulo Acionado por Interrupo de Tempo: o trecho de programa aplicativocolocado neste mdulo chamado para a execuo em intervalos de tempo peridicos. Define-seo perodo de chamada do mesmo nos parmetros gerais do mdulo C, podendo ser escolhidoentre 50 ms, 25 ms, 10 ms, 5 ms, 3,125 ms, 2,5 ms, 1,25 ms e 0,625 ms. Ao ser transcorrido otempo programado, a execuo seqencial do programa aplicativo interrompida e o mduloE018 executado. Aps o seu final, o sistema retorna a execuo para o ponto do processamentoseqencial onde o mdulo E0001 havia sido interrompido. O tempo continua a ser contadodurante a chamada do mdulo E018, devendo a sua execuo ser o mais breve possvel para nohaver 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. Casoisto acontea, o CP entra em modo erro sendo exibida a mensagem Reentrada no mdulo E018, na

    janela Informaes (comando Comunicao, Estado, Informaes).

    ATENO:O Mdulo Acionado por Interrupo de Tempo (E018) poder ser executado pela primeira vezdepois de executar a E000.

    E020 - Mdulo Acionado pela Entrada de Interrupo: Quando ocorrer uma transio desubida 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 parao ponto do processamento seqencial onde o mdulo E0001 havia sido interrompido. Se aentrada for acionada com muita freqncia, o tempo de execuo do mdulo E020 deve ser omais 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. Casoisto acontea, o CP entra em modo erro sendo exibida a mensagem Reentrada no mdulo E020, na

    janela Informaes (comando Comunicao, Estado, Informaes).

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

    Mdulo P - Procedimento

  • 8/6/2019 MP399102

    29/152

    2. A Linguagem de Programao

    24

    Os mdulos P contm trechos de programas aplicativos chamados a partir de mdulos E, P ou Fatravs 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 emsegmentos de acordo com a sua funo e declarando-os em diversos mdulos P. Neste caso, omdulo 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 relatriosMdulo 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 mdulochamado. Estes mdulos so usualmente escritos de forma genrica para serem aproveitados porvrios programas aplicativos, em linguagem de rels ou de mquina, sendo semelhantes s instruesda linguagem de rels. Os valores dos parmetros so enviados e devolvidos atravs de listas deoperandos 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 ocomando 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 instruoCHF e o mdulo funo:

  • 8/6/2019 MP399102

    30/152

    2. A Linguagem de Programao

    25

    Figura 2-22. Passagem de parmetros para o mdulo F

    Maiores informaes a respeito da passagem de parmetros podem ser encontradas na descrio dainstruo 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 eerro. O estado em que o controlador programvel se encontra indicado nos LEDs do painel frontaldo 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 especficassobre 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 erealiza 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 existaprograma 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 passediretamente para o estado de programao, ao invs de executar o programa aplicativo. Esteprocedimento til para a reinicializao de CPs com programas contendo erros graves deprogramao.

    Por exemplo, um mdulo com um lao infinito de execuo, programado com uma instruo de saltopara uma lgica anterior, provoca o acionamento do circuito de co-de-guarda do CP sempre que forligada, aps o estado de inicializao. Executando-se o procedimento anterior logo aps aenergizao, 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, varrendocontinuamente os pontos de entrada e atualizando os pontos de sada de acordo com a lgicaprogramada. 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 deentrada, 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 dosmdulos do projeto de programao pelo MasterTool XE, atravs do canal serial. Ao passar paraestado execuo ou ciclado a partir do estado programao, os operandos so zerados.

    Estado Ciclado: quando em modo ciclado, o controlador programvel no executa ciclicamente o

    mdulo E001, permanecendo espera de comandos do MasterTool XE. Cada comando executa cicloacionado no MasterTool XE (opes Comunicao, Estado, Executa Ciclo a partir do menu

  • 8/6/2019 MP399102

    31/152

    2. A Linguagem de Programao

    26

    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 passapara modo ciclado, a contagem de tempo nos temporizadores pra, sendo os mesmos incrementadosde uma unidade de tempo a cada duas varreduras executadas. As chamadas para o mdulo deinterrupo de tempo E018 no so realizadas neste modo. O mdulo E020, acionado pela entrada deinterrupo externa, continua sendo chamado neste modo.

    Estado de Erro: indica que houve alguma anomalia no CP durante o processamento do projeto deprogramao. O tipo de erro ocorrido pode ser consultado atravs da caixa de dilogo (opesComunicao, Estado, Informaes a partir do menu principal), enquanto o CP estiver nesteestado. A sada do estado de erro somente possvel passando-se o controlador programvel paramodo programao.

    Em condies normais, o controlador programvel pode estar nos modos execuo, programao eciclado, sendo esses modos acionados atravs de comandos do MasterTool XE (opes Execuo,Programao e Cicladoda caixa de dilogoEstado, ou seus atalhos equivalentes naBarra deFerramentas). Na ocorrncia de alguma situao de funcionamento errneo nestes modos, o CPpassa para estado de erro. A recuperao do modo erro somente possvel passando-se o controladorprogramvel para modo programao. A figura, a seguir, apresenta as possibilidades de troca de

    estados:

    Figura 2-23. Estados de operao do CPNos modos execuo, programao e ciclado possvel carregar e ler mdulos do projeto deprogramao pelo canal serial do controlador programvel, bem como monitorar e forar quaisqueroperandos 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 execuoou programao para ciclado, permanecendo os demais inalterados.

    Execuo do Projeto de Programao

    Quando o CP energizado ou aps a passagem para modo execuo, as inicializaes do sistema sorealizadas 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

  • 8/6/2019 MP399102

    32/152

    2. A Linguagem de Programao

    27

    tempo de interrupo programado. A figura abaixo mostra esquematicamente a execuo doprograma aplicativo.

    Figura 2-24. Execuo do projeto de programao

    ATENO:Os mdulos E020 e E018 podero ser executados pela primeira vez depois de executar o E000.

    Elaborao de Projetos de Programao

    Consideraes GeraisUm projeto de programao composto ao menos por um mdulo C (configurao) e um mduloE001 (execuo). A condio mnima para a execuo de um projeto de programao a presenadestes dois mdulos no CP.

    O primeiro passo para a edio de um projeto de programao no MasterTool XE a criao ou aleitura de um projeto. O mdulo de configurao do projeto criado automaticamente na criao deum novo projeto, uma vez que neste mdulo esto contidas as declaraes dos mdulos de entrada esada e operandos utilizados em todo o projeto. Cada mdulo que contenha trechos de programaaplicativo (E, P ou F) necessita que o mdulo C esteja presente no MasterTool XE para que possa sereditado.

    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 emsua memria.

    Consideraes sobre OperandosOs diversos mdulos que compem um projeto de programao devem preferencialmente ter sidoprogramados utilizando-se o mesmo mdulo C. Caso um mdulo j programado necessite ser usadoem outro projeto de programao, os operandos utilizados pelo mdulo devem obrigatoriamente estardeclarados no mdulo C do novo projeto.

  • 8/6/2019 MP399102

    33/152

    2. A Linguagem de Programao

    28

    Os operandos disponveis no controlador programvel so de uso comum a todos os mdulos doprojeto de programao presentes no CP (operandos globais). Em conseqncia deste fato, doismdulos quaisquer podem estar inadvertidamente acessando o mesmo operando, ocorrendo erros nofuncionamento de ambos.

    Ao elaborar um projeto de programao, deve-se reservar operandos em nmero suficiente para omesmo, 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 podemser acessados por quaisquer outros mdulos de programa presentes no CP, mesmo os operandosutilizados na passagem de parmetros. Para garantir o seu carter genrico, cada mdulo F deveutilizar um grupo de operandos diferente dos demais utilizados no programa aplicativo.

    Utilizao dos Mdulos P e FDentro de um mdulo do projeto de programao podem ser colocadas as instrues de chamada deoutros mdulos. As instrues CHP e CHF chamam, respectivamente, mdulos de procedimento efuno. Elas realizam o gerenciamento das chamadas dos mdulos, verificando a existncia ou nodos 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 chamadasconsecutivas de mdulos sem ser finalizada a execuo de nenhum. Deve-se considerar que o

    mdulo E018 (se existir) e os mdulos por ele chamados tambm ocupam nveis de chamada.

    Figura 2-25. Nmero mximo de nveis de chamada de mdulos

    Quando o nmero mximo de chamadas acumuladas sem retorno for ultrapassado, o sistema nomais as realizar, prosseguindo com a execuo normal do programa aplicativo. Nos casos deocorrncia de chamadas para mdulos inexistentes ou o excesso do nmero de chamadas totais, somostradas mensagens de advertncia na janela Informaes (opes Comunicao, Estado,Informaes a partir do menu principal), pois estas situaes podero causar erros no processamentoconforme a lgica programada.

    possvel a chamada de um mdulo por ele mesmo (programao por recursividade) tomando-se oscuidados 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 detal procedimento no aconselhvel em controladores programveis, devido ao grande tempo deprocessamento que um pequeno trecho de programa aplicativo pode necessitar para ser executado e facilidade da ocorrncia de laos infinitos de execuo (loops).

    Figura 2-26. Chamada recursiva de mdulos

  • 8/6/2019 MP399102

    34/152

    2. A Linguagem de Programao

    29

    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 oprimeiro, se as instrues de chamada nos dois mdulos no forem desabilitadas ambospermanecero 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 P005chamar o P002, este chamar P007 e este chamar novamente o P005, o processamento poderpermanecer neste lao se nenhuma instruo de chamada for desabilitada.

    Figura 2-27. Lao de chamada de mdulos

    Utilizao do Mdulo E018O mdulo E018 deve ser utilizado quando for necessrio um processamento rpido para algunspontos de entrada e sada do controlador programvel, como por exemplo, no sensoriamento defins-de-curso em sistemas de posicionamento rpido. Para este caso deve ser empregada a instruode atualizao de pontos de E/S (AES), realizando dentro do mdulo E018 um processamentosemelhante a um lao completo de execuo do programa principal. As entradas so lidas, o trechode 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 sadaaps um tempo fixo dos estmulos das entradas, independente do tempo de varredura do programaprincipal, que pode ser varivel. Essa caracterstica importante tambm em sistemas de controle deposio.

    Outra aplicao para o mdulo E018 a gerao de bases de tempo menores que 100 ms para oprograma principal. Podem ser gerados temporizadores com preciso de 50 ms, 10 ms ou menos, senecessrio, 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 E020Com o seu acionamento, o mdulo E020 chamado para a execuo, realizando o processamentonecessrio e a atualizao de pontos de sada atravs da instruo AES.

    O mdulo E020 tambm pode ser utilizado no acionamento de dispositivos ou procedimentos desegurana, 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 oprograma aplicativo chamar o mdulo F-CONT.005, este realiza a leitura e escrita do valor decontagem, incrementado a cada acionamento da entrada. Se desejado, pode-se utilizar esta entradacom ambas as funes, com o mdulo F-CONT.005 contando o nmero de vezes que o mdulo E020foi acionado.

    Cuidados no Utilizao do Mdulo E018Alguns 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 domdulo E001, o seu tempo de execuo deve ser o mais breve possvel para no aumentarexcessivamente 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

  • 8/6/2019 MP399102

    35/152

    2. A Linguagem de Programao

    30

    que o E018 seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclodo mdulo E001.

    Figura 2-28. Cuidados na utilizao do mdulo E018

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

    As instrues permanecem com o mesmo comportamento quando executadas dentro do mduloE018, exceto em relao a algumas caractersticas particulares. o caso das instrues detemporizao, que podem passar a contar menos ou mais tempo que o realmente transcorrido seutilizadas no E018, ou seja, as instrues TEE e TED no devem ser utilizadas no mesmo. O rel depulso (PLS) aciona a sua sada durante uma execuo do mdulo E018, zerando a mesma na prximachamada. 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 mdulosutilizados 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 E020Alguns cuidados especiais so necessrios na programao do mdulo E020. O seu tempo deprocessamento deve ser breve, principalmente se a entrada de interrupo for acionada de formafreqente, 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 deexecuo do E020 for 25 ms, s restaro 5 ms para a execuo do programa principal antes que omdulo seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclo domdulo E001.

  • 8/6/2019 MP399102

    36/152

    2. A Linguagem de Programao

    31

    Figura 2-29. Cuidados na utilizao do mdulo E020

    Caso o mdulo E020 esteja sendo executado e ocorra novo acionamento na entrada de interrupo doCP, 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 otempo 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 formaperidica. Esta caracterstica inviabiliza o uso dos temporizadores no E020, ou seja, as instruesTEE e TED no devem ser utilizadas no mesmo. O rel de pulso (PLS) aciona a sua sada duranteuma execuo do mdulo E020, zerando a mesma na prxima chamada. As instrues CHP e CHFpodem ser usadas da mesma forma como no programa principal, devendo os mdulos acionadospelas 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 mduloE020 deve ser acrescentado ao mximo nvel empregado em E001 e E018, devendo esta soma sermenor que o limite do sistema (18 nveis).

    Utilizao dos Operandos na Programao dos Mdulos E018 e E020Outro cuidado necessrio diz respeito ao compartilhamento de dados entre os mdulos E018 ou E020e os demais presentes no controlador programvel. As interrupes podem ocorrer em qualquer pontodo 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 comuma qualquer mdulo do projeto de programao, deve-se tomar o cuidado para no utilizarinadvertidamente nos mdulos E018 ou E020 algum operando que seja utilizado em outro mdulo doprojeto 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 operandosexclusivos.

    Para possibilitar o compartilhamento de dados entre os mdulos E018, E020 e outro mdulo qualquerde execuo cclica devem ser utilizadas as instrues MOV (movimentao de operandos simples) eMOB (movimentao de blocos de operandos), para criar uma imagem dos operandos que contm osdados a serem compartilhados. Estas instrues devem ser utilizadas nos mdulos pertencentes aociclo normal de execuo e no nos mdulos E018 ou E020.

    ATENO:Por exemplo, se for necessrio que o mdulo E018 utilize o valor contido em uma memria usada noprograma 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 programaprincipal, e no no mdulo E018.

  • 8/6/2019 MP399102

    37/152

    2. A Linguagem de Programao

    32

    ATENO:O fluxo contrrio de dados tambm exige a criao de operandos imagem. Se o mdulo E020manipula uma tabela e o programa principal precisa utilizar os valores desta tabela, esses valoresdevem ser copiados para uma segunda tabela de uso exclusivo do programa principal, atravs deuma instruo MOB. A instruo MOB deve estar no programa principal, e no no mdulo E020.

    ATENO:Uma situao semelhante ocorre para as instrues bobinas. Se algum ponto de um operando modificado no programa principal por uma bobina, no permitida a alterao de qualquer pontopertencente a todo octeto do mesmo operando nos mdulos E018 ou E020. Esta restrio no existequando os octetos utilizados pertencem faixa %S0000 a %S0015.

    Entretanto, possvel que pontos de um operando sejam alterados nos mdulos E018 ou E020 poruma bobina e sejam somente testados por outro mdulo com instrues contatos, por exemplo. Asituao contrria tambm permitida, ou seja, os pontos de um operando modificados no programaprincipal 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 E018ou E020.

    Preferencialmente devem ser atualizadas dentro destes mdulos somente as entradas utilizadas no seuprocessamento, utilizando-se a instruo AES. Como o programa aplicativo de execuo cclica podeser interrompido em qualquer local por estes mdulos, se neles forem atualizadas as imagens dasentradas do programa principal, estas podero assumir valores diversos em pontos diferentes doprograma aplicativo durante o mesmo ciclo de execuo. Este fato pode provocar erros se umoperando 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 ouE020, se for necessria a sua atualizao dentro do mesmo, no sendo estes octetos utilizados noprograma principal.

    Caso seja necessria a atualizao de entradas utilizadas simultaneamente nas interrupes e noprocessamento cclico, o valor das mesmas pode ser copiado para operandos auxiliares ou memriasno incio do programa principal, sendo estes operandos utilizados no restante do mesmo. Pode-setambm no atualizar as imagens das entradas nos mdulos E018 ou E020 com a instruo AES, massomente ler diretamente os valores dos mdulos de E/S para operandos memria atravs da instruoMES, e utilizar estas memrias em contatos para realizar o processamento nos mdulos deinterrupo.

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

    Nos mdulos E018 e E020, no se deve escrever valores com a instruo MES em mdulos de sadadeclarados no barramento atravs do MasterTool XE, pois a varredura das sadas tambm realizaatualizao de valores nos mesmos.

    Quando um mdulo E018 ou E020 est sendo executado e a compactao for disparada, os mesmospodero ser transferidos para outra posio na memria pela rotina de compactao. Durante estatransferncia a sua chamada ser desabilitada, podendo algumas interrupes ocorrerem sem que osmdulos E018 ou E020 sejam processados. Deve-se atentar para este efeito da compactao sobre aexecuo do mdulo acionado por interrupo. Durante a compactao dos demais mdulos, todavia,os mdulos E018 ou E020 continuaro sendo executados.

  • 8/6/2019 MP399102

    38/152

    2. A Linguagem de Programao

    33

    Utilizao Simultnea dos Mdulos E018 e E020No existem prioridades de execuo quanto s interrupes dos dois mdulos. Ou seja, se estiversendo 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 otempo de execuo do mdulo E018 ao E020, devendo este total ser menor do que o perodo dechamada 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 dosOperandos 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 projetosde programao, sendo descritas a seguir.

    Informaes do Estado do CPDiversas informaes sobre o estado do controlador podem ser obtidas com o acionamento dasopes 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, cicladoou erro.

    Mensagem de Erro/Advertncia - se o CP estiver em modo erro, apresentada uma mensagemindicando a causa do erro ocorrido. Caso o CP esteja em qualquer outro modo, a mensagemindica a existncia de problemas que no causam a mudana para modo erro (por exemplo, abateria 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 CPenergizado.

    Compactando RAM - indica se o CP est compactando a memria RAM do programaaplicativo.

    Copiando Mdulo - indica se algum mdulo est sendo carregado no CP, transferido da RAMpara a FLASH EPROM ou da FLASH EPROM para a RAM, ou se o CP est apagando amemria 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 ciclodo programa aplicativo. Ver seo Tempos de Ciclo de Execuo do Programa neste mesmocaptulo.

    Perodo de Acionamento de E018 - mostra o perodo de chamada do mdulo acionado porinterrupo 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

  • 8/6/2019 MP399102

    39/152

    2. A Linguagem de Programao

    34

    Monitorar Bloco de Operandos ou Monitorar Tabelas) fornecem diversas informaes teis paraa verificao do bom funcionamento do controlador. Estas informaes podem ser obtidas distncia, caso o CP esteja ligado em rede. Sempre que o MasterTool XE for conectado a algum CP,aconselha-se a consulta dessas informaes como o primeiro procedimento a ser tomado.

    MonitoraoAtravs 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 servisualizados diretamente sobre a mesma facilitando a verificao de seu funcionamento.

    Para maiores informaes sobre como realizar a monitorao, ver itens Monitorando OperandosSimples, Monitorando Operandos Tabelas e Monitorando Programas no Manual de Utilizao doMasterTool XE.

    ATENO:A monitorao de operandos no CP ocorre no final do ciclo de execuo do programa aplicativo.Devido a este fato, situaes incoerentes podem ser visualizadas na monitorao de lgicas, se osvalores dos operandos forem modificados nas lgicas posteriores monitorada.

    Figura 2-30. Situao incoerente na monitorao de lgicas

    ForamentoOs valores dos operandos tambm podem ser forados com o MasterTool XE, ou seja, pode-semodificar 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 somentepor uma varredura, logo aps o envio do comando ao CP. Para que o valor forado permanea nooperando, no pode haver no programa nenhuma instruo que o modifique.

    O foramento dos operandos %E e %S realizado de forma permanente no controlador. Aps oenvio do comando ao CP, o valor forado em todas as varreduras do programa aplicativo, at que ooperando seja liberado. O LED FC no painel do CP permanece ligado se houver algum operando %E

    ou %S forado.

  • 8/6/2019 MP399102

    40/152

    2. A Linguagem de Programao

    35

    Os valores forados em operandos %E sobrepem os obtidos na leitura dos mdulos de entrada, antesdo incio de cada ciclo de execuo do programa aplicativo. O programa executado com o valorforado, como se o ponto de entrada correspondente estivesse com este valor, podendo servisualizado na monitorao.

    Por exemplo, caso o operando %E0002.5 esteja forado com o valor 1, o programa aplicativo serexecutado 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 valorforado, que corresponde ao valor assumido pelo ponto correspondente ao operando no mdulo desada.

    Por exemplo, caso o operando %S0024.3 esteja forado com o valor 0, o ponto respectivo no mdulode sada permanecer desligado, no importando o estado da bobina que contenha o operando noprograma aplicativo. A monitorao de %S0024.3 mostra sempre o valor 0.

    ATENO:Podem ser visualizadas situaes incoerentes na monitorao de lgicas com operandos %Sforados. Isto ocorre porque o valor monitorado pode ser diferente do valor realmente obtido peloprograma aplicativo.

    ATENO:Todos os foramentos de operandos %E e %S so removidos com a desenergizao do CP. Oforamento destes operandos deve ser utilizado de forma temporria, somente para auxiliar adepurao do projeto de programao. No devem ser deixados operandos %E ou %S forados emcarter permanente, pois sero liberados com a desenergizao e posterior energizao docontrolador.

    Os operandos %E e %S deixam de ser forados pelo CP atravs do comando de liberao deforamento. 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 osmdulos 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 emque 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 estejamativas no programa.

    Desabilitao das SadasPara a segurana na posta-em-marcha quando se utiliza o programa aplicativo diretamente namquina, os acionamentos das sadas do controlador programvel podem ser desabilitados atravs docomando desabilita. O programa aplicativo continua a ser executado no CP, com a varredura dasentradas e clculo dos valores das sadas, porm com todos os pontos de sada mantidosdesacionados. Os operandos %S podem ser monitorados e conferidos com os valores esperados paraos mesmos.

  • 8/6/2019 MP399102

    41/152

    2. A Linguagem de Programao

    36

    ATENO:Se o CP for desenergizado, a desabilitao dos pontos de sada removida. Ou seja, quando o CP fornovamente energizado, o estado dos operandos da memria ser normalmente transferido, ao finalde 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") possibilitasucessivas modificaes e envios do mdulo em depurao para o controlador programvel. Destemodo no necessria a reinicializao do programa aplicativo de controle nem a troca do estado docontrolador programvel a cada alterao efetuada em um mdulo.

    ATENO:Aps qualquer modificao realizada no mdulo C do projeto de programao, o mesmo deve serenviado 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 omdulo C com o controlador em modo execuo.

    Aps um certo nmero de cargas sucessivas em modo execuo, entretanto, pode se tornar necessriaa compactao da memria RAM de programa pelos motivos explicados na seo Gerenciamentode Mdulos do Projeto de Programao , neste captulo. Este tipo de carga somente possvel sehouver memria livre suficiente no CP para armazenamento do mdulo a ser enviado.

    Ao acabar a depurao de um md