SlideShare uma empresa Scribd logo
1 de 53
Implementação de um Micro PLC em uma Plataforma Aberta de Baixo Custo Renato Mintz Trabalho de Conclusão de Curso - UFMG – CEAI 2008 Orientador: Prof. Júlio de Melo 1
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 2
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 3
Arduino Contexto 4 Arduino é uma plataforma aberta de hardware e software, de baixo custo, desenvolvida com o objetivo de atender artistas, designers ou qualquer pessoa interessada na criação de objetos ou ambientes interativos
Hardware ATmega168 ou ATmega328 32K Flash, 2K SRAM, 1K EEPROM 14 pinos de entrada/saída digital 6 deles podem ser usados como saída PWM 6 entradas analógicas de 10 bits Conexão USB 5 Contexto
Software C/C++ normal ou simplificado Bibliotecas com código aberto Expansões Ethernet, Bluetooth, Zigbee, GPS, etc. Preço < US$30,00 6 Contexto
Linguagens padrão IEC-61131-3 Contexto Fonte: http://www.isa.org Fonte: http://engineeronadisk.com 7
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 8
Programação usando Ladder Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo 9 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
Programação usando Ladder Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo parcialmente atingido 10 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
Programação usando LadderInstructionList Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo parcialmente atingido 11 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
Programação usando LadderInstructionList Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo parcialmente atingido 12 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 13
Ambientes gráficos para Arduino BrickLayer ModKit Iniciativas Semelhantes 14
PLC Aberto Beremiz PLCOpen Editor – FBD, SFC, LD, ST, IL MatPLC IEC Compiler – gera código em C CANOpen – interface para I/O físico Ferramenta HMI – construção de telas sinóticas 15 Iniciativas Semelhantes
Especifica um modelo de desenvolvimento para um PLC em ambiente RTLinux. Seleciona um subconjunto de IL como linguagem básica para a primeira versão deste PLC. Sugere que o IL seja compilado para uma linguagem intermediária e então interpretado. 16 Iniciativas Semelhantes PLAZA, I.; MEDRANO, C.; CATALAN, C. A Programmable Logic Controller under RTLinux Following Related Standards. Fifth Real-Time Linux Workshop. Valencia, Spain: Department Of Computer Engineering, Universidad Politecnica De Valencia. 2003.
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 17
18 Abordagem
19 Abordagem Loader e Interpretador InstructionList Acesso TTY
20 Abordagem Loader e Interpretador ILcode Acesso TTY Compilador InstructionList - ILcode LoaderILcode Cliente TTY
21 Passos 8 3 77 1 0 10 3 73 0 6 10 3 73 0 7 14 3 77 1 0 13 3
Temporizadores 22 Blocos de Função  IEC-61131-3 Biestáveis Detectores de Borda TP TON TOF Contadores
Temporizadores 23 Blocos de Função Implementados Biestáveis Detectores de Borda 4 4 2 x TP 2 x TON 2 x TOF 4 TP TON TOF 4 Contadores 4
24 Ciclo de Execução
25 Arquitetura
26 Dinâmica de um Ciclo
27 Dinâmica de um Ciclo
28 Dinâmica de um Ciclo
29 Dinâmica de um Ciclo
30 Conjunto de Instruções
31 Operandos
32 Memória Interna
33 Memória Interna
34 Memória Interna
35 Memória não Volátil
36 Modos de Funcionamento Reset Temporização ou comando “.” sem STEP Modo Programação Modo Execução ABORT Comando “.” com STEP ABORT Comando “.” sem STEP Modo Passo a Passo
37 Modo Programação Console usando Windows Hyperterminal
38 Carga de Programa A carga do programa ILcode a ser executado é feita usando o comando “l” a partir do endereço 20. O PLCduino Client faz isto automaticamente.
39 Configuração de E/S 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 ioMask 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 1 1 1 1 1 1 ioConfig S S S S S E E E E E E 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 0 0 0 1 0 0 0 0 0 ioNeg NOT NOT
40 Modo Passo-a-Passo Dois tipos: Passo-a-Passode Instrução Passo-a-Passode Ciclo de Execução Status de Execução Conteúdo da Memória Conteúdo da Pilha
41 ILCode Formato da Instrução Modificador Operador ,[object Object]
Byte: número do byte
Bit: número do bit ou 64 quando a operação for sobre um byte completo,[object Object]
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 43
44 Elevador
45 Memorização de Chamadas
46 Memorização do Último Andar Visitado
47 Sentido do Movimento
48 Partida e Parada do Motor
Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 49
Fatos do Desempenho PLCduino ocupa 58% de RAM e Flash do Arduino Exemplo do Elevador Ocupa 96% da memória de programa do PLCduino Ocupa 11 das 13 portas digitais do Arduino Tem ciclo de execução de 3mS Análise PLCduino pode ser mais sofisticado ILcode pode ser otimizado Número de portas é gargalo Ciclo de execução é razoável para o tipo de aplicação 50 Conclusões
Facilidade de Desenvolvimento IL tem um conjunto adequado de instruções e é viável como “linguagem de máquina”. Ainda não é para um usuário leigo, necessita uma “camada” gráfica, com pouca ou nenhuma alteração no PLCduino em si. Facilidades de depuração afetam em muito a produtividade. 51 Conclusões
Novo Ambiente de Desenvolvimento Interface TCP/IP Expansão do Número de Portas 52 Sugestões de Continuidade

