MasterTool Programming - Manual Do MasterTool

Embed Size (px)

Citation preview

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    1/308

    MasterTool ProgrammingManual de Programao

    Rev. H 09/2004

    Cd. Doc: 6399-100.4

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    2/308

    Prefcio

    i

    Nenhuma parte deste documento pode ser copiada ou reproduzida de alguma forma sem oconsentimento prvio e por escrito da ALTUS Sistemas de Informtica S.A., que reserva-se o direitode efetuar alteraes sem prvio comunicado.

    Conforme legislao vigente no Brasil, do Cdigo de Defesa do Consumidor, informamos osseguintes aspectos relacionados com a segurana de pessoas e instalaes do cliente:

    Os equipamentos de automao industrial, fabricados pela ALTUS, so robustos e confiveis devidoao rgido controle de qualidade a que so submetidos. No entanto, equipamentos eletrnicos decontrole industrial (controladores programveis, comandos numricos, etc.) podem causar danos smquinas ou processos por eles controlados, no caso de defeito em suas partes e peas, erros deprogramao ou instalao, podendo inclusive colocar em risco vidas humanas.

    O usurio deve analisar as possveis conseqncias destes defeitos e providenciar instalaesadicionais externas de segurana que, em caso de necessidade, atuem no sentido de preservar asegurana 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 contra defeitos reais de fabricao pelo prazo de doze mesesa partir da data da emisso da nota fiscal. Esta garantia dada em termos de manuteno de fbrica,ou seja, o transporte de envio e retorno do equipamento at a fbrica da ALTUS, em Porto Alegre,RS, Brasil, ocorrer por conta do cliente. A garantia ser automaticamente suspensa caso sejamintroduzidas modificaes nos equipamentos por pessoal no autorizado pela ALTUS. A ALTUSexime-se de quaisquer nus referentes a reparos ou substituies em virtude de falhas provocadas poragentes externos aos equipamentos, pelo uso indevido dos mesmos, bem como resultantes de casofortuito ou por fora maior.

    A ALTUS garante que seus equipamentos funcionam de acordo com as descries contidasexplicitamente em seus manuais e/ou caractersticas tcnicas, no garantindo a satisfao de algumtipo particular de aplicao dos equipamentos.

    A ALTUS desconsiderar qualquer outra garantia, direta ou implcita, principalmente quando setratar de fornecimento de terceiros.

    Pedidos de informaes adicionais sobre o fornecimento e/ou caractersticas dos equipamentos eservios ALTUS, devem ser feitos por escrito. A ALTUS no se responsabiliza por informaesfornecidas sobre seus equipamentos sem registro formal.

    DIREITOS AUTORAIS

    Srie Ponto, MasterTool e QUARK so marcas registradas da ALTUS Sistemas de Informtica S.A.

    IBM marca registrada da International Business Machines Corporation.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    3/308

    Prefcio

    ii

    Sumrio

    PREFCIO 1

    DESCRIO DESTE MANUAL 1MANUAIS RELACIONADOS 1TERMINOLOGIA 2CONVENES UTILIZADAS 3CONVENES PARA UTILIZAO COM MOUSE 3SUPORTE TCNICO 5REVISES DESTE MANUAL 6

    INTRODUO 8

    A LINGUAGEM DE PROGRAMAO 8

    LINGUAGEM DE DIAGRAMAS DE RELS 9

    ELEMENTOS DE PROGRAMAO 9ORGANIZAO DE MEMRIA DOS CPS ALTUS 9LGICAS 11OPERANDOS 12IDENTIFICAO DE UM OPERANDO PELO ENDEREO 12IDENTIFICAO DE UM OPERANDO PELO TAG 12OPERANDOS UTILIZADOS NO MASTERTOOL 13IDENTIFICAO DOS OPERANDOS SIMPLES 14IDENTIFICAO DOS OPERANDOS CONSTANTE 15IDENTIFICAO DOS OPERANDOS TABELA 15OPERANDOS %E - RELS DE ENTRADA 16OPERANDOS %S - RELS DE SADA 16OPERANDOS %A - RELS AUXILIARES 17OPERANDOS %R - ENDEREOS NO BARRAMENTO 17OPERANDOS %M - MEMRIAS 19OPERANDOS %D - DECIMAIS 20OPERANDOS %F - REAIS 21

    OPERANDOS %I - INTEIRO 21OPERANDOS %KM, %KI, %KD E %KF - CONSTANTES 22OPERANDOS %TM, %TI, %TD E %TF - TABELAS 23ACESSO INDIRETO 24DECLARAO DE OPERANDOS 25OPERANDOS RETENTIVOS 26INSTRUES 27RESTRIES QUANTO AO USO DE INSTRUES NOS CPS 29REPRESENTAO GRFICA DAS INSTRUES 30DESCRIO DA SINTAXE DAS INSTRUES 31RESTRIES QUANTO AO POSICIONAMENTO DAS INSTRUES 32PROJETO DE PROGRAMAO 34

    ESTRUTURAO DE UM PROJETO DE PROGRAMAO 34ESTADOS DE OPERAO DO CP 38

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    4/308

    Prefcio

    iii

    EXECUO DO PROJETO DE PROGRAMAO 40ELABORAO DE PROJETOS DE PROGRAMAO 41DEPURAO DE PROJETOS DE PROGRAMAO 47TEMPOS DE CICLO DE EXECUO DO PROGRAMA 55NVEIS DE PROTEO DO CP 58INTERTRAVAMENTO DE COMANDOS NO CP 59PROJETO DE ROTEADOR 62

    ESTRUTURAO DE UM PROJETO DE ROTEADOR 62ESTADOS DE OPERAO DO ROTEADOR 63

    REFERNCIA DAS INSTRUES 65

    LISTA DAS INSTRUES 65CONVENES UTILIZADAS 65INSTRUES DO GRUPO RELS 67CONTATOS 68BOBINAS 69SLT - BOBINA DE SALTO 70PLS - REL DE PULSO 72RM, FRM - REL MESTRE, FIM DE REL MESTRE 73INSTRUES DO GRUPO MOVIMENTADORES 74MOV - MOVIMENTAO DE OPERANDOS SIMPLES 75MOP - MOVIMENTAO DE PARTES (SUBDIVISES) DE OPERANDOS 76MOB - MOVIMENTAO DE BLOCOS DE OPERANDOS 78MOT - MOVIMENTAO DE TABELAS 80MES - MOVIMENTAO DE ENTRADAS/SADAS 82CES - CONVERSO DE ENTRADAS/SADAS 84AES - ATUALIZA ENTRADAS/SADAS 85CAB - CARREGA BLOCO 86

    INSTRUES DO GRUPO ARITMTICAS 90SOM - ADIO 91SUB SUBTRAO 92MUL - MULTIPLICAO 93DIV - DIVISO 94AND - E BINRIO ENTRE OPERANDOS 95OR - OU BINRIO ENTRE OPERANDOS 97XOR - OU EXCLUSIVO ENTRE OPERANDOS 99CAR - CARREGA OPERANDOS 101INSTRUES DE COMPARAO DE OPERANDOS - IGUAL, MAIOR E MENOR 102INSTRUES DO GRUPO CONTADORES 105CON - CONTADOR SIMPLES 106

    COB - CONTADOR BIDIRECIONAL 107TEE - TEMPORIZADOR NA ENERGIZAO 109TED - TEMPORIZADOR NA DESENERGIZAO 111INSTRUES DO GRUPO CONVERSORES 113B/D - CONVERSO BINRIO-DECIMAL 114D/B - CONVERSO DECIMAL-BINRIO 115A/D - CONVERSO ANALGICO-DIGITAL 116D/A - CONVERSO DIGITAL-ANALGICO 118INSTRUES DO GRUPO GERAL 120LDI - LIGA/DESLIGA INDEXADO 121TEI - TESTE DE ESTADO INDEXADO 123SEQ - SEQENCIADOR 125

    CHP - CHAMA MDULO PROCEDIMENTO 130CHF - CHAMA MDULO FUNO 131

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    5/308

    Prefcio

    iv

    ECR - ESCRITA DE OPERANDOS EM OUTRO CP 134LTR - LEITURA DE OPERANDOS DE OUTRO CP 142LAI - LIBERA ATUALIZAO DE IMAGENS DOS OPERANDOS 144INSTRUES DO GRUPO LIGAES 145LGH - LIGAO HORIZONTAL 146LGN - LIGAO NEGADA 146LGV - LIGAO VERTICAL 146

    REFERNCIA DOS MDULOS FUNO 147

    F-RELOG.000 - FUNO PARA ACESSO A MDULO RELGIO DE TEMPO REAL 150INTRODUO 150PROGRAMAO 150F-LEDS.001 - FUNO PARA ACESSO A MDULO PAINEL DE LEDS 153INTRODUO 153PROGRAMAO 153F-PT100.002 - FUNO PARA LEITURA DE MDULO PT-100 155INTRODUO 155PROGRAMAO 155F-TERMO.003 - FUNO PARA LEITURA DE MDULO TERMOPAR 158INTRODUO 158PROGRAMAO 158F-CONTR.004 - FUNO PARA ACESSO A MDULO CONTADOR RPIDO 161PARA A SRIE GRANO: 161INTRODUO 161PARAMETRIZAO 161PROGRAMAO 162PARA DEMAIS SRIES: 165INTRODUO 166

    PROGRAMAO 166F-CONT.005 - FUNO PARA ACESSO S ENTRADAS DE CONTAGEM RPIDA 168INTRODUO 168PROGRAMAO 168DESCRIO DO FUNCIONAMENTO 170F-ANLOG.006 - FUNO PARA CONVERSO A/D OU D/A INTEGRADOS 171INTRODUO 171PROGRAMAO 171F- SAIDR.009 - FUNO PARA ACESSO S SAIDAS RPIDAS 173INTRODUO 173PROGRAMAO 173F-EVENT.017 - FUNO PARA ACESSO AO MDULO REGISTRO DE EVENTOS 176

    INTRODUO 176PROGRAMAO 176F-ALNET2.032 - FUNO LEITURA DE ESTATSTICAS DA REDE ALNET II 187INTRODUO 187PROGRAMAO 187F-PID.033 - FUNO CONTROLE PID 191INTRODUO 191PROGRAMAO 192F-RAIZN.034 - FUNO RAIZ QUADRADA 197INTRODUO 197PROGRAMAO 197F-ARQ2.035 A F-ARQ31.042 - FUNES ARQUIVO DE DADOS 199

    INTRODUO 199PROGRAMAO 199

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    6/308

    Prefcio

    v

    F-MOBT.043 - FUNO PARA MOVIMENTAO DE BLOCOS DE OPERANDOS TABELA 203INTRODUO 203PROGRAMAO 203F-STMOD.045 - FUNO ESTADO DOS BARRAMENTOS E MDULOS DE E/S 205INTRODUO 205PROGRAMAO 205F-RELG.048 - FUNO PARA ACESSO AO RELGIO DE TEMPO REAL 210

    INTRODUO 210PROGRAMAO 210F-SINC.049 - FUNO PARA ACESSO AO RELGIO DE TEMPO REAL SINCRONIZADO 213INTRODUO 213PROGRAMAO 213F-PID16.056 - MDULO F PARA CONTROLE PID 217INTRODUO 217PROGRAMAO 219OPERANDOS 219ENTRADAS E SADAS 219CARACTERSTICAS DO FUNCIONAMENTO 220DESSATURAO DA AO INTEGRAL 220MODO MANUAL 220CONTROLE DIRETO E REVERSO 220INTERVALO DE AMOSTRAGEM 221TEMPO DE EXECUO 221DESCRIO DAS POSIES DA TABELA DE PARMETROS 221DESCRIO DO OPERANDO %A DE CONTROLE 222

    NOTAS DE APLICAO 224

    SELEO DO TEMPO DE AMOSTRAGEM 224

    FEEDFORWARD/BIAS 225CONTROLE EM CASCATA 225CONSIDERAES IMPORTANTES 226SUGESTES PARA AJUSTES DO CONTROLADOR PID 227DETERMINAO DAS CONSTANTES DO CONTROLADOR ATRAVS DO PERODO E DO GANHO CRTICO 227DETERMINAO DAS CONSTANTES DO CONTROLADOR ATRAVS DAS CONSTANTES DO PROCESSO 228GANHOS X ESCALAS 230

    EXEMPLO DE APLICAO 233

    DESCRIO DO PROCESSO 233

    DESCRIO DOS MDULOS ANALGICOS 234PONTO DE AJUSTE 234BLOCODIAGRAMA GERAL E VALORES LIMITES 234PARMETROS DO PROCESSO 235SINTONIA DO CONTROLADOR 236UTILIZAO DA F-PID16.056 236COMPARAO COM O F-PID.033 237F-CTRL.059 - MDULO F PARA CONTROLE AVANADO 238INTRODUO 238PROGRAMAO 242CARACTERSTICAS DE FUNCIONAMENTO 243F-RELG.061 - FUNO PARA ACESSO AO RELGIO DE TEMPO REAL DO QK801 E QK2000 244

    INTRODUO 244PROGRAMAO 244

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    7/308

    Prefcio

    vi

    F-ALNET1.062 - FUNO INTERPRETADOR DO PROTOCOLO ALNET I PARA QK801 247INTRODUO 247PROGRAMAO 247F-IMP.063 - FUNO PARA IMPRESSO DE CARACTERES ASCII 251INTRODUO 251PROGRAMAO 251F-RECEP.064 - FUNO PARA RECEPO DE CARACTERES ASCII 254

    INTRODUO 254PROGRAMAO 254F-UTR_S.068 - FUNO PARA ACIONAMENTO DE SADAS EM UTRS 256INTRODUO 256PROGRAMAO 256F-NORM.071 - FUNO PARA NORMALIZAO 263INTRODUO 263PROGRAMAO 263OPERAO 264ENTRADAS E SADAS 264UTILIZAO 264F-COMPF.072 - FUNO PARA MLTIPLAS COMPARAES 266INTRODUO 266PROGRAMAO 266F-ANDT.090, F-ORT.091 E F-XORT.092 - FUNES DE OPERAES LGICAS ENTRE OPERANDOSTABELA 268INTRODUO 268PROGRAMAO 268F-ETHDG.089 FUNO DE DIAGNSTICO DE ETHERNET 270INTRODUO 270DESCRIO DOS OPERANDOS: 270DESCRIO DAS ENTRADAS: 270DESCRIO DAS SADAS: 270

    OBSERVAES IMPORTANTES: 271F-NEGT.093 - FUNO PARA NEGAO LGICA DE OPERANDOS TABELA 276INTRODUO 276PROGRAMAO 276

    APNDICE A TEMPOS DE EXECUO DAS INSTRUES 278

    DESCRIO DOS TEMPOS DE EXECUO 278RELS 279MOVIMENTADORES 281ARITMTICAS 283

    CONTADORES 285CONVERSORES 285GERAL 286

    APNDICE B TEMPOS DE EXECUO DOS MDULOS FUNO 289

    DESCRIO DOS TEMPOS DE EXECUO 289

    GLOSSRIO 296

    GLOSSRIO DE REDES 296GLOSSRIO REDES PROFIBUS 297

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    8/308

    Prefcio

    vii

    GLOSSRIO GERAL 297PRINCIPAIS ABREVIATURAS 299

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    9/308

    Prefcio

    1

    Prefcio

    Descrio deste ManualEste manual apresenta a linguagem de programao utilizada nos controladores programveisALTUS, bem como orientaes para a elaborao de programas aplicativos. Foi escrito supondo-sefamiliaridade com a utilizao de microcomputadores padro IBM-PC e ambiente operacionalWindows.

    O software programador MT4000 ou MT4100, referido a partir deste ponto como MasterToolProgramming ou simplesmente MasterTool, foi desenvolvido para a programao em linguagem derels e blocos das sries de controladores programveis ALTUS AL-600, AL-2000, AL-3000,QUARK e PICCOLO, bem como a configurao dos dispositivos roteadores AL-2400/S, AL-2401,QK2400 e QK2401.

    Este manual est divido em 4 captulos e 3 apndices.O captulo 1, Introduo, apresenta as caractersticas principais da programao de CPs eroteadores ALTUS.

    O captulo 2, Linguagem de Diagrama de Rels, apresenta os componentes da linguagem.

    O captulo 3, Referncia das Instrues, descreve a funo e a sintaxe de todas as instrues dalinguagem.

    O captulo 4, referncia dos Mdulos Funo, descreve a funo e a programao dosparmetros de entrada e sada dos mdulos funo fornecidos pela ALTUS.

    O apndice A, Tempos de Execuo das Instrues, contm uma lista com os tempos de execuo

    de cada instruo.O apndice B, Tempos de Execuo dos Mdulos Funo, contm uma lista com os tempos deexecuo dos mdulos funo que acompanham o MasterTool.

    O apndice C apresenta um Glossrio de termos tcnicos utilizados neste manual..

    Manuais RelacionadosPara maiores informaes sobre o MasterTool Programming, as sries de CPs ALTUS e as redesALNET I e ALNET II, recomendam-se os seguintes manuais:

    Manual de Utilizao AL-3830

    Manual de Utilizao AL-600 Manual de Utilizao AL-2000/MSP

    Manual de Utilizao AL-2002/MSP

    Manual de Utilizao AL-2003

    Manual de Utilizao AL-3000

    Manual de Utilizao dos CPs da Srie QUARK

    Manual de Utilizao dos CPs da Srie PICCOLO

    Manual de Utilizao ALNET II

    Manual de Utilizao FOCOS Manual de Caractersticas Tcnicas

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    10/308

    Prefcio

    2

    NT-031: PROTOCOLO ALNET I

    TerminologiaNeste manual, as palavras software e hardware so empregadas livremente, por sua generalidadee freqncia de uso. Por este motivo, apesar de serem vocbulos em ingls, aparecero no texto sem

    aspas.A abreviatura MSP significa "Multi Station Processor", ou seja, corresponde capacidade do CP emrealizar processamentos distribudos em diversas estaes.

    O nome MasterTool Programming identifica o programa ALTUS para microcomputador padroIBM-PC, executado no ambiente operacional Windows 3.1 ou superior, Windows forWorkgroups verso 3.11 ou superior ou no Windows 95/98/NT/2000, que permite o desenvolvimentode aplicativos para os CPs das sries AL-600, AL-2000, AL-3000, QUARK, PICCOLO e osdispositivos roteadores AL-2400/S, AL-2401, QK2400 e QK2401. Ao longo do manual, esteprograma ser referido pela prpria sigla ou como "programador MasterTool".

    A palavra "mdulo", quando se referir a hardware, utilizada para denominar cada um dos

    componentes de um equipamento.A palavra "mdulo", quando se referir a software, utilizada para denominar cada um doscomponentes de um programa aplicativo.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    11/308

    Prefcio

    3

    Convenes UtilizadasOs smbolos utilizados ao longo deste manual possuem os seguintes significados:

    Este marcador indica uma lista de itens ou tpicos.

    maisculasPEQUENASindicam nomes de teclas, por exemplo ENTER.

    TECLA1+TECLA2 usado para teclas a serem pressionadas simultaneamente. Por exemplo, a digitaosimultnea das teclas CTRLe END indicada como CTRL+END.

    TECLA1, TECLA2 usado para teclas a serem pressionadas seqencialmente. Por exemplo, amensagem Digite ALT, F10 significa que a tecla ALTdeve ser pressionada e liberada e ento a teclaF10pressionada e liberada.

    MAISCULAS GRANDES indicam nomes de arquivos e diretrios.

    Itlico indica palavras e caracteres que so digitados no teclado ou vistos na tela. Por exemplo, se forsolicitado a digitar A:MASTERTOOL, estes caracteres devem ser digitados exatamente comoaparecem no manual.

    NEGRITO usado para nomes de comandos ou opes, ou para enfatizar partes importantes dotexto.

    As mensagens de advertncia apresentam os seguintes formatos e significados:

    PERIGO:O rtulo PERIGO indica que risco de vida, danos pessoais graves ou prejuzos materiaissubstanciais resultaro se as precaues necessrias no forem tomadas.

    CUIDADO:O rtulo CUIDADO indica que risco de vida, danos pessoais graves ou prejuzos materiaissubstanciais podem resultar se as precaues necessrias no forem tomadas.

    ATENO:O rtulo ATENO indica que danos pessoais ou prejuzos materiais mnimos podem resultar se asprecaues necessrias no forem tomadas.

    Contm informaes importantes sobre o produto, sua operao ou uma parte do texto para a qual sedeve dar ateno especial.

    DICA:O rtulo DICA indica a melhor maneira de realizar uma tarefa.

    Convenes para Utilizao com Mouse

    Apesar do MasterTool Programming poder ser executado apenas com o uso do teclado, pode-se obteruma maior eficincia com o uso de um mouse.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    12/308

    Prefcio

    4

    Alguns termos so utilizados para descrever a ao a ser executada com o mouse para a realizao deuma tarefa especfica.

    Termo Significado

    Clicar Pressionar o boto principal do mouse. Normalmente o

    boto principal o esquerdo, mas pode ser alterado parauso de pessoas sinistras atravs do Painel de Controledo Windows, atravs do comando Configuraes,Mouse.

    Clicar duas vezesou duplo clique

    Pressionar o boto duas vezes com um curto intervalode tempo. Este intervalo de tempo pode ser configuradono Painel de Controle do Windows, atravs docomando Configuraes, Mouse.

    Arrastar Pressionar o boto principal do mouse, mover o mousepara a posio desejada mantendo o boto pressionado esolt-lo.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    13/308

    Prefcio

    5

    Suporte TcnicoPara acessar o Suporte Tcnico ligue para (51) 589-9500 em So Leopoldo, RS, ou para o SuporteTcnico mais prximo conforme a pgina da Altus na INTERNET:

    www.altus.com.br

    E-MAIL: [email protected]

    Caso o equipamento j esteja instalado, aconselhvel providenciar as seguintes informaes antesde entrar em contato:

    Modelos de equipamentos utilizados e configurao do sistema instalado

    Nmero de srie da UCP, reviso do equipamento e verso do software executivo, constantes na etiquetafixada na sua lateral

    Informaes do modo de operao da UCP, obtidas atravs do programador MASTERTOOL

    Contedo do programa aplicativo (mdulos), obtido atravs do programador MASTERTOOL

    Verso do programador utilizado

    mailto:[email protected]:[email protected]
  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    14/308

    Prefcio

    6

    Revises deste ManualO cdigo de referncia, da reviso e a data do presente manual esto indicados na capa. A mudanada reviso pode significar alteraes da especificao funcional ou melhorias no manual.

    O histrico a seguir lista as alteraes correspondentes a cada reviso deste manual:

    Reviso: A Data: 11/1997Aprovao: Luiz Gerbase

    Observaes:

    Reviso inicial do manual.

    Reviso: B Data: 08/2000Aprovao: Luiz GerbaseAutor: Joaquim Souza

    Observaes:

    Incluso do PL104 e PL105.

    Incluso de novas funes.

    Retirada da hardkey e insero do contrato de software.

    Correes de erros.

    Reviso: C Data: 08/2002Aprovao: Luiz GerbaseAutor: Dimitrius Biroth Rocha

    Observaes:

    Incluso do Canal Ethernet

    Reviso: D Data: 02/2003Aprovao: Luiz GerbaseAutor : Joaquim Souza, Rosana Casais

    Observaes:

    Incluso do AL-2004

    Incluso dos operandos reais (%F, %TF e %KF)

    Incluso do Mdulo C Estendido

    Incluso dos Mdulos F-PID.056 e F-CTRL.059.

    Reviso: E Data: 11/2003Aprovao: Luiz GerbaseAutor : Dimitrius Biroth Rocha

    Observaes:

    Incluso das UCPs PO3042 e PO3142;

    Reviso: F Data: 02/2004Aprovao: Luiz GerbaseAutor : Dimitrius Biroth Rocha

    Observaes:

    Incluso das UCPs PO3242, PO3342, GR310, GR316 e GR330;

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    15/308

    Prefcio

    7

    Reviso: G Data: 06/2004Aprovao: Luiz GerbaseAutor : Dimitrius Biroth Rocha

    Observaes:

    Incluso das UCPs GR350, GR351, GR370 e GR371;

    Incluso dos mdulos F-CONTR.004 e F-SAIDR.009 para as UCP da srie Grano

    Reviso: H Data: 09/2004Aprovao: Luiz GerbaseAutor : Dimitrius Biroth Rocha

    Observaes:

    Incluso dos operandos inteiros (%I, %TI e %KI)

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    16/308

    Introduo

    8

    IntroduoBem-vindo Linguagem de Rels e Blocos ALTUS, a linguagem que permite a construo deprogramas aplicativos para os CPs ALTUS a partir do MasterTool Programming.

    O programa aplicativo tem como objetivo a execuo de tarefas de controle. Este programa, quandocarregado no controlador programvel (CP), faz com que este passe a exercer as funes de controleda mquina ou processo para o qual est sendo programado.

    A Linguagem de ProgramaoOs controladores programveis surgiram para substituir painis de controle a rels. Neste contexto,uma linguagem de programao que mais se aproximasse da experincia de tcnicos e engenheirosseria 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

    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, poisassemelha-se 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.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    17/308

    Linguagem de Diagramas de Rels

    9

    Linguagem de Diagramas de RelsEste captulo descreve a linguagem de Rels e Blocos ALTUS detalhando os elementos dalinguagem, 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 e roteadores.

    Elementos de ProgramaoUm programa aplicativo composto por 4 elementos bsicos:

    mdulos

    lgicas

    instrues

    operandosUm 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-600, AL-2000, AL-3000, QUARK ePICCOLO permite at oito elementos em srie e at quatro caminhos em paralelo.

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

    Os operandosidentificam 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.

    Organizao de Memria dos CPs ALTUSO programa aplicativo armazenado no controlador em uma rea de memria dividida em bancos.Podem existir um ou mais bancos de memria RAM e EPROM, conforme o modelo do CP e a suaconfigurao de memria, cada banco possuindo 16, 32 ou 64 Kbytes. A memria EPROM podeexistir na forma de cartucho removvel ou como flash EPROM interna ao CP.

    Neste manual, na ajuda do MasterTool e no programador MasterTool, o nome EPROM refere-seindistintamente memria para gravao permanente do programa aplicativo utilizada no CP, sejado tipo cartucho de EPROM ou flash EPROM.

    Na janela do diretrio de mdulos do CP (opes Comunicao, Mdulos) possvel visualizar aquantidade de memria livre em cada banco, para cada tipo existente no controlador. Ver OpoMdulosna seo Comando Comunicaono captulo 4.

    A tabela 2-1 mostra a capacidade de memria de programa aplicativo para cada controlador. Nestatabela a memria flash EPROM (flash) foi distinguida do cartucho de EPROM (EPROM) paraindicar com maior preciso o tipo de memria utilizado em cada modelo de CP, embora ambas sejam

    equivalentes quanto operao.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    18/308

    Captulo 2 Linguagem de Diagramas de Rels

    10

    Controlador Capacidade Padro de Bancos Capacidade Mxima de Bancos

    0 1 2 3 0 1 2 3

    AL-600 flash - - - - 32K 32K 32K 32K

    RAM 16K - - - 16K 32K 32K 32K

    AL-3003 EPROM 32K - - - 32K 32K - -

    RAM 32K - - - 32K 32K - -

    AL-3004 EPROM 16K - - - 32K - - -

    RAM 16K - - - 16K - - -

    AL-2000/MSP flash 32K 32K - - 32K 32K 32K 32K

    RAM 32K - - - 32K 32K 32K 32K

    AL-2002/MSP flash 32K 32K - - 32K 32K 32K 32K

    RAM 32K - - - 32K 32K 32K 32K

    AL-2003 flash 16 bancos de 64 Kbytes 16 bancos de 64 Kbytes

    RAM 64K 64K - - 64K 64K - -

    AL-2004 flash 16 bancos de 64 Kbytes 16 bancos de 64 Kbytes

    RAM 64K 64K - - 64K 64K - -

    PL101, PL102, flash - - - - - - - -

    PL103 RAM 16K - - - 16K - - -

    PL104, PL105 flash 32K - - - 32K - - -

    RAM 32K 32K - - 32K 32K - -

    QK600 flash - - - - 32K 32K 32K 32K

    RAM 16K - - - 16K 32K 32K 32K

    QK800 flash 32K - - - - - - -

    RAM 32K - - - - - - -

    QK801 flash 32K 32K - - 32K 32K 32K 32K

    RAM 32K - - - 32K 32K 32K 32K

    QK2000 flash 32K 32K - - 32K 32K 32K 32K

    RAM 32K - - - 32K 32K 32K 32K

    Tabela 2-1 Capacidade de memria de Programa Aplicativo dos CPs

    Os valores dos operandos numricos (%M, %D, %F, %TM, %TD, %TF) so armazenados em reaseparada do programa, com diferentes tamanhos de acordo com o modelo do CP. Pode-se consultar aquantidade de memria de operandos livre na janela de edio do mdulo C no quadro de operandos.Para maiores informaes sobre a janela de edio do mdulo C, ver seo Janelas de Edio, nocaptulo 3 do Manual de Utilizao.

    Os operandos binrios (%E, %S e %A) possuem rea permanentemente reservada para os seusvalores na memria interna do microprocessador.

    O uso da memria de operandos apresentada em detalhes na seo Declarao de Operandos,neste mesmo captulo.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    19/308

    Captulo 2 Linguagem de Diagramas de Rels

    11

    Para maiores informaes sobre as capacidades e a organizao de memria de cada controlador,consultar os seus respectivos Manuais de Utilizao (ver seo Manuais Relacionados, noprefcio deste manual).

    LgicasChama-se lgicaa matriz de programao formada por 32 clulas (elementos da matriz) dispostasem 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 figura2-1 mostra o formato de uma lgica do programa aplicativo.

    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 "corrente

    eltrica" simulado em uma lgica flui somente no sentido da barra de energia esquerda para a direita,diferentemente dos esquemas eltricos reais. O conceito utilizado simplifica sobremaneira o projetolgico 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 2-2mostra a ordem de processamento das clulas da lgica. O nmero existente dentro de cada clulaindica a sua ordem de processamento.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    20/308

    Captulo 2 Linguagem de Diagramas de Rels

    12

    Figura 2-2 Ordem de Processamento das Clulas na Lgica

    OperandosOperandos so elementos utilizados pelas instrues do MasterTool na elaborao de um programaaplicativo. Os operandos podem definir valores constantes, definidos no momento da programao,ou variveis, identificadas atravs de um endereo ou de um tag, com valores possveis de seremalterados 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 formataode endereo de operandos.

    O formato de cada operando pode ser visto na seo Identificao de Operandos Simplese 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 7 caracteres (alfanumricos), que pode ser atribudo a qualquer operando, exceto constantes.Este nome passa a representar o operando nos processos de programao, monitorao, depurao edocumentao de um programa aplicativo.

    O MasterTool no permite a utilizao de TAGs para operandos do tipo constante (%KM ou %KD).

    Ex.:Atribui-se o tag CONT1ao operando %M0000.

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

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

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    21/308

    Captulo 2 Linguagem de Diagramas de Rels

    13

    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 atribuio do tag a um operando.

    A atribuio de tags operandos pode ser feita atravs do comando Operandos do menu Relatrio

    ou diretamente no momento da programao. No segundo caso, ao preencher o nome de umoperando de uma instruo com um tag no existente, indicada a inexistncia da definio do tag, esolicitado o tipo de operando para qual o tag deve ser criado.

    Para maiores informaes sobre criao e atribuio de tags para operandos, ver sees sobre ocomando Relatrio, Operandos, no captulo 4 e Inserindo Tags e Comentrios de Operandos, nocaptulo 5 do Manual de Utilizao do MasterTool

    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 MasterToolSo mostrados na tabela 2-2 os operandos disponveis no MasterTool:

    Tipo Operando

    %E Rels de Entrada

    %S Rels de Sada

    %R Endereo no Barramento

    %A Rels Auxiliares

    %M Memrias

    %D Decimais

    %F Reais

    %KM Constantes Memrias

    %KD Constantes Decimais

    %KF Constantes Reais

    %TM Tabelas Memrias

    %TD Tabelas Decimais

    %TF Tabelas Reais

    Tabela 2-2 Operandos Utilizados no MasterTool

    Os operandos dividem-se em 3 grupos:

    operandos simples

    operandos constante

    operandos tabela

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    22/308

    Captulo 2 Linguagem de Diagramas de Rels

    14

    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, nibbleou ponto.

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

    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

    Tipo da subdiviso: . - ponto da palavra baixa (1 ponto)

    h - ponto da palavra alta (1 ponto)

    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

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    23/308

    Captulo 2 Linguagem de Diagramas de Rels

    15

    Exemplos de tags:

    FORNO

    LIMSUP

    CHAVE1

    Identificao dos Operandos ConstanteOs 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:

    %Mmemria

    %Iinteiro

    %Ddecimal

    %F real

    Exemplos: %KM+05172 - constante memria positiva

    %KI-1 constante inteira negativa

    %KD-0974231 - constante decimal negativa

    %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 2-5.

    Figura 2-5 Formato de um Operando Tabela

    Tipo da tabela:

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    24/308

    Captulo 2 Linguagem de Diagramas de Rels

    16

    %TMmemria

    %TIinteiro

    %TDdecimal

    %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. Ver item Configurando o Barramentona seo Configurando o Mdulo Cnocaptulo 5 do Manual de Utilizao do MasterTool.

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

    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

    %E0025 - octeto de entrada 25

    Operandos %S - Rels de Sada

    So operandos usados para referenciar pontos de mdulos digitais de sada. Sua quantidade determinada pelo nmero de mdulos de E/S que esto dispostos nos bastidores que compem osistema. Ver item Configurando o Barramentona seo Configurando o Mdulo Cnocaptulo 5 do Manual de Utilizao do MasterTool.

    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.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    25/308

    Captulo 2 Linguagem de Diagramas de Rels

    17

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

    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

    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 Operandosneste 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 espao

    disponvel ao programa aplicativo.Os formatos dos Operandos %A podem ser vistos na figura 2-8

    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

    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

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    26/308

    Captulo 2 Linguagem de Diagramas de Rels

    18

    armazenando 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 2-9.

    Figura 2-9 Formatos dos Operandos %R

    Nos CPsAL-3003, AL-3004

    e nosbarramentos 0 e 1 do AL-2002/MSP, AL-2003 e do AL-2004

    ,cada posio no barramento corresponde a 8 octetos de operandos %R. Desta forma, na posio 0tem-se os operandos %R0000 a %R0007; na posio 1, %R0008 a %R0015, e assim por diante.

    Para se obter o primeiro operando de uma posio do barramento, basta calcular:

    Endereo do Octeto =Posio no Barramento X8

    Nos CPs PL101, PL102 e PL103, cada posio no barramento corresponde a 4 octetos de operandos%R. Desta forma, na posio 0 tem-se os operandos %R0000 a %R0003; na posio 1, %R0004 e%R0007, e assim por diante.

    Para se obter o primeiro operando de determinada posio do barramento, basta calcular:

    Endereo do Octeto =Posio no Barramento X 4

    Nos CPs AL-600, AL-2000/MSP, QK800, QK801, QK2000/MSPe nos barramentos de 2 a 9 doAL-2002/MSP, AL-2003 e 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 dedeclarao do barramento na coluna Endereos(ver item Configurando o Barramentona seoConfigurando o Mdulo Cno captulo 5 do Manual de Utilizao do MasterTool).

    Exemplos:

    %R0026 - octeto 26 do barramento

    %R0015.7 - ponto 7 do octeto 15 do barramento

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    27/308

    Captulo 2 Linguagem de Diagramas de Rels

    19

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

    Figura 2-10 Formatos dos Operandos %M

    A quantidade de operandos memria configurvel na declarao do mdulo C, sendo o limitemximo dependente do modelo de CP em uso (ver seo Declarao de Operandosneste mesmocaptulo).

    Os operandos %M so utilizados em instrues de movimentao, comparao, aritmticas,contagem, temporizao e de converso. Podem ser utilizados em contatos, da mesma forma que osoperandos %E, %S e %A. Estes operandos ocupam dois bytes de memria (16 bits), armazenando ovalor no formato complemento de dois (2'), conforme a figura 2-11.

    Figura 2-11 Formato do Operando Memria

    Exemplos:

    %M0032 - memria 32

    %M0072n1 - nibble 1 da memria 72

    %M0084.F - ponto 15 da memria 84

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    28/308

    Captulo 2 Linguagem de Diagramas de Rels

    20

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

    Figura 2-12 Formatos dos Operandos %D

    A quantidade de operandos decimal configurvel na declarao do mdulo C, sendo o limitemximo dependente do modelo de CP em uso (ver seo Declarao de Operandosneste mesmocaptulo).

    Os operandos %D so utilizados em instrues de movimentao, comparao, aritmticas, econverso. 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 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

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    29/308

    Captulo 2 Linguagem de Diagramas de Rels

    21

    Operandos %F - Reais

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

    Figura 2-14 Formatos dos Operandos %F

    A quantidade de operandos real configurvel na declarao do mdulo C, sendo o limite mximodependente do modelo de CP em uso (ver seo Declarao de Operandosneste mesmo 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 ocupamquatro bytes de memria (32 bits), armazenando o valor conforme a figura a seguir:

    Figura 2-15 Formato do Operando RealO 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

    Operandos %I - Inteiro

    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.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    30/308

    Captulo 2 Linguagem de Diagramas de Rels

    22

    Figura 2-16 Formatos dos Operandos %I

    A quantidade de operandos inteiro configurvel na declarao do mdulo C, sendo o limite mximodependente do modelo de CP em uso (ver seo Declarao de Operandos neste mesmo captulo).

    Os operandos %I so utilizados em instrues de movimentao, comparao, aritmticas, econverso. 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

    Operandos %KM, %KI, %KD e %KF - 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 2-18 Formato dos Operandos Constantes

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    31/308

    Captulo 2 Linguagem de Diagramas de Rels

    23

    Estes operandos so utilizados em instrues de movimentao, comparao, aritmticas, contagem ede 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

    As constantes reais podem conter at 8 dgitos significativos.

    Operandos %TM, %TI, %TD e %TF - Tabelas

    Tabelas de operandos so conjuntos de operandos simples, constituindo arranjos unidimensionaiscom a finalidade de armazenar valores numricos. Cada tabela possui uma quantidade de posies

    configurvel, onde cada posio pode conter exatamente os mesmos valores de um operando %M,%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 configurvel na declarao domdulo C. Podem ser definidas at 255 tabelas totais e at o mximo de 255 posies em cada tabela,respeitando-se o limite da memria de operandos do CP.

    As tabelas so utilizadas em instrues de movimentao.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    32/308

    Captulo 2 Linguagem de Diagramas de Rels

    24

    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 endereocontido na memria especificada esquerda do sinal.

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

    Figura 2-20 Formato de um Acesso IndiretoNo MasterTool, o acesso indireto s tabelas representado sem o asterisco.

    O acesso indireto utilizado em instrues de movimentao, comparao, 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.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    33/308

    Captulo 2 Linguagem de Diagramas de Rels

    25

    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.

    Por representarem valores fixos, os operandos constante (%KM, %KI, %KD e %KF) tambm noocupam espao em memria, sendo armazenados no prprio programa aplicativo na etapa deprogramao. 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, ocupandoestes uma rea de memria RAM prpria da UCP em uso. A tabela a seguir mostra a capacidademxima de memria para o armazenamento destes operandos em cada controlador. Os operandos%E, %S e %A no ocupam esta rea.

    Controlador Memria de Operandos

    %M, %D, %TM e %TD

    AL-600 8 Kbytes

    AL-3003 11,5 Kbytes

    AL-3004 11,5 Kbytes

    AL-2000/MSP 15,5 Kbytes

    AL-2002/MSP 15,5 Kbytes

    AL-2003 48 KbytesAL-2004 48 Kbytes

    QK600 8 Kbytes

    QK800 15,5 Kbytes

    QK801 15,5 Kbytes

    QK2000 15,5 Kbytes

    PL101, PL102, PL103 11,5 Kbytes

    PL104, PL105 15,5 Kbytes

    Tabela 2-3 Capacidade de Memria dos Operandos Numricos do CPA declarao dos operandos realizada atravs da janela de edio do mdulo C do MasterTool,sendo armazenada no mdulo C. A quantidade de operandos declarada deve se adequar capacidademxima de memria disponvel. Ver itens Configurando Operandos Simples, ConfigurandoOperandos Tabelas eConfigurando Operandos Retentivos na seo Configurando o Mdulo CnoManual de Utilizao do MasterTool.

    Deve-se declarar uma quantidade mnima de operandos memria (%M) que comporte osbytes de diagnstico utilizados nos mdulos do barramento.

    A reserva dos operandos %M, %I, %D e %F realizada em blocos de 256 bytes. No caso deoperandos memria, esta quantidade corresponde a 128 operandos. Em operandos decimais e reais,

    correspondem a 64 operandos.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    34/308

    Captulo 2 Linguagem de Diagramas de Rels

    26

    Os operandos %TM, %TI, %TD e %TF so declarados informando-se o nmero de tabelasnecessrio para cada tipo e o nmero de posies que cada tabela contm. possvel a definio deat 255 tabelas totais e at 255 posies para uma tabela, respeitando-se o limite da memria RAMde operandos.

    A tabela a seguir, mostra o espao de memria ocupado por cada tipo de operando e onde os seusvalores so armazenados.

    Operando Ocupao de Memria Localizao%E - entrada 1 byte Microprocessador%S - sada 1 byte Microprocessador%A - auxiliar 1 byte Microprocessador%KM - constante M - -%KI constante I - -%KD - constante D - -%KF - constante F - -%M - memria 2 bytes RAM de operandos%I - inteiro 4 bytes RAM de operandos%D - decimal 4 bytes RAM de operandos%F real 4 bytes RAM de operandos%TM - tabela M 2 bytes por posio RAM de operandos%TI - tabela I 4 bytes por posio RAM de operandos

    %TD - tabela D 4 bytes por posio RAM de operandos%TF - tabela F 4 bytes por posio RAM de operandos

    Tabela 2-4 Ocupao de Memria e Localizao dos Operandos

    Operandos Retentivos

    Operandos retentivos so operandos que tm seus valores preservados quando a UCP desenergizada (desligada). Os operandos no retentivos tm o seu valor zerado no momento em que ocontrolador 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 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 paraoperandos 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.

    Ver item Configurando Operandos Retentivos na seo Configurando o Mdulo Cno captulo 5do Manual de Utilizao do MasterTool.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    35/308

    Captulo 2 Linguagem de Diagramas de Rels

    27

    InstruesOs CPs ALTUS utilizam a linguagem de rels e blocos para a elaborao do programa aplicativo,cuja principal vantagem, alm de sua representao grfica, ser similar a diagramas de relsconvencionais.

    A programao desta linguagem, realizada atravs do MasterTool, utiliza um conjunto de poderosasinstrues apresentadas no captulo 3 Referncia das Instrues,neste manual.

    As instrues do MasterTool podem ser divididas em 7 grupos:

    RELScontendo 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

    MOVIMENTADOREScontendo 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

    ARITMTICOScontendo 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

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    36/308

    Captulo 2 Linguagem de Diagramas de Rels

    28

    CONTADOREScontendo as instrues: CON contador simples COB contador bidirecional TEE temporizador na energizao TED temporizador na desenergizao

    CONVERSOREScontendo 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

    LIGAEScontendo as instrues: LGH ligao horizontal LGV ligao vertical LGN ligao negada

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    37/308

    Captulo 2 Linguagem de Diagramas de Rels

    29

    Restries Quanto ao Uso de Instrues nos CPs

    A linguagem de rels e blocos perfeitamente compatvel entre os CPs programados peloMasterTool. Devido a caractersticas de funcionamento, contudo, algumas instrues no estodisponveis em todos os controladores. Na tabela 2-9 esto relacionadas as instrues e oscontroladores nos quais as mesmas no podem ser utilizadas.

    - indica que o CP possui a instruo

    - indica que o CP no possui a instruo

    UCPs

    Instruo

    AL-600 AL-3003AL-3004

    QK600,QK800,QK801

    PL101,PL102,PL103,PL104, PL105

    AL-2000,AL-2002,AL-2003,AL-2004,QK2000

    CES

    A/D

    D/A

    ECR

    LTR

    LAI

    Tabela 2-5 Instrues Inexistentes em Determinados CPs

    O MasterTool no permite inserir no programa aplicativo uma instruo que no possa ser executadano CP para o qual est configurado.

    ATENO:Ao editar um mdulo de programa aplicativo, o tipo de UCP declarado no item Modelo de UCPdajanela de edio do mdulo C deve ser o da UCP onde o programa ser executado.

    ATENO:Caso se deseje mudar o tipo de UCP para outro, aps o programa estar editado, deve-se procurar eremover as instrues que no podem ser utilizadas no novo tipo de UCP. Este procedimento deveser realizado em todos os mdulos do programa.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    38/308

    Captulo 2 Linguagem de Diagramas de Rels

    30

    Representao Grfica das Instrues

    Nas figuras a seguir esto representadas as configuraes mximas de entradas e sadas em cada tipo,no sendo necessariamente todas utilizadas em uma determinada instruo.

    Instrues com uma clula

    Instrues com duas clulas

    Instrues com trs clulas

    Instrues com quatro clulas

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    39/308

    Captulo 2 Linguagem de Diagramas de Rels

    31

    Instrues com seis clulas

    Descrio da Sintaxe das Instrues

    A descrio dos operandos possveis de serem programados nas clulas de cada instruo realizadade acordo com o formato mostrado na figura a seguir:

    Figura 2-21 Formato da Sintaxe das Instrues

    Vrias combinaes diferentes de operandos podem ser especificadas para uma mesma instruo.

    Exemplo:

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

    (acesso indireto a decimal).

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    40/308

    Captulo 2 Linguagem de Diagramas de Rels

    32

    Restries Quanto ao Posicionamento das Instrues

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

    Instrues que podem ser editadas somente na coluna 7:

    BOB bobina simples BBL bobina liga BBD bobina desliga SLT bobina de salto RM rel mestre FRM fim de rel mestre

    Instrues que podem ser editadas nas colunas 0 a 6:

    RNA rel normalmente aberto

    RNF rel normalmente fechado PLS rel de pulso LGH ligao horizontal LGV ligao vertical LGN ligao negada DIV diviso MOB movimentao de blocos de operandos > maior < menor = igual SEQ seqenciador CHF chama mdulo funo ECR escrita de operandos em outro CP LTR leitura de operandos de outro CP

    Instrues que podem ser editadas em todas as colunas:

    MOV movimentao de operandos simples

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

    AND funo 'e' binrio entre operandos

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    41/308

    Captulo 2 Linguagem de Diagramas de Rels

    33

    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

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    42/308

    Captulo 2 Linguagem de Diagramas de Rels

    34

    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, tambm conhecido como programa aplicativo. Istopermite 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) oupor outros mdulos, atravs de instrues apropriadas. Quando armazenado em disco, o projeto deprogramao corresponde a um conjunto de arquivos, onde cada arquivo contm um mdulo,denominados como mostra a figura a seguir:

    Figura 2-22 Formato do Nome dos Mdulos em Arquivo

    Exemplo: F-PID.033

    Em alguns locais deste manual e na Ajuda os mdulos de programa so referenciados somente peloseu 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. Ver seo Salvando um Mdulo com Outro Nomenocaptulo 5 do Manual de Utilizao do MasterTool.

    Se o nome do arquivo for modificado atravs de outro aplicativo do Windows, poder ser atribudoum nome invlido para o mesmo, no podendo mais ser lido para o MasterTool 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 deconfigurao do CP (C000).

    Mdulo C Estendido (Configurao): este mdulo de configurao existe quando o usurioutiliza em seu projeto uma determinada caracterstica da UCP que necessita de um mdulo deconfigurao estendido. Para maiores informaes consultar o manual de utilizao doMasterTool Programming (C003 a C009).

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

    Mdulo P(Procedimento): podem existir at 112 mdulos procedimento por projeto. Eles contm trechosde programa aplicativo, sendo chamados por instrues colocadas em mdulos de execuo, procedimentoou funo. Aps serem executados, o processamento retorna para a instruo seguinte de chamada. Osmdulos P funcionam como sub-rotinas, no permitindo a passagem de parmetros para o mdulo chamado(P000 a P111).

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    43/308

    Captulo 2 Linguagem de Diagramas de Rels

    35

    Mdulo F(Funo): podem existir at 112 mdulos funo por projeto. Eles contm trechos de programaaplicativo escritos de forma genrica, permitindo a passagem de parmetros para o mdulo chamado, deforma a poderem ser reaproveitados em vrios programas aplicativos diferentes. So semelhantes ainstrues, podendo ser chamados por mdulos de execuo, procedimento ou funo. (F000 a F111).

    Mdulo C - Configurao

    O mdulo C contm os parmetros de configurao do CP. Sua criao pr-requisito para a ediodos demais mdulos do projeto de programao no MasterTool. A definio dos parmetros contidosno mesmo realizada atravs da janela de edio de mdulo C. Para maiores detalhes sobre comoconfigurar um mdulo C, ver seo Configurando o Mdulo Cno captulo 5 do Manual deUtilizao do MasterTool.

    H somente um mdulo C por projeto de programao, tendo como nome o prprio nome do projetoe o nmero 000.

    Contedo de um mdulo C:

    Declarao do Barramento de mdulos de E/S:especifica a configurao dos mdulos de E/S aserem utilizados no controlador programvel, indicando a distribuio dos mesmos e mdulos especiais nobarramento do CP. A declarao dos mdulos define, desta forma, o nmero de pontos e os endereos de E/S

    a serem utilizados no programa aplicativo. A mesma realizada atravs da janela de edio do mdulo C.Para maiores informaes sobre como configurar o barramento, ver o item Configurando o Barramentonaseo Configurando o Mdulo Cno captulo 5 do Manual de Utilizao do MasterTool.

    Declarao de Operandos:especifica o nmero de operandos simples e tabelas de operandos que seroutilizados no projeto de programao, dentro de cada tipo disponvel. Permite tambm a definio daretentividade dos operandos, ou seja, quais operandos devem manter seu contedo com a falta de energia dosistema.

    Declarao de Operandos Simples: permite a definio da quantidade deoperandos Memria (%M), Inteiro (%I), Decimal (%D) e Real (%F). realizada atravs da janela de edio de mdulo C. Para maioresinformaes sobre como declarar operandos simples, ver o itemConfigurando Operandos Simples na seoConfigurando o Mdulo C

    no Manual de Utilizao do MasterTool. Declarao de Operandos Tabela:permite a definio do nmero de

    tabelas de operandos Memria (%TM), de operandos Inteiro (%TI), deoperandos Decimal (%TD), de operandos Real (%TF) e do nmero deposies 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 oitemConfigurando Operandos Tabela na seo Configurando o MduloC no Manual de Utilizao do MasterTool.

    Declarao de Operandos Retentivos:especifica o nmero de operandossimples que so retentivos, dentro dos operandos j declarados. Operandosretentivos 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 janelade edio de mdulo C. Para maiores informaes sobre como configuraroperandos retentivos, ver o item Configurando Operandos Retentivosna seoConfigurando Operandos Retentivosno captulo 5 do Manual de Utilizao doMasterTool.

    Declarao dos Parmetros Gerais da UCP:so parmetros genricos necessrios para ofuncionamento do controlador programvel, tais como o tipo de UCP na qual o programa aplicativo sercarregado, o perodo de chamada dos mdulos acionados por interrupo e o tempo mximo de ciclo devarredura . Estes parmetros so declarados atravs da janela de edio de mdulo C. Para maioresinformaes sobre como configurar os parmetros gerais, ver seo Configurando o Mdulo Cno captulo5 do Manual de Utilizao do MasterTool.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    44/308

    Captulo 2 Linguagem de Diagramas de Rels

    36

    Declarao dos Parmetros da Rede ALNET I:especifica os diversos parmetros necessrios aofuncionamento da comunicao em rede ALNET I. Estes parmetros so configurados na janela de edio demdulo C. Para maiores informaes sobre como configurar parmetros da rede ALNET I, ver itemConfigurando Parmetros da Rede ALNET Ina seo Configurando o Mdulo Cno captulo 5 doManual de Utilizao do MasterTool.

    Declarao dos Parmetros da Rede ALNET II:especifica os diversos parmetros necessrios aofuncionamento da comunicao em rede ALNET II, para os controladores programveis que permitem o seuuso. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores informaes sobrecomo configurar parmetros da rede ALNET II, ver item Configurando Parmetros da Rede ALNET IIna seo Configurando o Mdulo Cno captulo 5 do Manual de Utilizao do MasterTool

    Declarao dos Parmetros da Rede Ethernet:especifica os diversos parmetros necessrios aofuncionamento da comunicao em rede Ethernet, para os controladores programveis que permitem o seuuso. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores informaes sobrecomo configurar parmetros da rede Ethernet, ver item Configurando Parmetros da Rede Ethernetnaseo Configurando o Mdulo Cno captulo 5 do Manual de Utilizao do MasterTool

    Declarao dos Parmetros da Rede de Sincronismo:especifica os diversos parmetros necessriosao funcionamento da comunicao com rede de sincronismo, para os controladores programveis quepermitem o seu uso. Estes parmetros so configurados na janela de edio de mdulo C. Para maiores

    informaes sobre como configurar parmetros da rede de sincronismo, ver item ConfigurandoParmetros da Rede de Sincronismona seo Configurando o Mdulo Cno captulo 5 do Manual deUtilizao do MasterTool

    Mdulo C Estendido Configurao

    Estes mdulos contm configuraes de determinadas caractersticas das UCPs. 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).

    Para maiores informaes consultar Manual de Utilizao do MasterTool.

    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 na passagem demodo programao para execuo com o MasterTool, antes da execuo cclica do 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 aplicativo colocadoneste mdulo chamado para a execuo em intervalos de tempo peridicos. Define-se o perodo dechamada do mesmo nos parmetros gerais do mdulo C, podendo ser escolhido entre 50 ms, 25 ms, 10 ms, 5ms, 3,125 ms, 2,5 ms, 1,25 ms e 0,625 ms. Ao ser transcorrido o tempo programado, a execuo seqencialdo programa aplicativo interrompida e o mdulo E018 executado. Aps o seu final, o sistema retorna aexecuo para o ponto do processamento seqencial onde o mdulo E0001 havia sido interrompido. Otempo continua a ser contado durante a chamada do mdulo E018, devendo a sua execuo ser o mais brevepossvel 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. Casoisto acontea, o CP entra em modo erro sendo exibida a mensagem Reentrada no mdulo E018, najanela Informaes(comando Comunicao, Estado, Informaes).

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    45/308

    Captulo 2 Linguagem de Diagramas de Rels

    37

    E020 - Mdulo Acionado pela Entrada de Interrupo:o trecho de programa aplicativo colocadoneste mdulo executado com o acionamento da entrada de interrupo dos CPs AL-600/4, AL-600/8,AL-600/16, QK600, PL102 ou PL103. Quando ocorrer uma transio de subida no sinal presente nestaentrada, a execuo seqencial do programa aplicativo interrompida e o mdulo E020 executado. Aps oseu final, o sistema retorna a execuo para o ponto do processamento seqencial onde o mdulo E0001havia sido interrompido. Se a entrada for acionada com muita freqncia, o tempo de execuo do mduloE020 deve ser o mais breve possvel, para no haver o aumento excessivo no tempo de ciclo do mduloE001.

    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, najanela Informaes(comando Comunicao, Estado, Informaes).

    O mdulo E020 atua somente nos CPs AL-600/4, AL-600/8, AL-600/16, a partir da verso 1.20 do

    software executivo, bem como nos CPs QK600, PL102 e PL103. Somente estes CPs possuem aentrada rpida de interrupo que aciona o E020.

    DICA:Caso o modelo de CP definido no mdulo C permita o uso de determinado tipo de mdulo mas oMasterTool no esteja habilitando sua criao, pode-se utilizar o mdulo de execuo genrico,definindo-se seu nmero de acordo com a necessidade (E-.018 ou E-.020).

    Mdulo P - Procedimento

    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 112 (P000 a P111).

    O mdulo P til para conter trechos de programas aplicativos que devem ser repetidos vrias vezesno 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, 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).

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    46/308

    Captulo 2 Linguagem de Diagramas de Rels

    38

    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:

    Figura 2-23 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. permitida a passagem de todos os tipos de operandos.

    Exemplos:

    F-LINEAR.002- executa a linearizao de valores lidos de um sensor

    F-PID.033- realiza clculos para implementao de lao PID de controle

    Estados de Operao do CPExistem 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 frontalda UCP, podendo tambm ser consultado pelo MasterTool, atravs da caixa de dilogo Estado(opes Comunicao, Estado, a partir do menu principal). Para obter informaesespecficas 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 erealiza consistncias no projeto de programao presente na memria. Este estado ocorre aps a energizaodo controlador, passando aps alguns segundos para o estado execuo. Caso no exista programa aplicativona memria, o CP passa para modo erro.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    47/308

    Captulo 2 Linguagem de Diagramas de Rels

    39

    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

    salto para uma lgica anterior, provoca o acionamento do circuito de co-de-guarda da UCPsempre que for ligada, aps o estado de inicializao. Executando-se o procedimento anteriorlogo aps a energizao, o CP passa para o estado programao aps inicializar, permitindo oapagamento 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 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 deentrada, sendo as sadas desativadas e a memria do CP compactada. O CP permanece inoperante,esperando comandos do MasterTool. Este modo normalmente utilizado para a carga dos mdulos doprojeto de programao pelo MasterTool, atravs do canal serial. Ao passar para estado execuo ou ciclado

    a partir do estado programao, os operandos so zerados. Estado Ciclado:quando em modo ciclado, o controlador programvel no executa ciclicamente o mdulo

    E001, permanecendo espera de comandos do MasterTool. Cada comando executa cicloacionado noMasterTool (opes Comunicao, Estado, Executa Cicloa partir do menu principal ou atalhoequivalente) 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 contagemde tempo nos temporizadores pra, sendo os mesmos incrementados de uma unidade de tempo a cada duasvarreduras executadas. As chamadas para o mdulo de interrupo de tempo E018 no so realizadas nestemodo. 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 deprogramao. O tipo de erro ocorrido pode ser consultado atravs da caixa de dilogo (opesComunicao, Estado, Informaesa partir do menu principal), enquanto o CP estiver neste

    estado. A sada do estado de erro somente possvel passando-se o controlador programvel para modoprogramao.

    Em condies normais, o controlador programvel pode estar nos modos execuo, programao eciclado, sendo esses modos acionados atravs de comandos do MasterTool (opes Execuo,Programao e Ciclado da caixa de dilogo Estado,ou seus atalhosequivalentes na Barra de Ferramentas). Na ocorrncia de alguma situao defuncionamento errneo nestes modos, o CP passa para estado de erro. A recuperao do modo errosomente possvel passando-se o controlador programvel para modo programao. A figura aseguir apresenta as possibilidades de troca de estados:

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    48/308

    Captulo 2 Linguagem de Diagramas de Rels

    40

    Figura 2-24 Estados de Operao do CP

    Nos 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 umanica 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 detempo de interrupo programado. Nos CPs AL-600/4, AL-600/8, AL-600/16, QK600, PL102 ePL103, o mdulo E020 chamado, quando existente, com o acionamento da entrada de interrupo.A figura 2-22 mostra esquematicamente a execuo do programa aplicativo.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    49/308

    Captulo 2 Linguagem de Diagramas de Rels

    41

    Figura 2-25 Execuo do Projeto de Programao

    Elaborao de Projetos de Programao

    Consideraes Gerais

    Um projeto de programao composto ao menos por um mdulo C (configurao) e um mduloE001 (execuo). A condio mnima para a execuo de um projeto de programao a presena

    destes dois mdulos na UCP do controlador programvel.O primeiro passo para a edio de um projeto de programao no MasterTool a criao ou a leiturade um projeto. O mdulo de configurao do projeto criado automaticamente na criao de umnovo 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 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 permite que vrios mdulos sejam carregados e permaneam simultaneamente em suamemria

    Consideraes sobre Operandos

    Os 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 obrigatoriamenteestar declarados no mdulo C do novo projeto.

    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.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    50/308

    Captulo 2 Linguagem de Diagramas de Rels

    42

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

    Nas UCPs AL-600, AL-600/4, AL-600/8, AL-600/16, AL-3003, AL-3004, AL-2000/MSP,AL-2002/MSP, AL-2003, AL-2004, QK600, QK800, QK801, QK2000/MSP, PL101, PL102 ePL103 existem 18 nveis de chamada, desde os mdulos E (nvel mais alto). No CP AL-2003 e AL-2004 existem 32 nveis de chamada. Ou seja, podem ser executadas at 18 (ou 32, no caso doAL-2003 ou AL-2004) 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 ocupamnveis de chamada.

    Figura 2-26 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,Informaesa partir do menu principal), pois estas situaes podero causar erros noprocessamento 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 recursividadeum 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-27 Chamada Recursiva de Mdulos

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    51/308

    Captulo 2 Linguagem de Diagramas de Rels

    43

    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-28 Lao de Chamada de Mdulos

    Utilizao do Mdulo E018

    O mdulo E018 deve ser utilizado quando for necessrio um processamento rpido para algunspontos de entrada e sada do controlador programvel, como por exemplo, no sensoreamento 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 de

    posio.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 E020

    A entrada rpida de interrupo dos CPs das sries AL-600 e PICCOLO pode ser usada para umprocessamento imediato de um ponto de entrada, sendo til para o controle rpido deposicionamentos. Com o seu acionamento, o mdulo E020 chamado para a execuo, realizando oprocessamento 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 desegurana, dispositivos de frenagem ou outras aplicaes que necessitem rapidez de atuao.

    A entrada de interrupo tambm utilizada como a segunda entrada de contagem rpida nos CPsdas sries AL-600 e PICCOLO e na UCP QK600, no sendo necessrio nenhum ajuste noequipamento para selecionar sua funo. Caso o mdulo E020 esteja presente no CP, este chamadoa cada acionamento da entrada. Se o programa aplicativo chamar o mdulo F-CONT.005, esterealiza a leitura e escrita do valor de contagem, incrementado a cada acionamento da entrada. Sedesejado, pode-se utilizar esta entrada com ambas as funes, com o mdulo F-CONT.005contando o nmero de vezes que o mdulo E020 foi acionado.

  • 7/23/2019 MasterTool Programming - Manual Do MasterTool

    52/308

    Captulo 2 Linguagem de Diagramas de Rels

    44

    O mdulo E020 atua somente nos CPs AL-600/4, AL-600/8 e AL-600/16, a partir da verso 1.20 dosoftware executivo, e nos CPs QK600, PL102 e PL103. Somente estes CPs possuem a entrada rpidade interrupo que aciona o E020.

    Cuidados na Utilizao do Mdulo E018

    Alguns cuidados especiais so necessrios na programao do mdulo E018. Como o mesmo

    chamado de modo sncrono a cada perodo fixo de tempo, interrompendo o processamento 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 seutempo de execuo for 20 ms, restaro somente 5 ms para a execuo do programa principal antesque o E018 seja chamado novamente. Esta situao aumenta de forma considervel o tempo de ciclodo mdulo E001.

    Figura 2-29 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 menuprincipal). Nesta situao, deve-se aumentar o perodo de chamada utilizado ou diminuir o tempo deexecuo do 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. Os temporizadores (TEE e TED)continuam a contar o tempo a cada 100 ms, qualquer que seja o perodo de acionamento programadopara o mdulo, exatamente como na execuo cclica. O rel de pulso (PLS) aciona a sua sadadurante uma execuo do mdulo E018, zerando a mesma na prxima chamada. As instrues CHP eCHF 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 E018propriamente dito. O nmero mximo de nveis de chamada de mdulos utilizados dentro do mduloE018 deve ser acrescentado