Bom dia Pessoal, sou novo no fórum mas algumas postagens daqui já me ajudaram,

Eu estou tentando criar uma rede onde o ScadaBR vai ser o mestre e 2 arduinos Uno serão os escravos.
Eu estou utilizando como protocolo de rede Modbus RTU, que está disponível neste tutorial http://www.labdegaragem.com.br/loja/ManualdoUsu%C3%A1rio.2RS485.pdf
Para a comunicação do computador com os escravos estou utilizando o KIT Shield RS485 + Conversor USB/RS485 vendido no site do lab de garagem.(http://www.labdegaragem.org/loja/kit-rs485-conversor-usb-rs485-shie...)

Então para testar a comunicação do primeiro arduino , 1 potenciometro, 1 lm35 e dois leds, e para o segundo arduino somente 1 potenciometro. Vou colocar em anexo o código de cada arduino.
Após fazer o upload dos códigos para cada arduino eu liguei os fios correspondentes (A B e GND do conversor nos As Bs e Gnds dos arduinos). Então criei o datasource Modbus Serial no ScadaBR
e configurei conforme o que coloquei no script do arduino, como a imagem a baixo


Como podem ver ali na pesquisa de nós a rede encontra os dois escravos que eu tenho ligado, encontra os 4 sensores do primeiro arduino e ainda encontra o valor do potenciometro. Quando eu faço com o segundo arduino ele também encontra os valores.
Então eu salvei o datasource, ativei os datapoints e fui na tela do watchlist pra ver a leitura dos sensores e ele não consegue ler, como eu mostro na imagem a baixo.


No conversor usb-rs485 eu estou com o jp1 jp2 e jp3 ligados, no primeiro arduino não liguei nenhum jp, e no segundo e ultimo arduino da rede eu liguei o jp2.
Uma coisa estranha que aconteceu é que quando eu retiro o segundo arduino da rede, a comunicação com o primeiro começa a funcionar, mas se retiro o primeiro da rede o segundo continua sem funcionar.
Também testei a comunicação no Elipse E3 e lá funcionou:


Pesquisei em outros tópicos o que podia estar errado mas não encontrei meu erro. Se alguém tiver alguma dica é de grande ajuda.
Também já visitei este link (http://labdegaragem.com/forum/topics/scadabr?id=6223006%3ATopic%3A1...) onde várias dúvidas foram colocadas, mas sem sucesso.

Abraço.

Exibições: 1524

Anexos

Responder esta

Respostas a este tópico

Para qual finalidade tem os leds para monitorar a temperatura?

Boa noite, a finalidade dos leds é utilizar somente para testar a parte digital com o scadabr,

para medir a temperatura eu utilizo o lm35.

Abraço

Olha, tenho a rede desse jeito funcionando.

Não será dificil resolver. Primeiro, acho sua frequencia muito alta. Coloca a cada 10s primeiro para testes.

Dai, depois de debugar tudo vc sobe a velocidade e frequencia para garantir.

coloca a velocidade em 9600.

Conta para nós seus planos. Depois dos testes o que pensa em fazer?

MInha ideia e  fazer controle de temperatura de uma estufa tipo se passar de tantos graus desliga o rele e se abaixar a temperatura liga o rele de novo, tipo sempre manter uma temperatura de 30 graus estavel.

Att,

Horst.

Oi Sidney,

Então,primeiramente eu modifiquei a baud rate para 9600 e testei, ainda continuou a mensagem dizendo que o valor do ponto pode não ser confiável, mas se eu coloco os leds do sistema para 1 eles acendem, os sensores analógicos(Potenciometro e Lm35) continuam sem dar sinal de vida.

O segundo teste que eu fiz foi aumentar o período de atualização para 10 segundos e testei, deu a mesma coisa que o primeiro.

Então, a ideia que tenho é depois de fazer este teste de bancada, é colocar ele para medir ph, temperatura, umidade e outros parametros de alguns tanques de um projeto que eu participo, e cada arduino seria "responsável" por um tanque.

Olá Guilherme,

Já que funcionou no Elipse podemos chegar as seguintes conclusões:

1 - O hardware está corretamente configurado e ligado;

2 - O sketch dos arduinos está correto;

3 - A configuração do Elipse está correta;

4 - O problema está configuração do ScadaBR.

No print screen da sua aplicação no ScadaBR podemos ver oque está errado, você colocou os data points do arduino 1 (slave 1) no Data source Teste, e os outros data points do arduino 2  (slave 2) em outro Data source (aaaaa).

O scadabr tem a limitação de não permitir a comunicação simultânea com dois datasources diferentes  (portas COM).

Além do mais, a sua rede está em toda ligada em uma única porta COM...

Portanto, para que as coisas funcionem no ScadaBR, coloque todos os data points (registros de um escravo) em um único data source.

Veja o vídeo onde eu mostro uma rede com 3 arduinos funcionando:

Em relação ao link do tópico SCADABR aqui no ldg, foi comentado várias vezes como se deve fazer esta configuração com mais de um escravo, mas é preciso ter paciência e perseverança para ler todas as postagens, que já passam de 1000...

Abraço.

Então Wiechert,

Eu fiz a configuração correta no scadabr, selecionei um tempo de atualização maior, configurei os parametros iguais em todos os arduinos e ali no data point fiz toda a configuração mudando o escravo, tipos de dados e offset.

Como estou sem fontes para alimentar os arduinos, eu estou utilizando as USB. O que eu percebi é que quando ligo o converso e um arduino nas usbs ele funciona. Se eu ligo o outro arduino em outra usb, o sistema já para de funcionar, mesmo sem os fios do A B e Gnd ligados no sistema. Então quero ver se amanha ou depois eu testo o sistema com fontes, que no meu ver pode ser este o problema. 

Abraço

Guilherme,

A questão é se você já colocou todos os datapoints no mesmo datasource...

Abraço.

Wiechert,

Configurei conforme encontrei aqui no fórum, e mesmo assim quando ligo o segundo arduino o sistema para de funcionar. Os leds do tx e rx do conversor apagam. Tentei aumentar o timeout mas nada de funcionar.

Eu estou usando agora o algoritmo do tutorial do shield, e só mudando o número dos escravos. No elipse e3 ele continua funcionando, mas no scadabr nada. Se tiver alguma luz do problema, seria de grande ajuda. 

Então pessoal, depois de muito quebrar a cabeça e arrumar alguns erros eu estou utilizando o arduino com fontes e testei com outro computador e esta funcionando. No fim das contas o ScadaBR deve tá  dando alguma incompatibilidade com o meu computador, vou tentar arrumar isso.

Obrigado pela ajuda

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço