Você está na página 1de 78

Centro Universitrio do Sul de Minas UNIS-MG

Bacharelado em Cincia da Computao

HARDWARE E SOFTWARE PARA A IMPLEMENTAO DE UM


CONTROLADOR LGICO PROGRAMVEL DIDTICO

Juliano Colho Miranda

Danilo Morais Pagano


Wendell Fioravante da Silva Diniz

Varginha, 2009

Centro Universitrio do Sul de Minas UNIS-MG

Bacharelado em Cincia da Computao

HARDWARE E SOFTWARE PARA A IMPLEMENTAO DE UM


CONTROLADOR LGICO PROGRAMVEL DIDTICO

Projeto
apresentado

de
ao

Concluso
programa

do

de

Curso

curso

de

Bacharelado em Cincia da Computao do


Centro Universitrio do Sul de Minas, como
requisito parcial para a obteno do ttulo de
Bacharel em Cincia da Computao

Varginha, 2009

FOLHA DE APROVAO
Danilo Morais Pagano
Wendell Fioravante da Silva Diniz

HARDWARE E SOFTWARE PARA A IMPLEMENTAO DE


UM CONTROLADOR LGICO PROGRAMVEL DIDTICO
Monografia apresentada ao curso de Cincia da Computao do Centro Universitrio
do Sul de Minas UNIS/MG, como pr-requisito para obteno do grau de bacharel pela
Banca Examinadora composta pelos membros:

( ) Aprovado
( ) Reprovado

Data:

_________________________________________________________
Prof Ms Juliano Colho Miranda

_________________________________________________________
Prof. Especialista Lzaro Eduardo da Silva

_________________________________________________________
Prof. Ms Rafael Rodrigues de Souza

H pessoas que nos falam e nem as escutamos,


h pessoas que nos ferem e nem cicatrizes
deixam, mas h pessoas que simplesmente
aparecem em nossas vidas e nos marcam para
sempre. Dedico este trabalho pessoa que
apareceu na minha vida, e assim, to e somente,
deixou as nicas marcas que desejo guardar para
sempre em meu corao.
WFSD
Dedico este trabalho de concluso da graduao
a Deus, pela sade, f e perseverana que tem me
dado; aos meus pais, a quem honro pelo esforo
com o qual mantiveram trs filhos, permitindolhes condies de galgar xito na sociedade
letrada; a minhas irms as quais sempre me
apoiaram

em

minhas

decises;

minha

namorada que acompanhou e incentivou esta


caminhada; aos meus amigos pelo incentivo a
busca de novos conhecimentos; a todos os
professores e professoras que muito contriburam
para a minha formao, dos quais tenho boas
recordaes.
DMP

AGRADECIMENTOS
Agradecemos a todas as pessoas que nos ajudaram durante o processo de
desenvolvimento deste trabalho. Aos professores, colegas, orientador todos enfim, que
possibilitaram esta realizao.
Agradecemos tambm a comunidade do software livre, que com sua costumeira
solidariedade ajudou a solucionar muitas duvidas que impediam o andamento do projeto.
Agrademos em especial ao orientador deste projeto, professor mestre Juliano Colho
Miranda, que possibilitou e incentivou desde o principio, criando situaes de desafio e
colaborando para as solues; ao professor especialista Agnus Horta que nos ensinou a
programar desde simples algoritmos at complicados grafos, e com isto nos ajudou a modelar
o software desenvolvido; ao coordenador do curso professor especialista Fabrcio Pelloso
Piurcosky por nos proporcionar oportunidades de participar de vrios eventos que
contriburam para o engrandecimento de nossa viso como cientistas da computao.
Agradecemos tambm a todos aqueles que contriburam de alguma forma, mas que
por falta de espao, no puderam ser diretamente citados. A todos, nosso sincero obrigado.

Pensar o trabalho mais difcil que


existe. Talvez por isso to poucos se
dediquem a ele.
Henry Ford. (1863-1945)

RESUMO
PAGANO, Danilo Morais; DINIZ, Wendell Fioravante da Silva. Hardware e
Software para a implementao de um Controlador Lgico Programvel didtico. 2009.
Monografia (Bacharelado em Cincia da Computao) Centro Universitrio do Sul de Minas
UNIS-MG, Varginha, 2009.

O presente trabalho apresenta a aplicao dos conhecimentos obtidos durante o


curso, voltados para um projeto to fascinante que o desenvolvimento de um CLP, desde o
hardware at ao software. Tal projeto demonstra-se bem complexo, instigando o esprito
cientfico quanto ao uso da programao aplicada a dispositivos eletrnicos.
Neste trabalho sero apresentadas as linguagens de programao de um CLP, o
processo de criao de um equipamento a baixo custo para a implementao do hardware
baseado num sistema microcontrolado e o desenvolvimento de um software capaz de criar,
editar e simular um programa em linguagem Ladder, assim como grav-lo na memria do
hardware proposto e este executar o programa.
Este trabalho tambm visa possibilitar que universidades e instituies de ensino
profissional construam seu prprio sistema de CLP didtico com a finalidade de integrar as
aulas tericas com as prticas.

Palavras chave: CLP, hardware, software, linguagem de programao de CLP,


microcontrolador.

ABSTRACT
This paper presents the application of knowledge obtained during the course, focused
on a project so fascinating as the development of a PLC, from hardware to software. This
project demonstrates is quite complex, prompting the scientific spirit as the use of
programming applied to electronic devices.
This work will be presented with the programming language of a PLC, the process of
creating low-cost equipment for the implementation of hardware based on a system with
microcontroller and development of software to create, edit and simulate a program in Ladder
language, so to record it in memory of the proposed hardware and run this program.
This work also aims to enable universities and vocational education institutions to
build their own system of teaching PLC in order to integrate the theoretical with the practical.

Keywords: PLC, hardware, software, programming language PLC, microcontroller.

LISTA DE FIGURAS
Figura 1 - Exemplo de um CLP comercial Fonte: Castro (2006) .............................. 24
Figura 2 - Esquema de funcionamento de um CLP ................................................... 24
Figura 3 Esquema bsico de funcionamento .............................................................. 25
Figura 4 - Ciclo de processamento dos CLP's............................................................ 25
Figura 5 - Tabela Imagem de Sada ........................................................................... 26
Figura 6 - Terminal de Programao Fonte: Castro (2006) ....................................... 26
Figura 7 - Software de Programao CLP ................................................................. 27
Figura 8 Representao da Linguagem Ladder ....................................................... 27
Figura 9 - Representaes em Ladder ........................................................................ 28
Figura 10 - Diagrama Ladder ..................................................................................... 29
Figura 11 - Bloco de funo com lgica invertida na entrada ................................... 30
Figura 12 - Bloco de funo com lgica invertida na sada ....................................... 30
Figura 13 - Equivalncia entre texto estruturado e FBD ........................................... 30
Figura 14 - Um bloco de funo definido em texto estruturado ................................ 31
Figura 15 - Trecho de um programa em ST ............................................................... 31
Figura 16 - Correlao entre FBD e ST Fonte: Bryan, et al (1997) ........................... 32
Figura 17 - Exemplo de bloco de funo em IL ........................................................ 32
Figura 18 - Conjunto de instrues em IL ................................................................. 33
Figura 19 - Programa em SFC ................................................................................... 34
Figura 20 - Resistor de fio.......................................................................................... 36
Figura 21 - Resistor de filme de carbono ................................................................... 36
Figura 22 - Significado das cores do resistor ............................................................. 37
Figura 23 - capacitor cermico................................................................................... 38
Figura 24 - Comparativo do tamanho dos LED's ....................................................... 40
Figura 25 - Smbolo de transistores NPN e PNP ....................................................... 42
Figura 26 - Pinagem do PIC16F628A ....................................................................... 43
Figura 27 - Subsistemas digitais do PIC16F628A ..................................................... 44
Figura 28 - Diagrama esquemtico do Sistema. ........................................................ 45
Figura 29 - Tela do software LDMicro em seu formato original. .............................. 46
Figura 30 - Janela do utilitrio de gravao no microcontrolador. ............................ 47

Figura 31 - Diagrama esquemtico do hardware. ...................................................... 49


Figura 32 - Circuito de comunicao serial. .............................................................. 50
Figura 33 - Circuito de gravao................................................................................ 50
Figura 34 - Circuito da fonte de alimentao. ............................................................ 51
Figura 35 - Circuito de entrada. ................................................................................. 52
Figura 36 - Circuito de sada. ..................................................................................... 52
Figura 37 - Circuito e subcircuitos do CLP. .............................................................. 53
Figura 38 - Viso do projeto em 3D e da placa montada. .......................................... 54
Figura 38 - Diagrama de casos de uso do software. ................................................... 56
Figura 39 - Diagrama de classes do software. ........................................................... 57
Figura 40 - Circuito em ladder e sua representao na estrutura de dados utilizada. 59
Figura 41 - Circuito ladder representado no software desenvolvido. ........................ 60
Figura 42 - Dica sobre o boto exibindo sua tecla de atalho ..................................... 61
Figura 43 - Janela mostrando as propriedades editveis do elemento ....................... 62
Figura 44 - Janela de informaes do elemento ......................................................... 63
Figura 45 - Tela do software LDMicro aps recompilao (mdulo de simulao). 64
Figura 46 - Programa de controle editado no software. ............................................. 65
Figura 47 - Circuito convertido em formato de texto. ............................................... 65
Figura 48 - Representao hexadecimal do programa de controle. ........................... 66
Figura 49 - Ativao do driver do IC-Prog para Windows. ....................................... 67
Figura 50 - Configurao da porta COM utilizada para gravao. ............................ 68
Figura 51 - Configurao do idioma da interface do IC-Prog. .................................. 69
Figura 52 - Operao de gravao no hardware em execuo. .................................. 70
Figura 53 - Projeto do painel com o CLP e os demais dispositivos fsicos. .............. 71
Figura 54 - Painel pr-montado. ................................................................................ 71

LISTA DE TABELAS
Tabela 1 - Operaes da linguagem IL ...................................................................... 33
Tabela 2 - Cdigo de cores ........................................................................................ 37
Tabela 3 - Custos para a confeco do hardware ....................................................... 54
Tabela 4 Custos para construo do painel ............................................................. 72

LISTA DE ABREVIATURAS E SIGLAS


A/D Analgico para digital
AC Alternate Current
CA Corrente Alternada
CC Corrente Continua
CCP Capture/Compare/PWM
CI Circuito Integrado
CLP Controlador Lgico Programvel
CPU Central Processing Unit
D/A Digital para analgico
DC Direct Current
Ddp Diferena de potencial
EEPROM Electric Eraseable Programmable Read Only Memory
EPROM Electric Programmable Read Only Memory
FBD Function Block Diagram
FET Field Effect Transistor
GM General Motors
GNU GNU is Not Unix
GPL GNU Public License
I/O Input/Output
IBM Industrials Business Machineries
IEC International Electrotechnical Commission
IL Instruction List
LD Ladder Diagram
LED Light Emitting Diode
PC Programmable Controller
PID Proporcionais, integrais e derivativos
PLC Programmable Logic Controller
PWM Pulse Wide Modulation
RAM Random Access Memory
RLL Relay Ladder Logic
ROM Read Only Memory

SFC Sequential Function Chart


ST Structured Text
USART Universal Synchronous Asynchronous Receiver Transmitter

SUMRIO

1.

INTRODUO ...................................................................................................................... 16
1.1

OBJETIVOS............................................................................................................................ 17

1.1.1 Objetivo Geral ................................................................................................................... 17


1.1.2 Objetivos Especficos ......................................................................................................... 17
1.2

JUSTIFICATIVA ...................................................................................................................... 17

1.3

ORGANIZAO DA MONOGRAFIA ......................................................................................... 18

2.

CONTROLADORES LGICOS PROGRAMVEIS ........................................................ 19


2.1

HISTRICO DOS CLPS ......................................................................................................... 19

2.2

ORGANIZAO E CONSTITUIO DOS CLPS ........................................................................ 23

2.3

PRINCPIO DE FUNCIONAMENTO ........................................................................................... 24

2.4

AS LINGUAGENS UTILIZADAS NA PROGRAMAO DE CLPS ............................................... 28

2.4.1. Linguagem Ladder (LD) ................................................................................................... 28


2.4.2. O Diagrama de Blocos de Funes (FBD) ....................................................................... 29
2.4.3 Texto Estruturado (ST) ...................................................................................................... 31
2.4.4 Linguagem Lista de Instrues (IL) ................................................................................... 32
2.4.5 Diagrama de Funes Sequenciais (SFC) ......................................................................... 34
3.

ELETRNICA ....................................................................................................................... 35
3.1

INTRODUO ........................................................................................................................ 35

3.2

CIRCUITOS ELTRICOS ......................................................................................................... 35

3.3

COMPONENTES ELETRNICOS .............................................................................................. 35

3.3.1 Resistor .............................................................................................................................. 35


3.3.2 Capacitor ........................................................................................................................... 37
3.3.3 Transformadores ............................................................................................................... 38
3.3.4 Rel .................................................................................................................................... 39
3.3.5 Diodo semicondutor........................................................................................................... 39
3.3.6 LED.................................................................................................................................... 40
3.3.7 Transstor .......................................................................................................................... 41
3.3.8 Microprocessador PIC 16F628A....................................................................................... 42
4.

DESENVOLVIMENTO ......................................................................................................... 45
4.1

ESQUEMATIZAO DO PROJETO............................................................................................ 45

4.2

INTERFACE DE SIMULAO .................................................................................................. 45

4.3

INTERFACE DE GRAVAO ................................................................................................... 47

4.4

A LINGUAGEM C# ................................................................................................................ 48

4.5

COMPOSIO DO HARDWARE ............................................................................................... 49

4.6

DESENVOLVIMENTO DO SOFTWARE ...................................................................................... 55

4.6.1

Requisitos ....................................................................................................................... 55

4.6.2

Diagrama de Casos de Uso ............................................................................................ 56

4.6.3

Diagrama de Classes ..................................................................................................... 57

4.6.4

Desenvolvimento do software ......................................................................................... 58

4.7
5.

CONSTRUO DO PAINEL ..................................................................................................... 70


CONCLUSO ........................................................................................................................ 73

5.1

DIFICULDADES ENCONTRADAS ............................................................................................ 73

5.2

PROJETOS FUTUROS.............................................................................................................. 74

ANEXO A DIAGRAMA DO CIRCUITO DO CLP DIDTICO ............................................... 76


BIBLIOGRAFIA ................................................................................................................................ 77

16

1.

INTRODUO

Desde o incio da Revoluo Industrial, que tem seu marco fixado no ano de 1750, os
processos industriais vm tornando-se cada vez menos dependentes de operadores humanos
para seu funcionamento. Pode-se dizer ento, que a disciplina de automao industrial surgiu,
neste perodo, com os primeiros teares mecanizados automatizados, que, com a programao
dos desenhos em cartes perfurados, permitiram que se fizesse de forma mais eficiente a
produo em srie de um nmero bem maior de peas, dispensando a interveno contnua do
mestre tecelo para configurar as agulhas que criariam os padres nos tecidos.
Desde esta poca, a humanidade passou por vrios estgios e novas tecnologias
surgiram, atravs de muita pesquisa e, sobretudo, trabalho; estas tecnologias permitiram um
avano da automao tal, que, nos dias de hoje, possvel para os seres humanos at mesmo a
explorao de outros planetas do sistema solar atravs de aparatos autnomos.
Neste contexto, interessante notar que uma das tecnologias que permitem a efetiva
aplicao da automao que est mais prxima do cidado comum, so os circuitos chamados
CLP's ou Controladores Lgicos Programveis. Estes aparelhos permitem o controle
automatizado de circuitos externos atravs de uma programao realizada atravs de
linguagens especficas, permitindo a montagem de circuitos complexos. Estes aparelhos so
bastante usados hoje, sobretudo nas indstrias, pois permitem o acionamento de mquinas em
condies especficas, que tambm podem ser monitoradas conhecendo-se previamente os
estados que podem assumir. Assim, dominar o funcionamento e os mtodos de programao
destes aparelhos de suma importncia para o bom funcionamento de processos industriais e
outros que demandem de tal automao.
Portanto, com este trabalho, visa-se construir uma ferramenta didtica, de baixo
custo, que permita a instituies com poucos recursos estarem capacitadas para o ensino das
tcnicas que permitiro dominar o funcionamento dos CLP's, contribuindo para melhorar a
qualificao da fora de trabalho formada em tais instituies.

17

1.1 Objetivos
1.1.1 Objetivo Geral

A construo de um sistema de hardware a baixo custo utilizando software livre que


possibilite s escolas tcnicas e universidades aperfeioarem o ensino da teoria dos CLPs
atravs de aulas prticas.

1.1.2 Objetivos Especficos

Diminuir os custos na aquisio da estrutura necessria para o estudo dos


CLPs atravs da possibilidade das escolas tcnicas e universidades
construrem seus prprios aparelhos.

Desenvolver hardware e software que possibilite o uso de lgica digital


combinatria e seqencial, temporizadores e contadores, na simulao de
sistemas automatizados.

Desenvolver software que possibilite a programao de CLPs atravs da


linguagem LADDER.

Disponibilizar toda a pesquisa gratuitamente para que tenha uma adeso de


vrias escolas tanto tcnicas quanto em nvel de graduao.

Utilizar computadores de baixo poder de processamento para a criao e


simulao dos diagramas LADDER.

Desenvolver um sistema de comunicao serial entre o CLP e o software


criado de forma que o programa criado pelo usurio possa ser executado por
este CLP separadamente do computador.

Desenvolver um painel didtico para interligao entre o CLP e os diversos


dispositivos fsicos.

1.2 Justificativa
Segundo Machado (1994), Conhecer apreender o significado e apreender o
significado de um objeto ou de um acontecimento v-lo em suas relaes com outros objetos
ou acontecimentos. Assim, os significados constituem feixes de relaes, que se articulam em

18
teias, em redes, construdas social e individualmente e em permanente estado de atualizao.
Ou seja, os estudos prticos so parte fundamental da construo do conhecimento cientfico,
j que consolidam a teoria e permitem a troca de experincias entre professores e alunos,
permitindo que este una sua vontade de aprender a disposio do professor a ensinar,
perfazendo assim um processo slido de construo do conhecimento.
Para a existncia desta consolidao entre a teoria e a prtica faz-se necessrio a
existncia de uma estrutura fsica muito bem adaptada ao processo. A aquisio desta torna-se
invivel quando se deseja um perfeito acoplamento entre ela e os alunos, onde a quantidade
requisitada pode ser alta. Os custos da aquisio do material para a construo da estrutura
mnima para apenas um aluno chega a ser desanimador. Portanto, a construo desta pela
prpria escola , sem dvidas, uma alternativa poderosa para aqueles que desejam diminuir os
custos na implantao da estrutura necessria para uma boa prtica profissional do uso dos
CLPs.
Para contribuir com esta consolidao entre a teoria e a prtica, objetiva-se o
desenvolvimento de um software capaz de simular um ambiente real de programao de
CLPs, distribudo sob a licena GNU Public License (GPL), permitindo a adio de
aprimoramentos, estes desenvolvidos pelos prprios usurios. Do mesmo modo o hardware
desenvolvido dever oferecer meios de simular as principais funes encontradas nos CLPs
comerciais, permitindo assim a construo do conhecimento em sintonia com o que
praticado num ambiente de produo.

1.3 Organizao da Monografia


A monografia est dividida em seis captulos principais, distribudos em introduo,
onde sero apresentados os temas, objetivos e justificativas do projeto; referencial terico (um
sobre CLP, um sobre eletrnica e um sobre a linguagem de programao utilizada) que
compe todo o material de pesquisa inerente ao projeto; o desenvolvimento, onde esto
descritos os mtodos utilizados na elaborao do hardware e do software para a
implementao do CLP; e por fim a concluso, finalizando as consideraes dos autores,
apresentando as dificuldades encontradas e sugerindo projetos futuros.

19

2.

CONTROLADORES LGICOS PROGRAMVEIS

2.1 Histrico dos CLPs


Segundo Bryan, et al.(1997), um CLP, Controlador Lgico Programvel, pode ser
definido como um aparelho eletrnico digital que utiliza uma memria programvel para o
armazenamento interno de instrues para implementaes especficas, tais como lgica,
sequenciamento, temporizao, contagem e aritmtica, para controlar, atravs de mdulos de
entradas e sadas, vrios tipos de mquinas ou processos. Ou seja, trata-se de um
equipamento microprocessado, capaz de acionar circuitos eltricos atravs de uma
programao especfica criada com base nos estados de entrada e sada do equipamento.
De acordo com Filho (1999), o CLP nasceu dentro da General Motors, em 1968,
devido grande dificuldade de mudar a lgica de controle dos painis de comando a cada
mudana na linha de montagem. Tais mudanas implicavam em altos custos de tempo e
dinheiro. Sob a liderana do engenheiro Richard Morley, foi preparada uma especificao que
refletia as necessidades de muitos usurios de circuitos e rels, no s da indstria
automobilstica como de toda a indstria manufatureira. Nascia assim um equipamento
bastante verstil e de fcil utilizao, que vem se aprimorando constantemente, diversificando
cada vez mais os setores industriais e suas aplicaes, o que justifica hoje um mercado
mundial estimado em quatro bilhes de dlares anuais.
Anteriormente a isso, o hardware do controle sequencial era dominado
principalmente pelos rels. No que concerne aos dispositivos de controle de sequncia que
utilizam os rels, apresentavam as desvantagens a seguir discriminadas: (Souza, 1999)

mau contato;

desgastes dos contatos;

necessidade de instalao de inmeros rels, execuo de fiao entre os inmeros


terminais de contatos e de bobinas;

complexidade na introduo de alterao na sequncia;

necessidade de manutenes peridicas.

20
Apesar de apresentarem todas as desvantagens citadas, os rels se tornaram
elementos principais do hardware de controle de sequncia em razo de no haver, na poca,
elementos que pudessem substitu-los eficazmente (Souza, 1999).
No final da dcada de 60, iniciou-se o desenvolvimento de microcomputadores,
utilizando-se o circuito integrado (CI), e a universalidade da capacidade de processamento dos
mesmos tornou-se o centro das atenes, aguardando-se com enorme expectativa o
surgimento do hardware para controle dotado de grande versatilidade de processamento. Por
outro lado, inicia-se a era da produo em grande escala, e os assuntos, como automao,
incremento da produtividade, uniformidade na qualidade e outros, transformam-se em temas
principais nas estaes de trabalho, e a soluo desses problemas era exigida tambm pelo
lado da tecnologia de controle de sequncia. Na poca, a General Motors (GM empresa
automobilstica americana) anunciou 10 itens relativos s condies que um novo dispositivo
eletrnico de controle de sequncia deveria atender para que pudesse substituir os tradicionais
rels (Souza, 1999).
Os itens so os seguintes:

a) Facilidade de programao, de alterao do programa, inclusive nas estaes de


trabalho;
b) Facilidade na manuteno, desejvel que fosse totalmente do tipo de encaixar
(plug-in unit);
c) A confiabilidade na estao de trabalho dever ser superior em relao ao painel
de controle do tipo com rels;
d) Dever ser mais compacto que o painel de controle do tipo com rels;
e) Possibilitar o envio direto de dados unidade central de processamento de dados;
f) Dever ser economicamente competitivo com o painel de controle do tipo com
rels;
g) Possibilitar entradas com nveis de tenso alternada da ordem de 115V;
h) As sadas devero ser em 115VCA com capacidade superior a 2A de intensidade
de corrente; dever ainda possibilitar a operao das vlvulas solenides, comando
para partida de motores e outros;
i) Com um mnimo de alterao, possibilitar a ampliao do sistema bsico;
j) Dever estar dotado de memria programvel que possa ser ampliada at 4k word
no mnimo.

21
Assim, baseando-se nesses 10 itens acima mencionados, a partir de 1969 foi lanada
uma srie de produtos denominados PLC (Programmable Logic Controller - Controlador
Lgico Programvel), atravs de diversas empresas americanas (Souza, 1999).
Como pano de fundo tecnolgico para o surgimento do PLC, houve a evoluo das
tecnologias de computao e semicondutores, especialmente a tecnologia de CIs,
possibilitando a substituio do sistema de controle por rels, que havia atingido o seu limite
de possibilidades (Souza, 1999).
As caractersticas do PLC elaborado segundo as especificaes dos 10 itens da GM
so a seguir discriminadas:
como se trata de dispositivo que utiliza o elemento semicondutor em substituio aos
rels, o controle ser do tipo sem contato;
enquanto o contedo do controle dos sistemas convencionais se realiza pela execuo
de fiao entre os contatos dos rels, no caso do PLC ser realizado atravs de
programa;
embora seja o PLC um dispositivo que utiliza o semicondutor, poder utilizar energia
para entrada e sada nas faixas de 115[V] e 220[V], 2[A] diretamente em corrente
alternada;
poder adequar ao sistema a capacidade ideal do PLC, segundo a dimenso do
controle a ser realizado.

Originalmente, o PLC surgiu como um dispositivo de controle tipo universal, que


pudesse substituir os sistemas de rels e, posteriormente, com a evoluo das tecnologias de
computao e dos CIs, desenvolveu-se tornando possvel a reduo de custo, compactao,
elevao das funes e outros, at atingir a maturidade como sendo hardware principal para
controle sequencial (Souza, 1999).
Com a evoluo, foi eliminado o termo logic do nome PLC, passando este
dispositivo a ser chamado de PC - Controlador Programvel (Programmable Controller). Com
o passar do tempo os controladores programveis passaram a tratar variveis analgicas e no
inicio dos anos oitenta incorporaram a funo do controle de malhas de instrumentao, com
algoritmos de controle proporcionais, integrais e derivativos (PID). Ainda na dcada de
oitenta com a evoluo dos microcomputadores e das redes de comunicao entre os PLC's,
os quais passaram a elevar seu desempenho, permitindo que vrios controladores

22
programveis pudessem partilhar os dados em tempo real e que nesta mesma rede estivessem
conectados vrios microcomputadores, os quais atravs de um software de superviso e
controle, podiam monitorar, visualizar e comandar o processo como um todo a partir de uma
sala de controle distante do processo (Souza, 1999).
De acordo com Souza (1999), pode-se classificar historicamente o PLC como segue:

1. Gerao: Os PLCs de primeira gerao se caracterizam pela programao


intimamente ligada ao hardware do equipamento. A linguagem utilizada era o Assembly que
variava de acordo com o processador utilizado no projeto do PLC, ou seja, para poder
programar era necessrio conhecer a eletrnica do projeto do PLC. Assim a tarefa de
programao era desenvolvida por uma equipe tcnica altamente qualificada, gravando-se o
programa em memria EPROM, sendo realizada normalmente no laboratrio junto com a
construo do PLC.
2. Gerao: Aparecem as primeiras Linguagens de Programao no to
dependentes do hardware do equipamento, possveis pela incluso de um Programa Monitor
no PLC, o qual converte (no jargo tcnico, compila), as instrues do programa, verifica o
estado das entradas, compara com as instrues do programa do usurio e altera os estados
das sadas. Os Terminais de Programao (ou Maletas, como eram conhecidas) eram na
verdade Programadores de Memria EPROM. As memrias depois de programadas eram
colocadas no PLC para que o programa do usurio fosse executado.
3. Gerao: Os PLCs passam a ter uma Entrada de Programao, onde um Teclado
ou Programador Porttil conectado, podendo alterar, apagar, gravar o programa do usurio,
alm de realizar testes (Debug) no equipamento e no programa. A estrutura fsica tambm
sofre alteraes sendo a tendncia para os Sistemas Modulares com Bastidores ou Racks.
4. Gerao: Com a popularizao e a diminuio dos preos dos microcomputadores
(normalmente clones do IBM PC), os PLCs passaram a incluir uma entrada para a
comunicao serial. Com o auxlio dos microcomputadores a tarefa de programao passou a
ser realizada nestes. As vantagens eram a utilizao de vrias representaes das linguagens,
possibilidade de simulaes e testes, treinamento e ajuda por parte do software de
programao, possibilidade de armazenamento de vrios programas no micro, etc.
5. Gerao: Atualmente existe uma preocupao em padronizar protocolos de
comunicao para os PLCs, de modo a proporcionar que o equipamento de um fabricante
converse com o equipamento outro fabricante, no s PLCs, como controladores de
processos,

sistemas

supervisores,

redes

internas

de

comunicao, dentre

outros,

23
proporcionando uma integrao a fim de facilitar a automao, gerenciamento e
desenvolvimento de plantas industriais mais flexveis e normalizadas, fruto da chamada
Globalizao. Existe uma Fundao Mundial para o estabelecimento de normas e protocolos
de comunicao.

2.2 Organizao e constituio dos CLPs


De acordo com Castro (2006), os principais blocos que compem um CLP podem
ser, de forma geral, os seguintes:

CPU (Central Processing Unit - Unidade Central de Processamento): compreende o


processador (microprocessador, microcontrolador ou processador dedicado), o
sistema de memria (ROM e RAM) e os circuitos auxiliares de controle;

Circuitos/Mdulos de 1/0 (Input/Output - Entrada/Sada): podem ser discretos


(sinais digitais: 12VDC, 110VAC, contatos normalmente abertos, contatos
normalmente fechados) ou analgicos (sinais analgicos: 4-2OmA, 0-1 OVDC,
termopar);

Fonte de Alimentao: responsvel pela tenso de alimentao fornecida CPU e


aos Circuitos/Mdulos de 1/0. Em alguns casos, proporciona sada auxiliar (baixa
corrente);

Base ou Rack: proporciona conexo mecnica e eltrica entre a CPU, os Mdulos


de 1/0 e a Fonte de Alimentao. Contm o barramento de comunicao entre eles,
no qual os sinais de dados, endereo, controle e tenso de alimentao esto
presentes.

Isolamento tico: Uma tarefa importante que a seo de entrada de um PLC


executa o isolamento. A CPU do PLC deve ser protegida do mundo exterior, mas
deve ser capaz de receber dados de entrada dele. O isolamento tico executa
tipicamente esta funo. Nenhuma conexo eltrica existe entre o mundo exterior e
a CPU, e os dois so separados oticamente. Entretanto, o mundo exterior fornece
um sinal que liga uma luz na placa da entrada. A luz ilumina um receptor, e o
receptor ligado. A luz separa a CPU do mundo exterior at tenses muito altas.
Mesmo se houver um surto grande da eletricidade, a CPU fica segura.

24
Naturalmente, se a tenso for extremamente grande, o isolamento poderia falhar e
causar uma falha do circuito. O isolamento tico usado para entradas e sadas.

As figuras a seguir mostram o esquema bsico de construo de um CLP e a foto de


um CLP comercial.

Figura 1 - Exemplo de um CLP


comercial Fonte: Castro (2006)

Figura 2 - Esquema de funcionamento de um CLP


Fonte: Castro (2006)

2.3 Princpio de Funcionamento


Podemos apresentar a estrutura de funcionamento de um CLP dividida em trs
partes: entrada, processamento e sada (Filho, 1999).
Segundo Filho (1999), os sinais de entrada e sada dos CLPs podem ser digitais ou
analgicos. Existem diversos tipos de mdulos de entrada e sada que se adquam as
necessidades do sistema a ser controlado.

25

Figura 3 Esquema bsico de funcionamento


Fonte: Filho (1999)

Ainda conforme Filho (1999), os mdulos de entrada e sadas so compostos de


grupos de bits, associados em conjunto de 8 bits (1 byte) ou conjunto de 16 bits, de acordo
com o tipo da CPU. As entradas analgicas so mdulos conversores A/D, que convertem um
sinal de entrada em um valor digital, normalmente de 12 bits (4096 combinaes). As sadas
analgicas so mdulos conversores D/A, ou seja, um valor binrio transformado em um
sinal analgico.
Os sinais dos sensores so aplicados s entradas do controlador e a cada ciclo
(varredura) todos esses sinais so lidos e transferidos para a unidade de memria interna
denominada memria imagem de entrada. Estes sinais so associados entre si e aos sinais
internos. Ao trmino do ciclo de varredura, os resultados so transferidos memria imagem
de sada e ento aplicados aos terminais de sada. Este ciclo esta representado na figura abaixo
(Filho, 1999).

Figura 4 - Ciclo de processamento dos CLP's


Fonte: Filho (1999)

De acordo com Castro (2006), a CPU executa a leitura dos status (condies,
estados) dos dispositivos de entrada por meio dos Circuitos/Mdulos de I/O. Esses status so
armazenados na memria (RAM) para serem processados pelo Programa de Aplicao

26
(desenvolvido pelo usurio e armazenado em memria RAM, EPROM ou EEPROM no
PLC). Aps a execuo do programa de aplicao, o processador atualiza os status dos
dispositivos de sada por meio dos circuitos e mdulos de entrada e sada, realizando a lgica
de controle.
Na figura 5, temos um exemplo de como um PLC gerencia um mdulo de sada. A
memria da CPU contm uma seo chamada de Tabela Imagem de Sada, que por sua vez
contm os estados lgicos de todas as sadas. Se h um 1 no bit correspondente sada, esta
sada ligada. Se o bit contiver um 0, a sada desligada (Castro, 2006).

Figura 5 - Tabela Imagem de Sada


Fonte: Castro (2006)

A programao do PLC feita por meio de uma Ferramenta de Programao que


pode ser um Programador Manual (Terminal de Programao ou Handheld Programmer), ou
um PC com software de programao especfico (Castro, 2006).

Figura 6 - Terminal de Programao


Fonte: Castro (2006)

27

Figura 7 - Software de Programao CLP


Fonte: Castro (2006)

A Linguagem Ladder (RLL - Relay Ladder Logic, Lgica de Contatos de Rel),


muito popular entre os usurios dos antigos sistemas de controle a rels, a mais utilizada.
Esta linguagem a representao lgica da seqncia eltrica de operao, como ilustrado na
figura a seguir. (Castro, 2006)

Figura 8 Representao da Linguagem Ladder


Fonte: Castro (2006)

A lgica implementada pelo PLC muito similar convencional, sendo que os


dispositivos de entrada (elementos B0 e B1) so conectados ao Circuito/Mdulo de Entrada e
o dispositivo de sada (elemento LO), ao Circuito/Mdulo de Sada. O Programa de Aplicao
determina o acionamento da sada em funo das entradas (B0 . B1 = L0). Qualquer alterao
desejada nesta lgica realizada por meio de alteraes no programa, permanecendo as
mesmas ligaes (conexes) nos Circuitos/Mdulos de I/0 (Castro, 2006).

28

2.4 As Linguagens Utilizadas na Programao de CLPs


De acordo com Bryan, et al.(1997), as linguagens de programao definidas para o
uso com os CLPs, so as seguintes:
LD (Ladder diagram, diagram Ladder);
FBD (Function block diagram, diagram de blocos de funes);
ST (Structured text, texto estruturado);
IL (Instruction list, lista de instrues);
SFC (Sequential function chart, tabela sequencial de funes).

2.4.1. Linguagem Ladder (LD)

Mesmo tendo sido a primeira linguagem destinada especificamente programao


de PLCs, a Linguagem Ladder mantm-se ainda como a mais utilizada, estando presente
praticamente em todos os PLCs disponveis no mercado. Por ser uma linguagem grfica,
baseada em smbolos semelhantes aos encontrados nos esquemas eltricos (contatos e
bobinas), as possveis diferenas existentes entre os fabricantes de PLCs, quanto
representao das instrues, so facilmente assimiladas pelos usurios, como exemplificado
na figura (Branqs Automao, 2007).

Figura 9 - Representaes em Ladder


Fonte: Branqs Automao (2007)

O nome Ladder deve-se representao da linguagem se parecer com uma escada


(ladder), na qual duas barras verticais paralelas so interligadas pela Lgica de Controle,
formando os degraus (rungs) da escada. Portanto, a cada Lgica de Controle existente no
Programa de Aplicao d-se o nome de rung, a qual composta por Colunas e Linhas,
conforme apresentado na figura a seguir (Branqs Automao, 2007).

29

Figura 10 - Diagrama Ladder


Fonte: Branqs Automao (2007)

A relao entre o smbolo grfico da Linguagem Ladder e a Instruo a ser executada


pode ser verificada nos Endereos 0 e 1 do Programa em Linguagem de Lista de Instrues.
Neste caso, a representao em Linguagem Ladder para os Elementos XO e X2 so Contatos
Normalmente Abertos idnticos. Porm, a localizao de cada um na Lgica de Controle
determina Instrues diferentes, ou seja, o Contato Normalmente Aberto de XO, por iniciar o
rung, determina a Instruo 'Store' (STR XO) e o Contato Normalmente Aberto de X2 (com
representao grfica idntica de XO), por estar em paralelo com XO, determina a Instruo
'Or' (OR X2). Esta caracterstica da Linguagem Ladder normalmente facilita o
desenvolvimento do Programa de Aplicao, uma vez que o usurio precisa certificar-se
apenas se a associao desejada aceita pela CPU utilizada, no se prendendo Instruo
propriamente dita (Branqs Automao, 2007).

2.4.2. O Diagrama de Blocos de Funes (FBD)

Conforme demonstrado por Jack (2007), o Diagrama de Blocos de Funes (FBD)


mais uma linguagem definida na IEC 61131-3. O conceito por trs do FBD o fluxo de
dados. Nos programas feitos nesta linguagem, os valores fluem das entradas para as sadas,
atravs de blocos de funes.
Um programa em FBD constitudo de blocos de funes que so conectados e estas
conexes so o que define a troca de dados. As linhas devem conectar dados de tipos
compatveis em ambas as pontas. As entradas e sadas dos blocos de funo podem ser
invertidas. Normalmente, isto feito adicionando-se um pequeno crculo no ponto onde a
linha toca o bloco, como mostrado na figura abaixo (Jack, 2007).

30

Figura 11 - Bloco de funo com lgica invertida na entrada


Fonte: Jack (2007)

Figura 12 - Bloco de funo com lgica invertida na sada


Fonte: Jack (2007)

As funes bsicas utilizadas em FBD s equivalentes s usadas em ST (Structred


Text, Texto Estruturado). Considere a funo de adio, conforme exemplificado na figura
abaixo. Na esquerda, temos uma instruo em texto estruturado em que A e B so somados e
o resultado armazenado em O. O bloco de funo direita equivalente instruo
esquerda. Por conveno, as entradas so posicionadas esquerda e as sadas direita do
bloco de funo (Jack, 2007).

Figura 13 - Equivalncia entre texto estruturado e FBD


Fonte: Jack (2007)

A figura 14 mostra uma funo de diviso criada usando-se texto estruturado. Neste
exemplo, a primeira linha declara um bloco de funo chamado divide. As variveis de
entrada a e b e a varivel de sada c so declaradas. Na funo, o denominador checado para
ter certeza de que no igual a zero. Se no, a diviso realizada, caso contrrio a sada ser
zero (Jack, 2007).

31

Figura 14 - Um bloco de funo definido em texto estruturado


Fonte: Jack (2007)

2.4.3 Texto Estruturado (ST)

De acordo com Bryan, et al. (1997), texto estruturado uma linguagem de alto nvel
que permite programao estruturada, significando que muitas tarefas complexas podem ser
quebradas em tarefas menores. ST lembra algumas linguagens de computador, como BASIC
ou PASCAL, as quais usam sub-rotinas para implementar diferentes partes de funes de
controle e fazer a passagem de parmetros e valores entre diferentes sees do programa.
Assim como LD, FDB e IL, ST utiliza a definio de variveis para identificar entradas e
sadas e outras variveis internas que so usadas no programa. ST tambm suporta iteraes,
como WHILE, DO, e REPEAT...UNTIL, assim como estruturas de deciso como
IF...THEN...ELSE. Alm disso, ST suporta operaes booleanas (AND, OR, etc.) e uma
variedade de dados especficos, como informaes de data e hora.

Figura 15 - Trecho de um programa em ST


Fonte: Bryan, et al (1997)

32
A linguagem estruturada extremamente til para execuo de rotinas de gerao de
relatrios, onde instrues de alto nvel explicam o que est sendo feito. Lembre-se que ST
pode ser usado para encapsular ou criar blocos de funo que iro realizar certa tarefa
disparada pela lgica do controle. Esta rotina pode ser usada repetidamente durante o ciclo de
vida do programa (Bryan, et al., 1997).
ST particularmente til para aplicaes que envolvem manipulao de dados,
ordenao computacional e aplicaes matemticas utilizando valores de ponto flutuante. ST
tambm a melhor linguagem para a implementao de rotinas de Inteligncia Artificial (IA),
Lgica Fuzzy e tomada de decises em circuitos CLP (Bryan, et al., 1997).

Figura 16 - Correlao entre FBD e ST


Fonte: Bryan, et al (1997)

2.4.4 Linguagem Lista de Instrues (IL)

Ainda segundo Bryan, et al (1997), a linguagem de Lista de Instrues (IL) uma


linguagem de baixo nvel, bastante parecida com a linguagem Assembly, utilizada em
microprocessadores. Este tipo de linguagem til para a criao de pequenas aplicaes ou
aplicaes que necessitem de otimizao na velocidade de execuo ou rotinas especficas
dentro de um programa maior. A IL pode ser usada, por exemplo, para a criao de blocos de
funo especficos. Um tpico uso da IL envolve a inicializao ou retorno a zero (reset) de
valores acumulados em registradores.
Instrues

Comentrios

LD
AND
ANDN
ST

(resultado := TRUE)
(resultado := b1 AND b2*)
(resultado := b1 AND b2 AND NOT b3*)
(b0 := resultado)

b1
b2
b3
b0

Nota: O resultado corrente armazenado em um registrador de


resultado. A ltima instruo armazena o valor do registrador de
resultado como a varivel b0.
Figura 17 - Exemplo de bloco de funo em IL
Fonte: Bryan, et al (1997)

33
Um importante conceito desta linguagem a pilha de execuo. A pilha tem a funo
de alterar a precedncia das instrues. Normalmente, as expresses so avaliadas na ordem
em que aparecem. Com o auxlio da pilha, possvel alterar esta ordem. Isto indicado na
linguagem com o uso de parnteses, conforme exemplificado na figura a seguir (Bryan, et al.,
1997).

Figura 18 - Conjunto de instrues em IL


Fonte: Bryan, et al (1997)

A seguir, temos uma tabela com as instrues em IL, conforme o padro da norma
IEC 61131.
Tabela 1 - Operaes da linguagem IL
Fonte : Bryan, et al.(1997)

Operao

Modificadores

Tipos de Dados

LD

Vrios

Seta o valor do resultado corrente

ST

Vrios

Armazena o valor do resultado corrente na varivel indicada

BOOL

Seta ou reseta um valor

S, R

Descrio

AND, &