Mais conteúdo relacionado

Mais procurados

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar ArduinoIsvaldo Souza
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetSaymon Cristian Alves Oliveira
 
Programação em C para Arduino
Programação em C para ArduinoProgramação em C para Arduino
Programação em C para ArduinoRodrigo Rosa
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoFátima Bernardes
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Ana Carneirinho
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e alémFabio Souza
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoFelipe Martins
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 

Mais procurados (20)

Aula 1: Conhecendo o Arduino
Aula 1: Conhecendo o ArduinoAula 1: Conhecendo o Arduino
Aula 1: Conhecendo o Arduino
 
Curso de arduino
Curso de arduinoCurso de arduino
Curso de arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Arduino
ArduinoArduino
Arduino
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar Arduino
 
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSetApostila Arduino - Núcleo de Estudos em Robótica SheepSet
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
 
Programação em C para Arduino
Programação em C para ArduinoProgramação em C para Arduino
Programação em C para Arduino
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e além
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com Arduino
 
Computação física com arduino
Computação física com arduinoComputação física com arduino
Computação física com arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 

Destaque

Le marketing de l'amateur dans la parfumerie de marque - Français
Le marketing de l'amateur dans la parfumerie de marque - FrançaisLe marketing de l'amateur dans la parfumerie de marque - Français
Le marketing de l'amateur dans la parfumerie de marque - FrançaisJulie Norcia Garnier
 
Apostila eletronica-potencia-ifrn-zona-norte
Apostila eletronica-potencia-ifrn-zona-norteApostila eletronica-potencia-ifrn-zona-norte
Apostila eletronica-potencia-ifrn-zona-norteFagner Firmo
 
Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Desiree Santos
 
Ybr125 manual completo
Ybr125 manual completoYbr125 manual completo
Ybr125 manual completoLuiz Carlos
 
Arduino Day 2015 - Introdução ao Arduino:
Arduino Day 2015 - Introdução ao Arduino: Arduino Day 2015 - Introdução ao Arduino:
Arduino Day 2015 - Introdução ao Arduino: Fabio Souza
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital36wa
 
Tugas ii sistem informasi manajemen
Tugas ii sistem informasi manajemenTugas ii sistem informasi manajemen
Tugas ii sistem informasi manajemenDonny_suryo
 
Circuitos electrónicos
Circuitos electrónicosCircuitos electrónicos
Circuitos electrónicosjwurster01
 
Report on 220kv substation at Jassure
Report on 220kv substation at JassureReport on 220kv substation at Jassure
Report on 220kv substation at JassureShuvam Pathania
 
inversor de frequencia
inversor de frequenciainversor de frequencia
inversor de frequenciaRenato Amorim
 
Circuitos electrónicos e aplicações da electrónica9º
Circuitos electrónicos e aplicações da electrónica9ºCircuitos electrónicos e aplicações da electrónica9º
Circuitos electrónicos e aplicações da electrónica9ºnanciiii
 
