0% acharam este documento útil (0 voto)
124 visualizações13 páginas

02 Sistema Supervisorio Arduino

O documento fornece instruções para a construção de um sistema supervisório usando o software Wonderware Indusoft. Ele descreve como criar telas, adicionar objetos, configurar comunicações Modbus com um Arduino e codificar o Arduino para enviar e receber dados.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
124 visualizações13 páginas

02 Sistema Supervisorio Arduino

O documento fornece instruções para a construção de um sistema supervisório usando o software Wonderware Indusoft. Ele descreve como criar telas, adicionar objetos, configurar comunicações Modbus com um Arduino e codificar o Arduino para enviar e receber dados.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Escola SENAI Felix Guisard

Construção de Sistema Supervisório – Aula 2


Objetivos: - construir telas em sistemas supervisórios;
- implementar funções em Sistemas de Supervisão;
- integrar máquinas aos sistemas Supervisórios.
Nome:________________________________________________________________

1. Abra o software Wonderware Indusoft, na versão mais atual, instalada no computador

Figura 1. Ícone do software Supervisório


2. Clique no botão de Início e selecione a opção Novo, conforme a figura 2:

Figura 2. Criação de um novo projeto.


3. Defina as características básicas do Projeto, como o Nome e a localização dos arquivos do
sistema supervisório. É recomendado que não se altere a localização dos arquivos, pois
posteriormente a ação de cópia do sistema fica prejudicada, uma vez que o Sistema não
estará em seu local padrão. Com relação as demais opções, preencha-as conforme a
seguinte atribuição:
Item Valor
Nome do Projeto Sistema de Supervisão do Arduino
Plataforma Alvo All
Tabela 1. Características Básicas do Projeto
4. Preenchidas as informações anteriores, clique em OK;
5. Será solicitado a você que informe ao Sistema qual a resolução utilizada, ao executar o
sistema supervisório. É importante, neste momento, que se decida utilizar ou não a resolução
padrão disponibilizada. Esta será sempre a resolução máxima para o computador em
questão, combinando os itens placa de vídeo + monitor. Para que seja testado o sistema em
resolução diferente, altere-o para 1024 x 768, conforme figura abaixo:
Figura 3. Resolução do Projeto.

6. Será criada, a partir da seleção da resolução de tela, a estrutura necessária para que o
Sistema funcione. Verifique se, no Explorador do Projeto, estão exibidos os itens abaixo:

Figura 4. Estrutura do Projeto.

7. Clique com o botão direito sobre a pasta Telas e selecione a opção Inserir Tela. Ao realizar
o passo anterior, uma Janela, de nome Atributos de Tela, deverá ser exibida. Para este
ensaio, deve-se completar o formulário com os seguintes itens:

Informações Valores
Descrição Tela de Menus
Título Tela de Menus
Largura 1024
Altura 100
a) Deve-se criar, nesta nova tela, uma estrutura composta por 3 botões, uma forma
retangular com os cantos arredondados e um objeto de texto, conforme referência a
seguir:

b) Salve a tela com o nome tela_menus.


8. Para a segunda tela, deve-se criar um novo conjunto com os seguintes valores:
Informações Valores
Descrição Tela principal
Título Tela principal
Largura 1024
Altura 568
a) Nesta tela deve ser inserido o seguinte conteúdo:

- Para inserir um texto, utilize a aba gráficos, selecionando o item Texto;

- Para inserir uma figura, baixe-a e copie para a pasta Resources, dentro da pasta Web de seu
projeto no Indusoft;

9. Para a terceira tela, deve-se criar um novo conjunto com os seguintes valores:
Informações Valores
Descrição Tela de Supervisão Geral
Título Tela de Supervisão Geral
Largura 1024
Altura 568

10. Para a quarta tela, deve-se criar um novo conjunto com os seguintes valores:
Informações Valores
Descrição Tela Inferior
Título Tela Inferior
Largura 1024
Altura 100
- Insira, nesta tela, os itens a seguir, substituindo <Nome do Aluno> pelo seu nome:
11. Volte a tela_menus e execute a rotina abaixo:
- Dê um clique-duplo no botão Tela Principal. Clique, em seguida, na caixa de Seleção Tipo,
selecionando Abrir Tela, conforme figura a seguir:

