42
CONTROLADORES PROGRAMÁVEIS ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

2.1 - CLP - Controladores Lógicos Programáveis

Embed Size (px)

DESCRIPTION

2.1 - CLP - Controladores Lógicos Programáveis

Citation preview

Page 1: 2.1 - CLP - Controladores Lógicos Programáveis

CONTROLADORES PROGRAMÁVEIS

ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

Page 2: 2.1 - CLP - Controladores Lógicos Programáveis

CONTROLADORES PROGRAMÁVEIS

ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

Page 3: 2.1 - CLP - Controladores Lógicos Programáveis

CONFEDERAÇÃO NACIONAL DA INDÚSTRIA – CNIRobson Braga de AndradePresidente

DIRETORIA DE EDUCAÇÃO E TECNOLOGIARafael Esmeraldo Lucchesi RamacciottiDiretor de Educação e Tecnologia

SENAI-DN – SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL

Conselho Nacional

Robson Braga de AndradePresidente

SENAI – DEPARTAMENTO NACIONALRafael Esmeraldo Lucchesi RamacciottiDiretor-Geral

Gustavo Leal Sales FilhoDiretor de Operações

Page 4: 2.1 - CLP - Controladores Lógicos Programáveis

CONTROLADORES PROGRAMÁVEIS

ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

Page 5: 2.1 - CLP - Controladores Lógicos Programáveis

SENAIServiço Nacional de Aprendizagem Industrial Departamento Nacional

SedeSetor Bancário Norte . Quadra 1 . Bloco C . Edifício Roberto Simonsen . 70040-903 . Brasília – DF . Tel.: (0xx61)3317-9190 http://www.senai.br

© 2014. SENAI – Departamento Nacional

© 2014. SENAI – Departamento Regional do Rio Grande do Sul

A reprodução total ou parcial desta publicação por quaisquer meios, seja eletrônico, mecânico, fotocópia, de gravação ou outros, somente será permitida com prévia autorização, por escrito, do SENAI – Departamento Regional do Rio Grande do Sul.

Esta publicação foi elaborada pela equipe da Gerência de Desenvolvimento Educacional – GDE/Núcleo de Educação a Distância – NEAD, do SENAI do Rio Grande do Sul, com a coordenação do SENAI Departamento Nacional, para ser utilizada por todos os Departamentos Regionais do SENAI nos cursos presenciais e a distância.

SENAI Departamento NacionalUnidade de Educação Profissional e Tecnológica – UNIEP

SENAI Departamento Regional do Rio Grande do SulGerência de Desenvolvimento Educacional – GDE/Núcleo de Educação a Distância – NEAD

S491 Serviço Nacional de Aprendizagem Industrial. Departamento Nacional Controladores programáveis / Serviço Nacional de Aprendizagem Industrial. Departamento Nacional, Serviço Nacional de Aprendizagem Industrial. Departamento Regional do Rio Grande do Sul. – Porto Alegre: SENAI-RS, 2014. 40 p.: il. (Atualização Tecnológica em Mecatrônica).

1. Sistema de controle automático I. Serviço Nacional de Aprendizagem Industrial - Departamento Regional do Rio Grande do Sul. II.Título. III. Série

CDU – 681.51

Responsável pela Catalogação na Fonte: Enilda Hack –CRB10/599

Page 6: 2.1 - CLP - Controladores Lógicos Programáveis

1 Introdução ........................................................................................................................................................................7

2 Controladores Programáveis ......................................................................................................................................82.1 Princípios de funcionamento ...................................................................................................................92.2 Memórias do controlador programável ...............................................................................................92.3 Arquitetura e especificação de hardware ..........................................................................................11

2.3.1 Módulos ou interfaces de entrada ......................................................................................112.3.2 Módulos ou interfaces de saída ...........................................................................................13

3 Linguagens de programação ...................................................................................................................................163.1 Norma IEC 61131-3 ....................................................................................................................................163.2 Estruturas de programação .....................................................................................................................173.3 Entradas, saídas e memórias ...................................................................................................................183.4 Leituras das entradas de programação ...............................................................................................203.5 Variáveis de programação ........................................................................................................................203.6 Comentários na programação ...............................................................................................................203.7 Dados de programação ............................................................................................................................213.8 Tipos de linguagens de programação .................................................................................................21

3.8.1 Linguagem de baixo nível .....................................................................................................213.8.2 Linguagem de alto nível .........................................................................................................21

3.9 Aplicações das linguagens de programação aos CPs ....................................................................223.10 Técnicas estruturadas de programação ............................................................................................22

4 Linguagem ladder (ld) ................................................................................................................................................234.1 Diagramas de contatos em ladder ........................................................................................................24

4.1.1 Fluxo reverso ..............................................................................................................................244.1.2 Repetição de contatos ...........................................................................................................254.1.3 Contatos na vertical .................................................................................................................264.1.4 Leitura dos degraus do diagrama Ladder ........................................................................27

4.2 Detecções de eventos ...............................................................................................................................274.3 Contador ........................................................................................................................................................30

4.3.1 Contador crescente ..................................................................................................................304.3.2 Contador decrescente .............................................................................................................304.3.3 Contador bidirecional .............................................................................................................31

4.4 Temporizador ...............................................................................................................................................334.5 Instruções de comparação ......................................................................................................................344.6 Instruções matemáticas ............................................................................................................................34

4.6.1 Parâmetros das Instruções .....................................................................................................344.7 Mover (move) ...............................................................................................................................................35

Sumário

Page 7: 2.1 - CLP - Controladores Lógicos Programáveis

4.8 Conversor (convert) ....................................................................................................................................354.9 PWM .................................................................................................................................................................354.10 Interrupções ...............................................................................................................................................37

5 Referências ......................................................................................................................................................................39

Page 8: 2.1 - CLP - Controladores Lógicos Programáveis

Introdução

1

A unidade curricular “Sistemas Lógicos Programáveis” tem o objetivo de apresentar as diversas tecnologias que permitem implementar um sistema automatizado de manufatura para o controle de máquinas e equipamentos por meio da utilização de sistemas lógicos programáveis.

O Capítulo 1 abordará os conhecimentos relacionados ao controlador programável (CP). Começaremos esse estudo apresentando o princípio de funcionamento do CP, suas regiões e unidades da memória, bem como sua arquitetura e especificação de hardware, que descreve as interfaces e módulos digitais e analógicos, de entradas e saídas.

Os conhecimentos relacionados às linguagens de programação serão abordados no Capítulo 2. Inicialmente, apresentaremos a norma internacional de padronização dessas linguagens. Posteriormente, conheceremos as estruturas de programação, as entradas, as saídas e a memória, as variáveis, os comentários, os dados de programação e os tipos de linguagem utilizados. Enfatizaremos a importância das aplicações dessas linguagens e suas técnicas estruturadas de programação.

No Capítulo 3, estudaremos a linguagem Ladder, a análise de metodologias, os diagramas de contatos e as ações impulsionais na detecção dos eventos. Apresentaremos as instruções de comando mais utilizadas, como: contador, temporizador, instruções de comparação, matemáticas e os comandos mover e conversor. Ainda, com o intuito de estudarmos os processos de automação direcionados à área da mecatrônica, conheceremos um controle de modulação por largura de pulso (PWM) e as interrupções no programa.

Page 9: 2.1 - CLP - Controladores Lógicos Programáveis

Controladores Programáveis

2

Os conhecimentos sobre a utilização dos CPs são fundamentais no ramo da mecatrônica, uma área altamente integradora e em constante evolução. Para auxiliar a aquisição desses conhecimentos, estudaremos o princípio de funcionamento, as memórias e a arquitetura dos CPs.

Quando pensamos na aplicação da automação na mecatrônica, uma das primeiras coisas que imaginamos é o CP. Esse importante equipamento é utilizado em diversos segmentos da indústria, como as áreas de alimentos, de bebidas, de plásticos, de papel e celulose de mineração, bem como a indústria automotiva, química, têxtil, farmacêutica, siderúrgica, metalúrgica, entre outras. A Figura 1 apresenta as múltiplas áreas de atuação do CP.

CLP

Figura 1 - Áreas de atuação do CP.Fonte: SENAI - RS.

O CP é bastante amplo. No entanto, de forma resumida, podemos dizer que um CP é um equipamento eletrônico desenvolvido para controlar diversos tipos de máquinas e processos. Por meio de uma memória programável e um software, ele armazena e executa instruções que implementam funções lógicas em sistemas de acionamentos e controle. Veja, no Quadro 1, as definições de CP conforme algumas instituições normativas.

Page 10: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 9

INSTITUIÇÃO CONCEITO

Associação Brasileira de Normas

Técnicas (ABNT)

Equipamento eletrônico digital com hardware e software compatíveis com aplicações

industriais e residenciais.

International Electrotechnical

Commission (IEC)

Sistema eletrônico que opera digitalmente, projetado para uso em ambiente industrial.

Utiliza memória programável para armazenagem interna de instruções orientadas ao

usuário, realizando funções específicas, tais como lógica, sequencial, temporização,

contagem e aritmética. Controla, por meio de entradas e saídas digitais ou analógicas,

vários tipos de máquinas ou processos. O CP e seus periféricos associados são

projetados para serem facilmente integráveis em um sistema de controle industrial e

facilmente usados em todas suas funções previstas.

National Electrical Manufacturers

Association (NEMA)

Aparelho eletrônico digital que utiliza uma memória programável para o

armazenamento interno de instruções com o objetivo de realizar funções específicas,

tais como: lógica, sequenciamento, temporização, contagem e aritmética. Controla,

por meio de módulos de entradas e saídas, vários tipos de máquinas ou processos.

Quadro 1 - Definição de CP.Fonte: SENAI-RS.

Atualmente, o termo CLP (Controlador Lógico Programável) continua sendo utilizado, mas com o avanço da tecnologia dos controladores, muitos engenheiros e técnicos têm utilizado, simplesmente, CP.

VOCÊ SABIA?

2.1 PRINCÍPIOS DE FUNCIONAMENTO

O CP é um sistema microprocessado constituído de uma CPU, que contém: um microprocessador ou um microcontrolador, um programa monitor, uma memória de programa, uma memória de dados, uma ou mais interfaces de entrada, uma ou mais interfaces de saída e circuitos auxiliares. A interligação desses componentes forma o princípio de funcionamento do CP. De maneira geral, o CP possui dois modos de operação: o modo de programação e o modo de execução. Nesse último, o CP também pode assumir o estado de falha (fault). A seguir, temos as descrições dos modos de programação e execução do CP:

• Modo de programação (program) – nesse modo, o CP não executa nenhum programa, isto é, fica aguardando para ser configurado ou receber um novo programa já instalado. Esse tipo de programação é chamado de fora de operação (off-line). A operação de transferência de programas para o CP é chamada de upload;

• Modo de execução (run) – no modo de execução, o CP executa o programa que foi passado pelo usuário. Controladores de maior porte podem sofrer alterações de programa, mesmo durante a execução. Esse tipo de programação é chamado de em operação (on-line).

2.2 MEMÓRIAS DO CONTROLADOR PROGRAMÁVEL

As instruções e os dados lidos internamente e externamente pelo CP são armazenados em uma área da CPU destinada a essa função, conhecida como memória. As informações ali gravadas podem ser alteradas e acessadas em qualquer momento.

Page 11: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL10

Devido a sua divisão por regiões (setores), a memória possui um recurso que informa em que parte dos setores se encontram determinados dados. Alguns desses setores são destinados ao uso restrito do software de gerenciamento do CP. Em outra grande parte da memória, encontramos as funções especiais e setores para usuários. A Figura 2 apresenta as descrições de cada setor da memória do CP.

área que armazena os dados do sistema operacional,gerencia e executa todas as funções operacionais do controlador

Memóriaexecutiva

área que armazena e apresenta os resultados e/ ou as informaçõesintermediárias geradas pelo sistema operacional

Memóriado sistema

Memóriade imagem

área que armazena o programa desenvolvido pelo usuárioMemóriado usuário

área que armazena os dados referentes aos resultados doprograma do usuário que é executado, bem como realiza a troca de dados entre equipamentos

Memóriade dados

área que armazena e apresenta as informações do estado das entradase saídas, atualiza o valor do campo e disponibiliza os valores para a memória do usuário

Figura 2 - Descrições das memórias do CP.Fonte: SENAI-RS.

O acesso à memória é feito por meio de bytes (8 bits). No entanto, para o usuário, os dados são visíveis em vários formatos: bits, bytes, words e double words, entre outras formas. As entradas/saídas analógicas, os valores numéricos, os resultados de operações matemáticas e as contagens ou as temporizações são armazenados em words. Já uma entrada/saída digital possui valor de tamanho de um bit que, agrupadas em octetos, ocupam um byte. O Quadro 2 mostra a descrição de cada tipo de unidade de memória de um CP.

UNIDADE DESCRIÇÃO

Bit Menor unidade de informação. Possui apenas dois estados: ativo (1) ou inativo (0).

Nibble ou quarteto Agrupamento de quatro bits, utilizado principalmente para armazenamento de

códigos BCD.

Byte ou octeto Agrupamento de oito bits. Pode armazenar um caractere do tipo ASCII ou um

número entre 0 e 255, dois números BCD ou oito indicadores de um bit.

Word ou palavra Uma palavra corresponde a certa quantidade de bits, podendo variar de um

processador para outro. Entretanto, o mais comum é uma palavra ter 16 bits.

Double Word

ou palavra dupla

É a composição de duas palavras, ou seja, para os processadores de 16 bits

corresponde a um agrupamento de 32 bits.

Long Word

ou palavra longa

É a composição de quatro palavras, ou seja, para os processadores de 16 bits,

corresponde a um agrupamento de 64 bits.

Quadro 2 - Descrições das unidades de memória do CP.Fonte: SENAI-RS.

Page 12: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 11

Exemplo prático

Se você comprar um computador com um HD de 1 TB, por exemplo, perceberá que o sistema operacional do computador mostrará uma capacidade menor do que a que está na relação do dispositivo. Ou seja, indicará apenas 931GB de espaço livre. Isso acontece porque os sistemas operacionais, de modo geral, consideram 1 kilobyte como sendo equivalente a 1024 bytes e, assim, sucessivamente, com megabytes, gigabytes, terabytes e outros. No entanto, para os fabricantes de discos rígidos, por exemplo, 1 kilobyte corresponde a 1000 bytes. Você saberia responder quem está correto: o fabricante do hardware ou do software do sistema operacional? Seriam 1000 bytes ou 1024 bytes? Ainda não temos um sistema único para resolver esse impasse, entretanto, uma possível solução está nas terminologias e abreviações que a International Electrotechnical Commission (IEC) estabeleceu para indicar as medições baseadas em 1024 bytes.

2.3 ARQUITETURA E ESPECIFICAÇÃO DE HARDWARE

A arquitetura interna do CP é constituída de hardwares que são denominados módulos ou interfaces de entrada e de saída. Esses módulos podem ser digitais ou analógicos, conforme observamos na Figura 3.

EntradasDigitais

EntradasAnalógicas

Terminal de programação(IHM)

SaídaDigitais

SaídasAnalógicas

Unidadecentral de

processamento(CPU)

Memória

Fonte de Alimentação

Figura 3 - Arquitetura interna do CLP.Fonte: SENAI-RS.

2.3.1 MÓDULOS OU INTERFACES DE ENTRADA

As interfaces de entradas, ou módulos de entrada, tornam compatíveis os sinais que serão recebidos pela CPU. Eles representam a interface entre o CP e os elementos de sinais de entrada. Esses módulos de interligação entre os componentes e a CPU dividem-se em dois tipos: digitais e analógicos.

Page 13: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL12

Entradas digitais

As entradas digitais são módulos que possuem apenas dois estados possíveis: ligado(1) ou desligado (0). Nas entradas digitais, podem ser ligados diversos componentes, dentre eles temos: botoeiras, chaves de fim de curso, sensores indutivos e capacitivos, chaves comutadoras, termostatos, pressostatos e sensores de controle de nível.

Os módulos de entradas digitais operam tanto com tensões alternadas (127 ou 220 VCA) quanto com tensões contínuas (24 VCC). A diferença entre estes dois tipos é que para acionar a entrada, no tipo N, é necessário fornecer o potencial negativo da fonte de alimentação ao borne de entrada do CP e, no tipo P, é necessário fornecer o potencial positivo. Em ambos os casos, a falta do sinal caracteriza nível lógico 0 e a presença do sinal nível lógico 1.

Algumas aplicações preferem utilizar sinais de entrada em corrente alternada, pois alguns fabricantes de PC oferecem circuitos de entrada para tensões alternadas. Entretanto, nos casos em que a distância entre os dispositivos não ultrapassa 50m, são utilizadas as entradas de 24VCC, para evitar ruídos que possam causar disparos acidentais. A Figura 4 apresenta a arquitetura interna do CP com uma entrada de corrente contínua e uma entrada de corrente alternada.

a)

ENTRADA 24 VCC

C.P.U

V

b) 110/220 VCA

VC.P.U

Figura 4 - Arquitetura interna do CP: a) entrada corrente contínua; b) entrada corrente alternada.Fonte: SENAI-RS.

FIQUE ALERTA

Nos casos de níveis elevados de tensão na entrada, deve haver uma isolação entre o circuito de entrada e a CPU para proteger os circuitos e componentes internos do CP. Essa isolação é feita normalmente por meio de optoacopladores.

Entradas analógicas

As interfaces de entrada analógicas são projetadas para tratar sinais e permitir que o CP possa manipular grandezas analógicas enviadas por esses módulos. Os sinais analógicos tratados por esses módulos são sinais elétricos de tensão ou corrente. As faixas utilizadas para a tensão são: 0 a 10 VCC, 0 a 5 VCC, 1 a 5 VCC, -5 a +5 VCC, -10 a +10 VCC. No caso de correntes, as faixas utilizadas são: 0 a 20 mA ou de 4 a 20 mA.

Os principais componentes utilizados nas entradas analógicas são: sensores de pressão manométrica, sensores de pressão mecânica (strain-gauges), tacogeradores, transmissores de temperatura, pressão, vazão, nível e umidade relativa.