THE SHACK by William P. Young
THE SHACK by William P. YoungTHE SHACK by William P. Young
THE SHACK by William P. YoungLirigzon Gashi
 
Inversores de frequência claiton moro franchi
Inversores de frequência   claiton moro franchiInversores de frequência   claiton moro franchi
Inversores de frequência claiton moro franchipauloh909
 

Destaque (18)

Regional Economic Development Initiative 2015
Regional Economic Development Initiative 2015Regional Economic Development Initiative 2015
Regional Economic Development Initiative 2015
 
color card
color cardcolor card
color card
 
SCofftran
SCofftranSCofftran
SCofftran
 
Viena I
Viena IViena I
Viena I
 
Le marketing de l'amateur dans la parfumerie de marque - Français
Le marketing de l'amateur dans la parfumerie de marque - FrançaisLe marketing de l'amateur dans la parfumerie de marque - Français
Le marketing de l'amateur dans la parfumerie de marque - Français
 
Hero
HeroHero
Hero
 
Apostila eletronica-potencia-ifrn-zona-norte
Apostila eletronica-potencia-ifrn-zona-norteApostila eletronica-potencia-ifrn-zona-norte
Apostila eletronica-potencia-ifrn-zona-norte
 
Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012Introduçao ao Arduino e Domótica - Latinoware 2012
Introduçao ao Arduino e Domótica - Latinoware 2012
 
Ybr125 manual completo
Ybr125 manual completoYbr125 manual completo
Ybr125 manual completo
 
Arduino Day 2015 - Introdução ao Arduino:
Arduino Day 2015 - Introdução ao Arduino: Arduino Day 2015 - Introdução ao Arduino:
Arduino Day 2015 - Introdução ao Arduino:
 
Apostila eletronica digital
Apostila   eletronica digitalApostila   eletronica digital
Apostila eletronica digital
 
Tugas ii sistem informasi manajemen
Tugas ii sistem informasi manajemenTugas ii sistem informasi manajemen
Tugas ii sistem informasi manajemen
 
Circuitos electrónicos
Circuitos electrónicosCircuitos electrónicos
Circuitos electrónicos
 
Report on 220kv substation at Jassure
Report on 220kv substation at JassureReport on 220kv substation at Jassure
Report on 220kv substation at Jassure
 
inversor de frequencia
inversor de frequenciainversor de frequencia
inversor de frequencia
 
Circuitos electrónicos e aplicações da electrónica9º
Circuitos electrónicos e aplicações da electrónica9ºCircuitos electrónicos e aplicações da electrónica9º
Circuitos electrónicos e aplicações da electrónica9º
 
THE SHACK by William P. Young
THE SHACK by William P. YoungTHE SHACK by William P. Young
THE SHACK by William P. Young
 
Inversores de frequência claiton moro franchi
Inversores de frequência   claiton moro franchiInversores de frequência   claiton moro franchi
Inversores de frequência claiton moro franchi
 

Semelhante a PLCduino - A PLC using Arduino platform

Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...
Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...
Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...Andre Devecchi
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Flávia Martins
 
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdfDESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdfJulioCesar547337
 
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMMICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMzelmasantos2015
 
Apresentação pic
Apresentação picApresentação pic
Apresentação picSaddam Lande
 
201728 22259 manual_picgenios
201728 22259 manual_picgenios201728 22259 manual_picgenios
201728 22259 manual_picgeniosBárbara Gama
 
15507933 apostila-de-cl ps-ladder
15507933 apostila-de-cl ps-ladder15507933 apostila-de-cl ps-ladder
15507933 apostila-de-cl ps-ladderelkbongg
 
Clp completa
Clp completaClp completa
Clp completapanelada
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015André Curvello
 
73626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai273626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai2Leila Aparecida Silva
 
Automação projeto de semáforo
Automação projeto de semáforoAutomação projeto de semáforo
Automação projeto de semáforoantonio sena
 

Semelhante a PLCduino - A PLC using Arduino platform (20)

Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...
Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...
Um Sistema de Ponto Eletrônico Digital: projeto e implementação de hardware e...
 
