Preview only show first 10 pages with watermark. For full document please download

Apostila Fx Básico 20130328

Descrição: Curso Básico CLP Mitsubishi

   EMBED


Share

Transcript

A os ila e ro ra aç o CLP it ubishi Sé  Sér e F 1 IM Auto ação Lt a. ua Teod reto So to, 970 São Paulo, SP Conteúdo Introdução Introdu ção ao CLP Capítul Capítul o 1 1.1 - A definição de um CLP ....................................................... 7 1.2 – A estrutu estrutura ra de um clp................ ........................ ................ ................ ................ ................ .......... 7 1.2.1 - Entradas........................................................................................ Entradas........................................................................................ 7 1.2.2 - CPU .............................................................................................. 8 1.2.3 1.2.3 - Memória emória......................................... ............................................................... ........................................... ......................... .... 8 1.2.4 1.2.4 - Saídas aídas......................................... ............................................................... ........................................... ............................ ....... 8 1.3 - A linha de CLPs da série FX ............................................... 8 Componentes básicos de hardware Capítul Capítul o 2 2.1 - Unidades de expansão alimentadas ................................. 12 2.2 - Blocos de expansão não alimentados .............................. 12 2.3 - Entrad Entradas as digitais digitais................ ......................... ................. ................ ................ ................ .............. ...... 13 13 2.3.1 2.3.1 - Entrada ntradass digitais digitais DC ......................... ............................................... ........................................... .....................15 15 2.3.2 2.3.2 - Entrada ntradass digitais digitais AC.................... AC......................................... .......................................... ............................16 .......16 2.4 – Saíd Saídas as digita digitais is ............. ...................... ................. ................ ................ ................ ................ ........... ... 16 2.4.1 2.4.1 - Saídas aídas digitais digitais a relé........................................ .............................................................. ............................17 ......17 2.4.2 - Saídas digitais a TRIAC ...............................................................17 2.4.3 - Saídas digitais a transistor ...........................................................17 2.5 - Fon Fontes tes................. ......................... ................ ................ ................ ................ ................ ................ .............. ...... 18 2.6 - Tipos ipos de mem memória ória................. ......................... ................ ................ ................ ................ ............ .... 18 18 Instalando Instalando um CLP Mitsubishi Capítul Capítul o 3 3.1 - Como omo instalar um CLP CLP no no painel? painel?........ ............ ........ ........ ........ ........ ........ ........ .... 21 21 3.2 - Fiação Fiação do paine painell com com CLP CLP....... ........... ........ ....... ....... ........ ........ ........ ........ ....... ....... ....... ... 23 2 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Conteúdo Introdução Introdu ção ao CLP Capítul Capítul o 1 1.1 - A definição de um CLP ....................................................... 7 1.2 – A estrutu estrutura ra de um clp................ ........................ ................ ................ ................ ................ .......... 7 1.2.1 - Entradas........................................................................................ Entradas........................................................................................ 7 1.2.2 - CPU .............................................................................................. 8 1.2.3 1.2.3 - Memória emória......................................... ............................................................... ........................................... ......................... .... 8 1.2.4 1.2.4 - Saídas aídas......................................... ............................................................... ........................................... ............................ ....... 8 1.3 - A linha de CLPs da série FX ............................................... 8 Componentes básicos de hardware Capítul Capítul o 2 2.1 - Unidades de expansão alimentadas ................................. 12 2.2 - Blocos de expansão não alimentados .............................. 12 2.3 - Entrad Entradas as digitais digitais................ ......................... ................. ................ ................ ................ .............. ...... 13 13 2.3.1 2.3.1 - Entrada ntradass digitais digitais DC ......................... ............................................... ........................................... .....................15 15 2.3.2 2.3.2 - Entrada ntradass digitais digitais AC.................... AC......................................... .......................................... ............................16 .......16 2.4 – Saíd Saídas as digita digitais is ............. ...................... ................. ................ ................ ................ ................ ........... ... 16 2.4.1 2.4.1 - Saídas aídas digitais digitais a relé........................................ .............................................................. ............................17 ......17 2.4.2 - Saídas digitais a TRIAC ...............................................................17 2.4.3 - Saídas digitais a transistor ...........................................................17 2.5 - Fon Fontes tes................. ......................... ................ ................ ................ ................ ................ ................ .............. ...... 18 2.6 - Tipos ipos de mem memória ória................. ......................... ................ ................ ................ ................ ............ .... 18 18 Instalando Instalando um CLP Mitsubishi Capítul Capítul o 3 3.1 - Como omo instalar um CLP CLP no no painel? painel?........ ............ ........ ........ ........ ........ ........ ........ .... 21 21 3.2 - Fiação Fiação do paine painell com com CLP CLP....... ........... ........ ....... ....... ........ ........ ........ ........ ....... ....... ....... ... 23 2 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Software de progr amação amação Capítul Capítul o 4 4.1 - GX Dev Develo elope perr .................. .......................... ................ ................ ................ ................ ................ ..........26 4.2 - GX Simula imulator tor ..................... ............................. ................ ................ ................ ................ ............... ....... 26 26 4.3 - GX GX Work Workss ...................... .............................. ................ ................ ................ ................. ................. ............ 26 Sistema numérico numéric o Capítul Capítul o 5 5.1 - Número úmeross binário binários............ s..................... ................. ................ ................ ................ ................ .......... 26 26 5.2 - Números hexadecimais .................................................... 27 5.3 - Número úmeross octais octais................ ........................ ................ ................ ................ ................ ................ .......... 28 28 Variáveis e co nstantes Variáveis de progr amação amação Capítul Capítul o 6 6.1 – Cons Constante tantess de program programaç ação ão........ ............ ........ ........ ........ ........ ........ ........ ........ ........ .... 29 6.2 - X: entrad entradas as físicas físicas................ ........................ ................ ................ ................ ................ ............ .... 29 29 6.3 - Y: saída saídass físicas físicas ............... ....................... ................ ................ ................ ................. ................ ....... 30 30 6.4 - M: relés relés auxiliares auxiliares................. ......................... ................ ................ ................ ................ ............ .... 30 30 6.5 - D: registradores de dados ................................................ 30 6.6 - T: Timers ............................................. .................................................................... ............................. ......31 6.7 - C: Conta Contado dores res ..................... ............................. ................ ................. ................. ................ ............ .... 34 6.7.1 – Contadores de 16 bits .................................................................35 6.7.2 – Contadores de 32 bits .................................................................36 Instruções básicas Capítul Capítul o 7 7.1 - Contato Contato norm normalm almen ente te aberto aberto ....... .......... ....... ........ ........ ........ ....... ....... ........ ........ ....... ... 38 7.2 - Contato Contato norm normalm almen ente te fechado fechado.. .... ........ ........ ........ ....... ....... ........ ........ ........ ........ ...... 38 7.3 - Bobina. ............................................................................. 39 3 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 7.4 - Pulso Pulso de sub subida ida................ ........................ ................ ................ ................ ................. ................ ....... 41 41 7.5 - Pulso ulso de desc descida ida ..................... ............................. ................ ................. ................. ................ ........ 41 7.6 - Lógica Lógica OU OU............... ........................ ................. ................ ................ ................ ................ ................ ..........42 7.7 - Lógic Lógica a E................ ........................ ................ ................. ................. ................ ................ ................ ........... ... 42 7.8 - SET SET (Set) (Set)................ ........................ ................ ................. ................. ................ ................ ................ ..........43 7.9 - RST (Rese (Reset) t)................ ........................ ................ ................ ................ ................ ................ .............. ...... 43 43 7.10 - PLS (Rising Edge Pulse) ................................................ 44 7.11 7.11 - PLF PLF (Falli (Falling ng/Trailing /Trailing Edge Edge Pulse Pulse)) .......... .............. ........ ........ ........ ........ ........ ...... 44 7.12 7.12 - ALT (Altern (Alternate ate)) ............. ..................... ................. ................. ................ ................ ................ ..........45 7.13 - ZRST (Zone Reset) ........................................................ 45 Instruçõ es avançadas avançadas Capítul Capítul o 8 8.1 - Instruçõ Instruções es de transferên transferência cia de dados dados........ ............ ........ ........ ........ ........ ....... ... 49 8.1.1 8.1.1 - MOV (Mov (Move) e).......................................... ............................................................... .......................................50 ..................50 8.1.2 - BMOV (Block Move).....................................................................53 8.1.3 8.1.3 - FMO FMOV (Fill Move) ove) ..................................................... ................................ .........................................54 ....................54 8.2 - Instruções de comparação de dados ................................ 55 8.2.1 8.2.1 - CMP (Com (Compa pare) re).............................................. ................................................................... .............................55 ........55 8.2.2 - ZCP (Zone Compare)...................................................................56 Compare)...................................................................56 8.3 - Instruçõ Instruções es de com comparaçõ parações es de linh linha a........ ............ ........ ........ ........ ........ ........ .... 57 8.4 - Instruções Instruções de de fluxo de prog program rama a ........ ............ ........ ........ ........ ........ ........ ....... ...... ... 59 8.4.1 - CJ (Condicional Jump) .................................................................59 8.4.2 - CALL (Call Subroutine) ................................................................59 8.4.3 - SRET (Subroutine Return) ........................................................... 61 8.4.4 - FEND FEND (Main (Main Routine Routine Program End) End).......... ............... .......... .......... .......... ......... ......... .......... .......61 8.5 - Instruç Instruçõe õess aritmétic aritméticas as................. ......................... ................ ................ ................ .............. ...... 61 8.5.1 8.5.1 - ADD (Addition) (Addition) .................................................... ............................... ........................................... .........................61 ...61 8.5.2 8.5.2 - SUB (Sub (Subtrac traction tion))....................... ............................................. ........................................... ...........................62 ......62 8.5.3 8.5.3 - MUL (Multip (Multiplicatio lication) n) ............................ ................................................. .........................................62 ....................62 8.5.4 8.5.4 - DIV (Division (Division)) ......................................... ............................................................... ......................................63 ................63 8.5.5 8.5.5 - INC INC (Increm (Increment) ent) ........................................ ............................................................. ...................................63 ..............63 8.5.6 8.5.6 - DEC (Dec (Decrem remen ent) t) ......................................... ............................................................... ...............................64 .........64 8.6 - Instruçõ Instruções es de opera operaçã ção o sequê sequênc ncial ial ........ ............ ........ ........ ........ ........ ........ ........ 65 65 8.6.1 8.6.1 - STL (Step (Step Ladde Ladder) r) ........................................ ............................................................. ...............................65 ..........65 8.7 - Instruções Instruções de processa processam mento de alta alta velocidade..... ........ ...... ....... 65 4 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.7.1 - HSCS (High Speed Counter Set) .................................................67 8.7.2 - HSCR (High Speed Counter Reset).............................................68 8.7.3 - HSZ (High Speed Counter Zone Compare) .................................68 8.8 - Instruções especiais com entradas e saídas .................... 70 8.8.1 - Controle Analógico.......................................................................70 8.8.2 - FROM (Read From A Special Function Block) .............................71 8.8.3 - TO (Write To A Special Function Block).......................................71 Ferramentas de disgnóstico Capítulo 9 Comentários de software e documentação Capítulo 10 9.1 – Relés especiais................................................................ 84 9.2 – Registradores especiais...................................................74 9.3 – Desenvolvendo lógicas com os relés especiais..............91 9.4 – Diagnóstico do GX Works................................................ 92 10.1 - Device Comments (comentários de variáveis) ...............84 10.2 - Statements (comentários de linhas) ...............................90 10.3 - Notes (comentários de bobinas e instruções)................. 91 10.4 - Visualizando a documentação........................................ 92 10.5 - Impressão....................................................................... 92 5 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 6 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Introdução ao CLP 1.1 - A definição de um CLP Um CLP é um dispositivo eletrônico que controla máquinas e processos. Criado em 1968 pela General Motors, seu intuito inicial era facilitar o setup das linhas de montagem para melhorar condições de tempo e dinheiro. Além disso, promoveu outras vantagens como: • • • • • • • • Menor espaço; Menor consumo de energia elétrica; Reutilização; Capacidade de programar e reprogramar; Maior confiabilidade; Maior flexibilidade; Maior rapidez na elaboração de projetos; Interface de comunicação com outros dispositivos (CLPs, computadores. IHMs, etc.). 1.2 - A estrutura de um CLP Existem 4 seções gerais para qualquer CLP: • • • • Entradas; CPU; Memória; Saídas. 1.2.1 - Entradas 7 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP  As entradas são terminais que realizam leitura de sinais elétricos, como sensores, fim de curso, botões, medidores analógicos, etc.  As entradas são classificadas em dois tipos: • • Digitais: permitem monitorar sinais de 1 bit, ou seja, dois estados (ligado e desligado);  Analógicas: permitem monitorar sinais de uma escala determinada (4 à 20mA, 0 à 10Vdc, etc.). 1.2.2 - CPU  A CPU é a seção do CLP que controla e gerencia todos os sistemas de processos (execução do projeto). Cada modelo da série FX possui um tipo de CPU. Logo, o modelo de CPU FX a ser especificado vai depender dos requerimentos da aplicação. 1.2.3 - Memória  A memória é responsável por armazenar o projeto de CLP e guardar os valores utilizados em parâmetros, bits e registradores. 1.2.4 - Saídas  As saídas são terminais que controlam dispositivos elétricos, como relés, contatoras, válvulas, etc.  As saídas são classificadas em dois tipos: • • Digitais: permitem escrever sinais de 1 bit, ou seja, dois estados (ligado e desligado);  Analógicas: permitem escrever sinais de uma escala determinada (4 à 20mA, 0 à 10Vdc, etc.). 1.3 - A linha de CLPs da séri e FX 8 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP  A família F de CLPs foi originalmente introduzida em 1981 com o CLP F. O F foi então revisado e evoluindo diversas vezes, resultando nos modelos: F1, F1J, F2. Após o F2 vieram os modelos de CLP FX. Estes modelos incluem o FX: FX0, FX1, FX2, FX0S, FX0N, FX2C, FX1S, FX1N, FX2N, FX2NC, FX3U e FX3G. Todos os CLPs da linha FX têm características em comum, tais como: • Uma fonte integrada : muitos dos CLPs desta linha têm uma fonte embutida que necessita de uma alimentação de 110 ~ 220VAC; •   (entradas I/Os  e saídas) digitais integradas:  cada unidade principal tem uma quantidade específica de entradas e saídas digitais, dependendo do modelo escolhido. As entradas são geralmente DC, entretanto certos modelos têm entradas AC. Todos os modelos têm saídas disponíveis em relé ou transistor (exceto FX0S) e podem oferecer saídas a TRIAC; Instruções comuns:  embora as linhas de CLPs mais avançados tenham mais instruções avançadas disponíveis, todos os CLPs suportam instruções comuns (contatos NA, contatos NF, bobinas, temporizadores, contadores, etc.); Funcionalidades especiais embutidas : funções diferentes de um CLP totalmente básico como, por exemplo, os CLPs FX, que contêm um ou muitos contadores de alta velocidade embutidos. • • FX1S O CLP FX1S tem a aparência do FX0S, mas com muito mais capacidade. O FX1S tem mais I/Os digitais (até 30), mais dispositivos internos do que FX0N (1536 relés internos e 235 contadores) e tem capacidade de movimentar motores com trem de pulso de até 100kHz e instruções de posicionamento embutidas. Uma IHM pequena (FX1N-5DM) pode ser conectada na frente e usada para monitorar e alterar temporizadores, contadores e registradores de dados. FX1N O FX1N oferece metade do range do número de pontos de I/Os digitais comparado a um FX0N, mas com mais capacidade e expansibilidade. O FX1N tem mais bits internos do que o FX0N (1536 relés internos e 235 contadores), e tem capacidade de controle de movimento equivalente ao FX1S. O FX1N permite a conexão de I/Os externos e também se comunica com os módulos de comunicação do FX0N. O conector de expansão, localizado no lado direito do FX1N, pode ser conectado com módulos de funções especiais, habilitando comunicação com I/Os externos, sinais analógicos, módulos de posicionamento e módulos de comunicação. Uma IHM pequena (FX1N-5DM) pode ser conectada na frente e usada para monitorar e alterar temporizadores, contadores e registradores de dados. 9 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP FX2N O FX2N tem alta expansibilidade e pode controlar até 256 I/Os digitais. Possui 3072 relés internos, 256 timers, 234 contadores, 8000 registradores de dados, e até 21 contadores de alta velocidade. Muitos módulos de funções especiais estão disponíveis para esta linha, incluindo módulos de Profibus, CC-Link, AS-Interface, I/Os e CAN Bus. Através dos módulos de funções especiais do lado direito do bus de expansão, este CLP pode ser expandido por placas que são conectadas na frente do CLP. Isto permite ao CLP uma segunda porta de programação, como uma porta RS-485, uma porta RS-232 ou então um gateway Ethernet. FX3U O FX3U é o mais poderoso CLP da série FX. É o mais expansível e pode controlar até 384 I/Os digitais. Ele tem 4 vezes mais bits internos do que o FX2N, uma CPU mais rápida, e um bus de expansão no lado esquerdo. Todos os módulos especiais compatíveis com o FX2N do lado direito são compatíveis com o FX3U. Mais placas de comunicação e adaptadores especiais estão disponíveis nesta série, incluindo uma nova placa de comunicação USB. O FX3U controla até três eixos com saídas de trem de pulso, que podem ser expandidos para até 4 eixos quando usa-se os novos adaptadores especiais de alta velocidade. Finalmente, o FX3U pode ser expandido com dois eixos interpolados para controle de posicionamento usando a rede de fibra ótica da Mitsubishi SSCNET III. FX3G O FX3G é o mais novo CLP da série FX, projetado para aplicações simples. Incorpora as inovações da tecnologia da série FX presenteando os clientes com uma série de benefícios como, por exemplo, capacidade de memória de programação de 32 mil passos e custo mais baixo em relação ao FX3U. O treinamento será ministrado com um FX3U ou FX3G, entretanto, a maioria dos temas abordados durante o treinamento é válido para a grande maioria de CLPs da família FX. 10 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Componentes básicos de hardware Unidade Principal do FX3U  A unidade principal contém: • CPU:  ela é o processamento principal atrás do CLP, lendo entradas, realizando cálculos lógicos e matemáticos e escrita nas saídas. Fonte integrada:  ela fornece a alimentação para a CPU, entradas, e um número limitado de módulos conectados, blocos especiais e adaptadores especiais. Entradas digitais integradas:  estas podem ser tanto DC ou AC, dependendo do modelo selecionado.  A maior unidade principal da série FX tem 64 entradas. Saídas digitais integradas:   estas podem ser à relé, transistor ou TRIAC, dependendo do modelo selecionado. A maior unidade principal da série FX tem 64 saídas. Porta de programação:  esta porta usa o padrão RS-422 para comunicação. Porta de conexão de acessórios:  estes podem ser usados para conectar módulos de memória ou placas à unidade principal. • • • • • 11 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 2.1 - Unidades de expansão alimentadas Como mencionado anteriormente, os I/Os da Série FX são expansíveis. Um modo de aumentar os I/Os é usando unidades de expansão alimentadas. Estas unidades têm: • Fontes Integradas:   estas podem ser usadas como uma fonte alternativa às fontes da unidade principal para outros blocos de extensão e blocos de função especial. Também estão disponíveis tipos AC e DC; Entradas digitais integradas:   podem disponibilizar entradas AC e DC, dependendo do modelo selecionado; Saídas digitais integradas:  podem disponibilizar saídas a relé, transistor e TRIAC, dependendo do modelo selecionado. • • 2.2 - Blocos de expansão não alimentados Outra maneira de expandir os I/Os digitais da série FX é através do uso de blocos de expansão não alimentado. Assim, há um limite (somando com o limite de I/Os da unidade principal) ao limite de blocos de 12 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP expansão que podem ser conectados. Blocos de Expansão não alimentados possibilitam 8 ou 16 pontos de I/Os. Cada terminal pode ser tanto de saídas quanto de entradas. Entradas são 24VDC e saídas a transistor, relé e TRIAC estão disponíveis. Se os modelos não atenderem as necessidades do sistema, as unidades do CLP FX0N podem ser usadas tão bem quanto as unidades da linha FX2N (através do uso do conversor FX2N-CNV-IF.) Fique atento com a terminologia usada, pois uma unidade de expansão precisa ser alimentada, enquanto um bloco de expansão não é alimentado. 2.3 - Entradas digitais Como dito, entradas são terminais que realizam leitura de sinais elétricos, como sensores, fim de curso, botões, medidores analógicos, etc. O nível do sinal de entrada digital varia, dependendo do tipo de modelo de CLP. Geralmente, torna-se ativa quando o sinal ultrapassa 2/3 do nível de tensão esperado e torna-se inativo ao permanecer 1/3 abaixo do nível. Por exemplo, uma entrada 24VDC torna-se ativa quando o sinal de entrada alcança 16VDC, e torna-se inativo quando o sinal de tensão está abaixo de 8VDC. 13 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Tensão (V) 24 16 8 Tempo Nível lógico ON Entrada digital ligada OFF Tempo 10 ms 10 ms  As entradas padrão têm um filtro de entrada de 10 ms  A unidade principal do CLP FX possui entradas digitais integradas, com possibilidade de 2 tipos: • • Entradas DC (sinal de corrente contínua); Entradas AC (sinal de corrente alternada). 14 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 2.3.1 - Entradas digi tais DC  As características das entradas DC são as seguintes: Resposta rápida; 90% dos novos modelos usam este tipo de entrada; Tensão de entrada de 24VDC; Lógicas de sink (NPN) ou source (PNP), que se referem à polaridade da fonte de alimentação que acionará as entradas digitais e qual será o comum das mesmas. • • • • Lógica sink   (NPN) Na lógica sink (NPN), o terminal S/S (comum) deve ser alimentado com 24VDC e a entrada torna-se ativa quando conectada ao 0VDC. Use lógica sink para sensores do tipo NPN Lógica source   (PNP) 15 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Na lógica source (PNP), o terminal S/S (comum) deve ser alimentado com 0VDC e a entrada torna-se ativa quando conectada ao 24VDC. Use lógica source para sensores do tipo PNP 2.3.2 - Entradas digitais AC  As características das entradas AC são as seguintes: • • • Resposta lenta; Fácil de conectar com dispositivos AC; Tensão de entrada de 120VAC. 2.4 – Saídas digitais  As saídas digitais do CLP permitem controlar e interagir com dispositivos elétricos das máquinas e equipamentos. A unidade principal do CLP FX possui saídas integradas disponíveis. Se forem necessárias, unidades de extensão de saídas e blocos de extensão estão disponíveis para serem conectados. 16 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Existem 3 tipos de saídas digitais diferentes: • • • Saídas a relé; Saídas a TRIAC; Saídas a transistor . 2.4.1 - Saídas digitais a relé Relés (conhecidos também como contatos secos) é o tipo de saída digital mais usada. Suporta até 2A, 100VAC~240VAC ou 30VDC e no máximo 8A por comum. Muitas unidades e blocos de extensão têm 4 saídas por comum. 2.4.2 - Saídas di git ais a TRIAC TRIACs (Triode for Alternating Current) são interruptores AC de estado sólido. Suporta uma carga de até 0.3A em 240VAC por ponto, com um máximo de 0.8A por comum. 2.4.3 - Saídas digitais a transistor  17 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Transistors são componentes eletrônicos utilizados principalmente como interruptores ou amplificadores de sinais elétricos. No caso de saídas digitais a transitor , os mesmos assumem função de interruptores. Ligação d e saídas à trasistor  NPN sink PNP (source) 2.5 – Fontes Todos os CLPs da família FX possuem fonte integrada. Esta fonte aceita tanto 85-264VAC ou 24VDC, dependendo do modelo. O BUS 5VDC, gerado pela fonte do CLP, fornece alimentação para a CPU e os módulos de extensão. A corrente máxima que este BUS oferece é um fator de limitação do número de blocos de extensão que podem ser conectados. Os CLP alimentados via AC tem uma fonte de 24VDC integrada. A alimentação fornecida pode ser usada para I/Os de extensão, e também pode ser usado para alimentar acessórios como sensores e IHMs. Seja calmo não exceda a capacidade de alimentação. 2.6 - Tipos de memór ia 18 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP  A memória interna integrada dos CLPs da série FX não pode ser expandida. Entretanto, cassetes de memória estão disponíveis para cada modelo, os quais podem ser usados no lugar da memória de programação interna, mesmo que o cassete de memória tenha uma capacidade superior ao do CLP. O cassete de memória também pode adicionar portabilidade a um programa. O programa é salvo no cassete, e quando o cassete é conectado em outro CLP, o programa ladder no outro cassete é processado pela CPU no lugar do programa que está na memória interna, a qual é retida. Cartões de memória especiais, com a opção “loader”, permitem ao cartão de memória escrever ou ler na memória do CLP. Note que uma vez que o CLP está usando o cassete de memória ao invés da memória interna, o cassete de memória não é cumulativo  com a memória interna do CLP. Dependendo do tipo de CLP, existem quatro tipos de cassetes de memória: RAM, EPROM, EEPROM e FLROM. Cada tipo tem suas vantagens e desvantagens. Quem vai dizer qual é o melhor cassete de memória a ser usado será o tipo de CLP que vai usado ou a aplicação desejada. RAM (Random Access Memory)  A Memória RAM é volátil, logo se necessita de uma bateria para manter o programa na memória.  Alterações de programa ON-LINE são permitidas na memória RAM. EPROM (Erasable Progr ammable Read Only Memory) Memória EPROM não é volátil, ela retém o programa sem a bateria. É difícil fazer alterações em programas guardados na EPROM, porque uma luz ultravioleta é necessária para apagá-la. É necessário um EPROM burner. Alterações ONLINE não são permitidas. EEPROM (Electrically Erasable Progr ammable ROM) EEPROM é uma memória também não volátil; o programa é retido sem nenhuma bateria conectada. Entretanto, é fácil fazer alterações na EEPROM, porque ela é eletricamente apagável. Alterações ONLINE são permitidas com FX1N ou linhas superiores. 19 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP FLROM (Flash ROM) FLROM também é uma memória não volátil; o programa é retido sem o requerimento de nenhuma bateria. FLROM opera similarmente à EEPROM, a qual é eletricamente apagável e pode ser sobrescrita muitas vezes. Somente o PLC FX3U pode usar a Flash ROM.  A tabela abaixo detalha a capacidade da memória interna e tipos de cassetes de memória. Tipo de CLP FX1S FX1N FX2N FX3U Interna RAM EPROM EEPROM FLROM 2k 8k 8k 64k 16k - 16k - 2k w/loader 8k w/loader 4k, 8k, 16k - 16k, 64k, 64k w/loader Notas: O FX-RAM-8 e o FX-ROM-8 atualmente carregam 16 kSteps de memória. O FX3U-FLROM-64L deve ser usado para a função Program Loader. Quando for necessário especificar uma memória, devemos saber os seguintes itens: • • • Modelo do CLP; Opções de memória para o modelo de CLP; Necessidade de alteração online. 20 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Instalando um CLP Mitsubishi 3.1 - Como fixar um CLP no painel? Pode ser fixado de duas formas: Trilho DIN – Este método é o mais utilizado, pois na troca ou na instalação do equipamento torna mais fácil a remoção e inserção do equipamento no painel; • 1 - Abaixe as travas localizadas na parte inferior, destacados com a letra  A 21 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 2 - Encaixe a parte indicada com a l etra C e em segui da empurre o CLP em direção ao trilho DIN 3 - Empurre as travas indicadas com a l etra D para ci ma, prendendo o CLP trilho DIN Montagem Direta – Pode ser colocado direto na base do painel sem nenhum problema, mas a retirada do equipamento torna-se mais difícil. • 22 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 3.2 - Fiação do painel co m CLP Existem duas maneiras de instalar com segurança: a melhor maneira é a técnica de pinos soldados aos fios, pois evitaria o mau contato que é o maior problema e a outra é a de crimpar com terminal.. 23 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Software de programa prog ramação ção Existem alguns pacotes de softwares que permitem a programação e a manutenção dos CLPs da Mitsubishi. Os 2 softwares mais usados são: GX Developer e GX Works (mais recente). Alguns programadores podem se sentir mais a vontade usado a versão antiga de software chamada MEDOC (aplicativo em MS-DOS) o qual já não é mais vendido. Este curso será ministrado tendo o GX Works como software de programação. 4.1 - GX GX Develop er  Este é um software baseado no sistema Windows (95, 98, NT, 2000, XP, Vista, Seven) usado para programar todas as linhas de CLPs da Mitsubishi, incluindo a família FX, série Q, série L e série A. Este software tem uma série de ferramentas de manutenção e diagnóstico, como também o setup de comunicações em rede. Também tem a capacidade de importar softwares desenvolvidos com versões antigas. GX Developer FX Este é um software baseado no sistema Windows (95, 98, NT, 2000, XP, Vista, Seven). Ele possui todas as características do GX Developer, mas suporta somente os CLPs da série FX e suas respectivas funcionalidades. 4.2 4.2 - GX Simulator  Simulato r  24 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Este é um software baseado no sistema Windows (95, 98, NT, 2000, XP, Vista, Seven) não usado para programar CLPs, mas tem o intuito de simular o projeto de CLP. Este software age como um CLP virtual, permitindo que o programador teste o seu projeto sem necessitar de um CLP real. 4.3 - GX Works Work s Este é um software baseado no sistema Windows (2000, XP, Vista, Seven) usado para programar todas as linhas de CLPs da Mitsubishi, incluindo a série FX, série Q e série L (GX Developer vem incluso para programação de série A). Este software tem uma de série de ferramentas de manutenção e diagnóstico, como também o setup de comunicações em rede e módulos especiais. Também tem a capacidade de importar softwares desenvolvidos com as versões antigas. Permite que os desenvolvedores de misturem e combinem cinco diferentes linguagens de programação no mesmo projeto. Este ambiente de programação está em conformidade com as normas IEC1131-3. 25 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Sistema numérico numéric o O CLP usa sistemas numéricos baseado no sistema decimal (base 10). Um bom entendimento deste sistema é essencial para uma boa programação.  Ap  Após concluir luir este capítu ítulo o estud tudante será capaz de: • Nomear os diferentes sistemas numéricos; • Descrever como sistemas diferentes representam números; • Conversão entre os sistemas. 5.1 5.1 - Números Números binários binário s No sistema numérico binário (base 2), cada dígito é chamado de unidade binária, ou bit. Existem somente 2 valores possíveis que um bit pode assumir: “0” ou “1”. Existem nomeações para grupos de bits: • Um grupo de 4 bits é chamado de nibble; • Um grupo de 8 bits é chamado de byte; • Um grupo de 16 bits é chamado de word.  A po posiçã ição do do bit bit de dentro tro de de um um grup rupo do dos me mesmos de determ termin ina a se seu va valor. lor. Co Começando da da dir dire eita ita pa para a esquerda, o bit 0 pode assumir o valor 1 e conforme continuemos nas outras posições à esquerda os bits dobram de valor. O bit 1 (bit de posição 1) tem o valor 2, o bit 2 tem o valor 4, o bit 3 tem o valor 8, etc. O exemplo seguinte mostra os valores associados a um byte. 26 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 7 6 5 4 3 2 1 0 128 64 32 16 8 4 2 1 Número binário: Valor  correspondente: Para converter de binário para decimal, apenas adicione o valor dos bits que possuem valor “1”, como mostrado abaixo. Valor em binário binári o (byte em binário) binári o) 0000 0000 0000 0000 0000 0000 0000 0000 0 1 0 0 1000 Valor em decimal 0000 0001 0 0 1 0 0011 0100 0 1 01  0 1 0110 0111 1 01  0 1 0 0111 0 1 2 3 4 5 6 7 74 135 (1 + 2 = 3) (4 + 1 = 5) (4 + 2 = 6) (4 + 2 + 1 = 7) (64 + 8 + 2 = 74) (128 + 4 + 2 + 1 = 135) 4 bits podem representar o valores de 0 a 15. 5.2 5.2 - Números hexadecimais hexadecim ais No sistema numérico hexadecimal (base 16), cada dígito tem 16 possibilidades de valor (de 0 a 15). Os valores acima de 9 são representados por letras. Decimal Hexadecimal 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F O sistema hexadecimal é considerado uma maneira mais curta de se escrever um dado binário, pois cada dígito representa 4 bits (ou um nibwble). 27 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Binário Hexadecimal 0000 1110 1000 0100 1001 1100 0110 0111 1111 0 E 8 4 9 C 6 7 F 5.3 - Números octais No sistema numérico octal (base 8) existem 8 possibilidades de valor. Os números no sistema octal variam de 0 à 7. \Binário Octal 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 28 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Variáveis e constantes de programação Uma variável, de maneira bem simples, é um espaço de memória (com endereço específico) utilizado para armazenar um valor. Constante é um valor fixo (um número), que não varia (daí o nome constante). Para desenvolver um programa no CLP, é necessário estar familiarizado com as variáveis e constantes de programação que são usados nas instruções. Será mostrada aqui uma visão geral, sendo que mais informações serão acrescentadas ao longo dos capítulos. Uma pergunta freqüente quando o assunto é variáveis de programação é em relação à quantidade que cada um tem disponível. Isto varia dependendo do modelo do CLP FX. Mais detalhes podem ser adquiridos consultando o manual. 6.1 - Constantes de programação Como dito, uma constante é uma valor fixo que não varia. Existem 3 tipos de constantes que podem ser utilizadas: • • • K: representa números decimais. K5 representa o valor 5 na base decimal, K13 representa o valor 13 na base decimal; H: representa números hexadecimais. HB representa o valor B na base hexadecimal, H45BA representa o valor 45BA na base hexadecimal; E: representa números em ponto flutuante, ou seja, números reais com vírgula. E5.78 representa o valor 5,78, E4.589+2 representa o valor 4,589 * 10² = 458,9, E6.223-4 representa o valor 6,223 * 10-4 = 0,0006223. 6.2 - X: entradas físicas X são bits usados para representar as entradas digitais físicas do CLP e são representadas na base octal 29 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP (X0, X1, X2... X7, X10, X11, etc.). Um detalhe importante quanto às entradas digitais é que, quando um módulo de entradas digitais é conectado, seu primeiro endereço será representado pelo primeiro número do próximo grupo octal após o último grupo octal da CPU. Por exemplo: a CPU possui entradas digitais de X0 à X27, o módulo terá como primeira entrada X30; se, por acaso, a CPU terminar com o endereço X43, o endereço da primeira entrada digital do módulo seguinte será X50. 6.3 - Y: saídas físicas Y são bits usados para representar as saídas digitais físicas do CLP e são representadas na base octal (Y0, Y21, Y2... Y7, Y10, Y11, etc.). Um detalhe importante quanto às saídas digitais é que, quando um módulo de saídas digitais é conectado, seu primeiro endereço será representado pelo primeiro número do próximo grupo octal após o último grupo octal da CPU. Por exemplo: a CPU possui saídas digitais de Y0 à Y27, o módulo terá como primeira saída Y30; se, por acaso, a CPU terminar com o endereço Y43, o endereço da primeira saída digital do módulo seguinte será Y50. 6.4 - M: relés auxiliares Relés M são bits internos que podem ser utilizados para várias ações. Quando a bobina de um bit interno é ligada, seu respectivo contato é ligado. No GX Works, é possível configurar relés M para tornarem-se retentivos, dependendo do modelo da CPU. Relés retentivos  mantêm seus status (ligado ou desligado) quando o CLP está em STOP ou quando o CLP está desligado. Há um grupo de relés M que têm funções especiais, relativos à status e configurações do CLP. Eles correspondem de M8000 à M8511. O significado deles será mostrado no final da apostila. 6.5 – D: registradores d e dados 30 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP D são registradores de dados ( word devices) que podem ser usados para armazenamento de dados numéricos. Todos os registradores D são de 16 bit, isto significa que possuem uma capacidade máxima para armazenar valor; este valor pode variar de -32768 à 32767. Na programação de CLPs FX, é possível trabalhar com registradores de 32-bits, aumentando a capacidade de valor. Para essas aplicações dois registradores de 16 bits são usados para guardar um valor de 32 bits, o qual pode guardar valores com range de -2147483648 à 2147483647. No GX Works, é possível determinar um range de registradores retentivos. Registradores retentivos mantêm seus valores quando o CLP está em STOP ou quando o CLP está desligado. Registradores de Dados D8000-D8511 são registradores especiais dedicados para o diagnóstico do CLP e para funções especiais. Mais detalhes serão vistos no final da apostila. No FX3U, o CLP tem a capacidade de acessar diretamente os bits dos registradores como se fossem bits de memórias internas ou relés internos. Colocando um “ponto” entre o endereço do registrador e o endereço do bit, o status do bit isolado pode ser usado como um contato dentro das lógicas. Um exemplo pode ser D0.F o qual está se referindo ao bit 15 do registrador D0. 6.6 – T: timers Os Timers são bobinas internas do CLP usadas da mesma forma que um temporizador elétrico: quando suas bobinas forem acionadas durante um intervalo de tempo determinado, ligam um contato. Existem diversas aplicações onde podemos fazer o uso de timer, mas antes de começarmos precisamos estudar alguns detalhes. Na família FX existem os seguintes timers disponíveis: • • CLP FX3U tem 512 timers; CLPs FX1N, FX2N têm 256 timers; 31 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP • CLP FX1S tem 64 timers. Tipos:  A resolução de um timer vai depender do endereço a ser utilizado. Intervalo do Timer Endereçamento do Timer FX1S FX1N/ FX2N FX3U 100 ms 10 ms 1 ms (Retentivo) 100 ms (Retentivo) 1 ms T0-T62 T32-T62 (se M8028 = 1) T63 T0-T199 T200-T245 T246-T249 T250-T255 - T0-T199 T200-T245 T246-T249 T250-T255 T256-T511 Observação: 100 ms = 0,1 segundos, 10 ms = 0,01 segundos, 1 ms = 0,001 segundos.  de Set value  um timer  O set value  de um timer  corresponde ao tempo total que o timer  deve contar para ligar o seu contato. O set value  é configurado em múltiplos do intervalo de cada timer (resolução). Por exemplo, T0 é um timer  de 0.1 segundos; se configurarmos o mesmo com um set value de 50, ele irá contar 5 segundos e depois irá ligar seu contato (50 * 0.1 = 5 segundos). O set value  deve ser um inteiro entre 0 e 32767, isso porque todos os timers são de 16 bits. O valor do set value pode escrito como uma constante usando a letra K ou até como uma variável usando um registrador no lugar da constante. Mais adiante na apostila, daremos um exemplo do uso do timer  de set value variável. Reset (retentive) Quando estamos trabalhando com um timer que não é retentivo, se contarmos a alimentação de sua bobina, seu valor de contagem de tempo retornará a zero e consequentemente seu contato irá desligar. Entretanto, ao se trabalhar com timers retentivos, necessitamos usar a instrução RST para fazê-lo retornar à zero. 32 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Timers não retentivos inicializam seu valor de contagem de tempo e desligam seu contato se o CLP muda seu status de RUN para STOP ou quando o CLP é desligado. Já os timers retentivos mantêm seu sinal e sua contagem de tempo mesmo que o CLP entre em STOP ou quando o CLP é desligado. Usando timers: aplicações p ráticas Para programar um timer  no ladder, é necessário alimentar a sua bobina, definir um set value  e finalmente usar seu contato para realizar alguma tarefa. X000 K50 0 T0 T0 4 Y000 6 END No exemplo acima, quando a entrada X0 é acionada, o timer  T0 é energizado. Como seu set value  é igual a K50, ele contará 5 segundos. Após esse tempo, o contato aberto de T0 ligará a saída digital Y0. Como vemos no exemplo anterior, o timer  usado foi o T0 que, pela tabela, é um timer de 0,1 segundos, ou seja, com uma precisão de décimos de segundos. Se a aplicação exigir um timer com resolução melhor, basta utilizar o T200 (no FX3U), que possui resolução de 0,01 segundos. Repetindo o exemplo acima, podemos escrever: X000 K500 0 T200 T200 4 Y000 6 END  Assim como no exemplo anterior, quando X0 atuar, a bobina de T200 será energizada e o timer começará 33 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP a contar, e depois de 5 segundos seu contato será acionado. Perceba que T200 possui um set value de K500, entretanto, este timer é de 0,01 segundos; sendo assim, o tempo de ele irá contar será também de 5 segundos (0,01 * 500 = 5 segundos). Caso a resolução do timer  do exemplo anterior ainda não satisfaça, podemos utilizar timers de milésimos de segundos. Consultando a tabela, podemos ver que esse timer  é o T256 (no FX3U): X000 K500 0 0 T256 T256 4 Y000 6 END T256 possui um set value de 5000. Como sua resolução é de 0,001 segundos, ele ira contar 5 segundos, assim como os outros (0,001 * 5000 = 5 segundos). Nota:  cuidado ao trabalhar com um timer de 1ms, pois se o scan do seu programa estiver acima de 1ms, o seu timer  poderá não acionar no intervalo determinado no set value . 6.7 – C: contadores Contadores são usados quando se deseja contar quantas vezes um determinado evento ocorreu. Por exemplo, quando queremos contar o numero de peças produzidas, ou o número de falhas que ocorreram, etc. Contadores disponíveis na família FX: • • • FX2N e FX3U têm 256 contadores; FX1N tem 256 contadores; FX1S tem 45 contadores. Tipo de Contador Endereçamento do Contador FX1S FX1N/ FX2N FX3U 16 bits C0-C15 C0-C99 C0-C15 34 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP C16-C31 C16-C199 C100-C199 16 bits retentivos C200-C219 C200-C219 32 bits bi-direcional C220-C234 C220-C234 32 bits bi-direcional retentivo C235-C255 C235-C255 Contadores de alta velocidade* C235-C234** *Dentre os contadores de C235 à C255 (21 pontos), todos são de alta velocidade e possuem entradas físicas associadas a cada um deles. Uma explicação detalhada será mostrada no curso avançado. **O FX1S não tem o C239, C240, C243, C245, C248, C250, ou C253. Set Value: O set value  dos contadores determina o número de contagens necessárias para ligar seu contato. Exemplo: X000 K1 0 0 C0 C0 4 Y000 6 END Neste exemplo, toda vez que ligamos X0 a bobina de C0 é energizada e conseqüentemente é incrementado 1 ao contador. Como o set value de C0 é K10, C0 contará até 10 e ligará o seu contato normal aberto, fazendo a saída digital Y0 ser energizada. 6.7.1 - Contadores de 16 bits Para contadores de 16 bits, o set value deve ser um inteiro entre 0 e 32767, pois o mesmo só conta no sentido positivo (contador up), ou seja, apenas incrementa. O set value pode ser ajustado usando a constante K ou usando um registrador D para torna-lo variável. Posteriormente, será dada uma explicação mais detalhada sobre o contador com set value variável. 35 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP O valor acumulado de um contador de 16 bits nunca ultrapassa seu set value, mesmo que você continue incrementando ele. Quando seu contato se tornar ativo, este permanecerá neste estado até que se use uma instrução RST para resetar o contador. Se o valor do contador for “forçado” para zero, seu contato permanecerá ligado. Reset Os contadores de 16 bits C100-C199 são contadores retentivos e mantém seus valores contados mesmo que o CLP esteja em STOP ou desligado. Os contadores de 16 bits C0 – C99 perderão seus valores contados se o CLP estiver em STOP ou desligado. 6.7.2 - Contadores de 32 bits Contadores de 32 bits são bidirecionais, ou seja, podem ser up (incremento de contagem para o sentido positivo) ou down (incremento de contagem para o sentido negativo) e a direção de cada um é baseada nos status  dos bits especiais M8200 ate M8255 (com o endereço correspondente de cada contador). Se o bit especial estiver desligado, o contador incrementará; se o bit especial estiver ligado, o contador decrementará. Por exemplo: O contador de 32 bits C200 está relacionado com o bit especial M8200; sendo assim, se M8200 estiver desligado, C200 estará habilitado a incrementar valores, mas se M8200 estiver ligado, C200 estará habilitado a decrementar valores. A tabela abaixo relaciona cada contador bidirecional com seu respectivo bit especial de direção de contagem: Nº do Bit especial contador relacionado C200 C201 C202 C203 M8200 M8201 M8202 M8203 Nº do Bit especial contador relacionado C210 C211 C212 C213 M8210 M8211 M8212 M8213 Nº do Bit especial contador relacionado C220 C221 C222 C223 M8220 M8221 M8222 M8223 Nº do Bit especial contador relacionado C230 C231 C232 C233 M8230 M8231 M8232 M8233 36 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP C204 C205 C206 C207 C208 C209 M8204 M8205 M8206 M8207 M8208 M8209 C214 C215 C216 C217 C218 C219 M8214 M8215 M8216 M8217 M8218 M8219 C224 C225 C226 C227 C228 C229 M8224 M8225 M8226 M8227 M8228 M8229 C234 M8234 Set Value O set value  dos contadores determina o número de contagens necessárias para ligar seu contato. Entretanto, neste tipo de contador, é possível exceder a contagem do set value se continuarmos incrementando seu valor, mas seu contato acionará somente quando o contador atingir o set value. Para os contadores de 32 bits, o set value deve ser um valor que esteja entre -2.147.648 e 2.147.647. Isto significa que eles podem ser contadores up e down, ou seja, podem incrementar ou decrementar o valor de contagem. O set value  pode escrito como constante usando a letra K ou também com registradores para tornálos contadores com set value variável, o qual será explicado mais para frente. O valor acumulado do contador de 32 bits pode ultrapassar o set value . Mas, se o contato tornou-se ativo por alcançar o set value, este permanecerá neste estado até que uma instrução RST mude o seu valor, ou seja, resetando o contador. Se o valor do contador for forçado a um valor inferior ao seu set value após alcançar o número de contagens, seu contato permanecerá ligado. Reset Contadores de 32 bits de C220 à C234 são retentivos e por isso mantém seus valores mesmo que o CLP esteja em STOP ou seja desligado, sendo necessário uma instrução RST para resetá-los. Os contadores de 32 bits de C200 à C219 perderão seus valores contados se o CLP estiver em STOP ou desligado, exceto se declarados como contadores retentivos em “ PLC Parameter ”. 37 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Instruções básicas  As instruções básicas são usadas para projetar lógicas básicas, manipulando bits, timers e contadores e normalmente fazem parte da maioria do projeto de CLP em ladder. Eles são usados para confirmar estado de entradas, manipular saídas, habilitar temporizadores e permitir a criação de lógicas de acordo com cada necessidade.  A linguagem ladder tem uma representação através de símbolos os quais descreveremos os principais. 7.1 - Contato normalmente aberto X000 . Este contato se torna ativo quando recebe sinal 1 (ligado). Equivale a um contato elétrico normalmente aberto. 7.2 - Contato normalmente fechado 38 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP X000 Este contato se torna ativo quando recebe sinal 0 (desligado). Equivale a um contato elétrico normalmente fechado. 7.3 - Bobina Y000 Este símbolo sempre aparece no lado direito do ladder e representa uma saída. A bobina é energizada quando todas as condições anteriores a ela são satisfeitas. Equivale a uma bobina de relé elétrico.  Aplicações práticas Suponha a seguinte situação: você deve fazer o controle de um motor através de partida direta, ou seja, um botão pressionado manterá o motor ligado e se for solto o motor será desligado. Para traduzir isso na linguagem ladder, primeiramente devemos representar cada “integrante” do problema, pela simbologia correspondente. Sendo assim o botão a ser pressionado será representado pela simbologia X000, e o motor será representado pela simbologia Y000. Logo, a lógica para o problema apresentado ficaria representada da seguinte maneira: 39 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP X000 0 Y000 X0 representa o botão que será pressionado e Y0 representa o motor que será acionado  Agora, vamos supor que houve uma pequena mudança na lógica do motor. Desta vez, quando o botão for pressionado e solto, o motor deverá manter-se ligado até que haja um outro botão que desligue o motor. Para representar isso no ladder, devemos usar o mesmo conceito que seria usado numa ligação elétrica real. O conceito de selo elétrico.  Assim, quando a bobina da saída Y0 for energizada, seu contato será ligado e poderemos utilizá-lo para manter a saída ligada, como mostra o exemplo abaixo: X000 2 Y000 Y000 Conforme a linha acima, quando o botão X0 é pressionado, a saída Y0 é energizada, e o contato aberto de Y0 é fechado mantendo a sua bobina energizada mesmo que o botão X0 seja desligado. O próximo passo é desligar a saída quando outro botão for apertado. Esse novo botão será representado pela entrada X1: X000 X001 5 Y000 Y000 40 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Para desligar a saída ou “quebrar o selo”, devemos impedir essa alimentação constante da saída. Por isso, foi usado um contato fechado do botão X1, pois toda vez que o botão de desligar for pressionado, o contato irá abrir e conseqüentemente desligará a saída. O que foi mostrado é apenas uma forma simples de representar um problema real na programação para ajudar na sua resolução, mas existem outras maneiras de se fazer a mesma coisa. 7.4 - Pulso de subida X000 Quando queremos enviar somente um pulso para alguma saída ou para determinada instrução, podemos utilizar o contato de pulso de subida. X000 9 M0 No exemplo mostrado acima, mesmo que o botão X0 seja ligado por tempo indeterminado, a bobina de M0 só recebera o sinal durante um scan, ou seja, um pulso. Para mandar outro pulso, será necessário desligar X0 e ligá-lo novamente. 7.5 - Pulso de desci da 41 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP X000 Similar ao pulso de subida, ao invés de enviar um pulso na hora que a entrada é acionada, ele manda o pulso no momento em que X0 é desacionada. X000 12 M0 7.6 - Lógica OU Em diversas situações, será necessário que uma condição ou outra façam a mesma coisa. Por exemplo, vamos considerar que seja necessário implementar uma lógica para ligar uma lâmpada simples, mas haverão dois botões que farão o acionamento desta lâmpada (lógica OU) , ou seja, uma ligação em paralelo ligará uma saída. Representaremos esses botões por X0 e X1 e a lâmpada por Y0: X000 15 Y000 X001 Perceba que nesta lógica, tanto faz qual entrada estará ligada, pois qualquer uma delas irá acionar Y1. 7.7 - Lógica E 42 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Quando é necessário que duas ou mais condições sejam satisfeitas para que determinada saída ligue, colocamos uma ligação em série (lógica E). Vamos supor que uma lâmpada precise ligar somente se o botão X0 e o botão X1 forem pressionados simultaneamente. Assim, a lógica seria: X000 X001 5 Y000 Perceba que enquanto os dois botões não ligarem, Y0 não ligará. 7.8 - SET (set) Esta instrução é muito conhecida na programação de CLPs, sendo muito usada em qualquer lógica e substitui a lógica de selo. Exemplo: X000 18 SET Y000  Ao pressionar o botão X0, a saída Y0 ficará ligada mesmo que a entrada seja desligada. 7.9 - RST (reset)  Ao usar a instrução SET, a saída permanece ligada, sendo que podemos desligá-la usando a instrução RST (reset). 43 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP X000 18 RST Y000 Perceba que usando as instruções SET e RST resolvemos de uma forma diferente o problema de apertar um botão, manter uma saída ligada e apertar outro botão e desligar esta mesma saída. 7.10 - PLS (pulso de subida) Suponha que seja necessário acionar uma saída por um único scan, ou seja, por um pulso, mas o sinal de acionamento venha quando duas entradas estiverem acionadas. Repare que neste caso não podemos colocar um pulso de subida em cada entrada, pois seria muito difícil que as duas entradas fossem acionadas no mesmo instante. Para esta situação, dispomos de uma saída alternativa: podemos usar uma instrução PLS (pulso de subida). X000 X001 22 PLS Y000 No exemplo mostrado, a saída Y0 será exclusivamente acionada por um scan (um pulso) a partir do momento que X0 e X1 estiverem ligadas. 7.11 - PLF (pulso de descida) Na instrução PLF, o bit especificado torna-se ativo durante um scan somente quando sua bobina passa de 44 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP ligada para desligada. No exemplo seguinte, suponha que as entradas digitais X0 e X1 estejam ativas. Quando uma das duas ou as duas entradas forem desligadas, a saída Y0 será exclusivamente acionada por um scan: X000 X001 22 PLF Y000 7.12 - ALT (alternate) Esta instrução inverte o estado de um bit. Se o bit dentro da instrução estiver desligado, após a execução desta instrução ele ligará e se ele estiver em ligado, após a execução desta instrução ele desligará. X000 0  ALT Y000 Neste exemplo, toda vez que a entrada X0 é ligada, a saída Y0 tem o seu sinal lógico invertido. Perceba que para utilizar a instrução ALT de maneira correta foi necessário colocar um pulso de subida em X0. Se tivesse sido colocado um contato seco comum, Y0 teria o seu sinal invertido a cada scan do programa e seu status logo após desligar X0 seria indeterminado. Desafio:  tente fazer uma lógica que imite a função ALT usando somente contatos abertos, contatos fechados e bobinas comuns. 7.13 - ZRST (zone reset)  Até agora foi mostrado uma única maneira de desligar um bit que foi “setado”, através do uso da instrução 45 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP RST. Entretanto em certas ocasiões há a necessidade de desligar vários bits de uma única vez como, por exemplo, ao pressionar um botão de emergência. Geralmente precisa-se que todas as saídas do CLP e muitos bits sejam desligados caso o botão de emergência seja acionado. Podemos colocar uma instrução RST para cada bit que queremos desligar. Entretanto, quando for necessário desligar um número muito grande de bits, essa prática pode torna-se muito trabalhosa. Sendo assim, para resolver este problema de forma mais otimizada, podemos fazer uso da instrução ZRST. X000 30 ZRST Y000 Y007 ZRST M0 M100 No exemplo acima, toda a vez que a entrada X0 é acionada, todas as saídas de Y0 até Y7 são desligadas e todos os bits de M0 até M100 são desligados. 46 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Exercícios 1 - Desenvolva a seguinte aplicação: • • • Deseja-se fazer o controle de dois motores, representados por Y0 e Y1;  Ao pressionar o botão X0, o CLP deverá ligar o motor Y0 e desligar o motor Y1;  Ao pressionar o botão X1, o CLP deverá ligar o motor Y1 e desligar o motor Y0; 2 – Desenvolva a seguinte aplicação: Um botão X0 acionará um bit M0 e este deve permanecer selado; O bit M0 acionará um temporizador T0 de 1 segundo. Após este tempo, o temporizador liga um bit M1 e este deve permanecer selado. O bit M1 deve quebrar o selo de M0 ; O bit M1 acionará um temporizador T1 de 1 segundo. Após este tempo, o temporizador liga um bit M2 e este deve permanecer selado. O bit M2 deve quebrar o selo de M1 ; O bit M2 acionará um temporizador T2 de 1 segundo. Após este tempo, o temporizador liga um bit M3 e este deve permanecer selado. O bit M3 deve quebrar o selo de M2 ; O bit M3 acionará um temporizador T3 de 1 segundo. Após este tempo, o temporizador liga um bit M4 que quebrará o selo de M3; Experimente aplicar os bits M0, M1, M2 e M3 à Y0, Y1, Y2 e Y3 respectivamente; Tente realizar a mesma lógica de funcionamento de outras formas; Observe que cada um dos bits internos pode ser aplicado a qualquer saída, preservando toda a lógica do projeto de CLP. • • • • • • • • 3 – Desenvolva a seguinte aplicação: • • • • • • O semáforo 1 usará as saídas Y0 (verde), Y1 (amarelo) e Y2 (vermelho); O semáforo 2 usará as saídas Y5 (verde), Y6 (amarelo) e Y7 (vermelho); O tempo de lâmpada verde do semáforo 1 será de 5 segundos; O tempo de lâmpada amarela do semáforo 1 será de 1 segundo; O tempo de lâmpada amarela do semáforo 2 será de 1 segundo; O tempo de lâmpada vermelha do semáforo 1 será de 10 segundos. 4 - Desenvolva a seguinte aplicação: •  Ao pressionar um botão X0, deve-se ligar uma lâmpada Y0 durante 5 segundos, mesmo após soltar o 47 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP botão; • • • Passado esse tempo, a lâmpada deve permanecer desligada por 3 segundos; Depois disso, o ciclo se repete mais 6 vezes; Se o botão X1 for acionado durante qualquer ciclo, a operação é finalizada. 5 – Desenvolva a seguinte aplicação:  Altere o projeto de CLP da aplicação do exercício 3 para que a entrada X0 ligada funcione os semáforos normalmente e desligada pisque as lâmpadas amarelas de 0,5 em 0,5 segundos;  Altere o projeto de CLP da aplicação do exercício 3 para que as lâmpadas vermelhas dos semáforos permaneçam ligadas durante 2 segundos logo após o momento que qualquer um passar da transição de lâmpada verde para vermelha. • • 6 – Desenvolva a seguinte aplicação: Uma fabrica tem cinco motores (Y0, Y1, Y2, Y3 e Y4) que devem ser ligados no início do expediente. Entretanto, esses motores não podem ser ligados ao mesmo tempo, devendo ser ligados um de cada vez para não causar um pico de corrente na fábrica; O intervalo de tempo para ligar um motor após o outro é de 1 segundo;  Ao pressionar um botão de start X0, deve-se ligar o primeiro motor Y0;  Após 1 segundo liga-se o segundo motor Y1, e após mais 1 segundo liga-se o terceiro motor Y2 e assim sucessivamente até ligar o motor Y4; Se quando os 5 motores estiverem ligados ou enquanto os motores forem ligados o botão X1 for pressionado, o CLP deve desligar os motores um após o outro, na mesma sequência e com o mesmo intervalo de tempo. • • • • • 48 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Instruções avançadas 9 – INSTRUÇÕES AVANÇADAS Este capítulo destina-se a ensinar algumas instruções que facilitam muito a programação. Como dito anteriormente as instruções são um conjunto de lógica que estão prontas para serem usadas. Existem instruções que realizam movimentação de dados, instruções aritméticas, comunicação com blocos analógicos, lógicas de controle de seqüência, enfim, são diversas instruções que foram projetadas parar atenderem a diversas aplicações. 8.1 - Instruções de transferência de dados  Armazenando e lendo valores numéricos: Esta parte do curso descreve como armazenar e ler valores numéricos. O mais básico destas instruções, são as de movimentação simples, que são usadas para ler valores de um lugar ou para transferir valores para algum lugar. Onde são armazenados os dados?  Até agora trabalhamos muito com variáveis do tipo booleanas, ou seja, variáveis que só podem assumir os dois estados lógicos 0 ou 1, como as entradas digitais, saídas digitais e dos relés auxiliares M do CLP. Mas quando desejamos guardar um valor de uma temperatura, por exemplo, onde podemos armazenar este valor? Logicamente não poderá ser em uma variável booleana, sendo assim precisaremos de variáveis que armazenem valores numéricos. Para isso usamos os registradores. E para conseguir mover um dado de um lugar para outro precisaremos fazer uso das instruções de transferência de dados. 49 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.1.1 - Instr ução MOV  A instrução MOV faz a movimentação de um dado de uma origem até um destino, ou seja, na prática ela “pega” um valor numérico de um lugar e copia o seu valor para dentro de outro lugar. Exemplo 1: Transferindo uma constante K (decimal) para um registrador (Word) Neste exemplo, quando a entrada X0 é ligada, o valor 15 é transferido para D0 que é uma variável e, portanto, pode assumir qualquer valor. Obs.: o CLP sempre trata os valores numéricos como valores em binário, portanto, veja o que está acontecendo internamente no CLP quando a transferência de dados é feita. Cada letra “b” representa um bit interno, assim b0 refere-se ao bit 0 , b1 refere-e ao bit 1 e assim por diante. K15 b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 b7 b6 b5 b4 b3 b2 b1 b0 D0 b15 b14 b13 b12 b11 b10 b9 b8 50 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 Na tabela temos a representação do numero 15 em código binário, e D0, que é um registrador de 16 bits, também com a representação de seus bits internos que acabaram de receber o valor 15. Exemplo 2: Transferência de dados entre dois registradores (words). Neste exemplo, o valor que estiver dentro do registrador D0 é copiado para D2 sem mudar o valor de D0. Exemplo 3: Transferindo de um conjunto de bits (nibbles) para um registrador (Word) Ë possível fazer a transferência de dados de um grupo de bits na forma de nibbles (conjunto de 4 bits) para dentro de um registrador como mostra o exemplo abaixo: K1X0 51 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP X3 X2 X1 X0 b3 b2 b1 b0 X3 X2 X1 X0 D0 b15 b14 b13 b12 b11 b10 0 0 0 0 0 0 b9 0 b8 0 b7 0 b6 0 b5 0 b4 0 Neste exemplo K1X0 representa X0 até X3, se no lugar de K1X0 fosse K2X0, a transferência seria de X0 até X7 para D3. Transferência de dados em 32 bits Como foi dito no inicio do curso, um registrador é uma variável de 16 bits, sendo assim, ele poderá armazenar no máximo, um valor que esteja dentro do range de -32768 à 32767. Entretanto vão existir momentos em que será necessário armazenar valores que ultrapassem esse range. Neste caso precisaremos “informar” ao CLP que desejamos usar um valor que está acima deste range.  A forma de “informar” isso ao CLP é inserindo a letra “D” no prefixo de alguma instrução. Ao fazer essa prática o CLP entenderá que você deseja um valor acima de 16, então ele juntará 2 registradores de 16 bits e formar um registrador de 32 bits. Veja o exemplo abaixo Perceba neste exemplo que a letra “D” foi inserida antes da função MOV, logo o valor 40.000 será copiado 52 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP para D0 e D1, que juntos vão formar um registrador de 32 bits. 8.1.2 - Instr ução BMOV (block move)  A instrução BMOV faz a cópia dos dados de “n” variáveis para outras “n” variáveis seqüencialmente. Como se fossem várias instruções MOV executadas seqüencialmente em uma única instrução. No exemplo acima os dados de D0 até D49 serão copiados para D100 até D149.  A transferência é habilitada mesmo que seja programado de forma que os dados sejam sobre escritos. Para impedir que os dados sejam sobre escritos antes da transferência de dados, a instrução segue uma ordem de transferência. Exemplo: 53 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.1.3 - Instr ução FMOV (fill move) Esta instrução move um mesmo dado para uma quantidade específica de variáveis. Exemplo: 54 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.2 - Instruções de comparação de dados  As instruções de comparação são usadas para fazer comparações de valores de registradores, timers, contadores, etc. Por exemplo, quando se deseja ligar ou desligar uma válvula depois de se alcançar determinada temperatura, ou comparar o numero de pecas produzidas num determinado tempo, etc. 8.2.1 - Instrução CMP (Compare) Esta é uma instrução que compara um valor com outro valor, e responde ligando três bits diferentes dependendo do resultado da comparação. Exemplo: No exemplo acima, a instruao comparar o valor do contador C0 o valor constante 5, e reponsde da seguinte forma: Se 5 for > C0 entao M0 sera ligado 55 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Se 5 for = C0 entao M1 sera ligado Se 5 for < C0 entao M2 será ligado  Aplicação prática: Deseja-se fazer um controle das quantidades de peças produzidas em cada turno. A quantidade de pecas que devem ser produzidas está armazenada na variável (D0) . Enquanto não for alçado o numero de pecas que se deseja produzir, deve-se manter acesa uma luz verde (Y0). Quando este valor for alcançado deve ligar uma luz vermelha (Y1) e se o numero produzido for maior que o esperado deve-se ligar um sirene (Y2). Toda vez que uma peca é produzida, X6 recebe sinal.  A lógica para resolver esse problema fica extremamente simples usando a função CMP, veja no exemplo de programa abaixo: Poderíamos no lugar de M0 coloca Y0 na instrução, o que economizaria alguns passou de programa, mas para facilitar o entendimento da lógica estamos usando 3 memórias auxiliares: M0, M1 e M2 8.2.2 - Instrução ZCP (Zone Compare) 56 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Suponha agora que será necessário fazer um controle de temperatura de uma sala, onde você precise informar visualmente se a temperatura está num nível adequado. Se a temperatura estiver abaixo de 10 graus deve-se ligar um lâmpada azul. Se a temperatura estiver entre 10 graus e 20 graus deve-se ligar uma lâmpada verde informando que está tudo OK, mas se a temperatura estiver acima de 20 graus, deve-se ligar uma lâmpada vermelha. Perceba que para resolver este problema, não basta usar a função CMP, pois se tratando de temperatura, não temos um valor fixo, mas sempre um range e, neste caso, o nosso range é de 10 a 20 graus. Para atender esta requisição, você poderá fazer uso da instrução ZCP que faz uma comparação em uma faixa de valores, onde o registrador D50 guarda o valor da temperatura, veja o exemplo: Esta instrução compara o valor de D50 e responde da seguinte maneira: • • • Se D50 for < 10, então M20 será ligado; Se 10 <= D50 <= 20, então M21 será ligado; Se D50 for > 20, então M22 será ligado. 8.3 – Instruções de comparações de linh a Em muitas ocasiões será necessário fazer uma comparação de valores específicos, sem determinar ranges ou valores de máximos e mínimos. Nestes casos o uso das instruções anteriores poderia ser tornar um tanto trabalhosas na prática. Para atender a estas exigências existem as comparações de linhas, que são comparações que feitas individualmente entre duas variáveis: Exemplo 1: 57 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Se C0 for menor que 5, então Y0 será ligado. Exemplo 2: Se C0 for igual a 5 então Y1 será ligado. Exemplo 3: Se C0 for maior que 5 então Y2 será ligado. Exemplo 4: Se C0 for diferente de 5 então Y3 será ligado. Esta é uma forma muito simples de fazer comparações, pois facilita o entendimento do programa tanto de quem desenvolve o software quanto de quem um dia necessitar interpretá-lo ou editá-lo. 58 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.4 - Instruções de Fluxo de Programa 8.4.1 - Instrução CJ (Condicional Jump)  A instrução CJ pula para um label (P) determinado pelo programador.  A instrução CJ reduz o tempo de scan. 8.4.2 - Instrução CALL (Call Subroutine)  A instrução CALL é usada para chamar uma sub-rotina. Ao acionar a instrução, o programa pula para uma área específica do ladder, demarcada por uma label, executa o programa que está ali dentro e retorna para o mesmo ponto de onde foi chamado. Exemplo: 59 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Programa principal Início: STEP 0 Fim: FEND Programa de Sub-rotina Início: Label P9  Ao acionar X0 o programa pula para o ponteiro P9 e executa a sub-rotina correspondente. Certifique-se de Fim: SRET. colocar a instrução FEND para separar o programa principal da sub-rotina. Para finalizar a sub-rotina, deve-se colocar a instrução SRET. Exemplo com m últiplas sub-rotinas É possível colocar uma sub-rotina dentro da outra, sendo possível criar lógicas de sub-rotinas que dependam do resultado de outras sub-rotinas. Entretanto esse procedimento só pode ser feito, no máximo, cinco vezes. . Exemplo: Programa principal Quando X001 ligar, o programa pula para o label P11 somente uma vez. Programa de sub-rotina 1 Quando a instrução SRET é executada, o programa retorna para o programa principal. Se X002 estiver ligado enquanto a sub-rotina 1 é executada, o programa pula para o passo com o label 12. Programa de sub-rotina 2  A sub-rotina P12 é executada, então o programa retorna para a subrotina P11 pela instrução SRET. 60 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.4.3 - Instrução SRET (Subroutine return) Quando a instrução CALL é executada no programa principal, o programa executa o pulo para a subrotina. A instrução SRET retorna a execução do programa para a rotina principal. 8.4.4 - Instr ução FEND (Main Routi ne Progr am End)  A Instrução FEND indica o final do programa principal quando estiver usando alguma sub-rotina. Todo programa que for colocado entre a instrução FEND e o início da sub-rotina não irá funcionar. Exemplo: 8.5 - Instruções Aritméticas 8.5.1 - Instrução ADD (Addit ion) Esta instrução executa uma soma do valor da primeira variável com o valor segunda variável e coloca o resultado na terceira variável. 61 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP  Adição em 32 bits: 8.5.2 - Instrução SUB (Subtraction) Esta instrução subtrai o valor da primeira pelo valor da segunda variável e coloca o resultado na terceira variável. Subtração em 32 bits: 8.5.3 - Instrução MUL (Multiplication) Esta instrução multiplica o valor da primeira variável com o valor segunda variável e coloca o resultado na terceira variável (o resultado é armazenado em 32 bits). 62 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Multiplicação em 32 bits (o resultado é armazenado em 64 bits) 8.5.4 - Instrução DIV (Division) Esta instrução divide o valor da primeira variável pelo valor segunda variável e coloca o resultado na terceira variável (colocando o resto no próximo endereço da terceira variável). Divisão em 32 bits (colocado o resto utilizando 32 bits após os 32 bits da terceira variável) 8.5.5 - Instrução INC (Increment) Esta instrução incrementa 1 a um registrador específico. O conteúdo de D0 é incrementado em 1 e o resultado do incremento é transferido para D0. 63 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.5.6 - Instrução DEC (Decrement) Esta instrução decrementa 1 a um dispositivo específico. O conteúdo de D0 é decrementado em 1 e o resultado do decremento é transferido para D0. 64 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 8.6 - Instruções de op eração seqüencial 8.6.1 - STL (Step Ladder) Esta instrução é usada para fazer programas seqüenciais nos quais são necessários fazer um controle de processo, passo a passo, que dependa de sinais externos para dar continuidade no funcionamento da máquina. Com o Step Ladder  é possível separar um programa em partes ou blocos, e assim conseguir identificar mais rapidamente um problema futuro que possa aparecer na máquina. No exemplo mostrado acima, quando X001 ligar, S2 entra em funcionamento, neste instante toda lógica que pertencia a S1 não irá funcionar mais. Quando X002 ligar, a lógica pertencente a S2 não funcionará mais e entrará em funcionamento a lógica pertencente a S3. Perceba que assim o programa fica dividido em várias partes tornando-o seqüencial, simples e organizado. 8.7 – Instruções de Processamento de Alta Velocidade 65 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Contadores de Alta Velocidade Tipos de Contadores de Alta Velocidade  A CPU tem incorporado contadores de alta velocidade bidirecionais de 32-bits (1-fase com 1 contagem, 1 fase com duas contagens e duas fases com duas contagens). Estes contadores de alta velocidade são classificados em dois tipos: Hardware ou Software, de acordo com o método de contagem. Muitos contadores de alta velocidade são capazes de usar um terminal de reset de entrada externo e um terminal de start de entrada externo (para início da contagem). Classificação dos co ntadores de alta velocidade de acordo com o método de contagem. Contadores de hardware: estes tipos de contadores executam a contagem pelo hardware, mas podem ser trocados para software dependendo da condição de operação. Contadores de software: estes tipos de contadores executam a contagem como processo de interrupção de CPU.  Atribuição de entradas para os contadores de alta velocidade  As entradas de X000 à X007 são atribuídas como mostrado na tabela abaixo de acordo com o número de cada contador de alta velocidade. Quando um contador de alta velocidade é usado, o filtro constante de um número de entrada correspondente na CPU automaticamente altera (X000 até X005: 5µs, X006 e X007: 50µs). As entradas que não forem usadas como contadores de alta velocidade podem ser usadas como entradas comuns. 66 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP H/W: Contador de Hardware S/W: Contador de Software U: Entrada de Incremento D: Entrada de Decremento A: entrada de fase A B: entrada de fase B R: Entrada de reset externo S: Entrada de start externo. 8.7.1 – HSCS (High Speed Counter Set) Esta instrução compara o valor contado pelo contador de alta velocidade com um valor específico, e imediatamente liga uma saída externa (Y) se os dois valores forem iguais. Exemplo: 67 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Quando o valor do contador de alta velocidade C255 mudar de “99” para “100” ou de “101” para “100”, Y10 é ligado. 8.7.2 - HSCR (High Speed Counter Reset) Esta instrução compara o valor contado pelo contador de alta velocidade com um valor específico, e imediatamente desliga uma saída externa (Y) se os dois valores forem iguais. Exemplo: Quando o valor do contador de alta velocidade C255 mudar de “99” para “100” ou de “101” para “100”, Y10 é desligado. 8.7.3 - HSZ (High Speed Counter Zone Compare) 68 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Esta instrução compara o valor do contador de alta velocidade com dois valores (uma zona), e de acordo com o valor da comparação liga uma entre as saídas. Exemplo: Quando o valor corrente do contador de alta velocidade C251 (mudar) como mostrado abaixo, o resultado da comparação é transferido para uma das três saídas (Y0, Y1 e Y2) 69 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 10 INSTRUÇÕES COM ENTRADAS 8.8 - Instruções especiaisESPECIAIS com entradas e saídasE SAÍDAS 8.8.1 - Controle Analógico Existem muitas aplicações nas quais um módulo analógico pode ser usado para fornecer um controle adicional à operação do sistema. Um módulo analógico é um bloco adicional designado para um uso específico. Como exemplos de módulos analógicos, podemos citar: FX3U-4AD (Módulo de entrada analógica), FX3U-4ADTC (módulo analógico para sensores de temperatura), etc. Para a série FX existem três tipos de controle analógicos: entrada analógica, saída analógica e entrada para sensor de temperatura. 70 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Programar um bloco de função é uma maneira de fazer uma troca de dados entre o CLP e o módulo. Esta troca de dados determina as condições com as quais cada módulo irá operar e quais dados serão fornecidos ao CLP. Duas instruções são usadas para fazer esta troca de dados: A instrução “TO” escreve no o módulo e a instrução FROM lê os dados do módulo. Com estas instruções é possível configurar os módulos via software e puxar deles as informações necessárias. 8.8.2 – FROM (Read From A Special Functi on Bloc k) Esta instrução lê o conteúdo do buffer memory (BMF) em um bloco especial conectado ao CLP e transfere o valor para o registrador do CLP. 8.8.3 - TO (Write To A Special Function Block) Esta instrução escreve o dados do CLP para o buffer memory de um bloco especial. 71 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP 72 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Ferramentas de diagnóstico  A linha de CLPs da Série FX possuem uma grande quantidade de registradores e relés especiais auxiliares que armazenam informações como códigos e erros, falhas no CLP, erro de programação etc.  Ao concluir este capítulo, o estudante será capaz de: • • • • Identificar os registradores e relés auxiliares do CLP e do software; Interpretar as informações dos registradores e relés especiais; Escrever pequenos programas que podem ajudar com as funções de diagnóstico; Usar as ferramentas de identificação de erros do GX Developer para resolver problemas. 9.1 - Relés Especiais Os relés especiais começam a partir de M8000 para frente e são reservados para uso interno do CLP. No FX1S, FX1N, FX2N o range vai de M8000-M8255 no FX3U o range é de M8000-M8511. Estes relés especiais têm várias funções no sistema. Uma lista completa de toda a funcionalidade deles pode ser encontrada no capítulo 36 do manual de programação do FX3U ou no help do GX Developer. Estes M especiais podem ser úteis tanto para programação quanto para manutenção do seu programa.  Alguns relés especiais estão listados abaixo Relé Especial M8004 M8006 M8060 - M8068 M8064 M8065 M8066 Função Indica que algum erro deve ter ocorrido Bateria com carga baixa Sinal de detecção de erro Erro de parâmetros Erro de sintaxe Erro de programação Os relés especiais M8060 à M8068 têm registradores especiais associados D8060 à D8068 o qual podem armazenar o código de erro. Os relés especiais que serão descritos abaixo não são relés de diagnostico, mas são muitos úteis na 73 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP programação. Relé Especial M8000 M8001 M8002 M8003 M8011 M8012 M8013 Função Sempre Ligado (CLP RUN) Sempre Desligado Pulso Inicial ON Pulso Inicial OFF Clock de 10 ms Clock de 100 ms Clock de 1 seg. 9.2 - Registradores Especiais D Os registradores especiais começam a partir de D8000. No FX1S, FX1N e FX2N, o range é de D8000 até D8255. No FX3U, o range é D8000-D8511. Estes registradores especiais D possuem várias funções no sistema. Uma lista completa de registradores especiais pode ser encontrada no help do GX Works.  Alguns dos registradores especiais de diagnósticos estão listados abaixo. Registrador Especial D8004 D8006 D8010 D8061-D8068 D8064 D8065 D8066 D8067-D8068 D8069 Função Endereço do primeiro relé de erro ativo (M8064 ativo, por exemplo) Tensão de baixa de bateria para dar alarme Tempo de Scan Atual Códigos de Erros Código de Erro dos Parâmetros Código de Erro (Syntase) Código de Erro do Programa Código de Erro de Operação Step onde tem erro Os registradores especiais a seguir não são de diagnósticos, mas são muito úteis na programação: 74 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Registrador Especial D8001 D8005 D8013-D8019 D8013 D8014 D8015 D8016 D8017 D8018 D8019 D8020 Função Tipo de CLP e versão de firmware Tensão da Bateria Real Time Clock Segundos Minutos Horas (formato 24 horas) Dia Mês  Ano (2 dígitos 00-99) Dia da Semana (0-6, Domingo à Sábado) Filtro de Entrada (0-60 em ms, onde 0 é o filtro mínimo possível) 9.3 - Desenvolvendo l ógicas com os Relés Especiais O programa abaixo indica que a tensão da bateria está baixa. O Bit de alarme liga um saída o qual pode ativar uma lâmpada, ou uma buzina, etc. M8006 0 Y001 O exemplo abaixo armazena o código de erro e o step onde ocorreu o erro. Se os registrados que vão armazenar estes códigos de erros forem retentivos, então esta informação poderá ser guardada mesmo se o CLP estiver em STOP. 9.4 - Diagnóstico do GX Works 75 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Quando acontecer algum erro no CLP tome a seguintes medidas: • Vá até o menu Diagnostics; • Selecione CLP Diagnóstico. Uma janela similar a figura abaixo será mostrada: O erro numero 6706 é o código de erro que aparece no registrador especial D8067. Step 4 é o step onde o erro foi e encontrado. A mensagem de erro “Operation err”  está armazenado em D8004. • • • Click no Erro; Pressione “Error help”;  A seguinte tela deve aparecer. 76 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP  A tela mostra possíveis causas do estado de erro e suas possíveis soluções. 9.5 - Menu Find/Replace 77 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP O GX Works fornece uma série de métodos para localizar dispositivos e instruções. O Menu Find/Replace tem uma variedade de ferramentas de procura e alterações dos programas. As funções de procura localizam em uma procura todas as ocorrências de um determinado dispositivo, instrução ou string. As funções de “replace” permitem fazer a troca de um dispositivo por outro, instruções por outras, contato abertos por contatos fechados e algumas outras opções. A função de “Cross Reference” e “used devices” mostram todas as ocorrências de um dispositivo. Veja na figura abaixo a lista de opções que a aba Find/replace oferece. Find Device 78 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP É usado para localizar um endereço de um dispositivo mesmo dentro de uma instrução. Essa função fará a procura em todo programa procurando todas as ocorrências de determinado dispositivo. Digit Localiza dispositivos que estejam agrupados em nibbles (conjunto de quatro bits) ou estejam ocultos dentro de alguma instrução. Por exemplo, uma procura por M110 irá localizar que ele esta sendo usado dentro da instrução abaixo. Multiplos Words Expande a procura para encontrar qualquer registrador que esteja sendo usado, mesmo que ele esteja oculto dentro de alguma instrução. Find Instructio n 79 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP É usado para localizar todas as ocorrências de uma determinada instrução. A procura pode ser feita mediante uma seleção de direção de procura. Jump É usado para localizar um passo do programa específico. Isto pode ser útil usando em conjunto a ferramenta de diagnostico do CLP, que foi descrita anteriormente. Digitando o número do step que se deseja localizar na janela find step no , o cursor será automaticamente movido até o step correspondente. Replace Device 80 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP É usado para fazer a troca de um dispositivo por outro. Por exemplo, podemos trocar no programa todas as ocorrências de Y0 por Y7. Neste caso, devemos especificar Y0 no “ Find Device” e depois especificar Y7 no “Replace Device ”. O número de pontos especifica o numero de dispositivos que devem ser trocados a partir do Y0. Selecionando o check box “Move” em área “Device Comment”, os comentários serão movidos também. Change Open/Closed Contact 81 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP É usado para alterar todas as instâncias de contatos abertos e fechados de um simples bit. Este recurso é interessante quando desenvolvemos uma lógica com contato abertos e no momento do start up descobre que a lógica é invertida. Cross Reference É uma referência de lista cruzada para encontrar dispositivos, tanto escritos em ladder quanto ocultos em instruções. Observe que é exibido, neste caso, todos os pontos em que Y0 está sendo utilizado e de qual maneira (bobina, contato NA, etc.). Device List 82 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP É usado para listar uma lista de dispositivos usados no programa ladder. Um endereço deve ser especificado na caixa de procura e após pressionar o botão find, uma lista que começa com o endereço especificado será mostrada. Existem duas colunas que irão mostrar um asterisco (*) se o endereço do dispositivo correspondente for usado como algum contato ou alguma bobina no programa. Também será marcado se foi usado nas instruções. A letra “ERR” que aparece na coluna “Unpaired” indica que o dispositivo foi usado seu contatos mas não sua bobina, ou o contrário foi usado sua bobina mas não seus contatos, portanto, isto não é necessariamente um erro. 83 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Documentação e impressão Quando os programas são relativamente simples, como os que são usados neste treinamento, e desenvolvidos pelos próprios programadores da empresa, é fácil de fazer manutenção se não houverem muitos problemas. Entretanto, imagine se o programa tiver 4000 passos e tiver sido escrito por uma pessoa que deixou a empresa à 2 anos atrás. Sem nenhuma documentação do programa, seria difícil fazer manutenção nele. É por essa razão que a documentação é um passo muito importante na criação de um software. O GX Works oferece 3 tipos de documentação: Comments, Statements e Notes. 10.1 – Device Comments (Comentários de dispositivos, variáveis) Comentários são inseridos nos dispositivos para atribuir um nome ou descrição. Comentários típicos para um dispositivo de entrada são: Botão de Start, Botão Stop, Emergência, Sensor fim de curso, etc. Comentários típicos das bobinas ou bits internos são: Lâmpada Vermelha, Motor Principal, Sirene, Processo Habilitado, etc. Comentários podem ser de 4 linhas com 8 caracteres por linha, 3 linhas com 5 caracteres por linha ou 2 linhas com 8 caracteres por linha. Isto é ajustado no item “ Comment format”, no menu “View”. Comentários são adicionados selecionando “ Device Comment” do item “Documentation” no menu “Edit”, ou clicando no botão na barra de tarefas. Após selecionar a ferramenta de documentação, click duas vezes em qualquer outro dispositivo no ladder e coloque o comentário na janela que aparecer. Alternativamente, no Project Data List, expanda o item “Device Comment” e dê um duplo click no item “Comment” que aparecer. Isto irá abrir a janela de lista de comentários, a qual pode ser copiada e colada usando qualquer software de tabelas como o Excel. 84 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Entre com os comentários aqui. Os Comentários são as únicas formas de documentação que pode ser escrita no CLP. Se um programa de um CLP que contenha comentários é carregado para o PC, aqueles comentários estarão visíveis para o novo programador. Por outro lado, statements e notes são armazenados no Project file do GX Works. Se um novo programador necessitar acessar esses dados, será necessária uma cópia do software original do projeto feito no GX Works. Nota importante: o CLP somente irá armazenar os 16 caracteres de cada comentário. Qualquer outro comentário remanescente nos comments será ignorado. Se o programador quiser documentar o programa com comentários durante a criação do ladder, é possível fazer a caixa de diálogo do comment aparecer após cada instrução ser escrita. Vá no menu “ Tools”, selecione “Options”, e click em “Continues during command write ” no “Comment input”. Assim que as instruções forem sendo inseridas no programa, abrirá uma janela para a inserção de comentários para cada dispositivo nas instruções. 10.2 - Statements (Comentários de Linh a) 85 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP Statements também conhecidos como comentários de linha, são usados para fazer uma descrição da lógica de cada linha de programa. Um exemplo de statement seria: “Lógica de controle do tanque principal”. Cada statement pode ter, no máximo, 64 caracteres. Mas, múltiplos statements podem ser inseridos acima de uma linha de programa para descrever o propósito de toda a lógica. Statements  são adicionados selecionando “ Statement” do item “Documentation” no menu “Edit” ou clicando no na barra de tarefas. Após selecionar a ferramenta de documentação, click duas vezes em uma linha de programa e digite no statement  na caixa de diálogo que aparecer (figura 1). Ou forma seria simplesmente digitar “;” em qualquer momento, durante a programação e digitar o statement após o “;” (figura 2). Clique duas vezes no statement para editá-lo novamente ou click duas vezes no statement e clique em Delete para deletá-lo de uma vez. Quando vários statements são criados para uma mesma linha, os novos statements são adicionados abaixo dos anteriores. Figura 1: Inserindo statements clicando no botão da barra de tarefas Figura 2: Inserindo statements digitando “;” . 10.3 - Notes (Comentários de bobinas e Instruções) Notes são inseridos para inserir comentários nas bobinas ou nas instruções do CLP com o intuito de facilitar o entendimento dos mesmos. Notes  podem ser usados com qualquer propósito de descrição adicional. Somente 1 note  pode ser 86 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP adicionado em cada bobina ou cada instrução, mas uma vez que múltiplas bobinas e instruções podem ser usadas durante a programação, muitos notes  podem ser adicionados individualmente. Notes  podem ter no máximo 32 caracteres. Notes são adicionados selecionando “ Note” do item “Documentation” no menu “Edit” ou clicando no da barra de tarefas. Após selecionar a ferramenta de documentação note, clique duas vezes em qualquer saída ou instrução do programa e coloque o comentário referente aquela situação (figura 3). Ou forma de fazer isso seria colocar “:” após a inserção da bobina ou instrução e coloca o note na janela que aparecer. Figura 3: Inseridno notes clicando no botão da barra de tarefas. Figura 4: Inserindo notes digitando “;” após inserir a bobina ou instrução. 10.4 - Visualizando a documentação Para ver a documentação no GX Works, vá até o menu “ View” e selecione o tipo de documentação que deseja visualizar. É possível mostrar comments, statements e notes ao mesmo tempo. 10.5 - Impressão O GX Works tem a capacidade de impressão muito flexível. Isto pode ser acessado clicando no botão da barra de tarefas ou selecionando “ Print” do menu “Project”. O programador pode escolher imprimir tudo ou 87 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP uma parte do programa requerido. Algumas das possibilidades de impressão são listadas abaixo: • • • • • • • • Title – Imprime um título da página. Título pode contar 9 linhas de 64 caracteres. Este automaticamente inclui a data de impressão; Ladder – Imprime o Programa Ladder. Partes individuais do programa ladder podem também ser selecionadas para impressão; TC settings – Imprime somente informações de timer e/ou contadores; Device Comments – Imprime vários dispositivos comentádos e o comentários e alias associados; List os Used Devices – Imprime uma lista de dispositivos que são usados no programa. Ranges de dispositivos também podem ser selecionados para impressão; Device Memory – Imprime o conteúdo dos dados do “Device Memory” o qual seria o mesmo que fazer uma leitura de todos os dados de registradores do CLP. Este também pode ser escrito para inicializar os dados no CLP; Parameters – Imprime o PLC Parameters; Cross Reference List – Imprime todos os contatos e/ou bobinas usadas no programa. Ranges de dispositivos podem também ser selecionados para impressão. Se por um lado cada aba pode ser configuradada e impressa separadamente, há uma opção de impressão de múltiplas abas de dados ao mesmo tempo. Este é o botão “ Multiple Printing ” no rodapé da janela de impressão. Esta função permite aos usuários selecionar quais abas de informação imprimir, tanto quanto a ordem em que serão impressas. O botão “Page setup” permite configurar o layout da página. Isto inclui margens, cabeçalhos, rodapés, número das páginas, tamanho do papel, e orientação. 88 CIM Automação Ltda. Rua Teodureto Souto, 970 São Paulo, SP