A Figura 5 mostra uma entrada analógica por tensão e uma entrada analógica por corrente.

Page 14: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 13

a)

C.P.UENTRADA

ADC

VINVREF +VREF -

D0D1D2D3D4D5D6D7

+

b) Entrada em corrente

bits ( digital )

Conversor decorrente

em tensão

Conversoranalógico

digital

A/D UCP

Figura 5 - Entradas analógicas: a) por tensão; b) por corrente.Fonte: SENAI-RS.

No Quadro 3 a seguir, listamos algumas características importantes para a escolha do módulo de entrada analógica.

CARACTERÍSTICAS DESCRIÇÃO

Quantidade de canais disponíveis Módulos de 2, 4, 8 ou 16 canais

Tipo e faixa de operação Corrente (0 a 20 mA, 4 a 20 mA). Tensão (0 a 10 V, ±10 V)

Resolução do conversor A/D De 8, 10, 12 ou 16 bits

Ciclo de atualização da amostragem Tempo de digitalização dos sinais analógicos para a CPU

Quadro 3 - Escolha do módulo de entrada analógica.Fonte: SENAI-RS.

De forma prática, podemos dizer que as entradas digitais transmitem à CPU informações funcionais, por exemplo: se a temperatura está adequada ou se uma determinada posição está correta. Já as entradas analógicas transmitem informações relativas a valores de temperatura, pressão, entre outras.

Há módulos de entrada com funções bastante específicas. São módulos contadores de fase única, de dupla fase, para encoder incremental e absoluto, para termopares e termorresistências, para sensores de ponte balanceada do tipo strain-gauges e para leitura de grandezas elétricas.

VOCÊ SABIA?

2.3.2 MÓDULOS OU INTERFACES DE SAÍDA

Os módulos ou interfaces de saída realizam a adequação elétrica dos sinais vindos do microprocessador, resultado da leitura do programa do usuário, para atuar nos circuitos. Existem dois tipos básicos de interfaces de saída: as digitais e as analógicas.

Page 15: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL14

Saídas digitais

Da mesma forma que as entradas digitais, as saídas digitais também admitem somente dois estados: ligado e desligado. Nessas saídas, podemos controlar dispositivos do tipo: relés, contatores, relés de estado sólido, válvulas solenóides, inversores de frequência e soft starters.

As saídas digitais podem ser desenvolvidas de três formas básicas: saída digital a relé, saída digital a transistor e saída digital a tiristor, ilustradas na Figura 6.

a)

b)

c)

C.P.U. SAÍDA

C.P.U. SAÍDA

C.P.U. SAÍDA

+V

Figura 6 - Saídas digitais: a) a relé; b) transistor; c) tiristor.Fonte: SENAI-RS.

FIQUE ALERTA

Por questões de segurança, além de um circuito optoacoplado, os módulos de entrada/saída também devem possuir outras formas de proteção, como fusíveis e filtros contra ruídos eletromagnéticos.

Saídas analógicas

As saídas analógicas seguem o mesmo princípio das entradas analógicas, porém, de forma inversa. Isto é, o CP fornece um sinal com um certo número de bits, que é convertido em um sinal que geralmente está nas faixas de 0 a 5V, 0 a 10 V,+/-10V, 0 a 20 mA, 4 a 20 mA. Esses sinais são utilizados para controlar dispositivos atuadores como válvulas proporcionais, motores C.C., servomotores C.C., inversores de frequência e posicionadores rotativos. A Figura 7, a seguir, mostra um circuito com saída analógica.

+ DACV

C.P.U

+

SAÍDA

8 bits

Figura 7 - Saída analógica.Fonte: SENAI-RS.

Page 16: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 15

Da mesma forma que as interfaces de entrada, as interfaces de saída também têm seus módulos específicos como os conhecidos módulos PWM para controle de motores C.C., os módulos para controle de servomotores, os módulos para controle de motores de passo e os módulos para IHM.

VOCÊ SABIA?

No Quadro 4, listamos algumas características importantes na escolha do módulo de saída analógica.

CARACTERÍSTICAS DESCRIÇÃO

Quantidade de canais disponíveis Módulos de 2, 4, 8 ou 16 canais. Esses canais podem ser isolados (isolação

galvânica) ou não isolados (comuns).

Tipo e faixa de operação dos canais Tensão (0 a 10 V, ±10 V). Corrente (0 a 20 mA, 4 a 20 mA)

Impedância de saída Resistência mínima e a máxima a que o canal de saída pode ser conectado.

Resolução do conversor D/A É o menor incremento que o dado enviado ao conversor D/A pode causar

no valor analógico de saída.

Ciclo de atualização da saída analógica Depende de um tempo e do número de canais.

Quadro 4 - Escolha do módulo de saída analógica.Fonte: SENAI-RS.

Após nosso estudo sobre os módulos de entrada e saída, digitais e analógicas, podemos compreender a utilização desses dispositivos e suas respectivas aplicações nos módulos, conforme ilustra a Figura 8.

PP

0,0000,000

RUNSTOPFAIL

CPU - DC/DC/DC

#####

IN IN IN

OUT OUT OUT

*** ***

Módulo Digital8 Entradas e8 Saídas DC

Módulo Analógico

Figura 8 - Exemplo de utilização dos módulos de entrada e saída.Fonte: SENAI-RS.

FIQUE ALERTA

Antes de fazer qualquer ligação no CP, certifique-se de que o componente seja digital ou analógico. Verifique também os locais de entrada ou de saída, evitando, dessa forma, danificar o equipamento e o próprio CP.

Page 17: 2.1 - CLP - Controladores Lógicos Programáveis

Linguagens de programação

3

Como você já sabe, as instruções e funções, em que são operados os bits, bytes, words e double words, são introduzidas na memória do CP por meio de uma interface destinada a esse fim. Agora, aprenderemos como essas instruções e funções formam um programa que será desenvolvido com linguagens de programação.

Imagine que você precisa se comunicar com outra pessoa. Para isso, você utiliza a linguagem, seja oral, seja escrita. Nas máquinas e computadores não é diferente. Também realizamos essa comunicação, porém de outra forma, ou seja, utiliza-se um conjunto padronizado de instruções que o sistema computacional é capaz de reconhecer, denominado linguagens de programação.

Nos sistemas lógicos programáveis, as linguagens de programação permitem ao usuário inserir programas de controle utilizando sintaxes preestabelecidas. Essa variedade de sintaxes é designada pelos vários fabricantes dos CPs.

Em 1979 foi dado o primeiro passo para se estabelecer um padrão único para a programação e comunicação dos CPs: criou-se um grupo de trabalho com o IEC para a elaboração da norma IEC 61131-3.

VOCÊ SABIA?

3.1 NORMA IEC 61131-3

Um dos principais objetivos desta norma é unificar os conceitos de programação para a aplicação dos processos de controle industrial. Quando essa norma foi desenvolvida, um grande número de conceitos e linguagens de programação era utilizado no ambiente industrial. Com a aplicação da norma, reduziu-se essa variedade de conceitos e linguagens para cinco linguagens de programação. Por isso, é fundamental que todo o profissional da área de mecatrônica conheça como aplicar a IEC 61131. O Quadro 5 apresenta as definições de cada uma das cinco linguagens de programação.

Page 18: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 17

IL (INSTRUCTION LIST) Linguagem textual que utiliza uma sequência de instruções para

representar um programa. Com estrutura semelhante ao assembly, é

considerada uma linguagem de baixo nível.

ST (STRUCTURED TEXT) Linguagem textual que utiliza um texto estruturado para representar um

programa aplicativo.

FBD (FUNCTION BLOCK DIAGRAM)

Linguagem de programação gráfica que utiliza diagramas de blocos de

funções para representar o programa aplicativo.

LD (LADDER DIAGRAM) Linguagem de programação gráfica que utiliza diagramas Ladder para

representar o programa aplicativo.

SFC (SEQUENTIAL FUNCTION CHART)

Notação gráfica e textual para a utilização de passos e transições

na representação da estrutura de uma unidade de organização de

programa ou bloco de função de um sistema CP.

Quadro 5 - As linguagens de programação de acordo com a IEC 61131.Fonte: ADAPTADO DE IEC, 2003.

Aprofunde seus estudos sobre a norma IEC 61131-3, consultando o arquivo digital http://www.zpss.aei.polsl.pl/content/dydaktyka/PC/PLC_IEC61131-3.pdf

SAIBA MAIS

3.2 ESTRUTURAS DE PROGRAMAÇÃO

A estrutura de programação de um CP é semelhante a de todo sistema microprocessado, ou seja, é executada em três etapas, conforme apresenta o Quadro 6.

1ª ETAPA Transfere os sinais existentes na interface de entrada para a memória de dados (RAM).

2ª ETAPA Inicia a varredura do software aplicativo armazenando-o na memória de dados. Durante esse ciclo, executará

todas as operações que estavam programadas no software aplicativo, como intertravamentos, habilitação de

temporizadores e contadores, armazenagem de dados processados na memória de dados, etc.

3ª ETAPA Concluída a varredura do software aplicativo, o CP transfere os dados processados (resultados das operações lógicas)

para a interface de saída. Paralelamente, novos dados provenientes da interface de entrada irão alimentar a memória

de dados. O programa completo para o controle do sistema é armazenado em uma área de memória denominada

programa do usuário. Divide-se o programa em partes, conhecidas como blocos. Os blocos podem ser identificados

por letras e números.

Quadro 6 - Estrutura de programação do CP.Fonte: FRANCHI; CAMARGO, 2011.

Dentro da estrutura de programação, os CPs possuem as seguintes funções básicas de software:

• Lógica “e”, “ou” e “xor”;

• Set e reset;

• Temporização e contagem;

• Cálculos com aritmética básica (+, -, x, %);

• Parênteses (para associação de lógicas);

• Comparação de valores;

Page 19: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL18

• Registrador de deslocamento;

• Salto.

À medida que os CPs têm sua capacidade de processamento aumentada, surge a necessidade de funções de software mais avançadas, tais como:

• Cálculos com ponto flutuante;

• Cálculos integrais e trigonométricos;

• Malha de controle PID;

• Posicionamento;

• Contagem rápida;

• Leitura de sinais analógicos;

• Linearização de sinais analógicos;

• Lógica fuzzy.

3.3 ENTRADAS, SAÍDAS E MEMÓRIAS

Os CPs recebem as informações externas por meio das entradas e controlam os dispositivos por meio das saídas. Na memória dos CPs, são acessadas todas as variáveis que são identificadas por três regiões lógicas.

A primeira região lógica é representada por uma letra que identifica se a variável está mapeando uma entrada, uma saída ou uma posição interna de memória, conforme mostra o Quadro 7 a seguir.

PRIMEIRA LETRA INGLÊS PORTUGUÊS

I input entrada

Q output saída

M memory memória

V memory memória

Quadro 7 - Mapeamento de posições de memória do CP.Fonte: SENAI-RS.

Na segunda região lógica, a letra identifica o tipo de dado, como se observa no Quadro 8.

Segunda letra Tipo de dadoX bitB byte (8 bits)W word (16 bits)D double word (32 bits)L long word (64 bits)

Quadro 8 - Tipos de dados.Fonte: SENAI-RS.

Page 20: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 19

A terceira região lógica é para os dígitos subsequentes, que são representados pelas posições de memória, que estabelecem uma hierarquia, dependendo do designado pelo fabricante do CP utilizado. O número de níveis hierárquicos não é definido pela norma, visto que os fabricantes utilizam números separados por pontos para a definição de um endereço. É importante saber que todo comentário inicia-se com parêntese e asterisco e finaliza com asterisco e parêntese. A seguir, temos alguns exemplos das regiões com seus respectivos comentários:

• I0.5 (*memória de entrada, tipo binária, palavra 0, bit 5*);

• IX8.3 (*bit 3 da palavra 8 da área de entradas*);

• QW6 (*a sexta palavra da área de saídas*);

• MB4 (*o quarto byte da área de memória interna*);

• MW1 (*a primeira palavra da área de memória interna*).

Antes de montar, instalar ou programar, o técnico em mecatrônica ou programador de CP deverá consultar os manuais do CP a ser utilizado, a fim de conhecer como são organizadas as posições, os dados e os valores das variáveis.

VOCÊ SABIA?

As memórias auxiliares servem para armazenamento temporário de dados (bits), e seu efeito é comparável com o dos contatores auxiliares. Cada instrução de entrada ou saída indica a localização em que essa instrução será armazenada na memória do CP.

A capacidade de memória varia de acordo com o modelo e fabricante de CP. Normalmente, as memórias auxiliares dos CPs utilizam words, chamadas de registradores ou registros, bytes e variáveis de bit.

Todo controlador deverá ter uma área em sua tabela de dados que represente uma imagem virtual das entradas ligadas aos cartões de entrada e uma área da tabela de dados que represente uma imagem virtual das saídas ligadas aos cartões de saída.

No Quadro 9, vemos o descritivo das entradas, saídas e memórias auxiliares dos controladores programáveis.

ENTRADAS SAÍDAS MEMÓRIAS AUXILIARES

REPRESENTAÇÃO FUNÇÃO REPRESENTAÇÃO FUNÇÃO REPRESENTAÇÃO FUNÇÃO

I6.1 I = entrada

6. = byte

.1 = bit

Q5.6 Q= saída

5. = byte

.6 = bit

M2.1 M= memória

2. = byte

.1 = bit

I:0/3 I:= entrada

0/ = word

/3 = bit

O:0/2 O:= saída

0/ = word

/2 = bit

B5:0/6 B5:= binário (memória)

0/ = word

/6 = bit

I4 I = entrada

4 = bit

Q2 Q = saída

2 = bit

M3 M = memória

3 = bit

Quadro 9 - Descritivo das entradas, saídas e memórias do CP.Fonte: SENAI-RS.

Page 21: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL20

3.4 LEITURAS DAS ENTRADAS DE PROGRAMAÇÃO

A leitura das entradas é feita do seguinte modo: se a entrada estiver energizada (recebendo alimentação), armazena o valor 1; caso contrário, recebe o valor 0. O exemplo a seguir apresenta esse procedimento.

Exemplo prático

Quando o botão on/off estiver desacionado/desenergizado, a entrada armazenará o valor 0; porém, quando esse botão estiver acionado/energizado, a entrada armazenará o valor 1, conforme ilustram as Figura 9 a) e Figura 9 b).

a) b)

Tabela de Imagem das entradas

0Tabela de Imagem das entradas

1

Figura 9 - Leitura das entradas: a) valor armazenado 0; b) valor armazenado 1.Fonte: FRANCHI; CAMARGO, 2011.

3.5 VARIÁVEIS DE PROGRAMAÇÃO

O acesso direto às variáveis de programação ocorre somente pelas entradas, saídas e memória interna do controlador por meio do programa de controle. Esse acesso é definido pelo fabricante do equipamento. O endereçamento direto é reconhecido pela utilização do símbolo “%” precedendo a sua designação. A seguir temos alguns exemplos:

• %I2 (*bit 2 de entrada*);

• %IW10 (* Palavra 10 da área de entradas*);

• %QB6 (*Byte 6 da área de saídas*);

• %MW7 (*Palavra 7 da área de memória interna*).

3.6 COMENTÁRIOS NA PROGRAMAÇÃO

Conforme definido pela norma IEC 61131-3, um comentário é iniciado e finalizado pela sequência de caracteres. É recomendado comentar as linhas do programa sempre que sua interpretação não for óbvia. Como já vimos, o comentário inicia-se com parêntese e asterisco e finaliza com asterisco e parêntese, conforme exemplo a seguir.

Exemplo: %I2 (*bit 2 de entrada*)

Page 22: 2.1 - CLP - Controladores Lógicos Programáveis

2 CONCEITOS 21

3.7 DADOS DE PROGRAMAÇÃO

Na programação de um CP, deve ser possível especificar valores para temporizadores, contadores, variáveis discretas, variáveis analógicas, entre outros. Nesse programa de controle, todos os dados estão especificados pela norma IEC 61131-3, e os tipos básicos podem ser vistos no Quadro 10 a seguir.

PALAVRA-CHAVE TIPO DE DADO FAIXA DE VALORES

Bool boolean 0 ou 1

Sint short integer 0 a 255

Int integer -32768 a +32767

Dint double integer -2147483648 a +2147483647

Uint Unsigned integer 0 a 65535

Real floating point ± 2,9 .10-39 a ± 3,4 .10+38

Time Tempo de duração Depende da implementação

String string Depende da implementação

Byte 8 bits Faixa de valores não declarada

Word 16 bits Faixa de valores não declarada

Quadro 10 - Tipos de dados especificados pela norma IEC 61131-3.Fonte: ADAPTADO DE IEC, 2013.

3.8 TIPOS DE LINGUAGENS DE PROGRAMAÇÃO

Um programa é uma série de instruções ou comandos que o usuário desenvolve para fazer com que o CP execute determinadas ações. Uma linguagem de programação estabelece regras para combinar as instruções de forma que gerem as ações desejadas. As diversas linguagens utilizadas na programação classificam-se em dois grupos, conhecidos como linguagem de baixo nível e de alto nível, como veremos a seguir.

3.8.1 LINGUAGEM DE BAIXO NÍVEL

No início da computação, os programadores utilizavam a linguagem de máquina, que é considerada a de mais baixo nível, pois cada instrução é composta por combinações dos bits 0 e 1. Um exemplo de linguagem de baixo nível é a linguagem Assembly que, apesar de suas instruções consistirem em vocábulos simbólicos (mnemônicos), cada instrução do programa fonte corresponde a uma única instrução do programa objeto. Na utilização da linguagem de baixo nível, são apresentados alguns inconvenientes, principalmente o fato de requerer do usuário conhecimentos sobre os componentes que integram o microprocessador.

3.8.2 LINGUAGEM DE ALTO NÍVEL

