Você está na página 1de 11

CONTROLADORESLGICOSPROGRAMVEISBASEADOSEM FPGA:OFUTURODOSCLPsINDUSTRIAIS

CesardaCosta
Cost036@attglobal.net CEFETSP(CentroFederaldeEducaoTecnolgicadeSoPaulo)UnedCubato

Abstract
Today,withallgreatgrowthofindustrialautomationthesearchforProgrammableLogicController PLCmoreefficientwithhighspeedofprocessing,flexibility,lowerusesofenergyandlowercostis moreandmoreincreasing.Theproposalthisworkistopresentsomelimitattionsexistingintraditional PLC architecture based in the microcontroller and to show some solution feasible using ProgrammableStructuredLogicbasedinFPGA.

Resumo
Devido ao crescente desenvolvimento da automao industrial a demanda por Controladores LgicosProgramveisCLPscomprocessamentomaisrpido,flexibilidadefuncional,baixoconsumo de energia e baixo custo cada vez mais acentuada. A proposta deste trabalho apresentar as principais limitaes existentes atualmente na arquitetura de CLPs tradicionais baseadas em microcontrolador e possveis solues a partir da aplicao de Lgica Programvel Estruturada baseadaemFPGA. PalavrasChaves:Hardwarereconfigurvel,controladordigitaledispositivolgicoprogramvel.

1INTRODUO
Os controladores lgicos programveis (CLPs) disponveis no mercado brasileiro, tipicamente, implementam um algoritmo de controle armazenado em memria, a partir de um processador seqencial que gasta tempo com instrues para deslocamento do fluxo de execuo, teste de condies,buscadedadoseinstruesemmemria,tempoestesignificativonocasodeseqncias repetitivasdeclculo. Em sua grande maioria, os CLPs apresentam uma arquitetura interna de hardware tipo von NeumannouHavard,baseadaemmicrocontroladorecircuitosintegradosdeaplicaesespecficas (ASICs).Oprocessadorbuscaasinstruesarmazenadasnamemria,umadecadavezeexecuta cada instruo. A execuo do programa consiste na repetio seqencial do processo de busca e execuodainstruo.Podesejustificaradivisodoprocessamentodainstruoemdoisestgios daseguinteforma:abuscaumaoperaocomumparacadainstruoeconsistenaleituradeuma localizao de memria e a execuo da instruo pode envolver vrias operaes e depende da naturezadainstruo. Nestetrabalho,acaractersticadeLgicaProgramvelEstruturadapossibilitaumaarquiteturade controle flexvel, eliminao de tempos de processamento crticos, reduo no tempo de processamentototal,reduononmerodecomponenteslgicosereduonoconsumodeenergia eltrica. Os FPGAs (Field Programmable Gate Array) no so dispositivos novos. Foram introduzidos no mercado h mais de 20 anos. Sendo largamente utilizado na prototipao de projetos de circuitos 1

integrados, caracterizandose como um tipo de dispositivo eletrnicoreconfigurvel, cuja arquitetura interna definida pelo projetista, diferentemente dos microprocessadores e microcontroladores que possuemumaarquiteturainternaprdefinidapelofabricante.Apartirdessenovoconceitosurgea soluo para o projeto de Controlador Lgico Programvel CLP, que seja dinamicamente reconfigurvelequepossuaestruturaadequadaimplementaodealgoritmosviahardware. Este trabalho est organizado da seguinte forma. A seo 2 apresenta o princpio de funcionamentodeumCLPtradicional,ociclodetrabalhodomicrocontrolador,ostemposcrticosde processamento e tempos de atraso do CLP. A seo 3 faz algumas consideraes sobre o funcionamento do CLP baseado em Lgica Programvel Estruturada (FPGA) e a sua arquitetura reconfigurvel. Na seo 4 apresentado o prottipo de hardware para CLP baseado em FPGA, utilizadonosensaiosprticosdesteprojetoesuascaractersticastcnicas.Aseo 5apresenta os resultadoseconclusesfinaisquantoaodesempenhodanovaarquitetura.

