Índice:

Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI: 8 etapas
Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI: 8 etapas

Vídeo: Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI: 8 etapas

Vídeo: Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI: 8 etapas
Vídeo: O que é SCADA e qual a diferença entre Supervisório, ScadaBR e Scada-LTS? 2024, Novembro
Anonim
Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI
Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI

Muitas maneiras de programar, controlar e supervisionar um sistema industrial com o arduino.

Etapa 1: Introdução

Introdução
Introdução

Neste instrutível, tratarei de:

2 métodos para programar um arduino ligado a uma espécie de máquina incluindo botões de pressão, interruptores e LEDs

1- O primeiro método com o IDE arduino 1.6.x usando a biblioteca SM (State Machine)

2-O segundo método usando Yakindu, um projeto de editor de digrama de estado criado com ambiente eclipse: você desenha sua máquina de estado, e ela gera o código para transferir para a placa Arduino.

Em associação com

2 maneiras de supervisionar a máquina com um SCADA ou HMI virtual em execução:

1- no Android 4.4: Unigo Evolution, um aplicativo gratuito sem itens de código apenas para colocar em uma tela e modbus TCP

2-no Windows 8: um projeto gratuito AdvancedHMI que precisa do Visual Studio 2013, nenhum código e itens para colocar na tela e modbus TCP

Então você desenha suas sequências funcionais com um SFC (em automação: Sequential Function Chart), você traduz em um diagrama de estado (bem mais próximo), você programa (Yakindu ou Arduino SM lib) e então você supervisiona com um SCADA (Unigo Android ou AdvancedHMI Windows).

Etapa 2: Descrição do Quadro Real:

Descrição do Quadro Real
Descrição do Quadro Real
Descrição do Quadro Real
Descrição do Quadro Real

O esquema:

Eu usei uma placa Arduino UNO, não um clone porque Yakindu não pode enviar nenhum programa para nenhum clone, apenas a placa UNO e Mega.

Eu poderia ter 32 E / S digitais com 2 expansores SPI como MCP23S17 (2x16 E / S) e mais 2 saídas analógicas de 12 bits (analógico real não filtrado por PWM) com 2 SPI DAC como MCP4921.

Eu não desenhei o escudo ethernet, mas você precisa dele para supervisionar seu sistema: então os pinos 4, 10, 11, 12 e 13 não devem ser usados para mais nada e obviamente os pinos 0 e 1 para RX TX apenas.

As fotos reais do tabuleiro:

8 botões são necessários:

  • 4 para o modo manual: um para luz em cada led
  • 1 para parada de emergência: se pressionado, você está no modo normal, solte: emergência
  • 1 para modo automático que acende e apaga a luz sequencial de cada led, em caso de liberação: modo manual, para controlar cada led sem sequência
  • 1 para RUN no modo automático
  • 1 para STOP no modo automático

4 led para simular o que quiser (relé, válvula …)

Dou o nome de cada botão e leds que usei nos programas.

Etapa 3: qual sequência programar? SFC e diagrama de estado

Que sequência programar? SFC e diagrama de estado
Que sequência programar? SFC e diagrama de estado
Que sequência programar? SFC e diagrama de estado
Que sequência programar? SFC e diagrama de estado

Fiz um SFC muito simples para descrever o que o sistema deve fazer.

3 SFC são necessários:

  • SFCsecu para entrar ou sair do modo de emergência, é o SFC mestre que inicia os outros
  • SFC automático manual lançado pelo SFCsecu, você pode alcançar o modo automático ou o modo manual
  • SFC executar parar, escanear e memorizar se alguém pressionou DCY (RUN) ou FCY (STOP)

Esses SFC estão rodando em pseudo-multistaking.

Então eu os traduzo em um diagrama de estado:

  • uma máquina mestre (emergência) lançando 2 outros escravos
  • um escravo para digitalizar e memorizar DCY e FCY
  • um escravo para alcançar o modo automático ou manual

Outra coisa: quando você pressiona DCY, você pode pilotar a saída analógica com um trimer virtual em um scada, quando você pressiona FCY as saídas analógicas caem para 0V.

O diagrama de estado ajuda a programar o arduino.

Etapa 4: Programação com Arduino IDE 1.6. X

Programando com Arduino IDE 1.6. X
Programando com Arduino IDE 1.6. X
Programando com Arduino IDE 1.6. X
Programando com Arduino IDE 1.6. X

Eu lhe dou o código para traduzir os diagramas anteriores. Eu precisava de 3 libs adicionais que ofereço a você também.

Você também precisará da tabela de endereços para entender quais pinos você usa para quê e os endereços correspondentes dos registros do modbus.

Etapa 5: Programação com YAKINDU

Programando com YAKINDU
Programando com YAKINDU
Programando com YAKINDU
Programando com YAKINDU
Programando com YAKINDU
Programando com YAKINDU

Primeiro baixe o projeto gratuito versão 2.9 (não profissional) em:

www.itemis.com/en/yakindu/state-machine/

Em seguida, siga o tutorial fornecido: há algumas modificações em relação à última vez que baixei o programa, apenas para que os nomes de diferentes partes do arquivo "xxxconnector.cpp" sejam concluídos.

As fotos: o desenho da máquina de estado, a visão da pasta no projeto e suas bibliotecas importadas do arduino, a visão de "xxxconnector.cpp" para fazer a ligação entre as transições / estados e as entradas / saídas reais do placa ou dos SCADAs.

Eu lhe dou o projeto que você só terá que importar para o seu espaço de trabalho criado automaticamente.

Também são fornecidos: as bibliotecas necessárias para importar para o Yakindu e algumas mudanças a serem feitas descritas no tutorial.

Etapa 6: Supervisione com AdvancedHMI

Supervisione com AdvancedHMI
Supervisione com AdvancedHMI

Primeiro baixe o Visual studio Express 2013 ou mais em:

www.microsoft.com/fr-fr/download/details.a…

Em seguida, baixe o projeto AdvancedHMI em:

sourceforge.net/projects/advancedhmi/?SetF…

Apresento-lhes as fotos do SCADA I desenhado (com os endereços dos registros modbus correspondentes) e programado sem código, o projeto modificado e um breve tutorial.

Etapa 7: Supervisione com o Unigo Evolution

Supervisione com o Unigo Evolution
Supervisione com o Unigo Evolution

Você precisa de um dispositivo Android com Android 4.4 (kit kat) e uma tela de 7 polegadas.

Apresento-lhes as fotos do SCADA que desenhei (e os endereços dos registros modbus correspondentes) e um breve tutorial para usar o Unigo, sem necessidade de código, uma pasta que contém fotos de lâmpadas industriais e botões para colocar na pasta UniGOPictures criada no seu SD pelo aplicativo e pelo projeto.

Etapa 8: Conclusão

Foi uma tarefa enorme reunir 2 formas diferentes de programação e 2 formas diferentes de supervisão. É difícil no começo se acostumar com as habilidades de ambos. Mas agora ele funciona e, uma vez compreendido, você pode controlar sistemas mais complicados.

Muito obrigado a muitos tutoriais mundiais, a Archie (AdvancedHMI), a RenéB2 (Yakindu) e a Mikael Andersson (Unigo Evolution) e aos desenvolvedores de bibliotecas arduino que me permitem fazer um projeto de "tempestade de tecnologia".

Sans eux j'aurais peut être souffert d'un sentiment d'incomplétude infinie pour l'éternité. J'exagère un peu.

Happy instructables.