Your SlideShare is downloading. ×
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
PLCduino - A PLC using Arduino platform
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PLCduino - A PLC using Arduino platform

11,612

Published on

see http://plcduino.blogspot.com

see http://plcduino.blogspot.com

Published in: Technology
2 Comments
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
11,612
On Slideshare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
0
Comments
2
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 18. 18
    Abordagem
  • 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
  • 25. 25
    Arquitetura
  • 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
  • 31. 31
    Operandos
  • 32. 32
    Memória Interna
  • 33. 33
    Memória Interna
  • 34. 34
    Memória Interna
  • 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. 41
    ILCode
    Formato da Instrução
    Modificador
    Operador
    • Operando: código ASCII da letra
    • 42. Byte: número do byte
    • 43. Bit: número do bit ou 64 quando a operação for sobre um byte completo
  • Compila e carrega programa em IL via USB
    42
    PLCduino Client
  • 44. Contexto
    Objetivos
    Pesquisa Bibliográfica e Situação Atual
    Descrição do PLCduino
    Prova de Conceito
    Conclusões
    Sumário
    43
  • 45. 44
    Elevador
  • 46. 45
    Memorização de Chamadas
  • 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

×