1Programação Básica Clp Altus. MasterTools Programming. Al-600, PL103 e PO3045. 2 Índice MasterTools Programming............................................................................ 1 Al-600, PL103 e PO3045.................................................................................. 1 Índice........................................................................................................................... 2 1.0 Clp - Evolução histórica..................................................................................... 6 1.1 Filosofia básica................................................................................................... 6 1.2 Linguagens e formatos para programação......................................................... 6 1.3 Aplicabilidade..................................................................................................... 7 1.4 Hardware característico..................................................................................... 7 1.5 Sistemas de memória......................................................................................... 9 1.5.1 Memória Executiva (Rom e Eprom)............................................................. 9 1.5.2 Memória do Sistema (Ram)......................................................................... 9 1.5.3 Memória de Status (Ram)............................................................................ 9 1.5.4 Memória de dados (Ram)............................................................................ 9 1.5.5 Memória do Usuário (Ram e Eprom)........................................................... 9 2.0 Sistemas de numeração................................................................................... 10 3.0 Lógica digital.................................................................................................... 11 4.0 Portas lógicas básicas...................................................................................... 11 4.1.1Função “E” (AND)....................................................................................... 11 4.1.2 Função “OU” (OR).................................................................................... 11 4.1.3 Função NÃO (NOT)............................................................................... 13 4.1.4 Função NÃO E (NAND).......................................................................... 13 4.1.5 Função NÃO OU (NOR)........................................................................... 14 4.1.6 Função OU EXCLUSIVO (XOR)................................................................ 14 4.1.7 Função NÃO OR EXCLUSIVO (EXNOR).................................................. 15 4.1.8 Função Memória (FLIP-FLOP).................................................................. 15 5.0 Controlador AL-600.......................................................................................... 16 5.1 Programação básica dos CLPs Altus............................................................... 16 5.1.1 Aspectos gerais......................................................................................... 16 5.1.1.1 Lógicas................................................................................................ 16 5.1.1.2 Operandos ......................................................................................... 16 5.1.1.3 Operando relé de entrada – E............................................................. 17 3 5.1.1.4 Operando relé de saída - S................................................................. 17 5.1.1.5 Operando relé auxiliar – A................................................................... 17 5.1.1.6 Operando endereço de barramento – R............................................. 18 5.1.1.7 Operando memória - M....................................................................... 18 5.1.1.8 Operando decimal – D........................................................................ 18 5.1.1.9 Operando constante – KM e KD......................................................... 19 5.1.1.10 Operando tabela – TM e TD............................................................. 19 5.1.1.11 Acesso indireto - *............................................................................. 19 5.1.1.12 Instruções.......................................................................................... 19 5.1.1.13 Contatos normalmente aberto e fechado - RNA e RNF.................... 20 5.1.1.14 Bobina Simples, liga e desliga – BOB, BBL, BBD............................. 20 5.1.1.15 Bobina de salto – SLT....................................................................... 20 5.1.1.16 Relé de pulso – PLS.......................................................................... 20 5.1.1.17 Relé Mestre – RM e FRM.................................................................. 21 6.0 Introdução: Características dos CLPs.............................................................. 21 7.0 Conceitos básicos............................................................................................ 21 7.1.1 Controlador programável (CP).................................................................. 21 7.1.2 Terminal de programação......................................................................... 21 7.1.3 Terminal de supervisão............................................................................. 22 7.1.4 Unidade central de processamento.......................................................... 22 8.0 Arquitetura dos CPs Altus................................................................................ 23 8.1.1 Barramentos.............................................................................................. 23 8.1.2 Módulos de entradas e saídas................................................................... 23 9.0 MasterTools...................................................................................................... 24 9.1.1 Descrição.................................................................................................. 24 9.1.2 Conexões.................................................................................................. 24 9.1.3 Configuração do canal serial.................................................................... 24 9.2 Conceitos ........................................................................................................ 25 9.2.1 Projeto....................................................................................................... 25 9.2.2 Módulos..................................................................................................... 25 9.2.2.1 Módulo C: Configuração...................................................................... 25 9.2.2.2 Módulo E: Execução........................................................................... 26 ............................3 Lista de instrução..1 Configurando o modelo de UCP....3 E018 Módulo Acionado por Interrupção de Tempo:......... 30 10................. 37 11....................................................2.......................................................................1............................................. 35 10................................................. 39 11...... 29 10........................................... 38 11............ 28 10..........................3 Módulo P: Procedimento......... 39 11.......3 Instruções Básicas..........3.........................1 Associação de contatos no Ladder................1....................1..........4 Linguagem Corrente........................................... 35 11................ 27 9......................................2 E001 Módulo Seqüencial de Programa Aplicativo:............................................1 Inserindo um contato........................... 27 9..2.................. 39 11..................................... 46 12.......4 9................2 Documentação..........................2...................2 Instruções.............5 Análise das linguagens de programação......................3...1........................................1 E000 Módulo de Inicialização:. 40 12.............2..............2 Diagrama de blocos lógicos..............................................0 Programação em Ladder.............2..............................2........................... 37 11.......................... 29 10.....2.. 45 12....... 26 9................................................................................................2...................................6 Normalização....1....................2............................1............. 32 10..................................1..2...................3 Iniciando um programa:....................... 38 11...........................1........................ 47 ....2.......................................... ..1 Criando um projeto novo........2.........1 Diagrama de contatos....................6 Monitorando o Programa...................... 31 10. ........................................................................................ 37 11..............1........... 38 11.........3 Linguagem estruturada em blocos........................1.......5 Compilando o programa...............0 Exemplo de programação em ambiente MasterTools........................ 33 10...................... 26 9........................ 29 10..............1 Quanto a Forma de Programação ........4 Módulo F: Função.............. 43 12............1 Desenvolvimento do programa Ladder........................................ 41 12.......2................ 34 10................................2.......................................................................................................5.4 E020 Módulo Acionado pela Entrada de Interrupção:.............2......5............. 26 9..............................2 Introduzindo uma bobina:..............5........................2 Configurando o Barramento de E/S......................2.....................................................................................0 Programação de Controladores Programáveis.......3 Conjunto de Instruções.............4 Estabelecendo comunicação.........1... 27 9............. ...................... 53 12............ 50 12..................................8 Instrução Comparar.. 53 12.......0 Exercícios..... 69 15..................................................1..................................................0 Exercícios Intertravamento: Circuitos de Comando.......................1.15 Instrução And..............0 Bibliografia................1......................................................... 63 13.............16 Instrução Or... 60 12.....................13 Instrução Divisão..........................................12 Instrução Multiplicação.................. 66 14................................................................................................1...... 57 12.......................................................................................................................................................................................1...4 Funcionamento dos Principais Blocos................................................. 47 12....................... 71 ...17 Instrução Xor...... 49 12.................................. 56 12..1...................................................................................................................1........................................................10 Instrução Soma......................................5 12...............1. 52 12....................................................................1.............5 Instrução de Temporização.............................. 60 12.....6 Instrução de Contagem..........7 Instrução Mover..........1...... 59 12............................. 48 12......................1....................1............14 Instruções Lógicas.. 62 12.....................................1............................................11 Instrução Subtração........................................................1..9 Instruções Matemáticas. ser resistente ao ambiente e ser imune a toda natureza de ruídos. O cuidado dedicado ao desenvolvimento de um a linguagem adequada é prioridade do fabricante. e etc. a GENERAL MOTORS delineou um projeto que foi realizado por empresas prestadoras de serviço na área de automação industrial. 1. 1. No final da década de 60. o Melhor qualidade. apresentar flexibilidade para possíveis mudanças na lógica de controle.0 • Clp . substituindo os volumosos circuitos de relés eletromecânicos.1 Filosofia básica. Dentre outros tipos existentes no mercado temos: Lista de instruções. desta forma.Evolução histórica.2 Linguagens e formatos para programação. Linguagens Descritivas.A implantação dos Cps nos diversos processos da produção industrial gerou os seguintes resultados: o Maior segurança. o Maior velocidade e volume de produção. o controlador deve ocupar Projetado para substituir antigos quadros de relés pequeno espaço físico. Este deve ser de fácil operação e também oferecer uma grande flexibilidade de programação e estruturação. o formato torna-se fundamental para aceitação do produto no mercado. . Blocos lógicos. dando origem assim aos Controladores Lógicos Programáveis. que utiliza diagramas de contatos. • Início da década de 70. algumas empresas já iniciavam um projeto de implementação dos referidos controladores. Entra os formatos encontrados no mercado o mais popular é o LADDER.6 1. por uma questão de necessidade de aumento da produção industrial. Controle contínuo.3 • • • Aplicabilidade. em sua estrutura física encontramos: • • • • Unidade Central de Processamento. Um CP é basicamente um pequeno computador dedicado. como por exemplo: • Espaço de memória RAM com mapeamento para uso específico na aplicação fim. admitindo apenas serem programados com SOFTWARES desenvolvidos especificamente para eles. em outras palavras durante o projeto do controlador lógico programável seus espaços de memória são previamente organizados durante a elaboração do FIRMAWARE.7 1. Sistemas de segurança e intertravamento Processo em batelada. algumas características são particulares nos Cps. Memória do tipo ROM para armazenamento do FIRMWARE (programa onde se encontram os principais códigos de operação da máquina). . Memória RAM para armazenamento de dados e programas do usuário Dispositivos de Entrada e Saída para a comunicação com o exterior Por outro lado.4 Hardware característico. 1. Isto ocorre porque os Cps são equipamentos dedicados a um tipo de aplicação específica. 8 • • • Normalmente é utilizado um dispositivo de SOFTWARE que monitora o tempo limite Para a varredura do programa do usuário (watch dog time) Os dispositivos de entrada saída (pontos digitais). são geralmente isolados para evitar ruídos e também a danificação interna por picos de tensão na entrada ou saída. A operação simplificada de um CP pode ser representada pela estrutura abaixo: • o processador de CP efetua a leitura das entradas a atualiza a tabela imagem de entrada. . logo após executa o programa do usuário e atualiza a tabela imagem de saída. 9 1. Armazenar resultados e/ou informações intermediárias.5. o qual é responsável pôr todas as funções operacionais do CP. Armazenar dados referentes ao programa do usuário.5.2 Memória do Sistema (Ram). 1. 1. Independente dos tipos de memória utilizadas. 1. A capacidade de memória de um CP pode ser representada pôr um mapa chamado MAPA DE MEMÓRIA.5. pois armazena todas as instruções assim como os dados necessários para executá-las.3 Memória de Status (Ram). . Armazenar os estados dos sinais de entradas e saídas. O sistema de memória é uma parte de vital importância no processador de um controlador programável. o MAPA DE MEMÓRIA de um controlador programável pode ser dividido em cinco áreas principais 1.5 Sistemas de memória.1 Memória Executiva (Rom e Eprom).5 Memória do Usuário (Ram e Eprom) Armazenar o programa de controle desenvolvido pelo usuário. 1.4 Memória de dados (Ram). Armazena o sistema operacional.5.5. gerados pelo sistema operacional. 8.1. BINÁRIO: Sistema representando somente pôr dois algarismos 0.D.2.7.E.2.F.3.2.5. OCTAL E HEXADECIMAL: Estes sistemas de numeração são de interesse pela sua relação com o sistema binário. este utiliza a “base” 10.5.0 Sistemas de numeração. No sistema hexadecimal a “base” é dezesseis e os dígitos são 0.6.8. 1. DECIMAL: Sistema representado pôr dez algarismos 0.9.7.A.C.1.7.9.5. Abaixo a tabela nos mostra a equivalência entre os dois sistemas Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Binário 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 . portanto de “base” 2. A relação especial resulta do fato que 3 algarismos binários podem representar oito números diferentes e que 4 algarismos binários podem representar 16 números diferentes.6.6.4.4.10 2.3. No sistema octal a “base” é oito e os dígitos usados são: 0.B.3.4.1. Assim adotou-se a álgebra desenvolvida pôr George Boole (1815-1854).0 Portas lógicas básicas. devido a este simplificar os circuitos eletrônicos. somente se uma ou mais variáveis forem iguais a “1”. 4. somente quando todas as variáveis forem iguais a “1”.1 Função “E” (AND) A função “E” é igual a “1”. . zero (falso) e um (verdadeiro).1. Desta forma criou-se à álgebra baseada em dois estados.1. 4. Esta álgebra é representada eletronicamente pôr dois estados distintos. 4. A eletrônica utiliza o sistema numérico binário.0 Lógica digital. ficou conhecida como álgebra de Boole.11 3.2 Função “OU” (OR) A função “OU” é igual a “1” . 12 . . A saída é a inversão da entrada. somente se sua entrada é “0”.4 Função NÃO E (NAND) É a função “E” com a saída negada. 4.1.13 4.3 Função NÃO (NOT) A saída da função “NÃO” é igual a “1” .1. Se sua entrada for igual a “0” sua saída será igual a “1”. . 4.14 4.6 Função OU EXCLUSIVO (XOR). É uma função “OU” com a saída negada. É uma função “OU EXCLUSIVO ” terá a saída verdadeira somente se as duas entradas forem diferentes.5 Função NÃO OU (NOR).1.1. No caso da função memória (flip-flop).1. A saída “Q” terminará quando for resetada pela entrada “B”.8 Função Memória (FLIP-FLOP).15 4. 4. É uma função “NOR EXCLUSIVO ” terá a saída verdadeira somente se as duas entradas forem iguais . a saída “Q” existirá no momento em que a entrada “A” existir e continuará existindo. não importando o estado subseqüente da entrada “A”.1. .7 Função NÃO OR EXCLUSIVO (EXNOR). A.1. Cada lógica do programa representa um pequeno trecho de programa em linguagem de relés (Ladder logic). Em cada uma das células podem ser colocadas instruções.16 5.1.1. podendo portanto cada lógica ter até 32 instruções.1 Programação básica dos CLPs Altus. Quanto à programação: Utiliza a linguagem LADDER desenvolvida pela própria Altus S. 5. Vejamos o diagrama em bloco Características do módulo Básico • • • • entradas digitais 8 saídas digitais 2 entradas de contagem rápida 2 canais analógicos de entradas e 2 canais analógicos de saídas.1.1 Lógicas Uma lógica é uma matriz de programação formada por 32 células dispostas em 4 linhas e 8 colunas. a seguir veremos as principais instruções. Este CP comunica-se externamente através do protocolo ALNET (RS-233).2 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Operandos São elementos utilizados pelas instruções do programador para a elaboração de um programa aplicativo.1.1 Aspectos gerais.0 Controlador AL-600 O CP AL-600 da ALTUS S. As células são processadas na seguinte ordem: 1 2 3 4 5. .. memória flash EPROM e RAM que contém programas e dados de programa. 5. 5. é uma máquina de pequeno porte que utiliza um microcontrolador INTEL 80C32 operando à 15Mhz.A. Exemplos: . Nibble inferior do octeto de entrada 21 (n0 ou n1).17 Operando E S R A M D KM KD TM TD 5. S0011.6 E0021n0 E0025 Ponto 6 do octeto de entrada 18 (.5 Operando relé auxiliar – A Utilizados para armazenamento e manipulação de valores intermediários no programa aplicativo.3 Símbolo Relé de entrada Relé de saída Endereço do barramento de E/S Relés auxiliares Memórias Decimais Constante tipo memória Constante tipo decimal Tabelas de tipo memória Tabelas de tipo decimal Operando relé de entrada – E Usado para se referenciar aos módulos de entradas digitais.1. Octeto de saídas 15. 5. Cada operando ocupa um byte contendo o estado de 8 entradas digitais.0 a .1.1. Nibble superior do octeto de saídas 10. Octeto de entrada 25.S Usado para se referenciar aos módulos de saídas digitais.1. Cada operando ocupa um byte na memória contendo o estado de 8 relés auxiliares.1. Cada operando ocupa um byte contendo o estado de 8 saídas digitais. Exemplos: E0018. 5.7).4 Operando relé de saída .2 S0010n1 S0015 Ponto 2 do octeto de saídas 11.1. 5.1. Ponto 7 do Octeto 15 do barramento.0 a . Octeto inferior da memória 64 (b0 a b1). Octeto auxiliar 24. 5.8 Operando decimal – D Utilizados para processamento numérico. n6 n5 n4 n3 n2 n1 n0 . Ponto 15 (MSB) da memória 84 (. Nibble 6 do decimal 59 (n0 a n6). Armazenam um número inteiro com sinal (-32768 a 32767). Bit Sinal Exemplos: D0041 D0032b2 D0059n6 D0172hA Decimal 41. No posição no barramento corresponde a dois octetos de operandos.1.1. Armazenam em formato BCD até 7 dígitos com sinal.6 Operando endereço de barramento – R CLP Altus cada Usados para referência direta a periféricos no barramento.1. Octeto 2 do decimal 32 (b0 a b3).18 A0032.M Utilizados para processamento numérico.F). Nibble 1 da memória 72 (n0 a n3).F Memória 32. Nibble superior do auxiliar de saída 87. 5. Exemplos: R0026 R0015.1. Exemplos: M0032 M0064b0 M0072n1 M0084. Ponto 10 da palavra alta do decimal 172 (h0 a hF).1.7 A0087n0 A0024 Ponto 7 (MSB) do auxiliar de saída 32.7 Octeto 26 do barramento.7 Operando memória . 1. KD-0974231 Constante decimal.12 Instruções São expressas em relés. A.19 D0172. permite indireta a outros operandos do sistema (tipo E.10 Operando tabela – TM e TD Conjunto de constantes formando um arranjo unidimensional. 5. .11 Acesso indireto . Exemplos: TM0026 TD0015 Tabela de constante tipo memória número 36. Operando de memória apontado pela memória 9. M. 5. 5.1. +5172. D. Tabela de decimais apontada pela memória 371 (Não usa o *).0 a .F). referenciados por índices.1. S.B 5.1. conforme já definidos.9 Ponto 11 da palavra baixa do decimal 172 (.1.1. Exemplos: M0043*E M1824*A M0371TD M009*M Octeto de entrada apontado pela memória 43. Podem ser do tipo memória (inteiro com sinal de 16 bits) ou decimal (até 7 dígitos BCD e sinal).1. Octeto auxiliar apontado pela memória 1824. Tabela de constante tipo decimal número 15. TM ou TD). Exemplos: KM+05172 Constante memória.* a referência Operando que em conjunto com um operando memória. bobinas e blocos. Operando constante – KM e KD Define valores fixos no programa. -974231.1. Podem conter valores variáveis do tipo M e D. X DXXXXhX 5.1.1.X SXXXX.X MXXXX.16 Relé de pulso – PLS Gera um pulso na saída com duração igual ao tempo de um ciclo completo do programa aplicativo quando a entrada transiciona de 0 para 1.1.X DXXXX.X DXXXXhX 5.1. Utiliza-se um relé auxiliar para memorização.1.14 Bobina Simples.X AXXXX. . liga e desliga – BOB.15 Bobina de salto – SLT Desvia o programa quando a bobina é ativada.20 5.X DXXXX. BBD As bobinas liga e desliga atuam como as entradas S e R de um flip-flop.X AXXXX. Tem como operando uma constante KM (+ ou -) que determina o número de lógicas a serem saltadas.1. Operandos: SXXXX.RNA e RNF Operandos: EXXXX.1.13 Contatos normalmente aberto e fechado .1.X MXXXX. BBL. Operandos: KM+XXXXX KM-XXXXX 5. Convém salientar que pode ser obtida uma cópia deste Software na página www. 7. em nenhuma hipótese.1. fornecer cópias do mesmo. Nas seguintes páginas temos uma breve apresentação do ambiente de programação da Altus chamado MasterTools. energizando ou não a “alimentação” dos mesmos conforme a entrada do relé mestre seja 1 ou 0. que foi adquirido pelo cliente.0 Introdução: Características dos CLPs O presente documento tem por objetivo apresentar as principais características de programação dos Controladores Programáveis (CPs) utilizados na disciplina CP no curso técnico em informática industrial.21 5.altus. Para o desenvolvimento de nosso programa utilizaremos os CPs produzidos pela Altus aqui do Rio Grande do Sul. monitorando todos os passos do programa. É utilizado para criar e modificar programas aplicativos.br para demonstração. Basicamente é um computador que se conecta temporariamente ao CP. Assim cabe frisar que não podemos. 6.1.2 Terminal de programação.0 Conceitos básicos 7. Convém salientar que este Software de programação é propriedade da Altus e a mesma o vende para seus clientes finais para que o CP. verificar o funcionamento do sistema. suas características principais e exemplos de sua utilização.1.17 Relé Mestre – RM e FRM Posicionadas na coluna 7 da lógica. delimitam trechos de programa.1 Controlador programável (CP) Segundo a ABNT é um equipamento eletrônico digital com hardware e software compatíveis com aplicações industriais. possa ser programado. 7. Quando da instalação de um CP é considerado um equipamento opcional. . Nosso principal objetivo é a apresentação da Linguagem Ladder.com. respectivamente.1. Esta interface não possibilita a programação dos CPs. A Ram é uma memória volátil. para a aquisição de dados da máquina ou do processo.5 Entradas e saídas. • Memória FLASH: É a responsável pelo armazenamento do programa aplicativo.22 7. não pode ser alterado ou lido pelo programador MasterTools. É um computador que permanece conectado ao CP. • Memória EPROM: Armazena o programa executivo (desenvolvido pelo fabricante do CP). Recebe os dados de entrada. • Programa aplicativo: é a lógica existente entre os pontos de entradas e saídas e que executa as funções desejadas. • Memória RAM: Responsável pelo armazenamento do programa aplicativo (programa de usuário responsável pelo controle da máquina ou processo). para melhor visualizar o estado do processo ou da máquina que está sendo monitorada.1. gráficos.3 Terminal de supervisão.1. Módulos responsáveis pela interface entre realizando a isolação e filtragem dos sinais e a adaptação dos níveis de tensão e . Considerada como a unidade inteligente do CP.1. A Flash não necessita de alimentação de energia elétrica para reter os seus dados. o CP e os dispositivos de campo. ou seja.4 Unidade central de processamento. etc. realiza as decisões lógicas baseadas no programa de usuário (programa aplicativo). 7. Responsável pela tomada de decisões para o controle de máquinas e processos. • Microcontrolador: Executa todas as funções internas de controle de dados e instruções nas memórias do CP. Pode ser considerado como uma interface Homem – máquina. armazena os dados e atualiza as saídas. perde seus dados quando não estiver alimentada pela energia elétrica. Este computador executa um software supervisório que permite desenvolver telas. 7. possui arquitetura aberta. contatores.1.1. etc. enquanto que os demais barramentos. permitindo a conexão com vários protocolos de comunicação. 8. a partir dos dispositivos ou componentes externos (sensores). Exemplos são lâmpadas. quando existentes. • Pontos de saídas: Cada sinal produzido pelo CP para adicionar dispositivos ou componentes do sistema • de controle (atuadores). A série PONTO.23 corrente até a CPU. São responsáveis pela interface entre os sinais de campo e a UCP. solenóides. permite a conexão com outros CPs e outros módulos de E/S. 8.1 Barramentos Realiza a interligação da UCP aos módulos de entrada e saída. são alimentados por uma fonte auxiliar ligada a CPU através de um cabo de conexão de barramento estendido. O barramento 0 é alimentado pela própria UCP. Dispositivos de campo:São elementos do sistema de controle responsáveis pela obtenção de informações (sensores) e atuação (atuadores) da máquina ou processo. São divididos em pontos de entradas e saídas digitais ou canais analógicos. . motores. Cada barramento comporta até 16 módulos de entradas e saídas. Dependendo do modelo da UCP podem ser instalados até 8 barramentos. relés. • Pontos de entradas: considera-se cada sinal recebido pelo CP.0 Arquitetura dos CPs Altus A série Piccolo permite o controle de até 132 pontos de entradas/saídas com uma unidade central de processamento e esta dividida em vários modelos. 8.2 Módulos de entradas e saídas Os módulos de entradas e saídas são conectados ao barramento. modificar programas prontos ou para examinar o estado dinâmico das variáveis do sistema de controle. PICOLLO (PL103) e PONTO (PO3045).1. 98.1 MasterTools Descrição Utilizaremos para a programação dos produtos Altus o programador denominado MasterTools Programming MT4100 que é executado em ambiente Windows 95.2 Conexões Nas aplicações realizadas no laboratório de automação o MasterTools comunica-se com o CP.0 9. contendo todas as ferramentas necessárias à programação simbólica. gravação e monitoração em tempo real dos programas aplicativos desenvolvidos para controladores programáveis das séries AL-600. 9. impressão.1. o MasterTools assume que a comunicação será realizada pelo canal 1 (COM1). através da interface serial tipo RS-232C do microcomputador. 9.1. O MasterTools é utilizado para realizar a edição de programas para os CPs Altus. Este programador possui um ambiente com funções integradas. o computador poderá operar permanentemente conectado ao controlador programável. Sua operação como as demais aplicações Windows são orientadas por comandos de menus e caixas de diálogos que permitem a realização das tarefas e escolhas de opções. Mesmo que exista outra interface de comunicação serial.3 Configuração do canal serial É possível alterar esta configuração através do comando “Opções/Comunicação” escolhendo o novo canal apropriado para a comunicação serial. Caso seja desejado. . É possível acompanhar todos os passos do programa aplicativo em tempo real. e ME. O canal padrão utilizado pelo MasterTools é o canal 1 (COM 1). verificar programas já enviados. forçando a ocorrência de ações específicas.24 9. 000: Número do módulo. etc.2. XXXXXX: Nome do módulo (até 6 caracteres). Existem quatro tipos de módulos que podem fazer parte de um projeto de programação: 9.25 9.2.2. E018. 9.2. Nome do arquivo: C Onde: C : Tipo de Módulo (C. no qual deve conter os parâmetros de configuração do CP (000). Este módulo é indispensável para o CP entrar em execução normal do programa aplicativo. denominado conforme descrito a baixo. XXXXXX .2 Módulos Os módulos são chamados para a execução pelo software executivo (sistema operacional do CP) ou por outros módulos. onde cada arquivo é um módulo. Freqüentemente os módulos são referenciados somente pelo seu tipo e número.1 Módulo C: Configuração. Exemplo: E0001. : Ponto de separação.2 Conceitos 9. F) . C000. E. Cada CP deve possuir apenas um projeto. quando não for relevante o nome utilizado no mesmo. P.: Identificador de módulo (-). o projeto de programação corresponde a um conjunto de arquivos. Quando armazenado em disco. através de instruções apropriadas.1 Projeto Funcionalmente um projeto de programação é conhecido como programa aplicativo e pode ser visto como uma coleção de módulos de software utilizados para realizar uma tarefa específica. . 000 Deve existir apenas um módulo de configuração por projeto. . 9.625 ms. antes da execução contínua do módulo E001. diferenciando-se entre si pelo modo como são chamados à execução. O nome do módulo C é igual ao nome do projeto seguido da terminação . sendo chamados para a execução do software executivo. Este módulo é opcional na execução do . o sistema retorna a execução para o ponto do processamento seqüencial onde o módulo E001 havia sido interrompido.2.26 Sua criação é pré-requisito para a edição dos demais módulos do projeto de programação no MasterTools.2. devendo a sua execução ser o mais breve possível para não haver o aumento excessivo no tempo de programa aplicativo. Módulo opcional na execução do programa executivo.2.2. Existem quatro módulos E. Os módulos E contém trechos do programa aplicativo. sendo executado ciclicamente.2.3 E018 Módulo Acionado por Interrupção de Tempo: O trecho de programa aplicativo. podendo ser escolhido entre 50ms e 0. A definição dos parâmetros contidos no mesmo é realizada através da janela de edição do módulo C. a execução é interrompida e o módulo E-018 é executado. 9. ciclo E001.2.2. O tempo continua a ser contado durante a cada chamada do módulo E-018.2 E001 Módulo Seqüencial de Programa Aplicativo: Contém o trecho de programa principal do programa aplicativo.1 E000 Módulo de Inicialização: É executado uma única vez. Este módulo é indispensável para o CP entrar em execução normal do programa aplicativo. ao se energizar o Cp ou na passagem do módulo de programação para execução com o MasterTools.2. 9.000.2.2 Módulo E: Execução.2. Após o seu final. conforme o seu número. colocado neste módulo é chamado para a execução em intervalos de tempos periódicos. Ao ser transcorrido o tempo programado. Define-se o período de chamada do mesmo nos parâmetros gerais do módulo C.2. 9. em linguagens de relés ou de máquinas. Permitem a passagem de parâmetros para o módulo chamado. Podem ser usados para melhorar a estrutura do programa principal. Estes módulos são escritos de forma genérica para serem aproveitados por vários programas aplicativos. não permitindo a passagem de parâmetros para o módulo chamado.2. Se a entrada for acionada com muita freqüência. Após serem executados.3 Módulo P: Procedimento.2.4 Módulo F: Função. Os módulos P funcionam como sub-rotinas. de forma a poderem ser reutilizados em vários programas aplicativos diferentes. o processamento retorna para a instrução seguinte à chamada.4 E020 Módulo Acionado pela Entrada de Interrupção: O trecho de programa aplicativo colocado neste módulo é executado com o acionamento da entrada de interrupção dos CPs AL-600. 9. a execução seqüencial do programa aplicativo é interrompida e o módulo E0020 é executado. o tempo de execução do módulo deve ser o mais breve possível. Módulo opcional na execução do programa aplicativo. Após o seu final. para não haver o aumento excessivo no tempo de ciclo do módulo E001.2. Módulo opcional na execução do programa aplicativo.2. procedimento ou função. sendo semelhantes às instruções da linguagem de relés. Os valores dos parâmetros são enviados e . PL103 e PO3045. dividindo-o em segmentos de acordo com as etapas da máquina ou processo.2.2.2. Podem existir até 112 módulos procedimento em um projeto.(P000 a P111). São executados quando chamados pelos módulos de execução procedimento ou função.27 9. 9. o sistema retorna a execução para o ponto do processamento seqüencial onde o módulo E001 havia sido interrompido. São semelhantes às instruções podendo ser chamados por módulos de execução. Quando ocorrer uma transição de subida no sinal presente nesta entrada. A linguagem estruturada em blocos é definida como a divisão de um programa único. . permitindo assim.28 devolvidos através de listas de operandos existentes na instrução de chamada e no módulo F. A passagem de parâmetros é realizada através da cópia dos valores dos operandos declarados (passagem de parâmetros por valor). para o controle de várias etapas de um processo. da documentação e da manutenção do sistema.3 Linguagem estruturada em blocos. em vários programas menores. melhorar a organização do programa aplicativo. Módulo opcional na execução do programa aplicativo. Além disso pode-se criar uma biblioteca de sub-rotinas para a reutilização durante o programa aplicativo. 9. Selecionar em “modelo de Clp” o Clp que você está utilizando Obs. Para criar um projeto novo clique no menu <Projeto > <Novo>: Entre com o nome do projeto como mostrado abaixo.: Dispomos do de dois modelos: PL103 E AL600 e PO3045. Nome: ex1 (Exemplo1). Criando um projeto novo.1 Configurando o modelo de UCP Selecione o modelo do CP conforme a figura abaixo.0 10. 10.29 10.1 Exemplo de programação em ambiente MasterTools.1. : . Confirme a troca de modelo da UCP caso necessário. surgirá a seguinte mensagem: Confirme a troca com <Enter>. Para o modelo AL-600 devese digitar: .1.30 Após confirmar a seleção com <Enter>. surgirá a seguinte tela: O exemplo abaixo se refere ao modelo de UCP PL103. 10. Clicando em<barramento> surgirá a seguinte tela: Clicando em <barramento 0>.2 Configurando o Barramento de E/S. Aqui introduziremos nosso programa.31 Clique em <fechar >até retornar a tela mostrada abaixo: 10.1. .3 Iniciando um programa: No menu principal clique em <módulo > <novo>: Após clique em modulo principal. Surgirá o quadro indicado abaixo. Digite o nome do programa e confirme com enter. 7 .3.: Modelo Clp PL103 Entradas Saídas E0.0 até S3.7 E1.0 até S2.1 Inserindo um contato Para demonstrar o projeto exemplo.0 até E0.0 até E1. vamos inserir um contato aberto: Surgirá a seguinte tela: Obs.1.7 S3.32 10.7 S2. 2 Introduzindo uma bobina: Denominando a bobina simples (que é uma saída) como S2.7 S51.0 até S2.1.7 E0.0 até E0.0 até E1.7 S2.: As ligações verticais podem ser feitas teclando a tecla “+” As ligações horizontais podem ser feitas teclando a tecla “-” 10.0 até E1. <conectar ligações>. Surgirá a seguinte tela: .3.33 AL600 PO3045 E0.7 E1.7 No exemplo digitaremos <E0.0 até E0.0.7 E1.0 até S51.0 até S50.0> e confirmaremos com <enter>. Obs.7 S50. teremos a seguinte tela Para fazer as ligações automaticamente: Clique em <edição>. 10.4 Estabelecendo comunicação. Surgirá a seguinte tela: Salve o programa clicando em <sim>. Clique em <Comunicação > <Estado > <Programação>.: se. Obs.1.34 Para encerrar o programa: Clique em <edição ><encerrar modificação>. O led indicativo de estado de programação (Prog) irá iluminar- . 35 Clique em <fechar>.1. O led indicativo de estado de execução (exec) irá iluminar-se.5 Compilando o programa. 10. 10. . Enviar <todos><Fechar>.1. Clique em <Módulo> < Abrir >. Clicar em <fechar>. Clique em <ler e enviar módulos>. Clique em <comunicação > <Estado > <Execução>.6 Monitorando o Programa. 36 No exemplo digitamos o nome de exerc 1 Clique em <ok>. . possibilitam a apresentação do programa do usuário em uma ou mais 11. Lista de instruções. Esta forma gráfica de apresentação está muito próxima a normalmente usada em diagrama elétricos. Exemplo: . Alguns CLPs. Linguagem corrente.0 Programação de Controladores Programáveis Normalmente podemos programar um controlador através de um software que possibilita a sua apresentação ao usuário em quatro formas diferentes: • • • • formas. onde sua representação gráfica é feita através das chamadas portas lógicas. Diagrama de blocos lógicos (lógica booleana). Diagrama "ladder".2 Diagrama de blocos lógicos Mesma linguagem utilizada em lógica digital.1 Diagrama de contatos Também conhecida como: • • • Diagrama de relés. Diagrama de contatos. Exemplo: ---| |------| |--------------------------( )------ ------| |-------------- 11.37 11. Diagrama escada. 38 11. Exemplo: : A I 1. que é uma linguagem popular de programação.3 Lista de instrução Linguagem semelhante à utilizada na elaboração de programas para computadores.5 Análise das linguagens de programação Com o objetivo de ajudar na escolha de um sistema que melhor se adapte as necessidades de cada usuário.4 Linguagem Corrente É semelhante ao basic. "desligar solenóide". . Conjunto de Instruções. Esta análise se deterá nos seguintes pontos: • • • • Quanto a forma de programação. I 1. 11.6 :O : A I 1.5 : A I 1.0 11.0 (I 1. pode-se analisar as características das linguagens programação disponíveis de CLPs.5. "ligar motor". Comandos típicos podem ser "fechar válvula A" ou "desligar bomba B".4 : A I 1. I 1. Quanto a forma de representação. e uma linguagem de programação de alto nível.3) = Q 3.3 : = Q 3.4.6) + (I 1. Documentação. 5. Lista de Instruções. Diagrama de Blocos.programa escrito escrita em único bloco Programação Estruturada . Simplicidade de documentação e entendimento por outras pessoas além do autor do software. De qualquer forma.5. . Quanto mais rica em comentários. Desenvolvimento de bibliotecas de rotinas utilitárias para utilização em vários programas. tendo em vista que um grande número de profissionais estão envolvidos no projeto de um sistema de automação que se utiliza CLPs. 11. Podem servir para mera substituição de comandos a relés: • • • • Funções Lógicas. operacionais ou geográficos. Estes já citados anteriormente. Temporização. Quanto a Forma de Representação • • • Diagrama de Contatos. Permite dividir o programa segundo critérios funcionais.3 Conjunto de Instruções É o conjunto de funções que definem o funcionamento e aplicações de um CLP. Facilidade de manutenção. 11.5. melhor a documentação que normalmente se divide em vários níveis. uma abordagem neste sentido torna-se cada vez mais importante.2 Documentação A documentação é mais um recurso do editor de programa que de linguagem de programação.39 11. Memorização. Contagem.Estrutura de programação que permite: Organização.1 • • • • • • Quanto a Forma de Programação Programação Linear . desde sua concepção até a manutenção. linguagem que vem substituir todas as linguagens declarativas tais como linguagem de instruções. etc. etc. um programa padrão. BASIC estruturado e inglês estruturado. isto é.programação como esquemas de relés. Structured Control Language (SCL) . pode servir tanto para o CLP de um fabricante A como de um fabricante B. As formas de representação são : . onde através de um chamado compilador. aritmética com ponto flutuante. A norma IEC 1131-3 prevê três linguagens de programação e duas formas de apresentação. As linguagens são: • • Ladder Diagram . Esta linguagem é novidade no mercado internacional e é baseada no Pascal. Conversão de dados. PID. Boolean Blocks .40 Como também manipulação de variáveis analógicas: • • Movimentação de dados. "Negação". podem ser necessárias: • • • • • • • Saltos controlados. na verdade este tipo de padronização é possível utilizando-se o conceito de linguagem de alto nível. comunicação de dados.6 Normalização Existe a tendência de utilização de um padrão de linguagem de programação onde será possível a intercambiabilidade de programas entre modelos de CLPs e até de fabricantes diferentes. Indexação de instruções. "Ou exclusivo". pode-se adaptar um programa para a linguagem de máquina de qualquer tipo de microprocessador. Se funções complexas de algoritmos. seqüenciadores. 11. Esta padronização está de acordo com a norma IEC 1131-3. Funções aritméticas.blocos lógicos representando portas "E". interfaces homemmáquina. "OU". por mais que um fornecedor deixe o mercado. alimentados por duas barras verticais laterais. Tabela de alguns CLPs versus endereçamento. com a bobina na extremidade direita. nunca se ficará sem condições de crescer ou repor equipamentos...D.. e por isso é a linguagem de programação de CLP mais simples de ser assimilada por quem já tenha conhecimento de circuitos de comando elétrico..A. ALLEN BRADLEY SLC-500 I:SLO.evolução do graphcet francês.. economizando em treinamento e garantindo que..D. %AI a %AI. /0 a O:SLOT.41 • • Programação convencional.. S.. C5:0 %R1 a %R.0 a O:SLOT. %T1 a %T...PO B3:0/0 NTO O:3.. GEFANUC 90-70 90-30 90-20 90-MICRO %I1 a %I. %Q1 a %Q..0 a a B3:...0 Programação em Ladder O diagrama ladder utiliza lógica de relé. Sequencial Function Chart (SFC) . BIT AUX. Compõe-se de vários circuitos dispostos horizontalmente.P ONTO I:3.. arbitrariamente escolhido pelo fabricante como os exemplos vistos a seguir. em inglês. E.A.. para facilitar a programação... S. S: R6:0 a R6:. %AQ1 a %AQ. O:1/0 a I:SLOT. N7:0 a N7:. %M1 a %M.. FABRICANTE MODELO E.. com contatos (ou chaves) e bobinas. PALAVRA PALAVRA CONTADOR DO SISTEMA / TEMPORIZADOR %S %Rx x x+1 x+2 PARA CADA PONTO:1 PONTO . No ladder cada operando (nome genérico dos contatos e bobinas no ladder) é identificado com um endereço da memória à qual se associa no CLP.. T4:0 A T4:. Esse endereço aparece no ladder com um nome simbólico. Por esse formato é que recebe o nome de ladder que significa escada.. Cada uma das linhas horizontais é uma sentença lógica onde os contatos são as entradas das sentenças. 12. as bobinas são as saídas e a associação dos contatos é a lógica. A grande vantagem de se ter o software normalizado é que em se conhecendo um conhecem-se todos. . estiver acionada um par de terminais no módulo de saída será mantido em condição de condução elétrica. SA .. 04 = número do ponto).. * As bobinas acionam os seus endereços.0 a F15. %S2... 5 = número do cartão ou módulo. O:.15 FW0 a FW15 T0 a T31 C0 a C15 Outros tipos de endereçamento..para saída digital.. I:3.para entrada analógica.. - - A0 a A.. 1 = número da gaveta. Enquanto uma bobina...0 a %E. 013/01 (0 = saída. com endereço de saída. 125/04 (1 = entrada... %M %M %A0.. .para bobina auxiliar 1 se o operando estiver acionado e O estado de cada operando é representado em um bit correspondente na memória imagem: este bit assume nível desacionado.. R0 a R64 - M0 PARA CADA ALTUS PICOLLO %E0. EA .. S . A C5:. O0.0 a %S. 2 = gaveta... II0 a II3 OU IU0 a IU3 OU0 e OU1 F0..42 I:.. %M0 a %M. M0 a M. R60 a R. %M0 PARA CADA FESTO FPC101 FPC103 I0..0 a I.0 a %A.... ALTUS AL500 R0 a R.para saída analógica. Nesta apostila os endereços serão identificados como: • • • • • E ..0 a O... O:3.para entrada digital.. 01 = número do ponto). 0 quando * Os contatos se acionam pelo endereço que os identifica.... A .. 3 = número do módulo. os que tiverem por finalidade acionar ou energizar uma bobina deverão ser do mesmo tipo do contato externo que aciona seu respectivo ponto no módulo de entrada. Abaixo se vê um quadro elucidativo a esse respeito. 12. por questão de segurança.1 Desenvolvimento do programa Ladder Após a definição da operação de um processo onde são geradas as necessidades de sequenciamento e/ou intertravamento. desde que no ladder se utilize o contato de tipo conveniente. Se a chave externa for Para ligar NA NF Para desligar NA NF o contato no Ladder deve ser NA NF NF NA Percebe-se pois que pode ser usada chave externa de qualquer tipo. diagrama funcional ou matriz de causas e efeitos e a partir daí o programa é estruturado. Com relação ao que foi exposto acima sobre os contatos endereçados como entrada. não se deve utilizar chave externa NF para ligar nem NA para desligar. esses dados e informações são passados sob forma de diagrama lógico. Mesmo assim. Já os que forem usados para desacionar ou desenergizar uma bobina devem ser de tipo contrário do contato externo que os aciona. .43 Os contatos endereçados como entrada se acionam enquanto seu respectivo par de terminais no módulo de entrada é acionado: fecham-se se forem NA e abrem-se se forem NF. pois será estabelecida uma continuidade entre a fonte e os terminais da bobina. sua localização e seu endereço de entrada/saída no CLP. . como pode ser visto no exemplo abaixo que é similar ao programa anterior substituindo o contato NA por um NF. estabelecida por uma corrente elétrica. Para que um relê seja energizado. Exemplo: DISPOSITIVO PSL . O programa equivalente do circuito anterior.44 A lógica de diagrama de contatos do CLP assemelha-se à de relés. Analisando os módulos de entrada e saída do CLP. a bobina K1 será energizada.400 FS SV LOCALIZAÇÃO Topo do tanque pressurizado 2 Saída do misturador Saída de óleo do aquecedor Ao lado da válvula FV400 ENDEREÇO E1 EA1 E2 S1 O NF é um contado de negação ou inversor. será o seguinte. Ao ser fechada a CH1. Esta tabela é constituída do nome do elemento de entrada/saída. necessita de uma continuidade elétrica. na linguagem ladder. quando o dispositivo ligado à entrada digital E1 fechar. este acionará o contato E1. Uma prática indispensável é a elaboração das tabelas de alocação dos dispositivos de entrada/saída. conseqüentemente o dispositivo ligado à saída digital S1 será acionado. que estabelecerá uma continuidade de forma a acionar a bobina S1.100 TT . este por ser NF estabelecerá uma continuidade de forma a acionar a bobina S1. pois a bobina só será acionada quando .1 Associação de contatos no Ladder No ladder se associam contatos para criar as lógicas E e OU com a saída. 12.1. Os contatos em série executam a lógica todos os contatos estiverem fechados A saída S1 será acionada quando: E1 estiver acionada E E2 estiver não acionada E E3 estiver acionada E.45 Analisando os módulos de entrada e saída. este desacionará o contato E1. A seguir temos o gráfico lógico referente aos dois programas apresentados anteriormente. conseqüentemente o dispositivo ligado à saída digital S1 será acionado. quando o dispositivo ligado a entrada digital E1 abrir. . O que equivale a lógica booleana. temporização de energização.1. adição de registros. divisão de registros.46 Em álgebra booleana S=E1* E2* E3 A lógica OU é conseguida com a associação paralela. ou exclusivo lógico de duas tabelas.2 Instruções Na UCP o programa residente possui diversos tipos de blocos de funções. bloco OU lógico de duas tabelas. bloco E lógico de duas tabelas. Na listagem a seguir apresentamos alguns dos mais comuns: • • • • • • • • • • • contador. multiplicação de registros. S1=E1+E2+E3 Com associações mistas criam-se condições mais complexas como a do exemplo a seguir: Neste caso a saída é acionada quando E3 for acionada & E1 for acionada OU E3 for acionada & E2 não for acionada Em lógica booleana S1=E3 * (E1 + E2) 12. temporização de desenergização. acionando a saída desde que pelo menos um dos ramos paralelos estejam fechados A saída S1 será acionada se E1 for acionada OU E2 não for acionada OU E3 for acionada. extração de raiz quadrada. deslocar bits através de uma tabela-direita. subtração. executar algoritmo PID.3 Instruções Básicas As instruções básicas são representadas por blocos funcionais introduzidos na linha de programação em lógica ladder. ir para outra seqüência na memória. Estes blocos auxiliam ou complementam o controle do equipamento. multiplicação. 12. mover valor absoluto para uma nova localização. mas a filosofia de funcionamento é invariável.4 Funcionamento dos Principais Blocos .1. mover dados para memória EEPROM. divisão. raiz quadrada. PID. introduzindo na lógica ladder instruções como de temporização. executar sub-rotina na memória. contagem. conversão BCD/Decimal. converter D/A um dado localizado em um endereço. Estes blocos funcionais podem se apresentar de formas diferentes de um CLP para outro. soma. etc. comparar valor de dois registros.47 • • • • • • • • • • • • • deslocar bits através de uma tabela-esquerda. etc. conversão Decimal/BCD. mover inverso da tabela para nova localização.1. converter A/D e localizar em um endereço. 12. mover complemento para uma nova localização. mover tabela para nova localização. ponto de entrada analógico. bit de entrada. Em alguns casos. desacionando a saída S1. esta instrução apresenta duas entradas uma de habilitação da contagem e outra para zeramento ou reset da saída. A análise para o byte de dezesseis bits é exatamente a mesma. bit de saída. O primeiro byte reservado para o dado prefixado.5 Instrução de Temporização O temporizador conta o intervalo de tempo transcorrido a partir da sua habilitação até este se igualar ao tempo preestabelecido. o segundo byte reservado para a . também possui campos de entrada de informações como. Para cada temporizador destina-se um endereço de memória de dados onde o valor prefixado será armazenado. número do registro. 12. Quando E1 for desacionada. ponto de saída analógico. constantes. Quando a temporização estiver completa esta instrução eleva a nível 1 um bit próprio na memória de dados e aciona o operando a ela associado. memória. etc. ou desenergizado.48 O bloco funcional possui pontos de entrada ( localizados à esquerda ) e pontos de saída ( localizados à direita do bloco ). quando a entrada E1 for acionada o temporizador será habilitado e imediatamente após 30 segundos a saída S1 será acionada. As instruções seguintes será explicadas supondo o byte de oito bits. Segundo exemplo. o temporizador será desabilitado.1. o temporizador ocupa três bytes para o controle. Na memória de dados do CLP. 49 temporização e o terceiro byte reservado para os bits de controle da instrução temporizador. Os temporizadores podem ser TON (temporiza no acionamento) e TOFF (temporiza no desacionamento). 12.1.6 Instrução de Contagem O contador conta o número de eventos que ocorre e deposita essa contagem em um byte reservado. Quando a contagem estiver completa, ou seja , igual ao valor prefixado, esta instrução energiza um bit de contagem completa. A instrução “contador” é utilizada para energizar ou desenergizar um dispositivo quando a contagem estiver completa. Para cada contador destina-se um endereço de memória de dados onde o valor prefixado será armazenado. Na memória de dados do CLP, o contador ocupa três bytes para o controle. O primeiro byte reservado para o dado prefixado, o segundo byte reservado para a contagem e o terceiro byte reservado para os bits de controle da instrução contador. 50 12.1.7 Instrução Mover A instrução mover transfere dados de um endereço de memória para outro endereço de memória, manipula dados de endereço para endereço, permitindo que o programa execute diferentes funções com o mesmo dado. Abaixo temos cinco endereços da memória de dados do CLP. Observe que o dado de D1 é distinto de D2. B7 D1 D2 0 0 B6 0 0 B5 0 1 B4 0 1 B3 1 0 B2 1 0 B1 1 0 B0 1 0 51 D3 D4 D5 D1 para D2. 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 Supondo que a instrução mover tenha sido acionada e que a movimentação será de B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 0 0 0 1 0 B5 0 0 0 1 0 B4 0 0 0 0 0 B3 1 1 1 0 0 B2 1 1 0 1 1 B1 1 1 0 0 1 B0 1 1 0 0 1 Observe que o conteúdo de D2 foi alterado. No momento em que a instrução mover for desacionada, o dado de D2 permanecerá o mesmo. Enquanto a entrada E1 estiver acionada, o dado será movido uma vez a cada ciclo de varredura, portanto E1 deve ser acionado e desacionado rapidamente. Temos o gráfico que ilustra antes e depois do acionamento de E1 para a instrução mover. maior/igual ou menor/igual que o dado de um outro endereço. No exemplo.1. caso contrário as duas saídas S1 e S2 serão desacionadas. se D1 for menor que D2 o bit de saída S2 será acionado.52 12.8 Instrução Comparar A instrução comparar verifica se o dado de um endereço é igual. maior. se D1 for maior que D2 o bit de saída S1 será acionado. . permitindo que o programa execute diferentes funções baseadas em um dado de referência. quando a entrada E1 for acionada as duas instruções de comparação serão acionadas. A comparação só existirá se a entrada E1 estiver acionada. menor. byte da memória imagem. entre T0 e T1 a entrada E1 está desativada. a partir de T4 a entrada E1 foi desacionada.9 12. logo não há comparação e as saídas S1 e S2 são nulas. byte da memória de dados.1. temporizador. maior igual a e menor igual a. logo a saída S2 será ativada. portanto as comparações são desativadas e as saídas irão para estado lógico "0".10 Instruções Matemáticas Instrução Soma Permite somar valores na memória quando habilitado.53 Observe o gráfico acima. logo a instrução de comparação ativa a saída S1. Entre T1 e T2 o dado D1 se encontra com valor maior que D2. Entre T2 a T3 o dado D1 é igual a D2. como não há instrução de igualdade as saídas estarão desativadas. Nesta instrução podem-se usar os conteúdos de um contador.1. Entre T3 a T4 o dado D1 é menor que D2. . 12. A mesma análise é válida para a instrução igual a. portanto o conteúdo do dado 3 não deverá ter importância. D1 equivale em decimal a 26 e D2 a 15. a soma resultará 41 no D3. Abaixo temos cinco endereços da memória de dados do CLP. portanto E1 deve ser acionado e desacionado rapidamente. Enquanto E1 estiver acionado o dado D1 será somado com D2 e depositado no dado D3 a cada ciclo de varredura. quando E1 for acionada. Caso o conteúdo do dado 3 seja importante. B7 D1 0 B6 0 B5 0 B4 1 B3 1 B2 0 B1 1 B0 0 . a soma do dado 1 com o dado 2 será depositado no dado 3. o mesmo deve ser movido para um outro endereço ou o resultado da soma depositado em outro endereço. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 0 0 0 1 0 B5 0 0 0 1 0 B4 1 0 0 0 0 B3 1 1 1 0 0 B2 0 1 0 1 1 B1 1 1 0 0 1 B0 0 1 0 0 1 Supondo que a instrução somar tenha sido acionada e que a soma será de D1 e D2 em D3.54 Nesta instrução de programa. assume valor lógico "1".55 D2 D3 D4 D5 0 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 1 Observe que o conteúdo de D3 foi alterado. do byte de controle da instrução soma. Em alguns casos o um bit. Através deste bit e possível de se determinar quando a soma ultrapassou ou não o valor máximo. no momento em que a instrução soma for desacionada. Caso o resultado da soma não ultrapasse o limite máximo ( overflow ). . a saída S1 será acionada. os dados de D1 e D2 permanecerão os mesmos. determinando o estouro da capacidade. A saída S1 será acionada quando a soma for concluída. Nesta instrução podem-se usar os conteúdo de um contador. Nesta instrução de programa. a subtração resultará 9 no D3. o mesmo deve ser movido para um outro endereço ou o resultado da soma depositado em outro endereço. Abaixo se vêm cinco endereços da memória de dados do CLP. a subtração do dado 1 com o dado 2 será depositado no dado 3.11 Instrução Subtração Permite subtrair valores na memória quando habilitado. Caso o conteúdo do dado 3 seja importante.1. . portanto o conteúdo do dado 3 não deverá ter importância. temporizador. byte da memória imagem. portanto E1 deve ser acionado e desacionado rapidamente. byte da memória de dados. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 0 0 0 1 0 B5 0 0 0 1 0 B4 1 0 0 0 0 B3 1 1 0 0 0 B2 0 1 0 1 1 B1 1 1 0 0 1 B0 0 1 0 0 1 Supondo que a instrução subtração tenha sido acionada e que a subtração será de D1 menos D2 em D3.56 12. D1 equivale em decimal a 26 e D2 a 15. Enquanto E1 estiver acionado o dado D1 será subtraído do dado D2 e depositado no dado D3 a cada ciclo de varredura. quando E1 for acionada. 12. assume valor lógico "1".12 Instrução Multiplicação Permite multiplicar valores na memória se a condição for verdadeira. os dados de D1 e D2 permanecerão os mesmos. a saída S1 será acionada. . do byte de controle da instrução subtração. Caso o resultado da subtração possua sinal negativo ( underflow ). Em alguns casos o um bit.57 B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 0 0 0 1 0 B5 0 0 0 1 0 B4 1 0 0 0 0 B3 1 1 1 0 0 B2 0 1 0 1 1 B1 1 1 0 0 1 B0 0 1 1 0 1 Observe que o conteúdo de D3 foi alterado.1. Através deste bit e possível de se determinar quando a subtração resultou positivo ou negativo. no momento em que a instrução soma for desacionada. B7 D1 D2 D3 D4 D5 0 0 1 1 1 B6 0 0 0 1 0 B5 0 0 1 1 0 B4 1 0 1 0 0 B3 1 0 0 0 0 B2 0 1 1 1 1 B1 1 1 1 0 1 B0 0 1 0 0 1 . a multiplicação resultará 182 no D3.58 Observe os cinco endereços do mapa de memória apresentado. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 0 0 0 1 0 B5 0 0 0 1 0 B4 1 0 0 0 0 B3 1 0 0 0 0 B2 0 1 0 1 1 B1 1 1 0 0 1 B0 0 1 0 0 1 Supondo que a instrução multiplicação tenha sido acionada por E1 e que a multiplicação será de D1 por D2 em D3. D1 equivale em decimal a 26 e D2 a 7. a multiplicação do dado D1 pelo dado D2 será depositada no conteúdo do dado D3.13 Instrução Divisão Permite dividir valores na memória quando habilitado. a divisão resultará 12.1. D4. 12. D1 equivale em decimal a 50 e D2 a 4.5 no D3.59 Quando a entrada E1 for acionada. Observe os cinco endereços do mapa de memória apresentado. D4. B7 B6 B5 B4 B3 B3 B2 B1 . B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 0 0 0 1 0 B5 1 0 0 1 0 B4 1 0 0 0 0 B3 0 0 0 0 0 B2 0 1 0 1 1 B1 1 0 0 0 1 B0 0 0 0 0 1 Supondo que a instrução divisão tenha sido acionada por E1 e que a divisão será de D1 por D2 em D3. 12. 12.1. São recursos disponíveis para os programadores.15 Instrução And Permite executar função AND com valores da memória quando habilitada. B7 D1 0 B6 1 B5 0 B4 1 B3 1 B2 0 B1 1 B0 0 . a divisão do dado D1 pelo dado D2 será depositada no conteúdo do dado D3.60 D1 D2 D3 D4 D5 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 Quando a entrada E1 for acionada. Observe os cinco endereços do mapa de memória apresentado. podendo serem empregadas na análise de byte e diagnose de dados. D4.14 Instruções Lógicas Estas instruções destinam-se à comparação lógica entre bytes.1. Observe a tabela verdade abaixo e verifique o resultado da analise AND entre os dois bytes D1 e D2. E1 0 0 1 1 E2 0 1 0 1 SAÍDA 0 0 0 1 E1 e E2 são as entradas e SAÍDA é o resultado.61 D2 D3 D4 D5 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 Supondo que a instrução AND tenha sido acionada por E1 e que a instrução será de D1 and D2 em D3. . a instrução do dado D1 and dado D2 será depositada no conteúdo do dado D3. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 1 1 1 1 0 B5 0 0 0 1 0 B4 1 0 0 0 0 B3 1 0 0 0 0 B2 0 1 0 1 1 B1 1 1 1 0 1 B0 0 1 0 0 1 Quando a entrada E1 for acionada. 16 Instrução Or Permite executar função OU com valores da memória quando habilitada analisar valores na memória quando habilitada.62 12. Observe os cinco endereços do mapa de memória apresentado. Observe a tabela verdade abaixo e verifique o resultado da analise OR entre os dois bytes D1 e D2.1. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 1 1 0 1 0 B5 0 0 0 1 0 B4 1 0 0 0 0 B3 1 0 0 0 0 B2 0 1 0 1 1 B1 1 1 0 0 1 B0 0 1 0 0 1 Supondo que a instrução OR tenha sido acionada por E1 e que a instrução será de D1 or D2 em D3. E1 0 E2 0 SAÍDA 0 . 12.63 0 1 1 1 0 1 1 1 1 E1 e E2 são as entradas e SAÍDA é o resultado. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 1 1 1 1 0 B5 0 0 0 1 0 B4 1 0 1 0 0 B3 1 0 1 0 0 B2 0 1 1 1 1 B1 1 1 1 0 1 B0 0 1 1 0 1 Quando a entrada E1 for acionada. a instrução do dado D1 or dado D2 será depositada no conteúdo do dado D3. B7 D1 0 B6 1 B5 0 B4 1 B3 1 B2 0 B1 1 B0 0 .1.17 Instrução Xor Permite executar função ou exclusivo com valores da memória quando habilitada. Observe os cinco endereços do mapa de memória apresentado. Obviamente estas são apenas algumas instruções que a programação ladder dispões.64 D2 D3 D4 D5 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 Supondo que a instrução XOR ( ou exclusivo ) tenha sido acionada por E1 e que a instrução será de D1 xor D2 em D3. B7 D1 D2 D3 D4 D5 0 0 0 1 1 B6 1 1 0 1 0 B5 0 0 0 1 0 B4 1 0 1 0 0 B3 1 0 1 0 0 B2 0 1 1 1 1 B1 1 1 0 0 1 B0 0 1 1 0 1 Quando a entrada E1 for acionada. Observe a tabela verdade abaixo e verifique o resultado da análise xor entre os dois bytes D1 e D2. . a instrução do dado D1 xor dado D2 será depositada no conteúdo do dado D3. Uma série de outros recursos são disponíveis em função da capacidade do CLP em questão. E1 0 0 1 1 E2 0 1 0 1 SAÍDA 0 1 1 0 E1 e E2 são as entradas e SAÍDA é o resultado. . A utilização do software de programação é uma questão de estudo e pesquisa. para tal conte e não dispense o auxílio do manual ou help on-line quando disponível no software de programação.65 As instruções apresentadas servirão como base para o entendimento das instruções de programação ladder de qualquer CLP. uma vez que o layout de tela e comandos não são padronizados. Controlado pelo Clp. Necessita-se contar o número de tambores que passam pela esteira. Funcionamento solicitado: • Ao ligarmos o botão de partida deveremos contar um lote de dez tambores e desligar a esteira. A informação necessária é a indicação se a garagem está lotada ou não.66 13. A garagem possui uma entrada e uma saída sendo que cada uma delas possui um sensor que detecta a presença de carros. Desenvolva um programa em linguagem Ladder que realize este controle.2 Queremos automatizar uma garagem comercial.0 Exercícios. 13. esperar a partida e continuar contando.1 Na figura indicada abaixo temos um esteira que é acionada por um botão “liga” e um de parada “desliga”. . Desenvolva um programa em linguagem Ladder Altus que realize esta função. 13. um alarme (AL) deverá ser acionado. No caso de parada. Uma vez atingido o número necessário. ST= Sensor de presença de tambor M = Motor que movimenta a esteira. Abaixo de ‘c’.4 Elaborar um programa PLC para controlar dois relés (R1 e R2) de tal maneira que R1 pode atuar de forma independente e R2 só pode atuar se R1 estiver ligado. nenhuma das bombas deverá funcionar. 13. A operação de prensagem realiza-se quando se põe em marcha um motor que está comandado pelo contactor R. não se pode ativar a prensa. Em ‘d’. c. Acima de ‘b’.6 Elaborar um programa PLC para um processo industrial em que. uma esteira acionada pelo motor E transporta garrafas de três tamanhos (pequena. e são desligados pelas botoeiras D1 e D2. mas o outro tarda mais do que três segundos. somente M1 bombeia. um alarme AL. soa o alarme AL. Se o nível for inferior a ‘b’. para recolocar suas mãos no contato. 13.5 Elaborar um programa PLC capaz de efetuar o controle de uma prensa que é manejada por dois operários. Os relés são ligados pelas botoeiras L1 e L2.67 13. Abaixo de ‘b’. B) Com os dois operários atuando nos comandos A e B. C) Se atua um operário. M1 e M2 bombeiam. então se fecha a válvula P. caso em que deverão repetir-se a manobra por ambos os operários. duas bombas (acionadas por M1 e M2). D) Se uma vez ativado o contactor R e qualquer um dos operários retirar as mãos do contato. e quatro sensores de nível (a. a prensa não deve operar e. é necessário repetir a manobra. então se abre a válvula P. a prensa abaixa. d). b. conforme figura abaixo: As condições de funcionamento são as seguintes: se o nível for ‘a’. média e .3 Desenhar o diagrama de interconexões elétrico físicas e o programa de controle do PLC para um sistema de reservatório composto de uma válvula de entrada P. Por razões de segurança dos operários. Cada um deles utiliza um atuador que exige o emprego de ambas as mãos. 13. R desativa e não volta a se ativar se o operário demorar mais do que três segundos. mas pode continuar ligado após o desligamento de R1. foi decidida a seguinte seqüência de funcionamento: A) Com somente um operador. A seleção do tipo de garrafa é feita a partir de uma chave seletora de três posições (P.8 Em uma máquina de solda há dois elementos controlados por um PLC: um contactor (A) para fechamento do arco. o operador deve religar o sistema em L conforme ilustra a figura abaixo: 13. Assim. e interrompido pela botoeira D.5 segundos desliga-se o . Após a retirada manual da garrafa indesejada. No momento em que o operador solta o gatilho. B.7 Com base no circuito apresentado na figura abaixo (programa para detecção de borda de subida) elabore um outro projeto capaz de detectar uma borda de descida. sejam selecionadas garrafas grandes.5 segundo após atuar o eletrodo. por exemplo. 13. C. uma operação reversa deve ocorrer. caso. O processo tem início quando a botoeira L é acionada. Quando o operador aciona o gatilho(G) a máquina deve entrar em funcionamento atuando primeiramente o motor e 0. primeiramente desliga-se o eletrodo e após 0. e um relé (E) para avanço do motor do eletrodo. M e G).68 grande) que sensibilizam três sensores óticos A. ou seja. a esteira deve parar e o alarme AL soar caso uma garrafa pequena ou média seja detectada. 13.0 Exercícios Intertravamento: Circuitos de Comando. Data de Entrega: .69 motor.9 Utilizando-se apenas de um elemento temporizador. A parada se realiza sempre que um sensor ótico não detectar a passagem de uma nova peça num intervalo menor do que 5 segundos. elabore um programa capaz de acionar uma lâmpada sinalizadora sempre que o número de pulsos recebidos em sua entrada for múltiplo de 5 (cinco). elabore um programa de PLC capaz de acionar uma lâmpada de sinalização piscante com período de 2 segundos. 13. 13.11 Utilizando-se dos recursos de contagem em PLC. desligando-se no sexto pulso. Identifique qual esquema de temporização foi utilizado na solução. Com base nestas informações elabore um programa PLC para realizar tal controle.10 Elaborar um programa PLC capaz de interromper automaticamente o funcionamento de uma esteira transportadora de peças. Assim. novamente acende no décimo e desliga no décimo primeiro e assim sucessivamente 14. O religamento da esteira se dá pelo comando do operador em uma botoeira. no recebimento do quinto pulso a lâmpada acende. 70 . Descreva o funcionamento do circuito. Curso Cefet – Pelotas-RS. Exercícios Intertravamento (continuação).0 Bibliografia. Professor: William da Silva Vianna. . professor do curso Pós-Técnico em Automação e do curso Técnico em Instrumentação. 15. implemente-os em linguagem de Clp .71 Para os circuitos abaixo indicados.