Corpo relatorio
Corpo relatorioCorpo relatorio
Corpo relatorio
 
Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4Pcs2031 projeto01 introducao_pic_v4
Pcs2031 projeto01 introducao_pic_v4
 
Tese de mestrado
Tese de mestradoTese de mestrado
Tese de mestrado
 
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdfDESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
DESENVOLVIMENTO_DE_FIRMWARE_E_SOFTWARE_D.pdf
 
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEMMICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
MICROCONTROLADORES E PLATAFORMAS DE PROTOTIPAGEM
 
Apresentação pic
Apresentação picApresentação pic
Apresentação pic
 
201728 22259 manual_picgenios
201728 22259 manual_picgenios201728 22259 manual_picgenios
201728 22259 manual_picgenios
 
15507933 apostila-de-cl ps-ladder
15507933 apostila-de-cl ps-ladder15507933 apostila-de-cl ps-ladder
15507933 apostila-de-cl ps-ladder
 
Clp completa
Clp completaClp completa
Clp completa
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
 
Eripi2018 p4 tutorial
Eripi2018 p4 tutorialEripi2018 p4 tutorial
Eripi2018 p4 tutorial
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 
Introducao clp
Introducao clpIntroducao clp
Introducao clp
 
Lima 2009
Lima 2009Lima 2009
Lima 2009
 
Cpld top dos tops
Cpld top dos topsCpld top dos tops
Cpld top dos tops
 
73626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai273626572 clp-apostila-micrologix-1500-senai2
73626572 clp-apostila-micrologix-1500-senai2
 
Apostila_IC.pdf
Apostila_IC.pdfApostila_IC.pdf
Apostila_IC.pdf
 
Automação projeto de semáforo
Automação projeto de semáforoAutomação projeto de semáforo
Automação projeto de semáforo
 

