LusoRobótica - Robótica em Português
Software => Software e Programação => Tópico iniciado por: KammutierSpule em 16 de Fevereiro de 2021, 18:56
-
Viva,
Tenho andado à procura de um protocolo que funcione com um barramento partilhado entre dispositivos (half-duplex)
que sirva para funcionar com RS485
Os protocolos antigos, não atraem muito, ou teria que ser algo desenvolvido "em cima deles".
Interessante, seria algo mais parecido com CAN.
Alguém conhece alguma coisa?
O meu cenário é: um dispositivo principal e dois nós.
Alguem tem sugestões?
-
Depende do tipo/quantidade de dados..
Modbus RTU ou DMX ou simplesmente uma UART a funcionar em modo 9 bits e comutas dados/comandos com o 9º bit, ou outra coisa completamente diferente.
-
Acho que podes usar o data layer do CAN sobre o rs485.
Senão usa um dos populares como o DMX, sempre acumulas conhecimento que pode ser útil no futuro.
-
Não estudei ainda em detalhe esses protocolos, mas, pelo pouco que vi:
Modbus RTU: é um protocolo Master/Slave. Também não gosto da parte dos "registos", é simples mas restritivo. Eventuamente suponho que de para contornar.
No meu caso, o Slave vai ser um interface com utilizador, que tem de enviar logo os eventos.
Teria de estar a fazer polling muito frequentemente.
DMX: vi que era daisy-chain, no meu caso pode não ser possivel ligar dessa maneira.
Tambem nao percebi se era unidirecional ou tambem pode ser comunicacao bi-direcional.
CAN: pensei que depois não poderia usar, exemplo, um PC normal com porta série para testar e ligar nesse barramento.
Um exemplo que encontrei de um protocolo foi este:
https://github.com/dukelec/cdbus_ip
Permite multi nós, comunicação assíncrona por qualquer nó no barramento.
O funcionamento do protocolo é idêntico a como o meio fosse um meio de radio frequência.