Uma linguagem de programação é considerada de alto nível por apresentar uma sintaxe que se aproxima da linguagem utilizada na comunicação interpessoal. Essa linguagem apresenta uma estrutura rígida devido às regras utilizadas no momento da elaboração do programa. Uma única instrução em linguagem de alto nível (programa fonte) corresponderá a várias instruções em linguagem de máquina (programa objeto). No Quadro 11 a seguir, conhecemos algumas vantagens e desvantagens da utilização da linguagem de alto nível.

Page 23: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL22

VANTAGENS DESVANTAGENS

• Não requer do usuário conhecimento sobre a

arquitetura do microprocessador.

• Reduz o tempo gasto na elaboração de programas.

• O número de instruções do programa objeto somente

será conhecido após a compilação do programa fonte.

• Programas maiores.

Quadro 11 - Vantagens e desvantagens da linguagem de alto nível.Fonte: SENAI-RS.

Os controladores programáveis utilizam linguagens de alto nível para a sua programação, visando atender aos diversos segmentos da indústria. Observamos que a norma IEC61131-3 definiu, sintática e semanticamente, cinco linguagens de programação. As linguagens ST e IL são linguagens textuais (escritas) e as linguagens FDB, LD e SFC são gráficas (por símbolos). No Quadro 12, temos um exemplo de uma mesma lógica sendo aplicada nas linguagens IL, ST, FBD e LD.

LISTA DE INSTRUÇÕES LDN A

AND B

ST L

TEXTO ESTRUTURADO L:= NOT (A) AND B

DIAGRAMA DE BLOCOS FUNCIONAIS

A

&B

L

LINGUAGEM LADDER

