02 Sistema Supervisorio Arduino
02 Sistema Supervisorio Arduino
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:
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:
- 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:
- Mantenha a tela aberta e execute os passos a seguir, até que tenha que retornar e terminar a
configuração;
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);
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);
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;
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;
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.