N, (

BOOL

Operao E booleana

OR

N, (

BOOL

Operao OU booleana

XOR

N, (

BOOL

Operao OU EXCLUSIVO booleana

ADD

Vrios

Adio matemtica

SUB

Vrios

Subtrao matemtica

MUL

Vrios

Multiplicao matemtica

DIV

Vrios

Diviso matemtica

GT

Vrios

Comparao maior que (>)

GE

Vrios

Comparao maior ou igual a (>=)

EQ

Vrios

Comparao igual a (=)

NE

Vrios

Comparao no igual (<>)

LE

Vrios

Comparao menor ou igual (<=)

LT

Vrios

Comparao menor que (<)

JMP

C, N

LABEL

Salta para o LABEL indicado

CAL

C, N

NAME

Chama a sub-rotina especificada em NAME

RET

C, N

Retorna de uma sub-rotina


Retorna um valor da pilha

34

2.4.5 Diagrama de Funes Sequenciais (SFC)

Segundo Bryan, et al.(1997), o Diagrama de Funes Sequenciais, ou SFC, uma


linguagem grfica que prov uma representao diagramtica das sequncias de controle
em um programa. Basicamente, SFC um framework parecido com um fluxograma, que
organiza os subprogramas ou sub-rotinas (programadas em LD, FBD, IL ou ST) que formam
o programa de controle. O SFC particularmente til para operaes de controle seqenciais
e/ou concorrentes, onde o programa flui de um passo para o outro quando certa condio for
satisfeita (TRUE ou FALSE). O SFC tambm conhecido como Grafcet ou IEC 848.
Um passo um estgio em um processo de controle. Por exemplo, a aplicao
mostrada na figura a seguir possui trs passos o passo inicial, o passo de mistura e o passo
de esvaziamento. Quando o programa de controle recebe uma entrada, ele ir executar cada
um desses passos comeando pelo passo 1. Cada passo pode ou no ter uma ao associada a
ele. Uma ao um conjunto de instrues de controle avisando ao CLP para executar certa
funo de controle durante aquele passo. Uma ao pode ser programada em qualquer uma
das quatro linguagens definidas na IEC 61131-3. Aps a execuo de um passo/ao, o CLP
deve receber uma transio antes que ele siga para o prximo passo. A transio pode tomar a
forma de uma varivel de entrada, o resultado de uma ao anterior ou uma estrutura
condicional como o IF (Bryan, et al., 1997).

Figura 19 - Programa em SFC


Fonte : Bryan, et al.(1997)

35

3.

ELETRNICA

3.1 Introduo
Segundo Bartulani (2009), eletrnica o campo da cincia e da engenharia que trata
dos dispositivos eletrnicos e de sua utilizao. a parte da fsica que estuda e utiliza as
variaes de grandezas eltricas para captar, transmitir e processar informaes. Trata dos
circuitos eltricos e instrumentos constitudos por vlvulas terminicas, dispositivos
semicondutores (tais como transistores e circuitos integrados), tubos de raios catdicos e
outros componentes.

3.2 Circuitos Eltricos


De acordo com Bartulani (2009), os circuitos eltricos so associaes de
componentes eltricos com a finalidade de transmitir controladamente a potncia eltrica que
lhes aplicada. Os constituintes elementares dos circuitos eltricos so chamados de
componentes.

3.3 Componentes Eletrnicos


3.3.1 Resistor

De acordo com Massoi (2009), resistores so componentes eletrnicos cuja


finalidade oferecer oposio passagem de corrente eltrica atravs de seu material feito de
um condutor de alta resistividade eltrica, assim transformando energia eltrica em energia
trmica (Efeito Joule). A essa oposio dado o nome de resistncia eltrica.
Os resistores podem ser fixos ou variveis. Os fixos so resistores cuja resistncia
eltrica no pode ser alterada (apresentam dois terminais). J os resistores variveis so
aqueles cuja resistncia eltrica pode ser alterada atravs de um eixo ou cursor, como por
exemplo, o reostato e o potencimetro (Capuano, et al., 2007).
De acordo com Massoi (2009), os elementos resistivos podem ser:

Resistor de fio: consiste basicamente de um tubo cermico (ou vidro) que serve de
suporte a um fio condutor de alta resistividade enrolado (nquel-cromo) sobre este

36
tubo. O comprimento e o dimetro do fio determinam sua resistncia eltrica. Os
terminais so soldados nas extremidades do fio. Aplicada uma camada de material
isolante para proteo.

Figura 20 - Resistor de fio


Fonte: Massoi (2009)

Resistor de filme de carbono (grafite) : constitui-se de um tubo cermico (ou de vidro)


coberto por um filme (pelcula) de carbono, onde o valor da resistncia eltrica
obtido mediante a formao de um sulco no filme, produzindo uma fita espiralada cuja
largura e espessura define o valor da sua resistncia. Os terminais so soldados na
extremidade do filme e aplicada uma camada de material isolante para proteo.

Figura 21 - Resistor de filme de carbono


Fonte: Massoi (2009)

Resistor de filme metlico: este semelhante ao de carbono. Porm o tubo cermico


coberto por um filme de uma liga metlica (nquel-cromo).
3.3.1.1 Cdigo de cores para resistores

Segundo Markus (2001), os resistores so fabricados em valores padronizados


(resistncia nominal). Os valores padronizados so determinados a partir de sries de valores
(razes), dos quais so determinados os mltiplos e submltiplos. O cdigo de cores determina
o valor padro (resistncia nominal) dos resistores a partir dos anis coloridos impressos no
corpo do resistor. Normalmente os resistores vm com quatro anis coloridos, porm os
resistores de preciso possuem 3 algarismos significativos e vm com cinco anis impressos.
Em geral, o primeiro anel a ser lido aquele mais prximo a um dos terminais do resistor,

37
desde que no seja da cor preta, ouro ou prata. A tolerncia representa percentualmente a
faixa de variao admissvel para o valor da resistncia do resistor.

Figura 22 - Significado das cores do resistor

Tabela 2 - Cdigo de cores


Fonte: Google (2009)

3.3.2 Capacitor

De acordo com Markus (2001), capacitores so dispositivos que armazenam energia


eltrica na forma de campo eltrico, gerado pelas cargas armazenadas em suas armaduras.
Forma-se ento uma diferena de potencial (ddp) entre as armaduras. Esta ddp muda, sempre
que a quantidade de cargas armazenadas alterada. Esse movimento de cargas, para dentro e
para fora das armaduras do capacitor, pode constituir uma corrente eltrica. Existe uma
interdependncia entre a variao da tenso e a corrente que atravessa o capacitor.

38
3.3.2.1 Capacitor Cermico

Os capacitores cermicos, conforme a figura14 representa, apresentam impressos no


prprio corpo, um conjunto de trs algarismos e uma letra. Os dois primeiros algarismos
representam os dois primeiros dgitos do valor do capacitor e o terceiro algarismo (algarismo
multiplicador) representa o nmero de zeros direita. A letra representa a tolerncia (podendo
ser omitida) do capacitor (Capuano, et al., 2007).

Figura 23 - capacitor cermico


Fonte: Google (2009)

3.3.2.2 Capacitores eletrolticos

Consistem em uma folha de alumnio anodizada como armadura positiva, em que,


por um processo eletroltico, forma-se uma camada de xido de alumnio que serve como
dieltrico; e um fluido condutor, o eletrlito que impregnado em um papel poroso colocado
em contato com outra folha de alumnio de maneira a formar a armadura negativa. O conjunto
bobinado, sendo a folha de alumnio anodizada, ligada ao terminal positivo e outra ligada a
uma caneca tubular, o encapsulamento do conjunto, e ao terminal negativo (Capuano, et al.,
2007).
De acordo com Markus (2001), os capacitores eletrolticos, por apresentarem o
dieltrico como uma fina camada de oxido de alumnio e em uma das armaduras um fluido,
constituem uma serie de altos valores de capacitncia, mas com limitados valores de tenso de
isolao e terminais polarizados.

3.3.3 Transformadores

Um transformador um dispositivo destinado a transmitir energia eltrica ou


potncia eltrica de um circuito outro, transformando tenses, correntes e ou de modificar os
valores das impedncia eltrica de um circuito eltrico. Trata-se de um dispositivo de corrente

39
alternada que opera baseado nos princpios eletromagnticos da Lei de Faraday e da Lei de
Lenz. (Markus, 2001)
Segundo Markus (2001), o transformador consiste de duas ou mais bobinas ou
enrolamentos e um circuito magntico que acopla essas bobinas. H uma variedade de
transformadores com diferentes tipos de circuito, mas todos operam sobre o mesmo princpio
de induo eletromagntica.
Markus (2001) ainda complementa que no caso dos transformadores de dois
enrolamentos, comum se denomin-los como enrolamento primrio e secundrio. A tenso
do secundrio obede a relao de espiras entre o primrio e o secundrio, de acordo com a
tenso aplicada ao primrio.

3.3.4 Rel

Rel um dispositivo eletromecnico ou no, com inmeras aplicaes possveis em


comutao de contatos eltricos, servindo para ligar ou desligar dispositivos. normal o rel
estar ligado a dois circuitos. No caso do rel eletro-mecnico, a comutao realizada
alimentando-se a bobina do mesmo. Quando uma corrente originada no primeiro circuito
passa pela bobina, um campo eletromagntico gerado, acionando o rel e possibilitando o
funcionamento do segundo circuito. Sendo assim, uma das aplicabilidades do rel utilizar-se
de baixas correntes para o comando no primeiro circuito, protegendo o operador das possveis
altas correntes que iro circular no segundo circuito (contatos). Ao contrrio do que a grande
maioria das pessoas pensam, os rels no se limitam ao uso em carros. Pelo contrrio, so
largamente utilizados na indstria. H tambm apliacaes em automaes residenciais e
comerciais. (Capuano, et al., 2007)

3.3.5 Diodo semicondutor

Diodo semicondutor um dispositivo ou componente eletrnico composto de cristal


semicondutor de silcio ou germnio numa pelcula cristalina cujas faces opostas so dopadas
por diferentes gases durante sua formao. o tipo mais simples de componente eletrnico
semicondutor, muito usado como retificador de corrente eltrica (Bemarques, et al., 2007)
Segundo Bemarques, et al, (2007), os diodos, assim como qualquer componente
eletrnico, operam em determinadas correntes eltricas que so especificadas em seu
invlucro ou so dadas pelo fabricante em folhetos tcnicos. Alm da corrente, a tenso

40
inversa (quando o diodo est polarizado inversamente) tambm um fator que deve ser
analisado para a montagem de um circuito e que tem suas especificidades fornecidas pelo
fabricante. Se ele for alimentado com uma corrente ou tenso inversa superior a que ele
suporta, o diodo pode danificar, ficando em curto ou em aberto.
O fenmeno da condutividade em um s sentido aproveitado como um
chaveamento da corrente eltrica para a retificao de sinais senoidais, portanto, este o
efeito do diodo semicondutor to usado na eletrnica, pois permite que a corrente flua entre
seus terminais apenas numa direo. Esta propriedade utilizada em grande nmero de
circuitos eletrnicos e nos retificadores. (Wikipdia, 2001)
Os retificadores so circuitos eltricos que convertem a tenso CA (AC) em tenso
CC (DC). CA significa corrente alternada, significa que os eltrons circulam em dois sentidos,
CC (DC) significa corrente contnua, isto , os elntrons circulam num s sentido (Wikipdia,
2001).

3.3.6 LED

Segundo Bemarques, et al. (2007), LED a sigla em ingls para Light Emitting
Diode, ou Diodo Emissor de Luz. O LED um diodo semicondutor (juno P-N) que quando
energizado emite luz visvel. A luz no monocromtica (como em um laser), mas consiste
de uma banda espectral relativamente estreita e produzida pelas interaes energticas do
eltron. O processo de emisso de luz pela aplicao de uma fonte eltrica de energia
chamado eletroluminescncia. Em qualquer juno P-N polarizada diretamente, dentro da
estrutura, prximo juno, ocorrem recombinaes de lacunas e eltrons. Essa
recombinao exige que a energia possuda por esse eltron, que at ento era livre, seja
liberada, o que ocorre na forma de calor ou ftons de luz.

Figura 24 - Comparativo do tamanho dos LED's


Fonte: Wikipdia (2009)

41
Em geral, os leds operam com nvel de tenso de 1,6 a 3,3V, sendo compatveis com
os circuitos de estado slido. interessante notar que a tenso dependente do comprimento
da onda emitida. Assim, os leds infravermelhos geralmente funcionam com menos de 1,5V,
os vermelhos com 1,7V, os amarelos com 1,7V ou 2.0V, os verdes entre 2.0V e 3.0V,
enquanto os leds azuis, violeta e ultra-violeta geralmente precisam de mais de 3V. A potncia
necessria est na faixa tpica de 10 a 150 mW, com um tempo de vida til de 100.000 ou
mais horas. (Wikipdia, 2001)

3.3.7 Transstor

O transistor um componente eletrnico que comeou a se popularizar na dcada de


1950 tendo sido o principal responsvel pela revoluo da eletrnica na dcada de 1960, e
cujas funes principais so amplificar e chavear sinais eltricos. O termo vem de transfer
resistor (resistor de transferncia), como era conhecido pelos seus inventores. (Bemarques, et
al., 2007)
O transistor foi inventado nos Laboratrios da Bell Telephone por por Bardeen e
Brattain em 1948, e inicialmente demonstrado em 23 de Dezembro de 1947 por John
Bardeen, Walter Houser Brattain, e William Bradford Shockley, que foram laureados com o
prmio Nobel da Fsica em 1956. Ironicamente, eles pretendiam fabricar um transstor de
efeito de campo (FET) idealizado por Julius Edgar Lilienfeld antes de 1925, mas acabaram
por descobrir uma amplificao da corrente no ponto de contato do transstor, isso evoluiu
posteriormente para converter-se no transstor de juno bipolar. O objetivo do projeto era
criar um dispositivo compacto e barato para substituir as vlvulas termoinicas usadas nos
sistemas telefnicos da poca. (Wikipdia, 2001)
O transstor considerado por muitos uma das maiores descobertas ou invenes da
histria moderna, tendo tornado possvel a revoluo dos computadores e equipamentos
eletrnicos. A chave da importncia do transstor na sociedade moderna a sua habilidade de
ser produzido em enormes quantidades usando tcnicas simples, resultando em preos
irrisrios. conveniente salientar que praticamente impossvel encontrarmos circuitos
integrados que no possuam internamente centenas, milhares ou mesmo milhes de
transstores, juntamente com outros componentes como resistncias e condensadores. Por
exemplo o microprocessador Cell do console PlayStation 3 tem aproximadamente 234
milhes de transstores, usando uma arquitectura de fabricao de 45 nanmetros, ou seja

42
cada transstor fica distanciado dos outros 45 milionsimos de um milmetro (Wikipdia,
2001).

Figura 25 - Smbolo de transistores NPN e PNP


Fonte: Wikipdia (2001)

3.3.8 Microprocessador PIC 16F628A

O PIC16F628a um microcontrolador fabricado pela Microchip Technology, com as


seguintes caractersticas (MICROCHIP, 2007):

Composto de 18 pinos;

Possui somente 35 instrues no seu microcdigo;

Sinal de clock de freqncia at 20 MHz;

Memria de programa do tipo Flash de 2048 words (1 word = 32 bits);

224 bytes de memria RAM para dados;

128 bytes de memria EEPROM para dados;

Instrues de 14 bits com 200ns de tempo de execuo;

Dados de 8 bits por endereo de memria;

15 registradores especiais;

16 pinos os quais podem ser configurados como entrada e/ou sada;

Outras caractersticas especiais como programao in-circuit serial, proteo


por cdigo, watchdog timer (temporizador co de guarda), mdulo CCP,
comparador interno, USART, ...

43
A figura 26 mostra a pinagem do PIC:

Figura 26 - Pinagem do PIC16F628A


Fonte: Microchip (2007)

Os pinos de RA0 a RA7 e de RB0 a RB7 podem ser configurados como entradas ou
sadas digitais. A alimentao se d no pino Vdd, ligado normalmente em 5V com faixa de
tolerncia de 2 6V e o pino Vss a referncia de terra. O pino OSC1/CLKIN utilizado
para sinal de clock produzido por cristal ou um circuito externo e o pino OSC2/CLKOUT
para sinal de clock por cristal (utilizado em conjunto com OSC1/CLKIN). O pino MCLR
uma entrada de sinal de reset em nvel baixo (zero). O PIC16F628A composto pelos
subsistemas digitais conforme diagrama de blocos abaixo a fig.24 (MICROCHIP, 2007):

44

Figura 27 - Subsistemas digitais do PIC16F628A


Fonte: Microchip (2007)

3.3.8.1 Arquitetura Harvard

O PIC16F628a possui uma arquitetura denominada Harvard para acesso aos dados e
s instrues do programa, a qual caracterizada por utilizar um bus (via de acesso) para
comunicao dos dados e outro bus distinto para comunicao com o programa. A maioria
dos microcomputadores e microcontroladores no mercado utilizam um nico bus, tanto para
dados quanto para instrues do programa. Nota-se a diferena no uso desta arquitetura na
visualizao da memria do microcontrolador PIC: existe uma memria para o programa e
outra para os dados a serem utilizados. (Tecnology, 2007)

45
3.3.8.2 Portas de entrada e sada

Os microcontroladores da linha PIC possuem pinos que podem ser configurados


como entrada ou sada digital. Cada conjunto de oito destes pinos denominado Port,
geralmente classificado por uma letra do alfabeto (PortA, PortB, PortC,...). Para isto, existem
implementados na memria RAM do PIC registradores especiais para configurar e
ler/modificar o valor destes pinos. No PIC16F628a, dois destes registradores, o TRISA e o
TRISB, so responsveis pela configurao destes pinos para funcionamento como entrada ou
sada digital. A abreviatura TRIS para estes registradores provem de tri-state (trs estados)
porque alguns pinos podem funcionar de trs modos diferentes: como entrada digital, sada
digital ou com outra funo especfica (Tecnology, 2007).

4.

DESENVOLVIMENTO

4.1 Esquematizao do projeto


O projeto compreende duas partes distintas e complementares: o hardware e o
software. O hardware contm um circuito microcontrolado que ir receber o diagrama ladder
desenvolvido no software. O software contm funes para o desenho do programa de
controle, simulao do circuito construdo e compilao e gravao no hardware.
O funcionamento do projeto pode ser representado pelo diagrama abaixo:

Edio
Compilao

Execuo

Gravao

Software

Hardware
vao
Figura 28 - Diagrama esquemtico do Sistema.
Fonte: desenvolvido pelos autores

4.2 Interface de Simulao


Para a interface de simulao foi utilizado um aplicativo chamado LDMicro.

46
O LDMicro um projeto de cdigo aberto mantido por Jonathan Westhues.
Constitui-se de um editor de lgica ladder que tambm possui as funes de simulao e
compilao para microcontroladores de 8 bits, entre eles o PIC 16F628A utilizado no corrente
projeto. Assim, resolveu-se aproveitar este projeto, pois trazia as funcionalidades esperadas e
por se tratar de um projeto de cdigo aberto, sua utilizao no apresenta restries e tambm
permitiu uma grande economia em tempo de desenvolvimento ao mesmo tempo em que
permitiu adicionar funcionalidades desejveis ao sistema.

Figura 29 - Tela do software LDMicro em seu formato original.


Fonte: Elaborado pelos autores.

O LDMicro foi ento modificado, pois apenas as rotinas de simulao e compilao


eram necessrias neste projeto. Todas as outras funes foram desabilitadas.
O mdulo gerado foi adicionado ao projeto. Como o LDMicro originalmente foi
desenvolvido na linguagem C++, no haveria tempo hbil para reescrev-lo em C#. Desta
forma, optou-se por mant-lo como um mdulo executvel independente, que pode ser
acessado atravs de chamadas de sistema de dentro do cdigo do Projeto.
A linha de comando para a ativao do mdulo para simulao segue abaixo.
ldmicro.exe nome_do_arquivo.ld

47
A linha de comando para a ativao do mdulo para compilao segue abaixo.
ldmicro.exe /c nome_do_arquivo.ld nome_do_arquivo.hex

4.3 Interface de Gravao


Para executar a gravao do cdigo compilado no microprocessador, foi utilizado um
utilitrio freeware, o IC-Prog.
O IC-Prog um utilitrio para gravao em microcontroladores que utiliza
comunicao serial atravs da interface RS232. Ele foi desenvolvido por Bonny Gijzen, que o
mantm de forma independente.

Figura 30 - Janela do utilitrio de gravao no microcontrolador.


Fonte: Elaborado pelos autores.

Ele j possui todas as funes de gravao e acesso porta serial e pode ser utilizado
atravs de chamadas de sistema, de forma anloga ao LDMicro. Desta forma optou-se por
utiliz-lo, para dar maior praticidade e flexibilidade ao sistema, permitindo inclusive, uma
fcil transio para outros modelos de microcontrolador.
A linha de comando especfica para a funo de gravao segue abaixo.
icprog.exe -lnome_do_arquivo.hex -p -i -f3f10 -q

48
Os parmetros utilizados tm as seguintes funes:

-lnome_do_arquivo.hex : especifica que ser passado um arquivo no formato


hexadecimal contendo o programa de controle;

-p : especifica a funo de programao do microcontrolador;

-i : informa o fim da programao;

-f : palavra de configurao, define os parmetros de gravao internos do


microcontrolador.

-q : finaliza o icprog.exe

4.4 A Linguagem C#
Para o desenvolvimento do software, foi necessrio bastante esforo em pesquisa.
Desde o incio do projeto, observou-se que a falta de domnio de caractersticas especficas e
particulares da linguagem, seria um diferencial para um melhor rendimento na construo do
software. Porm, em cursos de graduao, extremamente difcil adquirir este nvel de
domnio, pela prpria caracterstica generalista do curso. Assim, houve a necessidade de
pesquisar e dominar recursos da linguagem. O ambiente de desenvolvimento utilizado, o
Microsoft Visual Studio 2008, tambm possui vrias caractersticas e especificidades que
necessitaram ser pesquisadas para um melhor fluxo de trabalho. Por tratar-se de um ambiente
com bastantes recursos, tambm se mostra difcil adquirir completo domnio da ferramenta
sem um curso especfico. Porm, este obstculo foi contornado parcial e gradualmente
durante o decorrer do desenvolvimento.
Um dos recursos interessantes que foi utilizado o Diagrama de Classes. Esta
funcionalidade permite desenvolver os prottipos das classes de forma grfica e de forma
automtica gerar o cdigo das mesmas. Com isso, obteve-se um grande aumento na
produtividade, uma vez que projetadas as classes, o nico trabalho em gerao de cdigo, era
a implementao dos mtodos das mesmas. Como o sistema foi criado utilizando-se do
paradigma da Orientao a Objetos, esta funcionalidade foi de grande valia para o andamento
do projeto.

49

4.5 Composio do Hardware


O hardware desenvolvido compreende um circuito lgico microcontrolado, um
circuito de comunicao serial, um circuito de gravao para a transferncia dos dados para o
microcontrolador, um circuito de alimentao e os circuitos de entrada e sada.

Figura 31 - Diagrama esquemtico do hardware.


Fonte: Elaborado pelos autores.

O microcontrolador utilizado foi o PIC 16F628A. Foi escolhido por ser bastante
verstil e por se adequar s exigncias do projeto quanto ao nmero de entradas e sadas.
O circuito de comunicao compreende uma interface de comunicao serial
MAX232, responsvel pela troca de mensagens entre unidades similares. Se for o
microcontrolador for programado para enviar e receber mensagens, os pinos RB2(7) e RB1(8)

50
tero esta funo e portanto no podero ser usados como pinos de entrada e sada.
Exatamente por esta razo, estes pinos ficaram reservados para troca de mensagens, forando
o PORTB, ou seja, a sada do CLP, a trabalhar com apenas 6 bits (6 sadas fsicas).

Figura 32 - Circuito de comunicao serial.


Fonte: Elaborado pelos autores.

O circuito de gravao est diretamente associado ao microcontrolador. Compreende


um conector serial padro (DB9) para a gravao do programa atravs da porta serial de
qualquer micro. O microcontrolador pra de executar o programa que est em sua memria
quando o pino 4 (RA5/MCLR) recebe um sinal de aproximadamente 13v, ficando apto a
receber os dados de forma serial atravs dos pinos 12 e 13 (Clock e Dados).

Figura 33 - Circuito de gravao.


Fonte: Elaborado pelos autores.

51
O circuito de alimentao contm uma fonte linear no estabilizada que retifica a
tenso de entrada de 127V AC para os 12V DC necessrios ao funcionamento do circuitos de
sada (rels). Para o circuito do microcontrolador, esta tenso estabilizada em 5V, atravs do
regulador de tenso 7805. O conector J17 recebe a tenso alternada de 12v proveniente de um
transformador. Este sinal retificado atravs da ponte de diodos BR1, e filtrado atravs do
capacitor C5, diminuindo a oscilao (variao) da tenso. O resistor R35 e o led D21 tem a
finalidade de sinalizar presena de tenso eltrica, ou seja, que o circuito est ligado. O
regulador de tenso U1 (7805) tem a finalidade de estabilizar a tenso fixando em 5v,
necessrio para o funcionamento do microcontrolador.

Figura 34 - Circuito da fonte de alimentao.


Fonte: Elaborado pelos autores.

O circuito de entrada composto de oito subcircuitos idnticos, constitudos por


bornes de fixao, onde sero fixados os elementos acionadores (sensores, chaves
representados pelo smbolo J2) isolados atravs de optoacopladores (U2). Esta medida visa
dar segurana ao sistema, uma vez que possveis sobrecargas sero isoladas, evitando que
cheguem at o microcontrolador e o danifiquem. Cada subcircuito tambm possui um LED de
monitoramento (D2), permitindo facilmente reconhecer o estado de ativao de cada entrada.
Cada subcircuito est diretamente associado a um pino de entrada do microcontrolador,
permitindo que se construa variados programas de controle. Todo o portal A (do pino 1 ao 4 e
do pino 15 ao 18) do microcontrolador utilizado na funo de entrada.

52

Figura 35 - Circuito de entrada.


Fonte: Elaborado pelos autores.

O circuito de sada, assim como o de entrada, constitudo de uma srie de


subcircuitos idnticos, totalizando seis. Cada subcircuito recebe um pulso de ativao
originado em um dos pinos do microcontrolador (do pino 6 ao pino 13). Os pinos utilizados
para a funo de sada so todos os do portal B do microcontrolador, excetos os pinos RB1 e
RB2 (6 e 7), que so reservados para transmisso e recepo de dados seriais. Este pulso
amplificado por um transistor (Q2) que por sua vez, energiza a bobina de um rel (RL1), onde
sero ligados os elementos atuadores (motores, lmpadas e outros), atravs de bornes
similares aos utilizados na entrada (J10). Cada sada tambm possui um LED (D10) de
monitoramento permitindo facilmente reconhecer o estado de ativao das mesmas.

Figura 36 - Circuito de sada.


Fonte: Elaborado pelos autores.

Pode-se observar na figura abaixo, o hardware por completo, com todos os


componentes interligados. Observa-se esquerda os 8 subcircuitos de entrada, no centro o
microcontrolador que ir atuar sobre as 6 sadas que se encontram direita. Oberva-se na

53
parte superior os dois subcircuitos seriais, um para comunicao serial com outros
dispositivos (acima e esquerda) e o outro para a gravao dos dados de programa no
microcontrolador atravs da porta serial do computador (acima no centro). Nota-se tambm o
subcircuito da fonte de alimentao do sistema (acima e direita).

Subcircuito

de

comunicao serial

Subcircuito

de

Subcircuito da fonte

gravao

Microcontrolador

Subcircuito de entrada
Subcircuito de entrada

Subcircuito de entrada

Subcircuito
entrada

de
Subcircuito de sada

Figura 37 - Circuito e subcircuitos do CLP.


Fonte: Elaborado pelos autores.

O circuito est montado em uma placa de circuito impresso disponvel


comercialmente. Durante o desenvolvimento do circuito, verificou-se que o projeto desta era
bastante similar ao que estava sendo desenvolvido. Desta forma, optou-se por esta placa

54
comercial para obter aparncia mais profissional ao projeto e para maior praticidade.

Figura 38 - Viso do projeto em 3D e da placa montada.


Fonte: Elaborado pelos autores.

A placa do circuito foi acondicionada numa caixa de madeira para maior proteo e
isolamento. A caixa possui um tampo de acrlico transparente, permitindo a inspeo dos
LEDs de monitoramento.
Os custos para a construo da placa esto listados abaixo na Tabela 3.

Tabela 3 - Custos para a confeco do hardware

Descrio
confeco da placa
resistores 1k
resistores 4k7
resistores 10k
resistores 100k
capacitor 220nF
capacitor 100nF
capacitor 100pF
capacitor eletroltico 10uF
capacitor eletroltico 47uF
capacitor eletroltico 1000uf
ponte retificadora
LED vermelho 5mm
rele 12v 1NA
LED verde 5mm
optoacoplador 4n25
buffer serial max232
regulador 7805
microcontrolador PIC16F628A
conector DB9 fmea para placa
borne de 2 terminais para placa
borne de 3 terminais para placa

Quantidade
1
19
9
7
2
2
5
2
4
1
1
1
14
6
1
8
1
1
1
2
10
6

Unitrio
R$ 35,00
R$ 0,10
R$ 0,10
R$ 0,10
R$ 0,10
R$ 0,20
R$ 0,20
R$ 0,20
R$ 0,40
R$ 0,40
R$ 0,80
R$ 1,00
R$ 0,50
R$ 3,50
R$ 0,50
R$ 2,00
R$ 8,50
R$ 1,20
R$ 18,00
R$ 5,50
R$ 2,00
R$ 2,00

Total
R$ 35,00
R$ 1,90
R$ 0,90
R$ 0,70
R$ 0,20
R$ 0,40
R$ 1,00
R$ 0,40
R$ 1,60
R$ 0,40
R$ 0,80
R$ 1,00
R$ 7,00
R$ 21,00
R$ 0,50
R$ 16,00
R$ 8,50
R$ 1,20
R$ 18,00
R$ 11,00
R$ 20,00
R$ 12,00

55
transistor bc337
diodo 1n4007
caixa de madeira 155x115x30
placa de acrlico 155x115
parafuso m5 com porca
conector 5 pinos para placa
transformador 127vx12v 500mA
plugue para tomada 2P
cordo paralelo 1mm
TOTAL

7
6
1
1
4
1
1
1
2

R$ 0,50
R$ 0,20
R$ 5,00
R$ 12,00
R$ 0,50
R$ 2,00
R$ 13,00
R$ 1,20
R$ 1,00

R$ 3,50
R$ 1,20
R$ 5,00
R$ 12,00
R$ 2,00
R$ 2,00
R$ 13,00
R$ 1,20
R$ 2,00
R$ 201,40

4.6 Desenvolvimento do software


4.6.1 Requisitos

O software desenvolvido foi escrito com base no hardware proposto. Desta forma,
ele deve oferecer:

Edio do programa de controle em lgica ladder;

Uma interface de simulao, para verificar o funcionamento do circuito;

Uma interface de gravao, para a transferncia do programa editado para o


hardware;

A possibilidade de salvar os arquivos.

O software desenvolvido seguiu o paradigma da Orientao a Objetos. A linguagem


escolhida foi o C#, principalmente para aproveitar a produtividade oferecida pelo seu
ambiente de desenvolvimento, o Microsoft Visual Studio 2008, e por oferecer diversos
recursos necessrios ao projeto nativamente, poupando esforo no desenvolvimento.

56
4.6.2 Diagrama de Casos de Uso

Figura 39 - Diagrama de casos de uso do software.


Fonte: Elaborada pelos autores.

57
4.6.3 Diagrama de Classes

Figura 40 - Diagrama de classes do software.


Fonte: Elaborada pelos autores.

58
4.6.4 Desenvolvimento do software

O software desenvolvido pode ser dividido com base em suas funes da seguinte
forma:

Mdulo de edio: parte responsvel pela representao do programa de


controle em linguagem ladder;

Mdulo de simulao: parte responsvel pela simulao do funcionamento do


programa de controle;

Mdulo de exportao/compilao/gravao: este mdulo converte o


programa de controle para um arquivo de texto no formato utilizado pelo
mdulo de compilao, gera o cdigo hexadecimal para o microcontrolador
alvo e realiza a programao do microcontrolador atravs da porta serial.

4.6.4.1

Mdulo de edio

O mdulo de edio tem a funo de permitir a construo do programa de controle


na linguagem ladder. o mdulo que concentra o maior nmero de funes.
Seu principal componente a estrutura de dados utilizada para se armazenar o
diagrama ladder. Para representar cada um dos possveis elementos que podem ser utilizados
na construo do programa de controle, optou-se por dividi-los em classes distintas.
O componente mais externo da estrutura de dados a classe Linha. Esta classe
constitui-se de uma lista encadeada de objetos da classe Elemento. A classe Elemento uma
classe abstrata, da qual derivam as classes que definem cada elemento. O uso do paradigma da
herana possibilitou a separao e a independncia dos elementos, permitindo uma gil
reconfigurao e/ou adio de novos componentes.
Dentre os vrios elementos disponveis, destacam-se dois: o ConectorParalalelo e o
ConectorSerie. Estes elementos tm a funo de servir como containers para subcircuitos.
So compostos por listas de objetos da classe Elemento, assim como a classe Linha. Desta
forma, conseguiu-se manter a flexibilidade da linguagem ladder, permitindo vrias
configuraes de componentes. Segue um exemplo de circuito na linguagem ladder e sua
representao na estrutura de dados criada.

59

Figura 41 - Circuito em ladder e sua representao na estrutura de dados utilizada.


Fonte: Elaborada pelos autores.

O elemento L representa a um objeto da classe Linha. Este objeto armazena seus


elementos filhos em srie, ou seja, os objetos devero ser desenhados horizontalmente.
Seguindo as setas a partir de L, percebe-se que a linha possui 4 elementos, nesta ordem: C,
Cp, C, B.
O elemento Cp armazena seus elementos em paralelo, ou seja, devem ser desenhados
verticalmente. O elemento Cp ento, possui, de forma anloga a L, dois elementos: C e Cs.
Por fim, o elemento Cs tambm armazena os elementos em srie, analogamente
linha. Seus elementos so, ento, C e C.
Esta estrutura apresenta uma forte caracterstica recursiva, uma vez que um conector
pode conter outro conector. Uma caracterstica interessante que foi observada nesta estrutura
foi a de que um conector nunca ir conter outro conector do mesmo tipo.
Uma vez criada a estrutura, passou-se para o desenvolvimento da rotina de desenho.
Esta rotina deveria ser capaz de percorrer a estrutura de dados e representar graficamente o
circuito. O mtodo desenvolvido inicia o caminhamento atravs das linhas, iterando cada uma
delas, percorrendo recursivamente cada um de seus elementos, ao mesmo tempo, adicionando
suas representaes grficas em uma tabela (grid) de imagens. Este mtodo chamado cada
vez que ocorre uma alterao na estrutura, redesenhando o circuito para refletir as alteraes.

60

Figura 42 - Circuito ladder representado no software desenvolvido.


Fonte: Elaborada pelos autores

Uma vez desenvolvida a rotina de desenho e verificado o seu funcionamento, foram


adicionados os botes na barra de ferramentas para permitir a insero dos outros elementos
disponveis, permitindo assim a construo de variados circuitos. Cada um dos elementos
possui uma tecla de atalho que far sua insero no circuito em srie com o elemento
selecionado. Caso seja pressionada a tecla shift combinada com outra tecla de atalho, o
comando alterado para insero em paralelo. Os elementos e suas respectivas teclas de
atalho so:

Contato normalmente aberto (tecla de atalho: C)

Contato normalmente fechado (tecla de atalho: F)

Contato de borda de subida (tecla de atalho: Q)

Contato de borda de descida (tecla de atalho: W)

Temporizador na energizao (tecla de atalho: T)

Temporizador na desenergizao (tecla de atalho: Y)

Temporizador retentivo (tecla de atalho: U)

Contador ascendente (tecla de atalho: I)

61

Contador descendente (tecla de atalho: O)

Bobina (tecla de atalho: B)

Bobina Set (tecla de atalho: S)

Bobina Reset (tecla de atalho: R)

Bobina de Reset de temporizador e contador (tecla de atalho: E)

Figura 43 - Dica sobre o boto exibindo sua tecla de atalho

As linhas de circuito tambm podem ser inseridas por teclas de atalho. A tecla
correspondente a (L), que insere uma linha depois da linha selecionada. A tecla shift
pressionada em conjunto modifica o comando para a insero da linha aps a linha
selecionada.
A tela de propriedades dos elementos pode ser acessada de duas formas: atravs de
um duplo-clique no elemento correspondente ou atravs do pressionamento da tecla de
espao. Esta tela de propriedades varia conforme o tipo de elemento.

62

Figura 44 - Janela mostrando as propriedades editveis do elemento

Na janela de propriedades, existe, para cada tipo de elemento, um boto de


informaes. Ao acion-lo, exibida uma janela contendo informaes teis ao usurio, para
esclarec-lo quanto ao funcionamento do elemento em questo.

63

Figura 45 - Janela de informaes do elemento

4.6.4.2 Mdulo de simulao

O mdulo de simulao foi desenvolvido a partir do cdigo fonte da ferramenta


LDMicro. O LDMicro um editor e simulador de lgica ladder e tambm um compilador
desta lgica para microcontroladores de oito bits. Trata-se de um projeto Open Source, ou
seja, de cdigo aberto, publicado sobre a licena Gnu Public License (GPL). Desta forma o
uso, alterao, publicao e edio dos cdigos fontes so permitidos para uso no comercial.

64

Figura 46 - Tela do software LDMicro aps recompilao (mdulo de simulao).


Fonte: Elaborado pelos autores.

As caracterstica de simulao e compilao do LDMicro atendiam prontamente os


requisitos e objetivos deste projeto. Ento, optou-se por utiliz-lo como base para a simulao
e compilao dos programas de controle desenvolvidos no software. Inicialmente, pretendiase portar o cdigo original na linguagem C para a linguagem C#, porm percebeu-se que no
haveria tempo suficiente para concluir este porte, por tratar-se de uma aplicao bastante
volumosa, em termos de cdigo. Assim, o cdigo fonte foi alterado, suprimindo algumas
funes que no seriam necessrias, deixando apenas as partes de simulao e compilao. As
cores originais tambm foram alteradas para ficarem consoantes com o padro utilizado no
sistema.
O mdulo alterado foi recompilado e o arquivo executvel gerado foi adicionado ao
caminho padro de execuo da ferramenta, permitindo que fosse utilizado atravs de
chamadas de sistema, passando-se a linha de comando no formato adequado, ficando desta
forma, seu funcionamento integrado ao programa principal, de forma transparente ao usurio.
O mdulo de simulao/compilao recebe um arquivo de texto contendo a
representao da estrutura de dados que armazena o circuito em ladder. Este arquivo gerado
dinamicamente cada vez que o mdulo de simulao/compilao acionado. Assim, garantese a representao do ltimo circuito desenvolvido. O mdulo ento acionado e esse arquivo
carregado, transportando o circuito para o ambiente de simulao. Neste ambiente, pode-se

65
simular o funcionamento do circuito, ativando ou desativando os contatos e monitorando
contadores, temporizadores e bobinas, permitindo dessa forma a verificao da correo da
lgica desenvolvida. Quando ativados, a cor dos elementos torna-se vermelha e quando esto
desativados, permanecem na cor azul.

4.6.4.3

Mdulo de Exportao/Compilao/Gravao

O mdulo de exportao/compilao/gravao utiliza o mesmo mdulo recompilado


a partir do LDMicro para gerar o arquivo de texto e para a compilao.
Num primeiro momento, o mdulo realizar um caminhamento recursivo,
percorrendo toda a estrutura de dados que armazena o programa e realizando a transcrio
para o formato utilizado pelo mdulo de compilao. O arquivo gerado contm as
informaes e configuraes referentes ao microcontrolador utilizado, as associaes dos
elementos do circuito aos respectivos pinos do microcontrolador e a representao textual do
circuito elaborado. O arquivo salvo em formato de texto puro. Nas figuras 46 e 47 temos
respectivamente, um programa de controle editado no software e sua representao em texto.

Figura 47 - Programa de controle editado no software.


Fonte: Elaborada pelos autores.

Figura 48 - Circuito convertido em formato de texto.


Fonte: Elaborada pelos autores

66

O prximo passo a compilao deste arquivo, gerando um novo arquivo, agora


contendo a representao hexadecimal do programa de controle compilado na linguagem
Assembly do microcontrolador utilizado. Neste ponto, o programa de controle est preparado
para ser transferido para a memria do microcontrolador.

Figura 49 - Representao hexadecimal do programa de controle.


Fonte: Elaborada pelos autores

A gravao realizada pelo software IC-Prog. Trata-se de uma ferramenta para


gravao de cdigo hexadecimal em microcontroladores atravs de comunicao serial. A sua
escolha aconteceu por atender aos requisitos do projeto e para dar uma maior quantidade de
opes que o desenvolvimento desta gravao internamente no poderia oferecer, em face ao
tempo disponvel para o desenvolvimento.
O hardware desenvolvido possui uma porta dedicada para gravao do circuito.
Como o microcontrolador est montado num soquete, pode-se efetuar sua substituio
facilmente, desde que o novo microcontrolador seja de um modelo compatvel (famlia 16F da
Microchip Tecnology). Desta forma, pode-se ajustar o hardware s necessidades do circuito,
trocando por exemplo para um microcontrolador com mais memria, caso o programa gerado
fique maior que a memria do modelo em uso. Usando-se o IC-Prog em conjunto com o
LDMicro possvel, com poucos ajustes, adequar-se rapidamente a estas mudanas, o que
no seria to gil, caso estes mdulos fossem desenvolvidos especificamente. A reutilizao
de cdigo uma das principais vantagens da filosofia Open Source. Desta forma, conseguiuse agregar funes que no poderiam estar disponveis, enriquecendo o projeto.
O IC-Prog, para o correto funcionamento, deve ser configurado, quando de sua
primeira utilizao. Para esta configurao so necessrios os seguintes passos.
1. Habilitar o driver Windows NT: no menu Configuraes(Settings) do IC-Prog,
habilitar o driver requerido no submenu Opes(Options), guia Diversos(Misc);

67

Figura 50 - Ativao do driver do IC-Prog para Windows.


Fonte: Elaborado pelos autores

2. Ainda no menu Configuraes(Settings), no submenu Hardware, deve-se marcar


qual das portas virtuais COM estar ligado o hardware.

68

Figura 51 - Configurao da porta COM utilizada para gravao.


Fonte: desenvolvido pelos autores

3. Opcionalmente, pode-se escolher o idioma Portugus, no menu Configuraes


(Settings), submenu Opes (Options), guia Linguagem (Language).

69

Figura 52 - Configurao do idioma da interface do IC-Prog.


Fonte: desenvolvido pelos autores

No necessrio configurar o dispositivo ou as opes de gravao, uma vez que


esta configurao est adicionada diretamente no arquivo hexadecimal gerado pelo mdulo de
compilao. Uma vez feita esta configurao, ela salva no arquivo de configurao do ICProg, no sendo necessrio fazer novas alteraes, a no ser que se altere a porta virtual
(serial).
Configurao feita, basta acionar o comando de gravao que o software ir fazer as
operaes de exportao, compilao e gravao, nesta ordem, deixando o hardware pronto
para uso com a lgica de controle desejada.

70

Figura 53 - Operao de gravao no hardware em execuo.


Fonte: desenvolvido pelos autores

Uma vez o programa gravado, o hardware no depende mais do computador para


executar o programa de controle.

4.7 Construo do Painel


Aps a montagem do hardware e desenvolvimento do software, o grupo deparou-se
com a necessidade de construir um painel que pudesse acolher o CLP e tambm realizar testes
com dispositivos fsicos. Assim, o grupo levantou os elementos fsicos que poderiam ser
conectados ao sistema desenvolvido. Com isto, o grupo levantou um sistema atravs de um
software para desenhos mecnicos que representasse o conjunto por completo. Aps a
realizao do projeto, deu-se incio a montagem do painel.

71

Figura 54 - Projeto do painel com o CLP e os demais dispositivos fsicos.


Fonte: Elaborado pelos autores.

Figura 55 - Painel pr-montado.


Fonte: Elaborado pelos autores.

72
Neste painel foram alocados: seis lmpadas de tenso contnua, um solenide, uma
sirene (buzzer), uma chave fim de curso, quatro botes pulsadores, um motor de corrente
contnua reversvel acoplado a um eixo que possui um elemento mvel, um sensor magntico,
uma chave fim de curso tipo rolete, um sensor tico infravermelho funcionando como
contador de voltas (encoder) e o CLP desenvolvido neste projeto. Os custos para a construo
deste painel esto listados na Tabela 4.
Tabela 4 Custos para construo do painel

Descrio

Quantidade

Preo (R$)

Painel de aglomerado de madeira 60x60cm

9,90

Madeira rolia 35cm

1,20

Lmpada sinaleiro verde 12v 22mm

5,90

Lmpada sinaleiro vermelho 12v 22mm

5,90

Lmpada sinaleiro amarelo 12v 22mm

6,70

Boto pulsador 1NA

5,00

Buzzer 12v

9,80

Solenide 12v

10,00

Chave fim de curso 1NA

2,70

Borne banana fmea

60

0,50

73

5.

CONCLUSO

Com a realizao deste projeto, pde-se perceber a importncia da Teoria do


Controle no mbito da Automao, atravs de suas diversas aplicaes e como os CLPs
exercem papel crucial neste ambiente. Desta forma, qualquer prtica ou tcnica que vise
aperfeioar o domnio de seu funcionamento bastante bem-vinda. Assim, o projeto contribui
significativamente, oferecendo uma opo de baixo custo, mas capaz de cobrir uma parte
extensa do universo dos CLPs, permitindo ao aluno, dominar seus conceitos no s tericos
como tambm prticos.
Nota-se no trabalho que tanto o hardware quanto o software desenvolvido
possibilitam o uso de lgica digital combinatria e sequencial, temporizadores e contadores,
na simulao e execuo de sistemas automatizados. Esta lgica pode ser desenvolvida e
simulada no software em linguagem LADDER e ento o CLP pode ser programado, ficando a
executar tal lgica continuamente e separadamente do computador. Juntamente com o
software e o hardware, tem-se o painel de elementos fsicos para a execuo do programa,
permitindo ao aluno uma interao mais abrangente quanto ao uso dos CLPs.
Assim, fica toda a pesquisa, materiais e mtodos utilizados para esta magnfica
construo para que qualquer instituio de ensino profissional possa fazer uso, facilitando o
ensino e agregando valores.
Verifica-se ainda que os custos podem ser reduzidos ainda mais, dependendo da
disponibilidade dos componentes e volume de compra.

5.1 Dificuldades Encontradas


Durante o transcorrer do projeto, surgiram vrias dificuldades que necessitavam
serem superadas. A mais destacada delas, foi a construo da interface do software. A
programao desta parte consumiu tempo e recursos maiores que o previsto, devido sua
complexidade. Mas esta complexidade no estava clara num primeiro momento, visto que a
estrutura de dados desenvolvida, que era a preocupao maior no momento inicial, foi sanada
com muito mais agilidade.
A rotina que faz a representao grfica do circuito no capaz de prover uma
relao direta com a estrutura de dados, visto a limitao do uso de ponteiros na linguagem
C#, de forma que a interao da interface com a estrutura consumiu bastante esforo. Porm,

74
com determinao e bastante estudo, conseguiu-se desenvolver um mtodo que permitiu esta
interao, sacrificando, porm, alguns recursos inicialmente desejados.
Por fim, consideramos que este projeto atingiu seu objetivo, provendo uma
plataforma de hardware e software integrados, que permitem a baixo custo, simular o
funcionamento de um CLP, cobrindo suas principais funes, com custo bem mais baixo que
opes comerciais.

5.2 Projetos Futuros


Mesmo tendo atingido seu objetivo, o projeto oferece inmeras oportunidades de
aprimoramento. Publicando-o sob a licena GPL, objetiva-se, tambm, permitir a adio de
novas funcionalidades.
Seria interessante acrescentar suporte para outras linguagens, alm do ladder.
Durante o desenvolvimento, observou-se que a estrutura de dados criada permite uma boa
intercambialidade entre algumas linguagens. Atravs da aplicao de conceitos de Gramtica
No Ambgua e Compiladores, pode-se desenvolver um tradutor que converta o cdigo ladder
em outras linguagens compatveis.
Tambm podem ser desenvolvidas classes responsveis pela comunicao entre
mdulos ou entre o mdulo e o PC, atravs da interface serial. Esta capacidade j est
implementada no hardware, ela no foi explorada por falta de tempo hbil. Como a linguagem
utilizada inclusive j prov suporte nativo comunicao serial, esta implementao no ser
difcil. Adicionalmente, podem-se desenvolver classes de comparao e armazenamento de
variveis, que juntamente com as classes de comunicao serial podem ser utilizadas para que
vrios dispositivos se comuniquem por uma rede RS232.
Pode-se retirar o uso do software externo LDMicro atravs do desenvolvimento de
uma rotina de simulao do sistema e outra rotina para a compilao do diagrama LADDER
em cdigo Assembly para o microcontrolador.
Pode-se desenvolver um hardware mais completo que tenha a possibilidade de fazer
leitura de sinais contnuos, assim como desenvolver as classes do software para tal situao,
uma vez que tanto o ambiente de simulao quanto o de compilao j oferecem tal
possibilidade.
Pode-se tambm desenvolver um mtodo de acesso programao do hardware pela
rede TCP/IP, uma vez que a compilao e gravao so executadas por softwares externos,

75
que so facilmente acessados por linguagens web como PHP e ASP, assim vrios alunos
podem programar com apenas 1 painel de CLP no laboratrio.

76

ANEXO A Diagrama do circuito do CLP Didtico

77

BIBLIOGRAFIA
BARTULANI,

Carlos.

[Online]

[Citado

em:

20

de

Maio

de

2009.]

http://www.if.ufrj.br.
BEMARQUES, Angelo Eduardo, CRUZ, Eduardo Cesar Alves e JUNIOR, Salomo
Chouere. 2007. Dispositivos semicondutores: diodos e transistores. So Paulo : Erica, 2007.
978-85-7194-317-9.
BRADLEY, Julia Case and MILLSPAUGH, Anita C. 2004. Programming in C#
.NET. New York : Mc Graw Hill, 2004. 0-07-121564-6.
BRANQS AUTOMAO. 2007. Introduo Automao Industrial. Santos : s.n.,
2007.
BRYAN, L. A. and BRYAN, E. A. 1997. Programmable Controllers - Theory and
Implementation. Second Edition. Atlanta : Industrial Text Company, 1997.
CAPUANO, Francisco Gabriel e MARINO, Maria Aparecida Mendes. 2007.
Laboratrio de Eletricidade e Eletrnica - Teoria e Prtica. s.l. : Editora Erica, 2007.
CASTRO, Eduardo Breviglieri Pereira de. 2006. Automao da Produo. Juiz de
Fora : Universidade Federal de Juiz de Fora, 2006. Apostila utilizada na disciplina de
Automao da Produo do curso de Engenharia de Produo..
FILHO, Bernardo Severo da Silva. 1999. Curso de Controladores Lgicos
Programveis. Rio de Janeiro : Universidade do Estado do Rio de Janeiro, 1999.
JACK, Hugh. 2007. Automating Manufacturing Systems with PLC's. 2007. Ebook, verso 5.0, 4 de maio de 2007.
MACHADO, J. N. 1994. Conhecimento como Rede: a metfora como paradigma e
como processo. So Paulo : Instituto de Estudos Avanados, 1994.
MARKUS, Otavio. 2001. Circuitos eltricos, corrente contnua e alternada. s.l. :
Erica, 2001.
MASSOI, Luis Fernando. [Online] [Citado em: 21 de Maio de 2009.]
www.cursofisica.com.br.
2004. PLC Tutor. PLC Tutor. [Online] 2004. [Citado em: 21 de Abril de 2009.]
http://www.plctutor.com/.
SOUZA, Flavio Morais de. 1999. Instrumentao - Automao Bsica. Vitria :
CTIIAF Centro Tcnico de Instrumentao Industrial Arivaldo Fontes, 1999.

78
TECNOLOGY, MICROCHIP INC. 2007. Manual tcnico PIC16F628A. [Online]
2007.

[Citado

em:

25

de

de

2009.]

http://ww1.microchip.com/downloads/en/DeviceDoc/40044F.pdf.
WIKIPDIA. 2001. Wikipdia, a Enciclopdia Livre. Wikipdia. [Online] 15 de
Janeiro de 2001. [Citado em: 21 de Abril de 2009.] http://pt.wikipedia.org.