2FuncionamentodeumCLPTradicional
Os CLPs tradicionais so basicamente aplicaes de microcontroladores em tarefas de controle cujopropsitoespecficoexecutarumalgoritmodecontrolegravadoemsuamemriaRAM,eem geralcomunicarsecomdispositivosexternosparatrocadeinformaeseatuaoneles. O sistema dememrias constitudo tipicamente por memrias ROM e RAM.O programa e os dados armazenados no sistema de memria so geralmente descritos utilizandose os seguintes conceitos: MemriaResidente(ROM):contmosprogramasconsideradosparteintegrantedo sistema, permanentemente armazenados, que supervisionam e executam a seqncia de operaes, as atividades de controle e comunicaocom os dispositivos perifricos, bem como outrasatividades. MemriadoUsurio(RAM):armazenaoprogramaaplicativodousurio,ouseja,o programadeaplicao. Memria de Dados ouTabela de Dados (RAM): nessa rea so armazenados os dadosassociadoscomoprogramadecontrole,taiscomovaloresdetemporizadores,contadores, constantes,etc. Memria Imagem das Entradas e Sadas (RAM): rea que reproduz o estado de todososdispositivosdeentradaesadaconectadosaoCLP. A CPU do CLP tradicional formada pelo microcontrolador e seus circuitos de controle e comunicao. O microcontrolador o elemento principal da arquitetura do CLP tradicional e tem comofunesocontroledosbarramentos,ogerenciamentodascomunicaescomamemriaeos dispositivosdeentrada/sada,eaexecuodasinstrues.Afigura1ilustraodiagramaemblocode umaarquiteturadeCLPtradicional. O microcontrolador interpreta os sinais de entrada, executa a lgica de controle segundo as instruesdoprogramadeaplicao,realizaclculos,executaoperaeslgicas,para,emseguida, enviarossinaisapropriadosssadas.

Figura1ArquiteturadeumCLPtradicional Duranteociclodeinstruo,omicrocontroladorbuscaasinstruesarmazenadasnamemriae executa cada instruo. A execuo do programa consiste na repetio seqencial do processo de busca e execuo das instrues. O ciclo de instruo do microcontrolador utiliza a seqncia de atividadesapresentadasnafigura2.

Figura2Ilustraodociclodebuscaeexecuodeinstruo Analisandose o funcionamento do CLPtradicional,verificase que o ciclo de busca da instruo consome cerca de 40% dos estados totais de um ciclo de instruo de microcontrolador, em uma tarefaquenoestdiretamenterelacionadacomocontroledoprocesso,noqualoCLPestinserido. O ciclo de busca um tempo de processamento perdido, presente em todos os ciclos de instruesdosCLPstradicionais,baseadoemmicrocontrolador,quenopodesereliminado,poisa

arquitetura interna do microcontrolador no permite a reconfigurao do seu hardware, pois sua arquiteturainternavemprdefinidadefbrica.

2.1Ciclodevarredura(scantime)
O CLP funciona segundo um programa permanentemente armazenado em memria ROM, que executaumciclodevarredurachamadoscantimeeconsistedeumasriedeoperaesrealizadas deformaseqencialerepetida.Afigura3apresenta,emformadefluxograma,asprincipaisfasesdo ciclodevarreduradeumCLP.Oselementosprincipaisdeumciclodevarreduraso: Atualizao das entradas: durante a varredura das entradas, o CLP examina os dispositivosexternosdeentradaquantopresenaouausnciadetenso,isto,um estado energizado ou desenergizado. O estado das entradas atualizado e armazenadotemporariamenteemumaregiodamemriachamadatabelaimagemdas entradas. Execuodoprograma:duranteaexecuodoprograma,oCLPexaminaasinstrues do programa de controle (armazenado na memria RAM), usa o estado das entradas armazenadas na tabela imagem das entradas e determina se uma sada ser ou no energizada.Oestadoresultantedassadasarmazenadoemumaregiodamemria RAMchamadatabelaimagemdassadas. Atualizaodassadas:baseadonosestadosdosbitsdatabelaimagemdassadas,o CLP energiza ou desenergiza seus circuitos de sada, que exercem controle sobre dispositivosexternos. Realizao de diagnsticos: ao final de cada ciclo de varredura a CPU verifica as condies do CLP, ou seja, se ocorreu alguma falha em um dos seus componentes internos(fonte,circuitosdeentradaesada,memria,etc).

Figura3Fluxogramabsicodeumciclodevarredura

2.2 Temposdeatrasonoprocessamento
O ciclo de varredura muitas vezes pode ocasionar problemas graves no controle de processos industriais,pornoreconhecerumaentradaduranteoseuciclodefuncionamento.Istopodeocorrer comsinaisdeentradaderespostarpida,comoporexemplo,sensorescomrespostaemtornode10 kHz. Dependendodotempodevariaodoestadolgicodos sinaisdeentrada,oCLPpodedemorar mais tempo para acionar a sada ou mesmo nunca reconhecer uma entrada. Para ilustrar essa

situao,afigura4apresentaavariaodetrssensoresderespostarpida(sensor1,sensor2e sensor 3) ligados na entrada de um CLP tradicional, as variaes ocorrem durante trs ciclos de varredura(scan). Durante o primeiro ciclo de scan, o sensor 1 muda do estado desligado para o estado ligado, duranteafasedeexecuodoprograma.Dessaforma,atransiodo sensor1noreconhecida nesseciclo,sendoreconhecidasomentenafasedeleituradasentradasnosegundociclodescan. O sensor 2 muda de estado na fase de atualizao das sadas do segundo ciclo de scan, sua transionoreconhecidaduranteesseciclo.Sendoreconhecidaduranteoterceirociclodescan, duranteafasedeatualizaodasentradasdesseciclo. A mudana de estado do sensor 3 no ser reconhecida, em nenhum desses ciclos de scan, porquetemrespostamuitorpidaeocorreduranteafasedeexecuodoprogramanoterceirociclo descan.Paraevitaressetipodeproblema,otempodociclodevarredura(scan)doCLPtradicional devesermenorqueostemposdeamostragensdossinaisenvolvidosnosistema.

Figura4Sensoresderespostarpidaduranteosciclosdescan

3FuncionamentodoCLPBaseadoemFPGA
O CLP baseado em FPGA utiliza em sua arquitetura um novo conceito de Lgica Programvel Estruturada, com grande capacidade de processamento, que suporta a implementao de circuitos lgicos relativamente grandes em um nico circuito integrado, permite a reconfigurao do seu hardwareeutilizaatecnologiaCMOS,queproporcionaumbaixoconsumodeenergiaeltrica. O objetivo principal da aplicao de Lgica Programvel Estruturada, na arquitetura interna do CLPmelhorarasuacapacidadecomputacionaleasuaeficinciaemrelaoaosCLPstradicionais, otimizandoostemposdeprocessamentoepossibilitandoareconfiguraodohardwarepelousurio final. As principais diferenas que existem entre a nova arquitetura de CLP baseada em FPGA e a arquiteturatradicionalsoapresentadasaseguir: AeliminaodoblocoCPU(microcontroladorecircuitosdecontrole):reduzindoo custoetamanhodaplacadecircuitoimpresso. AimplementaodeumblocoFPGA:emsubstituioaoblocoCPU. Mudanasnaexecuodoprogramadeaplicaocomo:aeliminaodosciclosde buscadeinstruesemmemriaeeliminaodosciclosdescantimeouvarredura. Introduo do processamento paralelo: que aumentou consideravelmente a capacidade computacional do CLP, bemcomo a sua velocidade de processamento, em cercade1000vezesmaisrpidoqueoCLPtradicional.

3.1Arquiteturabsica

OCLPbaseadoemFPGA,cujaarquiteturaapresentadanafigura5,basicamenteconstitudo pelos seguintes blocos: dispositivo FPGA, circuitos de entrada, circuitos de sada, memria de configuraoefontedealimentao.

Figura5ArquiteturadeumCLPbaseadoemFPGA

3.1.1BlocoFPGA
OblocoFPGAintroduziumudanasconsiderveisnoprincpiodefuncionamentodaarquiteturado CLPbaseadoemFPGA.Entreasmaisimportantes,podemoscitar: Execuodoprogramadeaplicao. Endereamentodeentradasesadas.

Na nova arquitetura, o bloco FPGA consiste de um grande arranjo de clulas lgicas ou blocos lgicos contidos em um nico circuito integrado. Cada uma dessas clulas lgicas contm uma capacidade computacional para implementar funes lgicas independentes e realizar roteamento parapermitiracomunicaoentreelas.Oprogramadeaplicaotransformadoemfuneslgicas e executa o algoritmo de controle em hardware, sem necessidade de busca de instrues na memria. O FPGA executa o programa de aplicao de forma paralela, considerando cada funo lgica comoumalgoritmodecontroleexecutadoporhardware.Essetipodeprocessamentonodemanda tempo com ciclos de varredura (scan time), com atualizao de tabelas imagens das entradas e sadas,combuscadeinstruesemmemria,etc.Sendoqueessasdemandassonecessriasna operao de CLPs tradicionais baseados em microcontrolador. A tabela 1 apresenta uma comparaoentreostemposdeprocessamentoparaexecutarumalinhadeprograma,emumCLP baseado em FPGA e um CLP baseado em microcontrolador, elaborada para atender aos ensaios prticospertinentesaestetrabalho. Tabela1TemposdeprocessamentodosCLPsbaseadoemFPGAemicrocontrolador CLPbaseadoem Microcontrolador TempodeScan=20 ms MenortempodeScan=20 ms CLPbaseadoemFPGA Tempodeexecuo=12,9 hs Menortempodeexecuo=12,9 hs

MaiortempodeScan=30 ms Tempomdiodeexecuopor instruo=1,5 ms

Maiortempodeexecuo=13,4 hs

3.1.2Circuitosdeentradas
Oblococircuitosdeentradaspodeserclassificadocomoentradasdiscretas(digitais)ouentradas analgicas.Naprimeirafasedoprojetoforamabordadasapenasasentradasdiscretas. O bloco circuitos de entradas constitudo por oito entradas discretas, sinal digital (ligado/ desligado).Recebesinaisdedispositivosdeentrada,taiscomo:sensores,chavesetransdutores, e osconverteemnveisadequadosdetenso,porexemplo,5ou3,3Vdcparaseremprocessadospela lgicadecontrole,configuradanodispositivoFPGA. Afigura6apresentaumaconfiguraotpicadeumaentradadigitaldiscretadoCLPbaseadoem FPGA.PossuiisolaopticaparaproteodoscircuitosdoFPGA,diodosdeproteo,capacitorde filtragem e resistores limitadores de corrente. Nesse caso, no h conexo eltrica entre os dispositivosdeentrada(chaves,sensores,etc)eospinosdeentradadoFPGA.

Figura6Configuraodeumcircuitodeentrada

3.1.3Circuitosdesadas
O bloco circuitos de sadas constitudo por oito sadas a rel. Envia sinais aos dispositivos de sada,taiscomo:contatores,solenides,sinalizadores,etc.Essessinaissoresultantesdalgicade controle,pelaexecuodoprogramadeaplicao.Oblocodecircuitosdesadastambmdotado deisolaoptica.Nessecaso,tambmnohconexoeltricaentreosdispositivosdesadaeos pinosdoFPGA.Afigura7apresentaumaconfiguraotpicadeumasadarel(NAnormalmente aberta).

3.1.4.Blocodememriaeconfigurao
A famlia de FPGA CICLONE baseada em tecnologia de programao SRAM (Static Random Acess Memory), em que os dados de configurao devem ser transferidos toda a vez que o dispositivoFPGAforiniciado. A funo do bloco de memria de configurao armazenar o programa de configurao elaborado pelo usurio e transferilo para o dispositivo FPGA. O CLP possui dois modos de transfernciadeprogramao(download): Microcomputador padro IBM PC: a transferncia da configurao pode ser realizada diretamente domicrocomputador, pormeio da porta de comunicao paralela (LPT1), serial (COM) ou USB para a placa que contem o dispositivo FPGA, interface JTAG (Joint Test Action Group), utilizandose um cabo padro Centronics para impressora. A transferncia parametrizadaecontroladapelosoftwaredeprogramao.

FLASH EPROM : a transferncia da configurao realizadaviamemria FLASH EPROM (Erasable Programmable Read Only Memory). Por Exemplo, a memria Flash EPCS1 de fabricaodaAltera,amaneiramaisfcilerpidadeseconfigurarumdispositivoFPGA.A programao damemria realizada pelo software,depois que o programa de aplicao totalmente compilado. A transferncia da configurao da memria para o FPGA automtica,ocorrendotodaavezqueocontroladorforiniciado.

Figura7Configuraodeumcircuitodesadaarel

3.1.5Fontedealimentao
O bloco fonte de alimentao desempenha importante papel na operao do sistema do CLP baseadoemFPGA.FornecetodososnveisdetensoparaalimentaodosblocosFPGA,circuitos deentradaesada,ememriadeconfigurao.Asfaixasdetensodeoperaoso Entrada:AC(85132V)ou(170264V). Sada:DC(5V2A),(3,3V2A)e(24V2A).

As sadas 5Vdc e 3,3Vdc fornecem tenso para alimentao dos componentes internos do controlador e possui proteo contra curtocircuito. A sada 24Vdc proporciona uma tenso auxiliar paraalimentarosdispositivosdecampo(sensores,etc.)epossuiproteocontracurtocircuito.

4ProttipodeHardwareparaoCLPcomFPGA
O prottipo do CLP baseado em FPGA que foi elaborado para atender aos ensaios prticos pertinentes a este projeto apresentado na figura 8. Esse prottipo utiliza uma placa de circuito impresso na qual est instalado o bloco FPGA, uma placa de montagem dedicada (protoboard) na qualestmontadooblocodecircuitosdeentradaseoblocodecircuitosdesadas

