Anda di halaman 1dari 17

Autor : Paulo Roberto Rangel Falco

Duque de Caxias RJ 23/09/2012.


Tutorial Comunicao ModBus RTU com Arduino e o Supervisrio Elipse Scada
Bom, apresento neste momento um pequeno Tutorial para efetuar a comunicao ModBus, no Supervisrio Scada
com a plataforma de estudo Arduino.
Neste artigo no uma explicao do Software Elipse Scada, e sim uma uma breve ajuda para que possamos efetuar a
configurao do drive de comunicao ModBus RTU com o Elipse Sacada.

Os Testes foram feito na plataforma Arduino Duemilanove 328 e do Software Elipse Scada Elipse Demo
v2.29 build 126.

O Software pode ser baixado no endereo:http://www.elipse.com.br/port/download_scada.aspx


1 Passo Ser uma pequena explicao do protocolo ModBus RTU. Somente sendo abordado os holding register.
2Passo Ser uma pequena explicao da modificao que eu efetuei no programa ModBus Slave.
3Passo Ser uma pequena explicao do painel Principal do Software Scada Elipse.
4Passo configurao do drive Modbus.
5Passo inserindo objetos e tags.

Protocolo Modbus
Histria
Criado em 1979, para comunicao entre controladores da Modicon (Schneider).Especificao aberta desde
o inicio,fcil operao e manuteno.
Padro de fato ao ser adotado por vrios fornecedores. adotado em vrios nveis de aplicaes, inclusive
sistemas de superviso.

Padro do Protocolo Modbus


O Padro ModBus define um protocolo de Mensagem na camada de aplicao , posicionando no 7 nvel do
modelo de referncia OSI que prov comunicao Cliente /Servidor entre dispositivos conectados a diferentes tipos
de barramentos ou topologia de rede.
Este padro tambm especifica um protocolo de comunicao serial para requisies ModBus entre um mestre e um ou
vrios escravos.

Protocolo Modbus em Linha Serial


Na cama fsica os sistemas ModBus em linha seriais podem usar diferentes interfaces fsicas
(RS485,RS232 e etc). A interface RS485 de 2 fios(Half Duplex) a mais comum.
No entanto, a interface RS485 de 4 fios(Full Duplex) tambm pode ser implementada. A interface serial
RS232 s pode ser utilizada quando uma comunicao ponto a ponto de curta distncia.
OBS: sobre a distncia de comunicao da rede RS 232 depende do hadware,pois j estendi um
cabo para esta comunicao a mais de 50 metros e o sistema funciona perfeitamente.

Funo ModBus
Como a modificao da biblioteca ModBus Slave foi efetuada somente nos holding register ento s abordarei este
registrador neste tutorial.
A Funo 3 (Read Holdig Register) Efetua a leitura dos valores dos registradores de memria do endereo (40XXX ).
dentro da biblioteca do ModBus, Slave pode ser criado um valor considerado de registradores para serem atrelados a
pinos do Arduino ou incorporados a variveis para que o mestre possa ler seus valores, e assim podendo ser
visualizado em um Display, Ou compartilhado para outros componentes da rede como: outra plataforma Arduino,
CLP, IHM , Etc...
MESTRE

ESCRAVO1

ESCRAVO2

ESCRAVO3

ESCRAVO 4

ModBus Slave programa Modificado

Na figura acima mostrado como foi criados registradores, como est sendo utilizado os holding register foi
endereado com especificado na norma ModBus.
A figura acima ser utilizado como uma tabela para enderear quando estiver configurando os tag no Elipse.
Os controladores universais industriais trabalham nesta mesma ordem cada registrador atrelado h uma funo.
EX : SP: registrador 40001,PV 40002.
Dados retirado do manual do controlador universal modelo CPM49 fabricado pela Contemp.

Configurao serial
const unsigned char SLAVE = 10; este parmetro configura o endereo do escravo.
const long BAUD = 115200;
este parmetro configura a velocidade de comunicao da porta serial.
const char PARITY = 'n';
este parmetro configura a pariedade da comunicao da porta serial.
const char TXENPIN = 2;
este parmetro configura o pino que habilita e desabilita o CI MAX 485 quando
est sendo usado o conversor 485/TTL.

Na figura acima mostra como que foi atrelado os pinos do Arduino com os registradores
regs[MB_40000] = analogRead(A0); neste registrador ele assume qualquer valor analgico que seja submetido ao pino
A0.
analogWrite(3,regs[MB_40006]); neste registrador ele enviar um valor para o PWM do pino 3 ou pode ler o valor
do PWM quando for inserido anteriormente.
OBS: a funo analogwrite(). Assume valores de 0 255, ento no ser possvel enviar valores maiores que 256.
DigitalWrite(2, regs[MB_40012]); neste registrador ele enviar um valor digital para o pino 2 ou receberaum valor inserido
no pino 2.
EX: acionamento de um rel ou leitura de um boto sem eu respectivo pino.
Agora grave o programa Elipse_Modbus em eu Aduino para podermos configurar o Software Elipse Scada.

Muito importante!!!!!!!!

Os valores que so enviados para os registradores especialmente as entradas analgicas no foram acrecida de
nenhuma funo matemtica para correo ento ser necessarissimo inseri-las para calibrao.
Resumindo os valores so puramente o que ser injetado na entada do respectivo pinos.

Supervisrio Elipse Scada