- Clique no botão ... e associe a Tela de Nome tela_principal ao botão. Ao testar o supervisório,
caso seja clicado este botão, deve ser imediatamente aberta a tela_principal;
- Repita o mesmo procedimento para o botão Supervisório Geral, para que abra a
tela_de_supervisao_geral, quando clicada;
- Para o botão Sair, dê um clique duplo sobre o objeto, selecionando, no item Tipo, a opção
VBScript. Com o item selecionado, clique na Aba Ao Soltar, inserindo o código a seguir, conforme
figura abaixo:
12. Por fim, clique no item Disposição, conforme figura abaixo:

13. Ajuste as telas criadas, de forma que fiquem associadas conforme a figura abaixo:

14. Adicione agora o driver do dispositivo a ser controlado. Neste caso, usaremos um driver
ModBus para se comunicar com o Arduino. Para isso, clique inicialmente em comunicações,
na aba explorador do Projeto, nas abas localizadas na parte inferior e esquerda da tela:

15. Clique em Drivers, com o botão direito do mouse, selecionando o item Adicionar/Remover
drivers:
16. Será exibida a tela de seleção do Sistema. Utilizaremos o driver para comunicação ModBus,
de nome MODBU. Para selecionar, dê um clique-duplo no nome do driver:

17. Selecione, com o botão direito, o item MODBU, acionando o menu Inserir:

18. Será aberto um novo arquivo para guardar as informações recebidas, via ModBus.
Preencha-o conforme a figura a seguir:
19. Na tabela da Folha de Leitura, insira:

Observação: caso seja necessária a criação de novas tags, as mesmas serão do tipo booleana,
com vetor de tamanho 0.
Os endereços são associados ao programa realizado no Arduino, conforme tabela a seguir:

Indusoft – Nome da Tag Indusoft – Endereço Arduino


entrada0 1 registro[entrada0]
entrada1 2 registro[entrada1]
entrada2 3 registro[entrada2]
entrada3 4 registro[entrada3]
entrada4 5 registro[entrada4]
entrada5 6 registro[entrada5]
entrada6 7 registro[entrada6]
saida0 8 registro[saida0]
saida1 9 registro[saida1]
saida2 10 registro[saida2]
saida3 11 registro[saida3]
saida4 12 registro[saida4]
saida5 13 registro[saida5]
saida6 14 registro[saida6]
20. Clique com o botão direito sobre o Driver MODBU, selecionando configurações, conforme
figura abaixo:

- Mantenha a tela aberta e execute os passos a seguir, até que tenha que retornar e terminar a
configuração;

21. Abra a IDE (interface de desenvolvimento) do Arduino:

22. Salve em um local acessível ao usuário (HD, pendrive etc);

23. Baixe a Biblioteca SimpleModbusSlave