PLCduino - A PLC using Arduino platform

  • 1. Implementação de um Micro PLC em uma Plataforma Aberta de Baixo Custo Renato Mintz Trabalho de Conclusão de Curso - UFMG – CEAI 2008 Orientador: Prof. Júlio de Melo 1
  • 2. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 2
  • 3. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 3
  • 4. Arduino Contexto 4 Arduino é uma plataforma aberta de hardware e software, de baixo custo, desenvolvida com o objetivo de atender artistas, designers ou qualquer pessoa interessada na criação de objetos ou ambientes interativos
  • 5. Hardware ATmega168 ou ATmega328 32K Flash, 2K SRAM, 1K EEPROM 14 pinos de entrada/saída digital 6 deles podem ser usados como saída PWM 6 entradas analógicas de 10 bits Conexão USB 5 Contexto
  • 6. Software C/C++ normal ou simplificado Bibliotecas com código aberto Expansões Ethernet, Bluetooth, Zigbee, GPS, etc. Preço < US$30,00 6 Contexto
  • 7. Linguagens padrão IEC-61131-3 Contexto Fonte: http://www.isa.org Fonte: http://engineeronadisk.com 7
  • 8. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 8
  • 9. Programação usando Ladder Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo 9 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
  • 10. Programação usando Ladder Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo parcialmente atingido 10 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
  • 11. Programação usando LadderInstructionList Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo parcialmente atingido 11 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
  • 12. Programação usando LadderInstructionList Supervisão ModBus Licença de código livre Progresso publicado em http://plcduino.blogger.com Objetivo parcialmente atingido 12 Oferecer aos usuários do Arduino a alternativa de programação de lógicas de controle através de uma linguagem gráfica definida pelo IEC 61131-3 transformando-o na prática, em um micro PLC para aplicações didáticas, artísticas, domésticas e outras sem requisitos de alta confiabilidade.
  • 13. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 13
  • 14. Ambientes gráficos para Arduino BrickLayer ModKit Iniciativas Semelhantes 14
  • 15. PLC Aberto Beremiz PLCOpen Editor – FBD, SFC, LD, ST, IL MatPLC IEC Compiler – gera código em C CANOpen – interface para I/O físico Ferramenta HMI – construção de telas sinóticas 15 Iniciativas Semelhantes
  • 16. Especifica um modelo de desenvolvimento para um PLC em ambiente RTLinux. Seleciona um subconjunto de IL como linguagem básica para a primeira versão deste PLC. Sugere que o IL seja compilado para uma linguagem intermediária e então interpretado. 16 Iniciativas Semelhantes PLAZA, I.; MEDRANO, C.; CATALAN, C. A Programmable Logic Controller under RTLinux Following Related Standards. Fifth Real-Time Linux Workshop. Valencia, Spain: Department Of Computer Engineering, Universidad Politecnica De Valencia. 2003.
  • 17. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 17
  • 19. 19 Abordagem Loader e Interpretador InstructionList Acesso TTY
  • 20. 20 Abordagem Loader e Interpretador ILcode Acesso TTY Compilador InstructionList - ILcode LoaderILcode Cliente TTY
  • 21. 21 Passos 8 3 77 1 0 10 3 73 0 6 10 3 73 0 7 14 3 77 1 0 13 3
  • 22. Temporizadores 22 Blocos de Função IEC-61131-3 Biestáveis Detectores de Borda TP TON TOF Contadores
  • 23. Temporizadores 23 Blocos de Função Implementados Biestáveis Detectores de Borda 4 4 2 x TP 2 x TON 2 x TOF 4 TP TON TOF 4 Contadores 4
  • 24. 24 Ciclo de Execução
  • 26. 26 Dinâmica de um Ciclo
  • 27. 27 Dinâmica de um Ciclo
  • 28. 28 Dinâmica de um Ciclo
  • 29. 29 Dinâmica de um Ciclo
  • 30. 30 Conjunto de Instruções
  • 35. 35 Memória não Volátil
  • 36. 36 Modos de Funcionamento Reset Temporização ou comando “.” sem STEP Modo Programação Modo Execução ABORT Comando “.” com STEP ABORT Comando “.” sem STEP Modo Passo a Passo
  • 37. 37 Modo Programação Console usando Windows Hyperterminal
  • 38. 38 Carga de Programa A carga do programa ILcode a ser executado é feita usando o comando “l” a partir do endereço 20. O PLCduino Client faz isto automaticamente.
  • 39. 39 Configuração de E/S 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 ioMask 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 1 1 1 1 1 1 ioConfig S S S S S E E E E E E 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 0 0 0 1 0 0 0 0 0 ioNeg NOT NOT
  • 40. 40 Modo Passo-a-Passo Dois tipos: Passo-a-Passode Instrução Passo-a-Passode Ciclo de Execução Status de Execução Conteúdo da Memória Conteúdo da Pilha
  • 41.
  • 43.
  • 44. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 43
  • 47. 46 Memorização do Último Andar Visitado
  • 48. 47 Sentido do Movimento
  • 49. 48 Partida e Parada do Motor
  • 50. Contexto Objetivos Pesquisa Bibliográfica e Situação Atual Descrição do PLCduino Prova de Conceito Conclusões Sumário 49
  • 51. Fatos do Desempenho PLCduino ocupa 58% de RAM e Flash do Arduino Exemplo do Elevador Ocupa 96% da memória de programa do PLCduino Ocupa 11 das 13 portas digitais do Arduino Tem ciclo de execução de 3mS Análise PLCduino pode ser mais sofisticado ILcode pode ser otimizado Número de portas é gargalo Ciclo de execução é razoável para o tipo de aplicação 50 Conclusões
  • 52. Facilidade de Desenvolvimento IL tem um conjunto adequado de instruções e é viável como “linguagem de máquina”. Ainda não é para um usuário leigo, necessita uma “camada” gráfica, com pouca ou nenhuma alteração no PLCduino em si. Facilidades de depuração afetam em muito a produtividade. 51 Conclusões
  • 53. Novo Ambiente de Desenvolvimento Interface TCP/IP Expansão do Número de Portas 52 Sugestões de Continuidade
  • 54. Este trabalho: Permitiu que eu vivenciasse algumas decisões técnicas envolvidas no desenvolvimento de PLCs. Abriu uma nova possibilidade de programação do Arduino, que não seja o C/C++. Demonstrou a viabilidade de utilização do Arduino como um PLC simples para aplicações diversas. Pode ser um ponto de partida para novos trabalhos na área. O código fonte está disponível em https://code.google.com/p/plcduino/ 53 Considerações Finais