Figura8ProttipodoCLPbaseadoemFPGA

4.1.CaractersticasTcnicas
Atabela2apresentaasprincipaiscaractersticastcnicasdonovoCLP. Tabela2CaractersticastcnicasdoCLPbaseadoemFPGA

Modelo EntradasDigitais SadasDigitais MtododeProgramao MtododeControle CapacidadedePrograma VelocidadedeOperao FunesBsicas

Sigma 8 8 BlocosLgicos ProcessamentoParalelo 1Mbyte 10 1s( -9seg ) Elementoslgicos,Flipflops,Latches,Buffers, Somadores,Comparadores, Elementosdememria,Mux/Demux,UnidadeLgica eAritmtica,Contadores,Divisores,Registradores, Conversores,etc

PortaRS232/ USB Tensodeentrada Tempoderesposta Mtododeisolao Sadaarel

Sim

12a24Vdc 10 1s( -9seg ) Acopladorptico Sim


9

Tipodesada CapacidadedeCorrente

Normalmenteaberto 2A 250Vac,5A 30Vac

Indicador Mtododeligao
4.2.Programao

LED Borneira

O software de programao utilizado no CLP projetado o software QUARTUS II da empresa ALTERA, que pode ser obtido free no site www.altera.com. Esse software permite o desenvolvimentodeumabibliotecademacroinstrues,baseadaemsmbolosgrficos,utilizandose o seu Editor de Smbolos, adequado para criar smbolos grficos equivalentes aos utilizados nas instruesdalinguagemLadder.

5CONCLUSO
O futuro do CLP tradicional baseado em microcontrolador, com processamento seqencial, est com os seus dias contados. O futuro dos CLPs o processamento paralelo,com dispositivolgico programvel FPGA, mais rpido, maior capacidade de processamento, menos componentes eletrnicosemenorconsumodeenergiaeltrica. O controlador proposto neste trabalho traz uma srie de recursos no encontrados em outros controladores similares academicamente ou comercialmente disponveis. A simplicidade do novo controlador (hardware e software) tambm deve ser ressaltada. Se essa nova tecnologia, Lgica Programvel Estruturada, baseada em FPGA, realmente tomar parte no mercado nacional de automao industrial, como indica uma tendncia mundial, o projeto do controlador proposto neste trabalhoestprontoparaserindustrializado.

6AGRADECIMENTOS
Ao meu orientador Prof. Dr Francisco Carlos P. Bizarria pelo apoio e incentivo , e a empresa MINIPAIndustriaeComercioLtdapeloapoionaformadebolsadepesquisa.

7REFERNCIASBIBLIOGRFICAS
ALTERACorp.ConfigurationEPROMsforFLEXDevices.DataSheet.Ver.9,1998. ALTERACorp.FLEX10KEmbeddedProgrammableLogicFamily.DataSheet.Ver.3.11,1998. ALLENBRADLEYCorp.MicroMentorEntendendoeutilizandoosmicrocontroladores.PublicaoTcnica, SoPaulo,Brasil,1996. COSTA,C.ProjetandoControladoresDigitaiscomFPGA,Novatec,SoPaulo,2006. COSTA,C.Propostadecontroladorbaseadoemlgicaprogramvelestruturada.Dissertao(Mestrado), DepartamentodeEngenhariaMecnica,PsGraduaoemautomaoIndustrialeControle,Universidadede Taubat,Taubat,2005.

8DADOSDOAUTOR
Prof.MscCsardaCosta

10

CEFETSP:CentroFederaldeEducaoTecnolgicadeSoPauloUnedCubato EngenheiroEletrnico,PsGraduadoemRedesdeComputadores,MestreemEngenhariadeAutomao Industrial,DoutorandoemEngenhariaMecnica,readeProjetos,naUNESPGuaratinguet,commaisde20 anosdeexperinciaemAutomaoIndustrial.TendotrabalhadoemempresascomoMetalLeve,AllenBradley, GEFanuc,RockwelldoBrasil.AtualmenteconsultortcnicodaempresaMININIPAIndustriaeComrcio, ProfessordocursodeTecnologiadeRedesdeComputadoresdoIBTAInstitutoBrasileirodeTecnologia AvanadaeProfessor.doCursodeTecnologiaemAutomaoeControledoCEFETSP,UnedCubato. Tel:(011)38876564Celular:(011)92515132 Emails: cost036@attglobal.net Endereop/Correspondncia:RuaManoeldaNbrega,420/62 IbirapueraSoPauloSP CEP:04001001

11

Você também pode gostar