Ricardo Pires
Instituto Federal de So Paulo IFSP
ricardopires@ieee.org
INTRODUO
List, Structured Text (linguagens escritas), Ladder, Function Block, Sequential Function
Chart (linguagens grficas).
O funcionamento da unidade central de processamento de um CLP convencional
explicado por (COSTA, 2009) o microprocessador interpreta os sinais de entrada, executa
a lgica de controle segundo as instrues do programa de aplicao, realiza clculos,
executa operaes lgicas, para, em seguida, enviar os sinais apropriados s sadas. No
ciclo de instruo o microprocessador busca as instrues armazenadas na memria e
executa cada uma delas. A execuo do programa consiste na repetio sequencial do
processo de busca e execuo das instrues.
Nota-se que o ciclo de instruo igual soma do ciclo de busca com o ciclo de
execuo, sendo que apenas o segundo est diretamente relacionado com o controle de um
processo. (COSTA, 2009) constata que o ciclo de busca de instrues em memria consome
cerca de 40% do tempo envolvido no ciclo de instruo e representa um tempo de
processamento perdido e que no pode ser eliminado devido arquitetura interna dos
microprocessadores, j que eles no permitem reconfigurao por hardware ou software.
Frente essa limitao diversos autores propuseram substituir o microprocessador
por um FPGA (Field Programmable Gate Array), chip constitudo por elementos lgicos
programveis conectados a uma rede de interconexes programvel. Os elementos lgicos
podem ser programados para otimizar qualquer operao lgica primitiva e as interconexes
para combin-los adequadamente. Os FPGAs no necessitam executar o ciclo de busca de
instrues executado pelos microprocessadores, alm de serem capazes de realizar muitas
operaes simultaneamente, mais do que os processadores usuais. Projetos desenvolvidos
com FPGAs oferecem baixo custo de implementao, alta flexibilidade e alto ganho de
performance em relao a softwares (ECONOMAKOS, 2010).
Entretanto o maior desafio em contruir um CLP utilizando FPGA est em converter o
programa feito para CLP em uma linguagem que possa ser compreendida pelo FPGA, como
VHDL (VHSIC Hardware Description Language) e Verilog. A partir dessa dificuldade
surgiram diversos trabalhos propondo solues a fim de viabilizar tal projeto.
(MIYAZAWA, 1999) e (IKESHITA, 1999) desenvolveram uma ferramenta capaz de
converter um programa descrito em Sequential Function Chart (SFC) para VHDL. Essa
ferramenta composta por uma biblioteca de funes em SFC e seu correspondente em
linguagem VHDL. Porm a referida ferramenta no utiliza o potencial de simultaneidade do
FPGA. O mesmo foi feito por (ALONSO, 2009) para converter diagramas Ladder para
VHDL.
Em seu trabalho (WELCH, 2000) realiza a converso de diagramas Ladder para a
arquitetura de um FPGA, levando em considerao sua estrutura interna. Como resultado foi
possvel eliminar a converso do diagrama Ladder para lgebra boolena e otimizar as
conexes dos blocos lgicos, utilizando para isso tcnicas heursticas de alocao e
roteamento dentro do FGPA.
(CHEN e PATYRA, 1994) projetaram modelos em VHDL capazes de reproduzir o
funcionamento dos principais componentes de um programa Ladder. (ABDEL-HAMID ,
2004) e (KUUSILINNA, 2001) propuseram um algoritmo para converter uma mquina de
estados finitos em VHDL. (ADAMSKI, 2000) escolheu modelos em redes de Petri como
substitutos aos diagramas Ladder.
DESENVOLVIMENTO
Para integrar todas as informaes presentes nos dois grafos contrudo um terceiro,
o CSG, onde parte dos ns podem ser unidos caso seus estados estejam ligados no grafo de
dependncia. Os arcos no possuem orientao e devem seguir regras utilizadas na
confeco do grafo de simultaneidade.
A unidade central composta por uma placa com FPGA Altera Cyclone II e mdulo
de configurao JTAG com converso para USB. A configurao feita atravs do software
Quartus II, disponibilizado pelo fabricante do FPGA.
RESULTADOS
CONCLUSO
REFERNCIAS
DU, Daoshan; XU, Xiaodong; YAMAZAKI, Kazuo. A study on the generation of siliconbased hardware Plc by means of the direct conversion of the ladder diagram to circuit
design language. Int J Adv Manuf Technol, 2010.
COSTA, Cesar da. Projetando Controladores Digitais com FPGA. Novatec, So Paulo,
2006.
ECONOMAKOS, Christoforos; ECONOMAKOS, George; KOUTRAS, Ioannis. Automated
FPGA Implementation Methodology of PLC Programs with Floating Point Operation. IEEE,
2010.
MIYAZAWA, I.; NAGAO, T.; FUKAGAWA, M.; ITOH, Y.; MIZUYA, T.; SEKIGUCHI, T.
Implementation of ladder diagram for programmable controller using FPGA. IEEE,
Piscataway, NJ, USA, ETFA, 1999.
IKESHITA, M.; TAJEDA, Y.; MURAKOSHI, H.; FUNAKUBO, N.; MIYAZAWA, I.
Application of FPGA to high-speed programmable controller development of the
conversion program from SFC to Verilog. IEEE Symposium on Emerging Technologies and
factory Automation, IEEE, Piscataway, NJ, USA, 1999.
WELCH, J.T. Translating unrestricted relay ladder logic into Boolean form. Computers in
Industry, 1992.
CHEN, J.; PATYRA, M.J.; VHDL modeling of a multivariable fuzzy logic controller
hardware system. IEEE International Conference on Fuzzy Systems. IEEE, Piscataway, NJ,
USA, 1994.
ABDEL-HAMID, A.T.; ZAKI, M.; TAHAR, S. A tool converting finite state machine to
VHDL. Canadian Conference on Electrical and Computer engineering, 2004.
KUUSILINNA, K.; LAHTINEN, V.; HAMALAINEN, T.; SAARINEN, J. Finite state
machine encoding for VHDLsynthesis. Comput Digi Tech, 2001.
ADAMSKI, M.; MONTEIRO, J.L. From interpreted Petri net specification to
reprogrammable logic controller design. IEEE International Symposium on Industrial
Eletronics, 2000.
IEC, Programmable Controller Programming Languages, International Electrotechnical
Commission, IEC61131-3, 2nd Edition.
10