• Save
PLCduino - A PLC using Arduino platform
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

PLCduino - A PLC using Arduino platform

on

  • 11,879 views

see http://plcduino.blogspot.com

see http://plcduino.blogspot.com

Statistics

Views

Total Views
11,879
Views on SlideShare
7,948
Embed Views
3,931

Actions

Likes
2
Downloads
0
Comments
2

61 Embeds 3,931

http://plcduino.blogspot.com 1429
http://plcduino.blogspot.com.br 952
http://plcsemwatchdog.blogspot.com.br 223
http://plcsemwatchdog.blogspot.com 205
http://plcduino.blogspot.pt 128
http://plcduino.blogspot.com.es 123
http://plcduino.blogspot.it 88
http://plcduino.blogspot.de 56
http://translate.googleusercontent.com 48
http://plcduino.blogspot.tw 47
http://plcduino.blogspot.in 46
http://plcduino.blogspot.fr 37
http://plcduino.blogspot.ro 36
http://plcsemwatchdog.blogspot.pt 33
http://plcduino.blogspot.mx 32
http://plcduino.blogspot.co.uk 29
http://plcduino.blogspot.se 28
http://plcduino.blogspot.com.au 28
http://plcduino.blogspot.hu 28
http://plcduino.blogspot.ca 27
http://plcduino.blogspot.be 26
http://plcduino.blogspot.com.ar 26
http://plcduino.blogspot.kr 23
http://plcduino.blogspot.nl 22
http://plcduino.blogspot.ru 22
http://plcduino.blogspot.cz 21
http://plcduino.blogspot.dk 20
http://plcduino.blogspot.gr 17
http://plcduino.blogspot.fi 17
http://plcduino.blogspot.jp 15
http://plcduino.blogspot.co.at 13
http://plcduino.blogspot.no 10
http://plcduino.blogspot.sk 10
http://plcduino.blogspot.ch 9
http://plcduino.blogspot.co.nz 7
http://plcduino.blogspot.sg 7
http://plcduino.blogspot.com.tr 5
http://plcduino.blogspot.co.il 5
http://plcduino.blogspot.hk 3
http://plcsemwatchdog.blogspot.fr 3
http://plcsemwatchdog.blogspot.de 3
http://plcsemwatchdog.blogspot.com.es 2
http://www.docseek.net 2
http://plcsemwatchdog.blogspot.in 2
http://plcsemwatchdog.blogspot.be 2
http://131.253.14.98 1
http://plcduino.blogspot.ae 1
http://plcsemwatchdog.blogspot.jp 1
http://webcache.googleusercontent.com 1
http://plcduino.blogspot.ie 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PLCduino - A PLC using Arduino platform Presentation 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