([Link] adicionando-a ao IDE do
Arduino, por meio do Menu Sketch->Incluir Biblioteca ->Adicionar biblioteca .ZIP, conforme
figura a seguir:
24. Digite o seguinte código:
//incluir biblioteca ModbusSlave, responsável pela Comunicação entre
Arduino e Indusoft
#include<SimpleModbusSlave.h>

//criação de um sistema de monitoramento para Arduino, considerando:


// *7 entradas digitais (pinos 0 até 7);
// *7 saídas digitais (pinos 8 até 13);
// *6 entradas analógicas.
enum
{
entrada0, //entradas digitais
entrada1,
entrada2,
entrada3,
entrada4,
entrada5,
entrada6,
saida0, //saídas digitais
saida1,
saida2,
saida3,
saida4,
saida5,
saida6,
analogico0, //entradas analógicas
analogico1,
analogico2,
analogico3,
analogico4,
analogico5,
todos // este último item servirá para gerenciar o número de
registros a serem gravados
};
unsigned int registro[todos]; // criação da variável de comunicação com
o Indusoft via Modbus
int i = 0, j = 0; //criação de variáveis globais, a serem usadas em
qualquer parte do sketch

void setup()
{
// Aqui vai o código de configuração, que roda apenas uma vez
// Definindo os pinos como entrada ou saída:
// pinMode(pino, função)
// função pode receber registro 0 - OUTPUT (saída), 1 - INPUT
(entrada) e INPUT_PULLUP (entrada com resistor de pull-up habilitado)
pinMode(0, INPUT);
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

// DefiniçÕes da Biblioteca Modbus (Configuração)

modbus_configure(&Serial, 9600, SERIAL_8N1, 1, 2, todos, registro);


modbus_update_comms(9600, SERIAL_8N1, 1);

void loop() {
// Coloque aqui o código que será repetido incessantemente:
//Atualiza os dados enviados pela comunicação ModBus
modbus_update();
//Função digitalRead(pino) - lê o estado de um pino do Arduino,
independente se é entrada ou saída;
registro[entrada0] = digitalRead(0);
registro[entrada1] = digitalRead(1);
registro[entrada2] = digitalRead(2);
registro[entrada3] = digitalRead(3);
registro[entrada4] = digitalRead(4);
registro[entrada5] = digitalRead(5);
registro[entrada6] = digitalRead(6);
registro[saida0] = digitalRead(7);
registro[saida1] = digitalRead(8);
registro[saida2] = digitalRead(9);
registro[saida3] = digitalRead(10);
registro[saida4] = digitalRead(11);
registro[saida5] = digitalRead(12);
registro[saida6] = digitalRead(13);
//Para leituras analógicas, usamos a função
analogRead(pino_analogico)
registro[analogico0] = analogRead(A0);
registro[analogico1] = analogRead(A1);
registro[analogico2] = analogRead(A2);
registro[analogico3] = analogRead(A3);
registro[analogico4] = analogRead(A4);
registro[analogico5] = analogRead(A5);

// Uma lógica para alternar os registros de saída do arduino... Enjoy


:-)
// Consegue descobrir como funciona?!

//Escrevendo em um pino do Arduino


//digitalWrite(pino,registro_de_saida);
digitalWrite(7, i & 0x01);
digitalWrite(8, (i & 0x02)>>1);
digitalWrite(9, (i & 0x04)>>2);
digitalWrite(10, (i & 0x08)>>3);
digitalWrite(11, (i & 0x10)>>4);
digitalWrite(12, (i & 0x20)>>5);
digitalWrite(13, (i & 0x40)>>6);

if (i <= 127 )
i++;
else
i = 0;
}

25. Compile o código (Botão ). Ligue a placa de desenvolvimento (Arduino Uno, Mega ou
Nano) a uma das portas USB do PC, selecionando corretamente a porta COM
correspondente, via menu Ferramentas->Porta->COMXX, sendo COMXX o número da porta
correspondente. Selecione ainda, no mesmo menu ferramentas, a placa de
desenvolvimento a ser usada no teste;

26. Envie o programa para a Placa, clicando em ;

27. Volte ao Indusoft, configure a porta Serial COM, selecionando o mesmo nome exibido e
selecionado na IDE do Arduino;

28. Acesse a recém-criada Tela de Supervisão Geral. Esta será nossa tela de Comunicação
com o Arduino. Insira botões, bargraphs e sinalizadores (lâmpadas), conforme o diagrama
abaixo. Estes itens podem ser encontrados na Aba Gráficos -> Símbolos:

29. Associe as tags criadas aos botões, bargraphs e saídas, conforme o exemplo a seguir;

30. Dê um clique duplo em um dos botões, abrindo a tela de propriedades do símbolo:


31. Associe ao item uma tag, como na figura anterior. Como se trata do primeiro botão, foi
associado a ele a tag entrada0, criada anteriormente;

32. Associe os demais símbolos com as suas respectivas tags;

33. Crie um grupo de telas, selecionando as quais desejamos que sejam abertas ao
executarmos o supervisório;

34. Dê o nome Principal para o grupo de telas, selecionando as telas Inferior, Menus e Principal.
A seleção de cada tela deve ser feita clicando simultaneamente o botão esquerdo
juntamente com a tecla Shift. Para finalizar a seleção, clique em OK:
35. Clique, sobre o novo Grupo de Telas, com o botão direito do Mouse, selecionando o item
definir como inicial;

36. Clique no botão de Play e teste o circuito, conforme orientações de teste do docente.

Você também pode gostar