((A B L

Quadro 12 - Equação lógica em quatro linguagens diferentes.Fonte: SENAI-RS.

3.9 APLICAÇÕES DAS LINGUAGENS DE PROGRAMAÇÃO AOS CPS

Um item fundamental para a utilização de um controlador programável é a seleção da linguagem a ser utilizada. A escolha da linguagem adequada dependerá de diversos fatores, como:

• Disponibilidade da linguagem no controlador programável;

• Grau de conhecimento do programador;

• Solução a ser implementada;

• Nível de descrição do problema;

• Estrutura do sistema de controle.

3.10 TÉCNICAS ESTRUTURADAS DE PROGRAMAÇÃO

Em relação às técnicas estruturadas de programação, temos duas formas possíveis de programação:

• Programação linear - programa escrito usando escrita em um único bloco;

• Programação estruturada - permite a organização (divisão do programa segundo critérios funcionais, operacionais ou geográficos), o desenvolvimento de bibliotecas de rotinas utilitárias para utilização em vários programas, a facilidade de manutenção e a simplicidade de documentação e entendimento por outros usuários.

Page 24: 2.1 - CLP - Controladores Lógicos Programáveis

Linguagem ladder (ld)

4

Quando os profissionais da área de automação e mecatrônica debatem questões sobre os sistemas lógicos programáveis, a linguagem Ladder sempre surge nas conversas, pois foi a primeira a ser utilizada pelos fabricantes, tornando-se a mais difundida mundialmente e, consequentemente, a linguagem mais utilizada em quase todos os controladores programáveis existentes. Essa linguagem gráfica, conhecida simplesmente como Ladder, é baseada na lógica de relés e contatos elétricos, e é usada em circuitos de comandos de acionamentos.

A linguagem recebeu vários nomes desde a sua criação, entre eles diagrama escada, diagrama de contatos e linguagem de contatos. Entretanto, ficou mundialmente conhecida como Ladder (escada, em português) porque o diagrama final é semelhante à forma de uma escada. Os trilhos laterais representam as linhas de alimentação, e cada lógica é associada a uma bobina, que são os degraus ou rung. Um degrau é composto por um conjunto de condições de entrada (contatos NA e NF) e uma instrução de saída no final da linha (representada pelo símbolo da bobina). Algumas vantagens e desvantagens da utilização da linguagem Ladder estão listadas no Quadro 13 a seguir.

VANTAGENS DESVANTAGENS

• Possibilidade de rápida adaptação do pessoal técnico

(semelhança com diagramas elétricos convencionais com lógica

a relés);

• Possibilidade de aproveitamento do raciocínio lógico na

elaboração de um comando feito com relés;

• Fácil compreensão do diagrama original a partir do diagrama de

aplicação;

• Fácil visualização dos estados das variáveis sobre o diagrama

Ladder, permitindo rápida depuração e manutenção do

software;

• Documentação fácil e clara;

• Símbolos padronizados e mundialmente aceitos pelos

fabricantes e usuários;

• Técnica de programação mais difundida e aceita

industrialmente.

• Sua utilização em programas extensos ou com lógicas mais

complexas é bastante difícil;

• Programadores não familiarizados com a operação de relés

tendem a ter dificuldades com esta linguagem;

• Edição mais lenta.

Quadro 13 - Vantagens e desvantagens da linguagem Ladder.Fonte: SENAI-RS.

Page 25: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL24

4.1 DIAGRAMAS DE CONTATOS EM LADDER

O diagrama Ladder é uma técnica utilizada para descrever uma função lógica utilizando contatos e bobinas, que se aproxima muito do projeto elétrico. O diagrama de contato é composto de duas barras verticais que representam os polos positivos e negativos de alimentação.

A linha vertical à esquerda representa o polo positivo e a da direita, o polo negativo. A ideia principal do diagrama em Ladder é representar graficamente um fluxo de “eletricidade virtual” entre as duas barras verticais. Essa “corrente virtual” sempre flui do positivo para o negativo, conforme demonstrado na Figura 10.

Barra dealimentação

positiva

Barra dealimentação

negativa

Contato NA Contato NF Bobina

Figura 10 - Estrutura de um diagrama Ladder.Fonte: SENAI-RS.

O conjunto de contatos que compõem um Ladder pode ser conhecido como condição de entrada ou lógica de controle. As instruções de saída, como bobinas e blocos funcionais (contadores, temporizadores e outros com funções especiais), devem ser os últimos elementos a serem colocados à direita.

Um Ladder é verdadeiro quando uma saída é energizada virtualmente. O fechamento combinado de todos os contatos gera a corrente virtual que aciona a bobina. A Figura 11 mostra quatro exemplos das possíveis combinações dessa corrente virtual para habilitar uma saída.

CONTINUIDADE

CONTINUIDADE

CONTINUIDADE

CONTINUIDADE

Figura 11 - Possíveis combinações das entradas para habilitar uma saída.Fonte: SENAI-RS.

4.1.1 FLUXO REVERSO

Quando relés eletromecânicos são utilizados para implementar uma lógica Ladder, o fluxo de energia pode ocorrer em qualquer sentido por meio dos contatos. Uma regra seguida por quase todos os fabricantes de controladores é que o fluxo reverso, da direita para a esquerda, não é permitido, como se observa na Figura 12. O fluxo de corrente elétrica virtual em uma lógica Ladder flui somente da esquerda para a direita.

Page 26: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 25

10.0 10.1 10.2 00.0

10.410.3

10.5Fluxo Reverso

Figura 12 - Fluxo de corrente no sentido errado de leitura.Fonte: SENAI-RS.

Se a lógica a ser implementada necessita de um fluxo reverso, devemos refazer o circuito, de modo que o fluxo ocorra somente da esquerda para a direita, conforme demonstrado na Figura 13 a seguir.

10.0 10.1 10.2 Q 0.0

10.3 10.4

10.5 10.3 10.1 10.2

10.4

Figura 13 - Fluxo de corrente refeito no sentido correto de leitura.Fonte: SENAI-RS.

4.1.2 REPETIÇÃO DE CONTATOS

Em um diagrama Ladder, uma bobina pode ter quantos contatos NA ou NF forem necessários. Isso significa que um mesmo contato pode ser repetido diversas vezes. Cada conjunto de bobinas disponível e seus respectivos contatos no controlador são identificados por um endereço de referência único. A Figura 14 mostra essa repetitividade de entradas e saídas.

12

12

M1

M1

12

Q1

Q1

Q2

Figura 14 - Repetitividade de entradas e saídas.Fonte: SENAI-RS.

Page 27: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL26

4.1.3 CONTATOS NA VERTICAL

Há circuitos de comandos de contatores para os quais não é possível converter um programa eletromecânico para Ladder diretamente. Veremos um exemplo de uma chave de partida direta de motores e sua conversão em um circuito de linguagem Ladder.

Exemplo prático

Vamos utilizar uma contatora, um botão liga e um botão desliga. Ao acionar o botão liga, o CP acionará uma entrada para a atuação de uma das saídas com um nível de tensão alto. Essa tensão, por sua vez, acionará a bobina da contatora principal. Para desligar o motor, deve ser acionado o botão desliga. Para tanto, nós recebemos o seguinte circuito eletromecânico de partida direta de motor, como ilustra a Figura 15 a seguir.

B0

B1

BOBINA DACONTACTORAC1

NEUTRO

C1

CONTATO AUXILIARDE AUTO - RETENÇÃO

BOTOEIRA DEDESLIGAMENTO

CONTATO DERELÉ DE SOBRECARGA

FUSÍVELDE COMANDO

CIRCUITO DE COMANDO

FASE

M3

MOTORATERRAMENTO

R S T

CIRCUITO DE FORÇA

FUSÍVEISDE FORÇA

CONTATOS DA CONTA-CTORA C1

C1

ELEMENTOS DO RELÉ DE SOBRECARGA

Figura 15 - Circuito de partida direta de motor trifásico.Fonte: SENAI-RS.

A partir desse circuito, demonstramos a conversão lógica para o programa Ladder.

( )S1.0

S1.0E0.1 E0.0

Botão DESLIGARBotão LIGA

Contato ”Grude” da saída Q1.0

Saída para o contactor

Figura 16 - Conversão de um circuito eletromecânico em Ladder.Fonte: SENAI-RS.

Page 28: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 27

Profissionais que trabalham com circuitos elétricos têm mais facilidade de aprender a linguagem Ladder, em comparação aos profissionais de outras áreas. Por isso, geralmente o curso de eletricidade básica é pré-requisito para a realização do curso de CP.

VOCÊ SABIA?

4.1.4 LEITURA DOS DEGRAUS DO DIAGRAMA LADDER

A avaliação da leitura é que define a ordem em que o processador executa o diagrama de contatos. Programas compostos de vários degraus (também chamado de network) são executados da esquerda para a direita e de cima para baixo, uma lógica após a outra, e são repetidos ciclicamente, exceto quando houver instruções de desvio.

A prioridade de leitura é: primeiro da esquerda para a direita e depois de cima para baixo (de graus para graus). Se tiver uma lógica “ou” (um degrau abaixo do outro), esta leitura é prioritária. A Figura 17 mostra um exemplo de leitura com dois degraus.

NETWORK 0 NETWORK 1

12

10

11

Q0Q110 13

11

Figura 17 - Leitura de um programa de CLP.Fonte: FRANCHI; CAMARGO, 2011.

4.2 DETECÇÕES DE EVENTOS

Eventos ou ações impulsionais são conceitos importantes. Há situações nas quais é necessário registrar o instante em que uma entrada comuta. Para isso, as ações impulsionais podem ser de borda de subida ou borda de descida. Alguns CPs possuem uma instrução própria para essa finalidade. O Quadro 14 mostra as representações dadas pelos fabricantes para borda de subida e descida.

DETECÇÃO DE IMPULSOS DE ALGUNS CLPS

CONTATO DETECTOR DE BORDA DE SUBIDA

CONTATO DETECTOR DE BORDA DE DESCIDA

BOBINA DETECTORA DE BORDA DE SUBIDA

BOBINA DETECTORA DE BORDA DE DESCIDA

Norma IEC 61131-3

P

N P N

CP1

CP2 P

N P N

Quadro 14 - Representações para borda de subida e descida.Fonte: SENAI-RS.

Page 29: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL28

Observe a Figura 18, que ilustra um exemplo da utilização do contato ou bobina.

10

10P

PQ0

Q0

Figura 18 - Detecção da borda de subida por meio de um contato (cima) ou bobina (baixo).Fonte: SENAI-RS.

Há CPs que possuem duas bobinas de detecção de eventos, chamados DIFU (borda de subida) ou DIFD (borda de descida). Quando o contato “A” acionar, a bobina AU fica energizada por um único ciclo de varredura. A Figura 19 mostra a utilização desse evento.

DIFU

AUA

Figura 19 - Detecção da borda de subida.Fonte: SENAI-RS.

Alguns CPs possuem contatos de detecção de eventos chamados ONS (One Shot - borda de subida). Observe a Figura 20, que mostra a utilização desse evento. Quando o contato I:0 for fechado, a bobina B3:1 fica energizada por um único ciclo de varredura.

1: 0 B3:1 B3:1

0ONS

4 5

Figura 20 - Detecção de borda de subida.Fonte: SENAI-RS.

Também temos CPs que possuem duas bobinas de detecção de eventos, chamados OSR (One Shot Rising - borda de subida) ou OSF (One Shot Falling - borda de descida). A Figura 21 mostra a utilização desse evento.

OSR

OSF

1:0

1:0

0

0

One Shot FallingStorsge Bit B3: 1/2Output Bit B3: 1/3

One Shot RisingStorage Bit B3: 1/0Output Bit B3:1/1

Figura 21 - Detecção de borda de subida e descida respectivamente.Fonte: SENAI-RS.

Page 30: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 29

O funcionamento desse tipo de evento é o seguinte: quando é acionado o contato I:0, na transição de 0 para 1, o bit de saída (Output Bit) só vai ter o valor 1 no primeiro ciclo de varredura, enquanto que o bit de armazenamento (Storage Bit) vai permanecer em 1, enquanto o contato I:0 permanecer fechado. Quando o contato I:0 for aberto, tanto o bit de saída quanto o bit de armazenamento são postos com valor 0.

Caso o CP não possua borda de subida, esse pode ser implementado, conforme apresenta a Figura 22.

10

10

M1 M0

M1

Figura 22 - Implementação de uma borda de subida.Fonte: SENAI-RS.

O funcionamento, nesse caso, é o seguinte: inicialmente M0 e M1 estão desacionados. Quando fechar o contato I0, no primeiro ciclo de varredura (scan), estão ativas M0 e M1. No segundo ciclo de varredura, o contato NF de M1 desaciona M0, fazendo com que esse contato fique acionado somente um ciclo de varredura, quando foi fechado o contato de I0.

No próximo exemplo, deseja-se acionar e desacionar um motor utilizando somente um botão com contato NA. Primeiro, faremos com que o botão seja a entrada I0 e o motor seja a saída Q0, conforme demonstrado na Figura 23.

10

M0

M0

M0

PQ0

Q0

Q0

S

R

Figura 23 - Resolução do exemplo.Fonte: SENAI-RS.

A seguir, mostramos o funcionamento desse exemplo. Temos três linhas de programação. A linha 1 aciona M0, a linha 2 desaciona M0 e a linha 3 aciona Q0.

Inicialmente, quando se aciona o comando I0, se Q0 estiver desacionado, aciona-se M0. Toda essa ação acontece em função do comando I0 ter um contato de borda de subida na primeira linha, assim como Q0 ter um contato NF e M0 uma bobina SET.

Agora, com M0 acionado, ele se desligará automaticamente caso não tenhamos o contato de borda subida. Como no exemplo apresentado, M0 permanecerá ligado, pois temos o contato de borda de subida. Essa memória acionará a bobina Q0.

Como Q0 foi acionado no passo anterior, os contatos NF e NA de Q0, das linhas 1 e 2, modificarão seu estado. O Q0 da linha 2 se fechará, ao mesmo tempo em que o Q0 da linha 1 se abrirá. Com essa ação, I0 é novamente acionado, fazendo com que a memória M0 seja desligada, juntamente, com Q0.

Para finalizar a explicação desse exemplo, sabemos que Q0 está desacionado e o estado de seus contatos, antes invertidos, voltam à situação inicial. Com esse processo concluído, podemos reiniciar todo o ciclo de ligação de motores.

Page 31: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL30

4.3 CONTADOR

O contador é um bloco lógico de incremento interno, em que sua saída é habilitada após alguns pulsos (eventos). O contador pode incrementar, aumentando uma unidade no valor de uma variável, ou decrementar, fazendo com que o valor de uma variável diminua uma unidade. Há três tipos básicos de contadores: contador crescente, contador decrescente e contador bidirecional.

4.3.1 CONTADOR CRESCENTE

Se a condição de entrada se torna verdadeira, o contador inicia a contagem incrementando de uma unidade toda vez que a linha passa de falsa para verdadeira. A Figura 24 mostra um bloco funcional de um contador crescente, conforme norma IEC 61131-3.

CTUCU

R

PV CV

Q

Figura 24 - Símbolo de um contador crescente, conforme norma IEC 61131-3.Fonte: SENAI-RS.

O Quadro 15, a seguir, mostra o formato do bloco de função de um contador crescente (CTU) da norma IEC 61131-3.

SÍMBOLO NOME ENTRADA / SAÍDA DESCRIÇÃO TIPO DE DADO

CU Count up Entrada Entrada de contagem crescente (borda subida) BOOL, R_EDGE

R Reset Entrada Entrada de reset do contador (faz CV = 0) BOOL

PV Preset value Entrada Valor do limite superior desejado de contagem INT

CV Counter value Saída Contém o valor acumulado da contagem INT

Q Quit Saída É energizado quando CV >= PV BOOL

Quadro 15 - Formato do bloco de função de um contador crescente.Fonte: SENAI-RS.

Esse bloco tem como função a contagem de eventos, isto é, contar transições falsas/verdadeiras na linha de controle. O valor limite superior de contagem desejado é fornecido à entrada PV. Quando a entrada CV detecta a mudança do nível lógico 0 para o nível lógico 1 (borda de subida), o valor acumulado CV aumenta uma unidade. A saída binária Q será energizada quando o valor acumulado CV for igual ou maior que o valor de PV. A entrada R corresponde à entrada de reinício da contagem. Sempre que for a nível lógico 1, faz com que o valor de CV fique zero. Essa entrada é dominante; se estiver ativa, o valor de CV será sempre zero.

4.3.2 CONTADOR DECRESCENTE

Se a condição de entrada se torna verdadeira, o contador inicia a contagem decrementando de uma unidade toda a vez que a linha passa de falsa para verdadeira. A Figura 25 mostra um bloco funcional de um contador decrescente, conforme norma IEC 61131-3.

Page 32: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 31

CTDCD

LD

PV CV

Q

Figura 25 - Bloco funcional de um contador decrescente (CTD).Fonte: SENAI-RS.

O Quadro 16 apresenta o formato do bloco de função de um contador decrescente (CTD) da norma IEC 61131-3.

SÍMBOLO NOME ENTRADA / SAÍDA DESCRIÇÃO TIPO DE DADO

CD Count down Entrada Entrada de contagem decrescente (borda subida) BOOL, R_EDGE

LD Load Entrada Entrada de reinício do contador (faz CV = PV) INT

PV Preset value Entrada Valor desejado de contagem INT

CV Counter value Saída Contém o valor acumulado da contagem INT

Q Quit Saída É energizado quando CV <= 0 BOOL

Quadro 16 - Formato do bloco de função de um contador decrescente.Fonte: SENAI-RS.

Quando a entrada LD recebe um valor verdadeiro (nível lógico 1), o valor presente em PV é transferido para CV (CV = PV). A cada pulso recebido na entrada CD, o valor de CV é diminuído uma unidade, e a saída Q energiza (vai para nível lógico 1) quando o valor de CV for menor ou igual a zero (CV <= 0).

4.3.3 CONTADOR BIDIRECIONAL

Alguns CPs utilizam a instrução contador crescente em conjunto com o contador decrescente, formando o contador bidirecional. Observe na Figura 26 um contador bidirecional (CTUD).

CTUDCU

CD

PV CV

QU

QD

R

LD

Figura 26 - Bloco funcional de um contador bidirecional (CTUD).Fonte: SENAI-RS.

Se for detectado um pulso na entrada de contagem crescente CU, o valor de CV será aumentado uma unidade; da mesma forma, se for detectado um pulso na entrada decrescente CD, o valor de CV será diminuído uma unidade. A saída limite superior QU é ativada quando o valor de CV for maior ou igual a PV. A saída limite inferior QD é ativada quando o contador chegar a zero.

Page 33: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL32

Exemplo prático

Uma determinada máquina separa certa quantidade de cubos metálicos, que passam sobre uma esteira. O atuador linear de avanço por solenoide e retorno por mola executa o trabalho de separação desses cubos metálicos.

Figura 27 - Máquina separadora de cubos metálicos.Fonte: SENAI-RS.

Inicialmente, sabe-se que esse atuador já está avançado. Para recuar o atuador, deve-se acionar o botão de partida, permitindo a passagem das peças. O atuador só avançará novamente quando um sensor indutivo, localizado em uma das extremidades da esteira, for acionado vinte vezes. O Quadro 17 identifica as entradas e saídas para o desenvolvimento da programação em Ladder, que fará o acionamento do atuador para separação das peças.

ENTRADAS SAÍDAS

• I0 – botão de partida

• I1 – sensor indutivo

• Q0 – solenoide de avanço

do atuador

Quadro 17 - Identificação das entradas e saídas.Fonte: SENAI-RS.

Com base nessa tabela, desenvolvemos o circuito, conforme apresentado na Figura 28.

CTUCU

R

PV CV

Q

20

SQ0

Q0R

10

11

10

Figura 28 - Resolução do exemplo de acordo com a norma IEC 61131-3.Fonte: SENAI-RS.

Page 34: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 33

4.4 TEMPORIZADOR

O temporizador é um elemento fundamental na programação em Ladder. Esse componente permite rotinas temporizadas fundamentais em qualquer aplicação industrial. Todos os PCs possuem diferentes tipos de temporizadores, adaptados a várias situações de utilização.

A instrução de temporizador funciona da mesma forma que um relé de tempo nos comandos elétricos. São habitados, geralmente, por contatos NA e NF e, quando o valor do tempo decorrido fica igual ao valor pré-fixado, o temporizador energiza um bit interno que sinaliza que já transcorreu o tempo pré-programado. Normalmente, esse bit representa um contato NA ou NF e pode ser utilizado para energizar uma instrução de saída. Cada instrução de temporização tem dois registros associados, os quais devem armazenar o valor pré-selecionado e o valor acumulado, conforme definição a seguir:

• Valor pré-selecionado (PT - Preset Time): é definido pelo usuário e indica o intervalo de tempo pretendido;

• Valor acumulado (ET - Elapsed Time): armazena o valor do tempo decorrido a partir da habilitação do temporizador, isto é, a energização da bobina do temporizador.

Na Figura 29, pode-se observar um bloco genérico de um temporizador, conforme norma IEC 61131-3.

TxIN Q

PT ET

Figura 29 - Bloco genérico de um temporizador, conforme norma IEC 61131-3.Fonte: SENAI-RS.

Os tipos de dados do bloco temporizador, conforme norma IEC 61131-3, estão descritos no Quadro 18.

NOME SIGNIFICADO ENTRADA/SAÍDA DESCRIÇÃO TIPO DE DADO

IN Enable Entrada Bobina de energização do temporizador BOOL

PT Preset Time Entrada Programação do tempo desejado TIME

ET Elapsed Time Saída Valor do tempo decorrido TIME

Q Quit Saída Energiza quando ET >= PT BOOL

Quadro 18 - Tipos de dados para o bloco temporizador – IEC 61131-3.Fonte: SENAI-RS.

A base de tempo varia de controlador para controlador. Alguns admitem a base de tempo fixa, outros permitem a seleção na instrução. Esses valores podem variar de 1ms até alguns segundos. As três instruções de temporização, conforme a norma IEC 61131-3 são:

• TP (Pulse Timer): Temporizador de pulso;

• TON (Timer On Delay): Retardo para ligar;

• TOF (Timer Off Delay): Retardo para desligar.

Há vários simuladores gratuitos disponíveis na internet que utilizam programação em linguagem Ladder, entre eles estão o simulador de CP - Easy PLC encontrado na página http://saladaautomacao.com.br/download-easyclp-simulador-de-clp/

SAIBA MAIS

Page 35: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL34

4.5 INSTRUÇÕES DE COMPARAÇÃO

As instruções de comparação são utilizadas para testar pares de valores, de modo que possibilite manter a continuidade lógica de uma linha. Observe as características de cada instrução de comparação no Quadro 19.

INSTRUÇÃO DESCRIÇÃO

Igual a (EQU, =) Testa se dois valores são iguais. Se a Origem A e Origem B são iguais, a lógica

da linha é verdadeira.

Diferente NEQ, <>) Testa se o primeiro valor não é igual ao segundo. Se Origem A e Origem B são

diferentes, a lógica da linha é verdadeira.

Menor que (LES, <) Testa se o primeiro valor é menor que o segundo. Se a Origem A é menor que

o valor da Origem B, a lógica da linha é verdadeira.

Menor ou igual a LEQ, <=) Testa se o primeiro valor é menor ou igual ao segundo. Se o valor da Origem A

