Boa tarde,

   Estou realizando um projeto de construção de um sistema de controle de nível e temperatura que posteriormente irei aplicar técnicas de controle básica e avançada. Uma das etapas desse projeto é a construção de um sistema supervisório/especialista para monitoramento das variáveis do sistema. Para isso estou usando o software ScadaBR, porém estou tendo problemas para realizar a leitura dos sensores. Que persiste desde o cadastramento dos Data Sources até a própria leitura dos mesmos no watch list .

    Já utilizei da biblioteca que segui no guia do site Embarcados https://www.embarcados.com.br/arduino-e-scadabr/ e nada aconteceu. Quando ia procurar os nós do sistema ele não achava nada.

   Segui também o guia descrito pelo professo Roberto que possui canal no youtube, no video https://www.youtube.com/watch?v=JUo632Ob4kc&lc=z235s35aaxj4uf5w... em questão ele retrata a utilização da biblioteca Modbusino e não a SimpleModbusSlave  no código do Arduino antes de compilar para a placa Elipse Scada. O mesmo comenta que a SimpleModbusSlave não funcionou com ele, mas sim a Modbusino. No vídeo ele usa o software Elipse Scada (que por ventura também tentei realizar a conexão com Arduino e não consegui).

    A grande questão é,  refiz todo meu código em casa e testei com minha placa Arduino no meu Desktop (apenas a placa mesmo, sem a conexão de nenhum sensor...) e funcionou. Apareceu tanto o nó no ScadaBR como a leitura da possível entrada do sensor na Watch List (porém com um aviso que "talvez a leitura do dados não fosse confiável) mas estava lendo  (pensei que podia ser, do fato que não estava nada conectado no Arduino) . E no Elipse Scada consegui realizar a leitura  das Tags.

Enfim, uma grande historia de vários problemas que não consegui desvendar que por@#$ é essa que está acontecendo. Hoje tentei testar no sistema de nível em duas etapas:

  1.  Sem sensor nenhum, direto no meu Arduino, e por ventura o ScadaBR conseguiu ler o nó (testei 4 vezes).
  2. Depois conectei na minha placa os sensores, compilei o código e fui no Arduino tentar achar o nó e não funcionou. Ele não conseguiu encontrar nenhum (tentei 4 vezes).
  3. Testei na placa que meu orientador disponibilizou para o projeto com os sensores conectados e sem os sensores conectados e simplesmente não funcionou nela de modo algum.

Please, me ajudem. Deve ter alguma alma dentro destes microcontroladores que não to conseguindo de jeito nenhum criar esse sistema supervisório, tanto no ScadaBR como Elipse Scada.

OBS: Estou adicionando as duas bibliotecas citadas no texto. Fico no aguardo!

Exibições: 1069

Anexos

Responder esta

Respostas a este tópico

Olá,

No meu canal tenho estes videos que fiz oportunamente com o Elipse, veja se ajuda.

https://www.youtube.com/user/kwiekbrasil/search?view_as=subscriber&...

Abs.

CK

Bom dia Felipe,

Para testar, já tentou diminuir a velocidade de comunocação 

{
Serial.begin(115200);
modbusino_slave.setup(115200);

}

Está em 115200, tente com velocidade de 9600. Com essa biblioteca, é necessário Serial.begin? Só lembrando que deve alterar no codigo e tambem no ScadaBR.

Realizei agora a retirada do Serial.begin e funcionou, já tinha funcionado anteriormente. Agora por ventura, estou no meu Desktop e tentei realizar a conexão dos dois arduinos que relatei no post e o ScadaBR conseguiu encontrar os nós. 

Outro problema é a criação dos data source, eu seleciono modbus serial, porém quando vou na watch list ele não lê nada. Tentei agora seguindo um video do próprio escada criando um data source do tipo virtual e ele conseguiu ler meu sensor de temperatura DS18B20. Queria saber se criando todos os data source no tipo data source virtual dará algum problema...

Além disso, no projeto projeto possuo três sensores de nível digital, 1 sensor de temperatura DS18B20, um relê de 8 canais (conectados uma resistência 220V, Válvula solenoide 220V e uma bomba d'água DC 15V). Fora isso tenho três leds que indicam se o sistema está esvaziando, se a bomba está ligada, e se o sistema está enchendo.

Queria saber se quando for criar os data points, que tipo de faixa de registro teria que colocar para cada componente e tipo de dado modbus  que teria que modificar... Pois a maioria dos guias que segui na net não resolveram meu problema...

Assim, depois de criar o data source, configurar a velocidade correta, vai criar os data points. Pelo menos no meu codigo ( aquele que postei no outro post), uso faixa de registro - reistrador holding. Para Os sinais analogicos, sensores de nivel por ultrason por exemplo, uso inteiro de 2 bytes sem sinal. Para sinais discretos, que so variam 0 e 1,  ai no seu caso status de reles e led´s, usa-se o sinais binarios.

Entendo. Quando chegar em casa realizarei novamente outros testes utilizando sinal binario para os leds e sensores de nivel digital. E para sensor analogico inteiro de 2 bytes sem sinal. E talvez volte aqui com indagacoes.

Testei criando um data source do tipo modbus serial e lá dentro configurei o data point para 2 bytes sem sinal e mesma assim não funcionou. Quando fui na watch list, o ScadaBR  está lendo o registrador porém sem dado algum...

Bom dia Felipe, 

Legal que conseguiu a comunicação! Eu já tive muitos problemas com a questão de indicação do ds18b20. Quando ele indica 0, pode ser problema de mau contato, pois é quando ele entra em falha. Sugestão: Teste a indicação dele usando a comunicação serial, sem ser modbus. Usa o monitor serial para confirmar a indicação do sensor. Depois de ter certeza que está funcionando certo, parte para o modbus.

Não consegui realizar as leituras por meio do ScadBR, nada funciona... Nem com os Data Source Virtual  nem com a Modbus Serial... Desistir de utiliza essa plataforma bugada e estou tentando integrar a leitura dos sensores por meio do ESP8266-01 e ThinksSpeak.

Além do mas, aquela imagem que mandei do sensor de temperatura conseguindo realizar a leitura está errada, o sensor nem estava ligado e o mesmo indicando valor de 25 ºC e variando... 

Acabou que nenhuma biblioteca de leitura funciona. O código está correto, tanto no quesito cadastro dos registradores como na criação dos data points, etc. Se eu realizar a leitura por intermédio da serial (via IDE Arduino) eu consigo ver os valores, porém dentro do ScadaBR não. Deve um bug próprio do software...

Irei postar este mesmo problema no próprio fórum do ScadaBR, pois acredito que lá conseguirei respostas. Mesmo assim, obrigado pela atenção Julio, apenas você dentro das 41 pessoas que visualizaram o post tentaram me ajudar. Bom final de semana.

Disponha, como comentei, não utilizo nenhuma biblioteca para modbus serial nos meus codigos, somente o codigo que postei. Já tentei utilizar varias bibliotecas mas nenhuma funcionou. O codigo modbus que postei é 100% funcional, seria somente retirar a parte dos sensores do meu codigo e colocar os seus.

Se quiser, coloquei seu codigo dentro do codigo modbus que uso. Talvez vc tenha que ver algumas partes que não compreendi, como o inicializa() que não esta no escopo. Da uma olhada e teste se quiser ainda. Deve compilar com IDE 1.0. e colocar as bibliotecas dentro da IDE 1.0

algoritimo.ino

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço