Integração Arduino e Elipse Scada

Elipse Scada acionamentos simples processo com Elipse SCADA
Este post faz parte da série Arduino e Elipse Scada. Leia também os outros posts da série:

Qual é o objetivo deste artigo?

Este artigo corresponde ao início de uma série de materiais que visam auxiliar no desenvolvimento de projetos de automação utilizando o Arduino UNO juntamente com o Elipse SCADA. Neste conteúdo serão apresentados alguns conceitos introdutórios para que o leitor entenda a proposta que está sendo feita e além disso, pretende-se instruir o mesmo em relação às configurações necessárias para realizar a integração entre os dois elementos citados anteriormente.

Para aqueles que não conhecem, o Elipse SCADA consiste em uma ferramenta voltada para o desenvolvimento de sistemas supervisórios e de controle de processos, visando atender as mais diversas necessidades em virtude de disponibilizar vários recursos para o usuário. Além disso, o Elipse SCADA proporciona um ambiente totalmente configurável, permitindo ao usuário monitorar variáveis em tempo real através de elementos gráficos, bem como realizar acionamentos através do envio de informações aos dispositivos existentes. Caso o leitor queira maiores informações sobre esta e outras ferramentas do fabricante, basta clicar aqui.

Primeiro passo: Definição do hardware que será utilizado

O hardware que será utilizado para demonstrar os conceitos iniciais propostos no início deste artigo será composto por um Arduino UNO e três potenciômetros de 4.7kΩ. De maneira mais direta, o objetivo do projeto desenvolvido neste artigo consiste em realizar uma aplicação onde o usuário consiga ler os sinais provenientes da leitura destes componentes e possa reproduzi-los em sua tela.

Integração Arduino e Elipse Scada - Hardware utilizado
Figura 1 – Hardware utilizado.

Segundo passo: Elaboração do código que será inserido no Arduino UNO

No decorrer desta seção serão explicados todos os passos utilizados para o desenvolvimento do projeto proposto, isto é, o código será comentado de modo que todo conhecimento aplicado seja facilmente compreendido.

Num primeiro momento deve-se incluir as bibliotecas necessárias para que o código a ser inserido no Arduino UNO funcione adequadamente. Neste artigo utilizaremos somente a biblioteca desejada para estabelecer a comunicação entre o Arduino UNO e o Elipse SCADA através do protocolo Modbus. Esta pode ser encontrada aqui (baixar o arquivo SimpleModbusSlaveV10.zip).

O código a ser utilizado foi derivado diretamente do exemplo disponível, juntamente com a biblioteca em questão. Portanto, caso o leitor queira, pode apenas modificar o exemplo citado.

Posteriormente pode-se observar um bloco chamado enum, neste estarão escritos os registradores que conterão as informações utilizadas na leitura ou no acionamento de dispositivos. Estes são denominados Registradores Holding e para declará-los basta escrever seus nomes seguidamente no código. Neste artigo, por exemplo, os Registradores Holding utilizados para conter os valores provenientes dos potenciômetros são chamados VALOR_POT1, VALOR_POT2 VALOR_POT3. É importante ressaltar que após as declarações dos respectivos Registradores Holding, deve-se escrever HOLDING_REGS_SIZE (informação utilizada pela biblioteca para identificar a quantidade de Registradores Holding que estão sendo utilizados) e em seguida cria-se a variável holdingRegs para a manipulação dos registradores em questão.

Na função setup() utiliza-se primeiramente a função modbus_configure() para determinar os parâmetros necessários para estabelecer a conexão via comunicação serial utilizando o protocolo Modbus. Os parâmetros mais importantes para este artigo são o segundo, o terceiro e o quarto que dizem respeito à taxa de transmissão de dados, o formato do pacote utilizado no protocolo Modbus e a identificação do escravo, respectivamente. Note que estes três argumentos citados devem estar em conformidade com as configurações do Elipse SCADA. Em seguida temos a função modbus_update_comms() que também é responsável pela comunicação via Modbus.

O conteúdo da função loop() começa com a função modbus_update() utilizada para a atualização dos valores dos registradores citados anteriormente. Em seguida, realiza-se a leitura da tensão aplicada às portas de entrada analógica A0, A1 e A2 e posteriormente os valores encontrados são convertidos em números inteiros contidos no intervalo entre 0 e 1023 utilizando a função analogRead(). Estes são armazenados nos Registrador Holding identificados como VALOR_POT1, VALOR_POT2 e VALOR_POT3 respectivamente.

Terceiro passo: Configuração do driver referente ao protocolo Modbus

O primeiro passo que deve ser realizado para manipular o Elipse SCADA diz respeito à criação de uma nova aplicação. Este procedimento pode ser realizado através do menu Arquivo, localizado no canto esquerdo da região superior da tela, conforme a figura 3.

Criação de uma nova aplicação com Elipse Scada
Figura 2 – Criação de uma nova aplicação.

Em seguida, o leitor deve clicar no ícone denominado Organizer para adicionar o driver necessário para a utilização do protocolo Modbus.

Acesso ao Organizer do Elipse Scada.
Figura 3 – Acesso ao Organizer.

Após o procedimento anterior, deve-se selecionar o item Drivers e em seguida clicar na opção novo para então procurar o driver necessário. Neste momento existe um detalhe muito importante que deve ser levado em conta. Os drivers citados encontram-se na pasta Drivers, que por sua vez está localizada na pasta em que o Elipse SCADA foi instalado. No entanto, o driver referente ao protocolo Modbus não é instalado em conjunto com o software, desta forma, deve-se entrar neste link, digitar Modbus no campo de busca, procurar por Driver Modicon Modbus Master (ASC/RTU/TCP) e, por fim, colar o arquivo Modbus.dll (extraído do download realizado) na pasta citada anteriormente.

Escolha do driver para comunicação Modbus no Elipse Scada.
Figura 4 – Escolha do driver para comunicação Modbus.

Assim que a inserção do driver for realizada deve-se selecionar o mesmo e clicar no botão Configurar e no momento em que a próxima janela for aberta, o leitor precisa acessar o botão Extras para conferir algumas configurações essenciais para o funcionamento do projeto.

  • O primeiro parâmetro que deve-se ter cuidado é o Modbus Mode, este está localizado na aba Modbus (é imprescindível que o campo esteja com a opção RTU Mode selecionada);
  • O segundo parâmetro diz respeito à porta utilizada para comunicação, que deve ser preenchido de acordo com a porta que está sendo utilizada (esta opção pode ser encontrada na aba Serial).
Configurações de conexão do driver no Elipse Scada.
Figura 5 – Configurações de conexão do driver.

Quarto passo: Criação da(s) tag(s) para aquisição de dados

O próximo passo consiste em incluir os Registradores Holding uma vez inseridos no código, para isso, deve-se novamente clicar no Organizer, porém desta vez o item que deve ser selecionado é o denominado Tags e posteriormente é necessário que o usuário clique no botão Novo Tag. Neste momento, o leitor deve escolher a opção Tag PLC, além de dizer a quantidade de tags que deseja criar (no caso em questão, serão 3 tags referentes aos 3 Registradores Holding).

Criação das tags no Elipse Scada.
Figura 6 – Criação das tags.

Na figura a seguir, pode-se ver alguns parâmetros de configuração das tags criadas, primeiramente, é importante que o leitor atribua alguma descrição às tags que estão sendo utilizadas e além disso, outros campos importantes que devem ser preenchidos são: N1,N2, N3N4. Por hora, basta que o leitor preencha os três primeiros campos com os números 1,3,3 respectivamente e o quarto com o número do Registrador Holding conforme a ordem de escrita do código (começando pelo número 1).

Configuração das tags no Elipse Scada.
Figura 7 – Configuração das tags.

Quinto passo: Criação dos elementos gráficos

Agora serão criados os displays para que os valores lidos nas entradas analógicas possam ser vistos pelo operador. Para realizar este procedimento, basta que o leitor clique no ícone referente à criação destes elementos conforme a figura a seguir.

Criação dos displays no Elipse Scada.
Figura 8 – Criação dos displays.

Após proceder conforme a instrução anterior, deve-se demarcar o tamanho desejado do display simplesmente segurando e arrastando o mouse para que o display seja criado quando o clique for solto. Neste momento, com um duplo-clique sobre o display recém-criado, abre-se uma janela para que o usuário possa alterar as propriedades do elemento, no entanto, o leitor deve primeiramente determinar qual das tags criadas será visualizada no display na aba Tags, para então, definir em segundo plano as outras propriedades do bloco.

Escola das tags para os displays no Elipse Scada.
Figura 9 – Escola das tags para os displays.

Finalmente, depois de alterar algumas configurações referentes ao visual dos displays, pode-se conferir o resultado na figura a seguir:

Resultado final dos displays no Elipse Scada.
Figura 10 – Resultado final dos displays.

Esperamos que você tenha gostado deste conteúdo, e sinta-se à vontade para sugestões, críticas ou elogios. Na próxima parte abordaremos outros conceitos, visando a progressão do aprendizado referente à manipulação desta ferramenta. Deixe seu comentário abaixo.

Outros artigos da série

Realizando acionamentos simples com Elipse SCADA e Arduino >>
Veja + conteúdo

Sou engenheiro eletricista graduado com ênfase em Controle e Automação pela Universidade Federal do Espírito Santo - UFES e Técnico em Eletrotécnica pelo Instituto Federal do Espírito Santo - IFES. Me interesso por todas as vertentes existentes dentro da Engenharia Elétrica, no entanto, as áreas relacionadas à automação e instrumentação industrial possuem um significado especial para mim, assim como a Engenharia de Manutenção que na minha opinião é um setor fascinante.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
16 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Wilson Santos
Wilson Santos
31/05/2020 19:33

Caro Daniel Madeira, gostei do seu artigo, vou tentar reproduzir aqui, estou iniciando com Arduíno e conhecia o Elipse como usuário e não imaginava poder unir essas duas plataformas, foi interessante. Bom trabalho

Marcelo De Souza
Marcelo Augusto de Souza
17/04/2020 11:06

Sensacional !!! Estou seguindo o passo a passo e vou tentar comunicar agora. Eu trabalho com automação industrial e estou aprendendo Arduíno agora. Minha ideia é usar o Elipse como supervisório e fazer as interfaces com as maquetes dos sistemas de controle reais usando o arduino para fins didáticos em escolas da rede estadual. Assim que eu conseguir te retorno. Parabéns pelo trabalho !!!

Victor Alexandre dodô da Silva
Victor Alexandre dodô da Silva
29/10/2018 18:15

Gostaria de um exemplo com o arduino uno com termopar tipo k e o elips scada passo a passo ?

celso acyr
celso acyr
24/08/2018 15:27

O codigo esta errado.
No enum diz VALOR_POT1, e em modbus_update(); diz POT_VALOR1, tive que deixar igual para funcionar.

Patricia de Oliveira Rosa
Patricia de Oliveira Rosa
Reply to  celso acyr
29/07/2020 04:21

Também estou vendo isso agora. Estão trocados.Coloquei VALOR_POT1 no enum para poder rodar.

Maikiel
Maikiel
10/08/2018 11:11

será que consigo comunicar o scada com o arduino nano?

Alvaro Peres
Álvaro
04/07/2018 01:02

Aos colegas que estão com problemas no ultrassônico, acredito que seja limitação do software…

Alvaro Peres
Álvaro
Reply to  Álvaro
04/07/2018 11:57

Eu tentei aqui a utilização do HCSR-04 e funcionou perfeitamente.. O software trabalha e até bem..

Raul Augusto Arruda
raularruda96
09/11/2017 11:13

Boa tarde, Estou tendo um problema de comunicação com o Driver, Fiz um circuito simples com um sensor ultrassônico acionando um led, incrementei todas as bibliotecas e o driver de comunicação no elipse, mas quando faço o teste leva alguns segundos para dar um erro de comunicação com o driver. se alguem puder ajudar, agradeço desde ja !!

Luis cesar
Luis cesar
19/08/2017 11:38

Pessoal pra quem tiver com erro na comunicação do driver, mesmo apos ter se assegurado de estar com a porta COM certa, que nem foi o meu caso, note o seguinte. Os parametros N1 N2 N3 e N4 preenchidos para as tags apresentados no artigo nao funcionaram para mim pois pelo que pesquisei: N1 = endereço do escravo na rede( por definição é 1 se voce nao alterou), logo N1 = 1. o parametro N2 = operação a ser realizada ( para o protocolo MODBUS: 1 = leitura e escrita de Words( holding register) 2 para leitura e escrita de… Leia mais »

Rodolfo Santos
Rodolfo Santos
16/04/2017 16:01

Estou como o mesmo problema do Edgar. Estou fazendo a supervisão do nível de um recipiente utlizando o sensor ultrassom HC-SR04 e o arduino UNO. Fiz exatamente como no post e a eletrobomba que uso é acionada corretamente, mas quando adiciono o sensor(apenas alimentando-o) surge o problema no driver. Já conferi as configurações no dirver e o hardware que estou usando e está tudo certo. Por favor me ajudem!

Gabriela Nascimento
Gabriela Nascimento
07/12/2016 12:20

Também estou com o mesmo problema do Edgar, como posso resolver?

Haroldo Amaral
Haroldo Amaral
Reply to  Gabriela Nascimento
07/12/2016 16:21

Aparentemente é um erro de conexão com o Arduino, podendo ser desde a configuração errada do driver modbus, tags ou mesmo que a porta COM selecionada está sendo utilizada por outro software.

Experimentem verificar a configuração do driver conforme este artigo. Após isso teste no próprio TAG, existe um campo “Testa conexão aqui” onde é possível testar a comunicação (escrita/leitura). Se funcionar nesta etapa provavelmente funcionará no modo de execução.

Talvez você goste:

Séries



Outros da Série

Menu