é menor ou igual ao da Origem B, a lógica da linha é verdadeira.

Maior que (GRT, >) Testa se o primeiro valor é maior que o segundo. Se o valor da Origem A é

maior que o valor da Origem B, a lógica da linha é verdadeira.

Maior ou igual a GEQ, >=) Testa se o primeiro valor é maior ou igual ao segundo. Se o valor da Origem A

é maior ou igual ao valor da Origem B, a lógica da linha é verdadeira.

Quadro 19 - Instruções de comparação.Fonte: SENAI-RS.

4.6 INSTRUÇÕES MATEMÁTICAS

As instruções matemáticas consideram um par de valores e realizam a operação pretendida. Utilizam valores inteiros ou reais, efetuando automaticamente a conversão de tipos, quando necessário. O resultado é colocado em uma localização separada.

4.6.1 PARÂMETROS DAS INSTRUÇÕES

Os parâmetros da instruções podem ser do tipo origem e destino:

• Origem: endereços dos valores nos quais a operação matemática será executada. Podem ser endereços de palavra ou constantes de programa. Se a instrução tiver dois operandos origem, não é possível introduzir constantes de programa nestes operandos;

• Destino : endereço destino referente ao resultado da operação.

As operações matemáticas utilizadas são descritas no Quadro 20:

OPERAÇÃO AÇÃO

Adição (ADD) Adiciona o valor origem A ao valor origem B e armazena o resultado no destino.

Subtração (SUB) A instrução SUB subtrai o valor origem B do valor origem A e armazena o resultado no destino (Dest).

Multiplicação (MUL) A instrução MUL multiplica o valor origem A pelo valor origem B e armazena o resultado no destino (Dest).

Divisão (DIV) A instrução DIV divide o valor origem A pelo valor origem B e armazena o resultado arredondado no destino (Dest).

Zeramento (CLR) Zera todos os bits de uma palavra.

Quadro 20 - Operações matemáticas e suas respectivas ações.Fonte: SENAI-RS.

Page 36: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 35

4.7 MOVER (MOVE)

