Arduino Esclavo Modbus RTU (RS232)
Hemos visto gran cantidad de pruebas de Arduino en las cuales se han implementado protocolos industriales en esos el protocolo modbus RTU (binario) en esta ocacion hemos realizado pruebas configurando Arduino como Esclavo Modbus RTU.
Pruebas
Dado que se pretende que se realicen integraciones industriales el arduino se comunicara con un simulador modbus via RS232, en este caso utilizamos un Arduino Mega 2560 el cual cuenta con mas puertos seriales, hemos realizado una serie de modificaciones a la libreria modbus esclavo para que nuestro Arduino pueda ser programado por el puerto Serial principal Y el Serial1 sea solo modbus esto con el fin de facilitar la programación que caso de realizar modificación y/o correciones.
Utilizaremos adicional un chip Max232 para convertir el protocolo modbus de voltajes ttl a 5v a RS232, aunque dicho convertidor se vende normalmente hemos decido ensamblarlo (MAX232 DIY ) para no perder la tradicion de fabricar vuestas PCB.
Incialmente nuestro Arduino MEGA 2560 R3 se conectara a un Simulador modbus que funcionara como Maestro via RS232.
Arduino Mega 2560 Esclavo Modbus RTU (RS232)
Conexion Arduino MAX232
Arduino Mega 2560 R3
Conclusiones
La libreria modbus funciona muy bien respetando las velocidades, recomendado utilizarla a 9600 bauds, no significa que a 115200 no funcione solo que queremos mas seguridad en las transimisiones.
La libreria fue modificada para funcionar con el Serial1, en este caso con el arduino Mega, de requerir que funcione con el puerto por defecto de arduino editar la libreria y remplazar en todos los caso Serial1 con Serial1 y deberia funcionar normalmente.
Recomendamos el uso de la libreria de Arduino como esclavo Modbus en el caso de aplicaciones basicas de automáticamente, como lectura de perifiericos I/O y posterior envio de datos a un maestro ya sea PLC, PAC HMI, SCADA opc o dispositivos IoT, a medida que avancemos en nuestras pruebas realizaremos integraciones con PLC, HMI, SCADA y IoT (Node-RED).
Referencias
Descargas