Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract With the great need for automation, industries are increasingly using Programmable Logic Controllers (PLCs), which
are robust and, expensive equipment, making it unviable for small applications. In order to solve this problem, this project had the
objective of creating a software capable of translating the Ladder language for Instruction List in order to be applied to a low cost
PLC previously developed. This system was programmed in C # aiming to have an intuitive interface and easy programming.
Along with the software, hardware has been developed that has similarity to a PLC and works through a pre-developed Instruction
List language interpreter. The system was tested in pneumatic bench with industrial sensors and actuators, besides being evaluated
by students, and was successful in its development.
Resumo Com a grande necessidade de automação, as indústrias estão cada vez mais utilizando Controladores Lógicos
Programáveis (CLP), os quais são equipamentos robustos e de elevado custo o que os torna inviáveis para pequenas aplicações.
Buscando solucionar este problema, este projeto teve como objetivo criação de um software capaz de efetuar a tradução da
linguagem Ladder para Instruction List afim ser aplicado a um CLP de baixo custo desenvolvido previamente. Este sistema foi
programado em C# visando possuir uma interface intuitiva e de fácil programação. Juntamente com o software foi desenvolvido
um hardware que possui similaridade com um CLP e funciona através de um interpretador da linguagem Instruction List também
desenvolvido previamente. O sistema foi testado em bancada pneumática com sensores e atuadores industriais, além de ser avaliado
por alunos, e obteve sucesso em seu desenvolvimento.
1
Baseado nas possiblidades previamente descritas,
este projeto teve como objetivo principal.
O desenvolvimento de um software de
programação, com uma interface intuitiva e de fácil
programação para o usuário, que deverá traduzir da
linguagem Ladder para a Instruction List e gerar um Figura 2. Interface de programação
arquivo no formato .eep (EEPROM Data File) já Ao selecionar uma instrução de entrada pode-se
convertido na linguagem que será interpretada pelo escolher as opções de lógica direta e lógica inversa das
hardware. entradas, saídas e memórias além de utilizar timer on
E para verificar o funcionamento do sistema foi e contador crescente (Figura 3).
desenvolvido objetivos secundários como:
Commented [GW2]: Se quiser economizar espaço, pode
juntar em uma figura “a” e “b” entradas e saídas, é apenas
1) Testar a equivalência dos códigos
uma sujestão
traduzidos por meio do método de tabela
verdade.
2) Testar o funcionamento da placa
programada com esta interface em
bancada pneumática.
3) Verificar com alunos de graduação do
IFSC a usabilidade do software.
2
Para esta tradução se aplicada no software foi OR( 12
divididas em várias etapas, sendo elas: OR(N 13
1) Substituição das ligações em serie da linguagem ) 39 Operador fecha parênteses
Ladder para o operador AND da linguagem TON 40 Temporizador
Instruction List, e das ligações em paralelo para CTU 41 Contador
operado OR (Figura 6-A). Fonte: Adaptada de Ferreira et al.[2].
2) Inclusão dos operadores LD no início do
programa, e logo após a utilização do operador OR 2) Identificação do operando de acordo com a
(figura 6-B). Tabela 2
3) Organização da etapa da atuação, deslocando o Tabela 2. Lista de instrução para cada operando
item Y1 para o final e utilizando o operador ST
(Figura 6-C). Operando Código
4) Remoção dos parênteses desnecessários e ENTRADA DIGITAL 0
organizar a tradução (Figura 6-D). SAÍDA DIGITAL 1
Memórias tipo bit 2
Commented [GW4]: Verifique se ao gerar o pdf esta
Memórias tipo byte 3
imagem não vai ficar borrada
Memórias tipo Word 4
Memórias tipo Double
5
Word
Memórias tipo Long 6
Constante 7
Fonte: Ferreira et al.[2].
3
Tabela 4. Organização do Cabeçalho
:llaaaatt[dd...]cc
Sendo:
: Indicador de início da gravação
ll Quantidade de bytes a serem gravados Figura 7. DIN FUNDO 110 (fonte: www.patola.com.br).
aaaa Endereço da memória onde deve iniciar Para a montagem e organização do layout, foi
a gravação optado pela elaboração de três placas com funções
tt O tipo de gravação a ser feita especificas sendo elas:
dd Os dados a serem gravados na memoria Entradas e saídas
cc O valor do checksum dos dados Potência
Lógica
Os dados de cada conjunto de operador e
operando são organizados para gerar uma nova A placa de entradas e saídas (Figura 8) tem o
gravação da EEPROM. objetivo de receber as conexões dos sensores em 24V
Ao finalizar a organização, o sistema cria um converte-los para 5V através de opto-acopladores e
arquivo no formato .eep e grava os dados no mesmo transmitir o sinal para o controlador. Ela deverá
para posterior upload no microcontrolador. também fazer os acionamentos das saídas de acordo
com o sinal do controlador, utilizando relés que
2.3 Hardware para teste possuem isolamento de 250V e até 7 Amperes. Esta
placa também recebe a ligação de uma fonte de 24V
Para testar o software foi desenvolvido um para a alimentação do sistema. Commented [GW6]: Tentar ajustar as figuras para evitar
equipamento com similaridades com um CLP, grandes espações em branco
possuindo entradas de 24V isoladas, saídas a relé, e
alimentação de 24V.
Neste equipamento optou-se pela utilização do
microcontrolador ATmega328P (Microchip
Technology Inc., Chandler, Arizona, USA), o qual
possui 14 entradas e saídas, 32 KB de memória flash,
e 1KB de memória EEPROM.
Para acomodação da placa desenvolvida foi
utilizado a caixa Din Fundo 110 (Patola, São Paulo,
SP, Brasil), A qual possui 3 layers para placas, 32
locais para posicionamento de bornes, com medidas
de 90mm de Altura, 106 de Largura e 72 de
comprimento (Figura 7)
4
A placa de potência conta com dois regulares de As três placas estão conectadas entre si por um
tensão lineares, sendo eles 7812 e 7805, para 12 e 5V cabo flat de 20 vias onde passa a alimentação CC de
respectivamente (Figura 9). A linha de 12V é utilizada 24, 12 e 5V, além dos sinais das entradas e saídas do
para os acionamentos dos relés e como um estágio CLP (Figura 11).
primário de redução para linha de 5V, que por sua vez
é utilizada para a alimentação dos demais
componentes do sistema.
5
iniciado e parado ao pressionar dois botões distintos
(Figura 15).
6
Commented [GW7]: Gráficos são figuras. Remova o
13 título de cima, deixar apenas na legenda
14 12 12
12
10
8
6
4 2 2
1
2 0 0 0
0
Facilidade de Facilidade de Facilidade
Uso aprendizado para
programação
Foi solicitado aos alunos que efetuassem esta Figura 18. Resultados
programação com o tempo cronometrado no software Analisando o resultado é possível verificar que o
desenvolvido. Ao termino da programação os alunos sistema obteve uma boa avaliação dos alunos,
responderam um questionário com as seguintes podendo ser considerado um sistema de fácil
perguntas: programação, usabilidade e aprendizado. Para este
1) Facilidade de uso: sistema os alunos conseguiram desenvolver o
( )Ruim ( )Regular ( )Bom programa proposto em um tempo médio de 3 minutos
e 13 segundos, com desvio padrão de 44 segundos, Commented [GW8]: Desvio padrão? Alguém demorou
2) Facilidade de aprendizado: tempo máximo de 4 minutos. mais?
( )Ruim ( )Regular ( )Bom
7
A utilização do micro controlador ATmega328P [4] S. A. D. ALMEIDA, “Protótipo de ambiente
adequou-se aos princípios do projeto, pois seu custo é ladder para os microcontroladores 8051 e pic16f873,”
inferior aos demais controladores similares, além de Blumenau, Santa Catarina, Jun. 2003, monografia
possuir uma quantidade de entradas e saídas (Bacharel em Ciência da Computacão), Universidade
adequadas, e 1KB de memória EEPROM, que Regional de Blumenau.
possibilita utilização de até 150 operações na [5] L. FERNANDES, “Protótipo de clp para linux
linguagem Ladder. embarcado,” Blumenau, Santa Catarina, Dez. 2014,
A aplicação do teste com os alunos demonstrou monografia (Bacharel em Ciência da Computação),
que o sistema possui uma facilidade de uso e de Universidade Regional de Blumenau.
aprendizado, pois os alunos conseguiram desenvolver [6] Y. Yan and H. Zhang, “Compiling ladder dia-
a programação em um tempo satisfatório. gram into instruction list to comply with IEC 61131-
As sugestões dos alunos para aprimoramento do 3,” in Proc. of the World Congress on Engineering,
software foram: London, UK, Jul. 2011, pp. 1–6.
Opção de copiar e colar [7] Y. Yan and H. Zhang, “Compiling ladder dia-
Inclusão de novos contatos como set e gram into instruction list to comply with iec61131-3,”
reset Computers in Industry, vol. 61, pp. 448–462, Abr
Debug em software 2010
[8] H. M. Deitel, P. J. Deitel, J. Listfield, C. Y.
Opção de salvar o código
T.R. Nieto, and M. Zlatkina, C Como programar, 1st
Gravação direta sem necessidade de ed. São Paulo, SP, Brasil: Pearson Makron Books,
utilização de outro programa 2003.
[9] F. Hu, L. Fu, L. Liu, and G. Zhang, “An algo-
É possível realizar a inclusão destas sugestões em rithm about transforming plc ladder diagram to in-
projetos futuros sem a necessidade de grandes struction list based on series-parallel merging
modificações no sistema. method,” IEEE Computer Society conference, pp.
812–816, Dez 2008.
5 Conclusão [10] ARM Technical Support Knowledge Articles
Disponivel em: <http://infocenter.arm.com/help/in-
dex.jsp?topic=/com.arm.doc.faqs/ka9903.html>Aces
Este projeto permitiu o desenvolvimento de um
so em 20 nov. 2017
software que traduz da linguagem Ladder para
Instruction List de forma a gerar resultados
equivalentes, gerando o arquivo .eep. Os testes
realizados permitiram concluir que o sistema é eficaz
e possui uma interface intuitiva e de fácil
programação.
6 Agradecimento
7 Referencia