Sempre que a instrução move for habilitada na sua entrada EN, moverá o dado armazenado no campo IN para uma área de memória determinada pelo usuário em OUT. É a partir do bloco move que pode ser realizado o controle de saídas analógicas. O dado de entrada pode ser uma constante M, V, I, Q, no formato de byte, word ou double word. O dado de saída deverá ser obrigatoriamente do mesmo formato do dado de entrada.

4.8 CONVERSOR (CONVERT)

Sua função é converter um tipo de dado para outro. O Quadro 21 apresenta os tipos de conversão.

CONVERSOR AÇÃO

TRUNC (Truncate) Converte um dado no formato real para duplo inteiro. Só a parte inteira do número

real é convertida, a fração é descartada.

ROUND (Round) Converte um dado no formato real para duplo inteiro. Se a fração for 0,5 ou maior, o

arredondamento será para mais.

BCD_I (BCD to Integer - binary-coded

decimal to integer)

Código decimal binário para inteiro - converte um dado no formato BCD para

inteiro; I_BCD faz o inverso.

DI_R (Double Integer to Real) Converte um dado no formato duplo inteiro para real; R_DI faz o inverso.

DI_I (Double Integer to Integer) Converte um dado no formato duplo inteiro para inteiro; I_DI faz o inverso.

B_I (Byte to Integer) Converte um dado no formato de byte para inteiro; I_B faz o inverso.

Quadro 21 - Tipos de conversão.Fonte: SENAI-RS.

4.9 PWM

A modulação por largura de pulso ou PWM consiste em gerar uma onda quadrada com tempo de ciclo completo e constante. Modificando-se a largura de pulso, automaticamente aumentará ou diminuirá a tensão média na saída. A Figura 30 ilustra o processo de PWM. Abrindo e fechando em tempos controlados, variamos a tensão média.

t

Tensão na carga (%)

100

50

0

Tensão média

t1t1

t2t2=

(50% do ciclo ativo)Largura do pulso

Figura 30 - Processo de PWM.Fonte: SENAI-RS.

Page 37: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL36

Podemos notar que a Figura 30 mostra uma tensão média na saída de 50% em relação à tensão de alimentação. Isso acontece porque o tempo de desligado e o tempo de ligado são os mesmos. Se aumentarmos o tempo desligado (0), a largura do pulso aumentará conforme o tempo em que ele ficar nessa condição. O intervalo entre os pulsos é dado pelo tempo em que ele fica ligado. Os dois tempos juntos definem o período, isto é, uma frequência de controle. Se variarmos a largura do pulso e também o intervalo de modo, teremos ciclos ativos diferentes. Assim, poderemos controlar a tensão média aplicada a uma carga, conforme mostra a Figura 31 a seguir.

100

100

Tempo

Tempo

1%

99 %

Potênciaaplicada á carga 1%

Figura 31 - Controle da tensão média aplicada a uma carga.Fonte: SENAI-RS.

A seguir, temos um exemplo prático de um PC, baseado no método fuzzy para ligação PWM, em acionamentos de motores de indução com controle constante, relação V/Hz. O objetivo é fornecer uma ação de controle eficaz para mudanças bruscas na velocidade de referência ou torque de carga.

Exemplo prático

Um controlador de mudança possui dois modos de controle: um controlador PID do tipo fuzzy e um controlador PID convencional. Na fase inicial da ação de controle, a tarefa é tratada pelo controlador PID do tipo fuzzy. Numa fase posterior, quando o absoluto de erro for menor do que um valor de limiar, a entrada do integrador no lado de saída não será mais determinada por ação difusa, mas alimentada pela ação PID incremental.

Em termos de ação de controle, ela é reforçada proporcionalmente e derivativamente quando o valor real é fechado para referência. São apresentadas avaliações detalhadas de desempenho do controlador com base em índices pré-definidos de desempenho sob diversas condições.

Os resultados demonstram a capacidade do método de controle para fornecer uma solução viável de controle em resposta às condições de funcionamento e requisitos diferentes.

Na Figura 32, temos um controle PWM de um motor utilizando um controlador.

Page 38: 2.1 - CLP - Controladores Lógicos Programáveis

3 CONCEITOS DE ELETRICIDADE BÁSICA 37

Computador

IHM ControladorProgramável

InversorPWM

Controlede

Reversão

ProteçãoSinal

SinalControle

L1 L2 L3

Entrada

Dinamometro Motor de InduçãoTrifasico

Velocidade

Figura 32 - Controle PWM de um motor utilizando CLP.Fonte: SENAI-RS.

4.10 INTERRUPÇÕES

As interrupções permitem a parada momentânea da execução de um programa para possibilitar que a CPU execute uma rotina de interrupção. Depois dessa rotina, a elaboração cíclica do programa é interrompida para executar uma rotina de interrupção. Ao término dessa rotina, a CPU volta ao último ponto do programa no qual parou, antes da interrupção, e prossegue a sua elaboração normal. Em alguns CPs, as interrupções são chamadas de alarmes. As interrupções mais comuns são do tipo:

• periódico: é um sinal de tempo que obriga a CPU a interromper momentaneamente a elaboração cíclica de um programa principal para executar outro programa;

• evento: é um sinal de alarme proveniente de um processo de comutação de estado que obriga a CPU a interromper momentaneamente a elaboração cíclica de um programa principal para executar outro programa.

Page 39: 2.1 - CLP - Controladores Lógicos Programáveis

MECATRÔNICA INDUSTRIAL38

CASOS E RELATOS

O custo benefício de um novo processo

Uma conceituada empresa de sucos mantinha, há vários anos, seu processo produtivo desenvolvido por métodos artesanais. Os operadores tinham que acionar uma sequência enorme de botões para controlar a passagem de garrafas, a quantidade de líquido em cada garrafa e a embalagem de todos os frascos.

Maurício, um dos filhos do diretor da empresa, conheceu um instrutor de mecatrônica que sugeriu que a linha de produção de sucos fosse automatizada. De acordo com o instrutor, a automatização seria fundamental para que a empresa se mantivesse no mercado.

Entretanto, o dono da empresa, pai de Maurício, imaginou que o custo de instalação seria altíssimo. Depois de muito insistir, Maurício conseguiu que seu pai aprovasse o projeto, porém, em apenas uma das estações de trabalho. Após a instalação de um CP e de alguns sensores, foi possível realizar todo o processo da estação escolhida de forma automática. O resultado foi economia de tempo e de mão-de-obra e aumento de produtividade.

Ao comparar o custo x benefício gerado pelo novo processo, o dono da empresa aprovou o projeto para toda linha de produção de sua fábrica, além de outros projetos como o controle da iluminação e do ar-condicionado e de outras facilidades da automação. Desse modo, o processo artesanal de uma empresa foi modernizado devido à mudança de percepção sobre o custo x benefício do uso dos sistemas lógicos programáveis na indústria.

RECAPITULANDO

Neste livro, destacamos os principais aspectos dos controladores programáveis, desde os princípios de funcionamento, memória, hardware, até as interfaces de entrada e saída. Foram apresentadas, também, as linguagens de programação – normas, estruturas, variáveis, tipos e aplicações. Ressaltamos a linguagem Ladder por ser a primeira linguagem de programação utilizada pelos fabricantes, fato que a tornou a linguagem mais utilizada mundialmente pelos controladores programáveis.

Enfatizamos a importância das aplicações das linguagens e suas técnicas estruturadas de programação para a obtenção de êxito na implementação de qualquer sistema mecatrônico. Os conhecimentos aqui abordados estão diretamente relacionados à capacidade do profissional em conseguir integrar todas essas linguagens e suas tecnologias de forma a atender os requisitos do mercado industrial.

Page 40: 2.1 - CLP - Controladores Lógicos Programáveis

REFERÊNCIAS

FRANCHI, C. M.; CAMARGO, V. L. A. Controladores lógicos programáveis: sistemas discretos. 2. ed. São Paulo: Érica, 2011.

INTERNATIONAL ELECTROTECHNICAL COMMISSION. IEC 61131-1 ed. 2.0: programmable controllers: part 1: general information. Geneva, 2003.

______. IEC 61131-3 ed. 3.0: programmable controllers: part 3: programming languages. Geneva, 2013.

Page 41: 2.1 - CLP - Controladores Lógicos Programáveis

SENAI – DEPARTAMENTO NACIONALUNIDADE DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA – UNIEP

Felipe Esteves Pinto MorgadoGerente Executivo

Nathália Falcão MendesGestora do Programa SENAI de Capacitação Docente

SENAI – DEPARTAMENTO REGIONAL DO RIO GRANDE DO SUL

Claiton Oliveira da CostaCoordenação da Gerência de Desenvolvimento Educacional no Departamento Regional

Fernando R. G. Schirmbeck Coordenação Técnica

João Charles dos SantosMarcelo Luiz de QuadrosElaboração

Marcelo de QuadrosRevisão Técnica

Enrique S. BlancoPatricia C. da S. RodriguesDesign Educacional

Aurélio RauberDireção de Arte

Bárbara Polidori BackesEditoração

Aurélio RauberCamila J. S. MachadoRafael AndradeIlustrações

Roberta TriacaApoio a Normatização

Enilda HackNormatização

DuploklickRevisão Ortográfica e Gramatical

Page 42: 2.1 - CLP - Controladores Lógicos Programáveis