0% acharam este documento útil (0 voto)
99 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)
99 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
Você está na página 1/ 13

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


(https://github.com/angeloc/simplemodbusng/archive/master.zip), 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy