Modbus TCP via celular

Olá pessoal.

Estou estudando a implantação de um sistema de telemetria via celular. Para tal, eu usaria um modem GPRS que permita comunicação transparente, encapsulando o modbus TCP.

O problema: as operadoras de celular fornecem apenas IPs variáveis aos modems. De todos os modems que pesquisei, apenas um é capaz de utilizar algum sistema de DNS dinâmico, onde apesar do IP variável eu teria uma URL fixa para indicar no ScadaBR.

Outro fabricante me indicou que uma possível solução seria, no momento de estabelecer a comunicação, o modem ser o mestre, e o ScadaBR o escravo. Assim, o ScadaBR ficaria agurdando uma comunicação de qualquer endereço em uma porta pré-determinada, e, a partir da comunicação iniciada, aí ele poderia assumir o papel de mestre. Segundo este fabricante, o Elipse Scada funciona desta maneira. Isto é possível no ScadaBR?

Boa tarde!

Tenta consultar no site da Altus o tutorial 150 e 151 (Downloads -> Tutoriais).
São exemplos de aplicação com o Elipse e CP da Altus comunicando via GPRS talvez sirvam como exemplos.

A jogada desta aplicação é que existe um software no meio que funciona como um gateway. Este software mantem as portas sempre abertas de modo que os CPs se conectem a ela e o supervisório também.

Outro site que poderia ajudar é da empresa Iplenix que fornece o serviço de servidor de dados. O scadabr poderia acessar depois estas informações.

Qualquer dúvida entrar em contato.

Oi Douglas, obrigado pela resposta.

Vi os tutoriais. O modem que eles apresentam lá como da Informat é da Itech:
http://www.grupoitech.com.br/detalhes_produto.php?id=387&pag=wireless&idioma=br

Eu estou em contato com eles, inclusive por enquanto é a melhor solução que encontrei, pois, além deste modem, eles possuem uma UTR já com o modem embarcado e que possui uma quantidade de I/Os suficiente para a minha aplicação:
http://www.grupoitech.com.br/detalhes_produto.php?id=403&pag=wireless&idioma=br

Minha questão se referia a uma solução de outro fornecedor, a Infinium:
http://www.infiniumautomacao.com.br/produto.php?id=21

Lá me informaram da possibilidade que descrevi acima, de o modem estabelecer a conexão diretamente com o Scada e a partir daí se tornar escravo. Mas pelo jeito o uso do datalinker também deve funcionar para este equipamento, se é que esse já não é o caso e a pessoa que me atendeu não soube explicar isso.

Porém, para mim a melhor solução seria o uso de um DNS dinâmico, pois aí a comunicação fica transparente sem a necessidade do datalinker, que necessita um PC com interface gráfica ligado o tempo todo. Eu já tenho um servidor Linux na empresa, onde roda o ScadaBR, se pudesse dispensar outro computador ligado direto seria uma boa, além de diminuir as interfaces entre o supervisório e o modem GPRS.

Até agora, o único modem que vi no mercado brasileiro que é capaz de propagar o próprio IP é o da Phoenix Contact. Ontem encontrei alguns importados, como os da Moxa, mas não pesquisei direito ainda. Se tiver interesse no assunto, posto posteriormente aqui os resultados da pesquisa. Mas estes são apenas modems, não possuem I/Os, ou se possuem, são apenas digitais, enquanto eu preciso de entradas analógicas de 4-20 mA também.

Se tiver interesse no assunto, vamos trocando experiência.

Abraço.

Eu trabalho numa empresa que tem modens que funciona com dns dinamicos e software proprietario para varias aplicações

da uma olhada se te ajuda em alguma coisa

http://miptech.com.br/

@arilson: O timeout realmente pode ser um problema pois depende de muitas variáveis.
Tenho uma aplicação rodando com MODBUS IP, estou usando um conversor RS485/ETHERNET. Funciona muito bem e dificilmente dá algum erro.

@rodrigomartinho: Eu não cheguei a usar a solução da Itech em produção, nos testes que eu fiz funcionou muito bem, eu pedi uma visita e eles me emprestaram uma peça, mas o meu cliente optou pela solução acima.

Olá pessoal eu também tenho pesquisado sobre esses conversores para usar com o Modbus TCP encapsulado no ScadaBR.
Cheguei a testar os conversores da Informat que oferecem a possibilidade de usar 2 chips de operadoras diferentes e o aparelho gerencia a conexão com a internet pelo melhor sinal disponível.
Porém ainda não consigo imaginar uma forma que dispense o uso de algum gateway ou DNS.