A pois do software est devidamente instalado ser necessrio a verificao do drive Modbus.DLL em C:\Arquivos de
programas\Elipse SCADA\Drivers, normalmente so instalados com o software,mas prudente verificar.
Caso ocorra algum problema e o arquivo no esteja na pasta possvel baixar no site da empresa.
A figura abaixo ilustra o descritivo.

Clik no cone que foi criado no desktop para iniciar o programa.

Apos o procedimento, vai aparecer esta mensagem e clik e sim. para rodar o demo do software.

Ento aparecer a janela do software,observe que praticamente todos os componentes da paleta esto apagados isso
ocorre pois no existe nenhuma aplicao ento deveremos criar uma nova aplicao,que veremos nos quadros abaixo.

Ento Clik em arquivo menu,nova aplicao como mostra a figura abaixo.

Vai aparecer uma caixa de dialogo para salvar o nome e a localizao do aquivo, como mostra na figura abaixo.

Agora o ambiente de desenvolvimento est pronto para comeamos efetuar as configuraes. observe que aps a
criao da aplicao todos os componentes da paleta esto acesos.

Adio do drive ModBus

1 passo acessar o componente Organize onde se encontram os drives,tag ,etc.


2passo dentro do da caixa de dialogo Organize clik em drive.
3passo clik em novo para adicionar um novo drive.

4 passo apois de aberta uma nova caixa de dialogo ser necessrio localizar o drive: A localizao do drive se encontra
pagina 4 no inicio do tutorial.
5abrir o drive.
A figura abaixo ilustra pasta Organize aps a adio do Drive.

Configurao do Drive

1passo: Click em configurar.


2passo: Em Propriedades do drive Click em avanado.
3passo:marque a opo inicia drive quando carregar a aplicao e clik em OK: Se no fizer este procedimento o drive
no carrega quando rodar a aplicao.

Continuao

1passo: Click em extras.


2passo: Em ModBus Functions necessrio efetua ar seguinte modificao Func.= 03, data= int 16
3passo:No quadro ao lado onde sero feitas as modificaes apois o preenchimento do quadro pressione ok pra efetuar
as mudanas.
OBS:desmarque Use Older Address.
Abaixo apresentado como deve ficar a configurao.

OBS:desmarque Use Older Address.

Aps a configurao da funo que ser acessada ser necessrio configurar aporta serial do drive click na aba serial
e efetue a configurao como mostra a figura abaixo:

OBS:A (COM) que ser utilizada mesma que est sendo usada pela a IDE do Arduino. Os dados da comunicao
Serial do programa ModBus Slave est sendo explicada na Pag. 3.
Aps a configurao feche os Dialogos, Menos o do organize, pois no prximo passo ser criado o tag pra poder testar a
comunicao.

1passo: Click em tag.


2passo: Click em Novo tag
3passo: Click em Tag Plc____. utilizado para trocar informaes com os equipamentos de aquisio de dados (escrita
e leitura).
4passo: de um nome para o tag e a quantidade de tag que voc deseja em seu projeto. E pressione a tecla Enter.

1passo: podemos ver o tag que foi criado. A ideia de criar o nome do tag esma de criar uma variavel.a escolha do
nome desejavel que seja sujestivo como estamos associando aos registradores do Arduino ento no vou criar um
tag( cachorro quente).ento criei o tag REG_40000. Pois vai ser o registador que eu vou acessar no Arduino.
2passo: Neta janela podemos observar o nome do drive que estamos usando neste exemplo.
3passo: nesta janela podemos observar os 5 campos para configurao: N1,N2,N3 e Scan
N1=Endereo do escravo no nosso caso 10.
N2= Funo do drive que funo Holding Register 3
N3=No usado.
N4= Endereo do registrador no nosso casso o 40000 que est atrelado a entrada analgica do Arduino A0.
Scan = . o tempo que o drive leva para atualizar os seu dados esta setado para 1segundo.
4 passo: Eonde poderemos testar a comunicao do Arduino com o Software Elipse Scada.
Caso voc tenha seguido todos os passos descritos acima, Nesta janela aparesentara o valor que poder ser visualizado
na figura abaixo aps pressionar o boto ler .

Se ocorrer a resposta leitura OK. Significa que voc segui os passos anteriores muito bem.
Agora vamos adicionar um objeto na nossa aplicao. E adicionar um tag. Feche o dialogo Organize e v na paleta de
componentes e d um o Click no componente Display e o arraste para o meio da tela como mostra a figura abaixo.

D um duplo Click no objeto Display. abrir um dialogo chamado Propriedade do Display.


1passo: Click na aba tag.
2passo: D um duploClick em Aplicao e um duplo Click na pasta tag, e selecione o tag REG_40000.
3passo:Pressione o boto Adicionar e pronto. J adicionamos um tag para o Display.
4Observe que a mensagem que esta no centro do Display mudou como mostra na figura abaixo.

Agora feche o dialogo do Display e pressiona a tecal F10 do seu teclado para rodar a aplicao como pode ser vista na
figura abaixo.

Referencias;
Manual do driver Modicon Modbus
Tutorial Elipse Scada.
Rede Modbus Eng. Marcelo Saraiva Coelho.
Biblioteca Modbus Slave: Andr Sarmento Barbosa

4sdshbnbn

HTHRTHHRT

RTRTRTHRTHRTT

WEFGRRRDSVSDFVIIOIOPLUIUUIIU

TJ65

Anda mungkin juga menyukai