Este artigo visa auxiliar no desenvolvimento de projetos de automação utilizando o Arduino UNO, juntamente com o software SCADA Action₀NET. Apresentamos conceitos introdutórios para que o usuário possa criar aplicações cada vez mais elaboradas.
Definição do hardware
Utilizamos como hardware um sistema composto por um Arduino UNO, um led, e uma resistência com um valor de 280Ω. O objetivo deste projeto é desenvolver um sistema em que o usuário pode efetuar o acionamento do led.
Código para o Arduino
Inicialmente, inclua as bibliotecas necessárias para que o código a ser inserido no Arduino UNO funcione adequadamente por meio do protocolo Modbus. Esta se encontra no pacote anexo a este artigo (ModbusSlave.zip). Para incluir a biblioteca, abra o programa de configuração do Arduino, acesse Sketch > Incluir Biblioteca > adicionar biblioteca.ZIP e busque a pasta a qual se localiza a biblioteca.
Na mesma pasta na qual se encontra a biblioteca está o código do Arduino deste artigo.
No início do código, encontram-se as definições das bibliotecas importadas:
#include <modbus.h>
#include <modbusDevice.h>
#include <modbusRegBank.h>
#include <modbusSlave.h>
Em seguida, declaram-se dois parâmetros das bibliotecas modbusDevice e modbusSlave:
modbusDevice regBank;
modbusSlave slave;
Na função setup(), listam-se informações na seguinte ordem: a função responsável por definir o endereço de identificação do escravo, o endereço da variável de saída, velocidade da comunicação serial e a saída física do Arduino.
void setup()
{
regBank.setId(1);
regBank.add(13);
slave._device = ®Bank;
slave.setBaud(9600);
pinMode(13,OUTPUT);
}
O conteúdo da função loop() define a dinâmica de ligar e desligar o led.
while(1){
byte D13 = regBank.get(13);
if (D13 <= 0 && digitalRead(13) == HIGH)digitalWrite(13,LOW);
if (D13 >= 1 && digitalRead(13) == LOW)digitalWrite(13,HIGH);
slave.run();
Configuração do Action₀NET
Agora iremos realizar a interação do Arduino UNO com o Action.NET.
Crie um novo projeto. Abra o aplicativo Action₀NET, acesse New Project e, após preencher os dados do projeto, clique em Create New Project. Em seguida, crie uma tag que será usada para controle do led. Acesse Edit > Tags > Objects e configure as colunas citadas como:
Name: Arduino
Type: digital
Em seguida, acesse Edit > Devices > Channels, clique em Create new e configure conforme a imagem:
Na linha criada, clique no campo Protocol Options e defina a seguinte configuração:
Clique em Settings e defina a configuração de acordo com os seguintes parâmetros:
Nota: o campo Com deve ser configurado conforme a porta padrão do Arduino utilizado.
Acesse Edit > Devices > Nodes e clique em New. Siga a seguinte configuração:
Clique no campo PrimaryStation e insira o valor definido para o endereço do slave, neste caso: 1.
Acesse a coluna Points, e em TagName, insira o nome da tag criada. A linha ficará configurada desta forma:
Um clique no campo Address revelará os tipos de operações próprias do protocolo Modbus:
Neste exemplo, será utilizado o tipo Coils. No campo Address, insira o endereço configurado no código anterior (13). Observe a imagem do ponto final:
Execute a aplicação, acessando Run > Startup. Marque os campos opções conforme a imagem:
Clique em Run Startup: a comunicação entre o Action₀NET e o Arduino será iniciada.
Na tela Watch, aberta após o final da execução, pode se efetuar o acionamento do led, alterando-se o valor da tag Arduino para 1 ou 0.
Projeto Default (Arduino)
Anexo a este artigo, há um projeto que pode ser usado como modelo, no qual já se encontram telas configuradas para aplicações desktop e mobile.