@rodrigomartinho: se já tens um servidor exclusivo para o ScadaBR penso que podes rodar teu software de “ponte” na mesma máquina.

É possível ainda usar o próprio windows como ponte, direcionando o sinal da porta serial para um endereço IP, nesse caso é necessário ter um pc local para se conectar com o scada remoto, porém se esse pc já estiver disponível dispensa o uso do conversor. Existem também muitos softwares free para este tipo de conexao.
Alguns links interessantes:
http://www.windowsnetworking.com/articles_tutorials/wxpbrdge.html
http://www.serialporttool.com/CommTunnel.htm

Meu objetivo é conseguir uma conexao direta com o ScadaBR e um conversor RS485/GPRS, seria uma boa idéia se fosse possível implementar uma conexao TCP relay como datasource no ScadaBR e depois poderíamos usar essa porta no Modbus IP.

O pessoal do ScadaBR já comercializa um sensor web e deve ter interesse nessa funcionalidade para poder extender as aplicações distribuídas. Vejam esses links, o primeiro eu já testei e funciona bem, muito simples.
http://www.kinostudios.com/tcprelay.php
http://www.dfr.ch/en/proxy.html
http://www.koders.com/java/fidE42E4535EECD1AB829182AFBFFA2DC50496FE501.aspx?s=Thread#L38

Desenvolvedores, é hora de se manifestarem…

Abraços,
Fernando

Rodrigo.

Existem outros protocolos que podem se usados, como GPRS roda como rede ethernet, prefira protocolos ethernet como Modbus/IP e SNMP.
Dispomos de uma linha de equipamento SNMP que podem facilitar sua aplicação.

Se desejar informe quantos e tipos de pontos que deseja monitorar que talvez possamos ajudar.

Acredito que os tempos envolvidos não vão permitir essa operação, na rede celular dependendo do tipo de acesso (3G ou GPRS ) pelo que já vi, os atrasos acabam causando time out  na rede modbus, alem do problema do IP dinâmico.
Acredito que a solução seria criar um Gateway:
[CLP]-----------------------[modemcelular]------------------[modemcelular]------------------------[supervisório]

…|modbus|…|http*|…|modbus|…

  • o http é só um ex. pode ser outro protocolo aqui.

    alem disso o supervisório poderia conectar direto com o http (no caso do ScadaBR) e qual o problema então?
    O problema é que para isso precisamos programar o modem para ser um componente modbus e nem sempre isso está disponível, é apenas uma idéia por enquanto…

Oi miruca.

Nesta pesquisa de modems GPRS que estou fazendo, também entrei em contato com a Miptech. Mas me informaram que o modem não é capaz de comunicação transparente, e que a princípio o objetivo da empresa é a venda da solução completa, com roteamento de dados e supervisório.

Interessante você falar que os modems da Miptech são capazes de propagar o seu IP para um DNS dinâmico, pois o que eu tinha entendido é que a solução para este problema era através de um roteamento de dados realizado pela própria empresa (talvez também com o DataLinker?) e parte do pacote de serviços.

Oi Arilson.

O que você sugere é, ao invés de eu usar o supervisório conectando ao modem GPRS direto pela internet, eu usar outro modem do lado do supervisório? Não compreendi de que maneira esta solução reduziria os timeouts…

Oi eliteacs.

Eu me referi a modbus TCP, mas creio que é a mesma coisa que modbus IP, não? No ScadaBR o protocolo é chamado de modbus IP, mas já vi ele sendo chamado de modbus TCP, ou modbus TCP/IP, como no próprio site do modbus (www.modbus.org).

Quanto ao protocolo SNMP, eu nunca o usei. Vou dar uma pesquisada sobre ele.

Passa o link da sua empresa para eu dar uma olhada. Na minha aplicação, precisarei monitorar 4 chaves de nível (liga-desliga), 2 sensores de pressão (4 a 20 mA) e um hidrômetro (saída pulsada ou m-bus) e acionar 4 bombas (saída relé).

Oi fmunhoz, a Informat é agora Itech. Interessante que você já tenha testado a solução deles, funciona bem?

A solução de roteamento deles, o DataLinker, só funciona em Windows. Assim, eu poderia usá-lo em um Linux desktop com Wine, mas não dá para rodá-lo em um Linux servidor, como seria necessário no meu caso. Então eu precisaria outra máquina rodando o DataLinker o tempo todo. Mas pelo que conversei com o pessoal da Itech sobre o funcionamento do DataLinker basta fazer o direcionamento de portas no roteador para cada uma das máquinas (a que roda o DataLinker e a que roda o ScadaBR). Por exemplo:

Datalinker: xxx.dyndns.org:502
ScadaBR: xxx.dyndns.org:1000

Aí, tanto o modem GPRS quanto o datasource modbus TCP/IP do ScadaBR seriam configurados para se conectar ao endereço xxx.dyndns.org:502.

Vou estudar os links que você passou e depois comento aqui novamente.

Oi Fernando,

Conversei novamente com o pessoal da Itech, me disseram que durante a transmissão é muito difícil dar timeout, e quando a conexão é encerrada por inatividade o modem se reconecta automaticamente.

De qualquer modo, não é apenas o caso de acertar o timeout no ScadaBR, o que no máximo acarretaria uma limitação no período entre medições?

Via cabo, eu também tenho uma solução funcionando em laboratório através de modbus TCP/IP, realmente funciona muito bem, mas para esta aplicação eu preciso que seja via celular.

Que conversor serial > ethernet você usa? E neste caso, você tem um modbus RTU encapsulado no TCP/IP, não modbus TCP/IP, correto?

Isso mesmo estou usando o encapsulamento do modbus serial.
O conversor é padrão RS485/ETH, os dois fabricantes são nacionais. O primeiro tem excelente custo/benefício.

http://www.venancio.ind.br/conv_ethernet.html
http://www.novacomm.com.br/ProdutosDetalhe.asp?IDProduto={4278438A-5C6D-4270-BB51-E5BED6D2AD44}&expand=no&IDCat={7DA4C0A2-43CE-4B5C-A35B-4FE02BC2C23C}&IDSubCat={5FA25DC8-6F96-4056-9C65-5508DC4835D5}

Esse da Venâncio é bem barato mesmo. E como vc faz no ScadaBR? Creio que um datasource modbus TCP/IP não funcionaria neste caso. Você tem que criar uma porta serial emulada?

O lado serial está conectado nos equipamentos da rede de campo e o lado Ethernet está ligado no roteador -> internet.
No conversor você configura as propriedades como se ele fosse a porta COM, Baud Rate, Paridade, etc…
No ScadaBR você usa o Modbus IP com a opção “encapsulado” ativa e direciona para o IP/porta do conversor.

Olá, não entendi tudo direito o que vc quer fazer, mas existe um shield do Arduíno, que comunica em GPRS, http://www.seeedstudio.com/depot/gprs-shield-p-779.html?cPath=132_134 será que isso não resolveria seu problema? Assim vc comunica o Arduíno via usb com seu servidor, instala o protocolo Modbus no Arduíno, como ensina esse post http://www.scadabr.org.br/?q=node/39 e o arduino via o shield GPRS se comunica com seu celular. Bom nunca usei, nem conheço muito, estou começando a usar arduíno, mas parece que pode servir.

Caso não queira comunicar em usb, vc pode colocar um gateway usb http://www.faludi.com/2006/12/08/xbee-dongle/ para comunicar via protocolo 802.15.4 com o arduíno (distância de 1,5km ou mais - precisaria de mais um shield Xbee ou ZigBee no arduino) e o arduíno via shield comunicar com o celular.

Só não sei a questão dos IP’s e DNS como que ficam neste caso.

Legal, não tinha entendido esta opção do modbus TCP/IP, agora faz todo sentido. É possível tanto usar o modbus TCP/IP quanto o modbus RTU encapsulado no TCP/IP.

Dei uma olhada nos links que você passou, não entendi muito bem, mas a idéia é dispensar o uso do DataLinker e tentar resolver o problema através do uso de um bridge ou de um TCP relay? Parece interessante, mas preciso estudar mais o assunto.

Vou ver a possibilidade de fazer tudo no Ubuntu Server. Será que eu preciso de outra interface de rede? Ou posso receber a conexão do modem GPRS em uma porta do servidor, e o datasource modbus TCP/IP do ScadaBR buscar os dados nesta porta? Estas soluções são novas para mim, ainda estou confuso a respeito delas…

Oi Fabio, a idéia a princípio era não precisar de um modem GPRS do lado do servidor também, apenas no cliente, comunicando diretamente via internet. Mas creio ser possível fazer desta maneira também, fazendo a comunicação direta entre modems. Creio que neste caso não haveria o problema do IP dinâmico.

Procure no site www.absltda.com.br.

A ABS é fabricante de modem celular e soluções para telemetria, transparentes ao protocolo de comunicação e que atenderão a sua necessidade.

Temos clientes que usam nossos produtos e o SCADA BR com sucesso.

Meu nome é Leandro e aguardo seu contato.