Tag Archive Modbus

PorSatoshi

¿Modbus y Arduino combinados?

Modbus y Arduino: por un lado un protocolo de comunicación con un larguísimo recorrido en el mundo industrial del que hemos hablado en otras entradas. Por el otro, una marca que desarrolla placas Open Source de la que Opiron ha hablado largo y tendido en muchos tutoriales. De hecho, tenéis la sección de Arduino abierta en nuestro canal de Youtube. ¿Qué pasaría si combináramos ambos?

¿Un dispositivo con Modbus y Arduino?

Sigamos avanzando en nuestro concepto: Modbus es un protocolo de comunicación que desde hace unos años es libre, y por lo tanto, puede implementarse en múltiples dispositivos sin necesidad de pagar royalties. Por el otro, Arduino es también una plataforma de hardware libre, con una comunidad de programadores y recursos enormes.  Las posibilidades de combinar ambas tecnologías son muchas, pudiendo ampliar las capacidades de comunicación de las placas Arduino con:
  • Sistemas SCADA.
  • Sistemas PLC, RTU.
  • Redes industriales ya existentes.
Pero seguramente conviene no quedarse ahí, puesto que Modbus además aporta la seguridad de apoyar nuestros proyectos sobre una tecnología absolutamente robusta y probada en el mundo industrial.

Modbus: ¿TCP o RTU? 

Cuestión de tecnología: Como sabemos, de Modbus tenemos diferentes versiones, desde las versiones Modbus RTU hasta las Modbus TCP. Por suerte, todas ellas son integrables con los módulos Arduino gracias a la gran cantidad de librerías desarrolladas para tal fin.  Elegir una u otra dependerá de las necesidades de las comunicaciones que debamos implementar así como de las redes donde se deba integrar el dispositivo. Te recomiendo leer esta entrada para más información.

Arduino ¿Qué placa?

En cuanto a Arduino, ¿Es Modbus implementable en cualquier placa? La respuesta corta es sí…  Al menos Arduino Mega, Uno o Leonardo sí lo son (probado!)

¿Quieres aprender a implementar Modbus con Arduino?

Es evidente que las ventajas de combinar ambos son enormes. Ahora bien, aprender por separado ambas tecnologías (aunque ya sepas al menos una de ellas), no es tan fácil. Por mucho que haya librerías y recursos disponibles en internet. Por ello, te proponemos que leas esta entrada puesto que hemos lanzado un curso que te permitirá convertirte en un experto de ambas tecnologías.

Curso de Modbus 100% Online

¿Listo para dar el salto definitivo para ser un experto en Modbus? Es el momento de hacer el curso de Modbus Online que hemos preparado para ti.

  • Ebook a todo color
  • Ejercicios con Arduino
  • Vídeos
  • Códigos y librerías de Arduino
  • Materiales Descargables
PorSatoshi

Mapa de memoria de Modbus

Para comprender el mapa de memoria de Modbus, basta recordar que Modbus es un protocolo desarrollado para PLC’s, y que a estos se les pueden conectar básicamente 4 tipos de instrumentos: de salida digital, de entrada digital, de salida analógica y de entrada analógica, que coinciden con las 4 áreas que describimos a continuación.

Mapa de memoria

Coils 

Las salidas digitales, también llamadas coils en la mayoría de biblografía que podáis encontrar. Cada registro dispone de 1 bit. La región de salidas digitales va de la dirección @1 a @9999. Por lo tanto, esta región del mapa de memoria ocupa 10.000 bits, y cada bit puede representar una salida digital.

Inputs

Las entradas digitales, también llamadas inputs en muchos libros. Cada registro dispone de 1 bit. La región de entradas digitales va en este caso de la dirección @10001 a @19999. Por lo tanto, al igual que en las salidas, el mapa de memoria de las entradas digitales ocupa 10.000 bits, y cada bit representa una entrada digital.

Input Registers

Las entradas analógicas, que podréis identificar como input registers en la mayoría de bibliografía. Cada registro dispone de 16 bit. La región de entradas digitales va en este caso de la dirección @30001-@40000. Por lo tanto, al igual que en las salidas, el mapa de memoria de las entradas digitales ocupa 160.000 bits. ¿Qué por qué ocupan más bits las entradas analógicas que las digitales? Pues porque en las entradas digitales sólo hay dos estados (abierto o cerrado), mientras que las analógicas pueden tener infinitos (2 elevado a 16) valores entre dos valores diferentes.

Holding Registers

Las salidas analógicas, que podréis identificar como holding registers en la mayoría de bibliografía.  Por lo tanto, al igual que en las salidas, el mapa de memoria de las entradas digitales ocupa 160.000 bits.

¿Y dónde están las direcciones @20001- @30000?

Por si no te has dado cuenta mientras ibas leyendo, entre el espacio que comprende las inputs y las holding registers queda un espacio de direcciones indefinido según el estándar Modbus.

Tramas Modbus

El mapa de memoria de Modbus es un reflejo de los instrumentos que podemos conectar a un PLC. Conocer el mapa de memoria nos permitirá optimizar los accesos a memoria de dispositivos externos, optimizar las conexiones y también depurar / diagnosticar problemas más rápidamente. Te recomiendo leer Tramas Modbus para entender cómo se forman los mensajes que envían y reciben los dispositivos en las redes.

Curso de Modbus 100% Online

¿Listo para dar el salto definitivo para ser un experto en Modbus? Es el momento de hacer el curso de Modbus Online que hemos preparado para ti.

  • Ebook a todo color
  • Ejercicios con Arduino
  • Vídeos
  • Códigos y librerías de Arduino
  • Materiales Descargables
PorSatoshi

Redes Modbus: Cuatro puntos a recordar

Imagina que eres un ingeniero de control y un día te llaman por problemas de latencia o sincronización en redes Modbus… ¿Qué parámetros debería consultar? Cada red puede tener sus propias particularidades, veamos 😉

Funcionamiento

Lo primero es lo primero: recordar el funcionamiento: En redes Modbus, las reglas de cómo fluye la comunicación las dicta el propio protocolo. En la comunicación, hay siempre un maestro que pregunta datos a uno o varios esclavos al mismo tiempo. El protocolo determina, en función del mensaje enviado por el maestro, qué acción debe tomar el esclavo (por ejemplo, abrir una válvula o comunicar un dato).

Capa física

Ya lo hemos mencionado en otros post, estamos hablando de un protocolo de aplicación y por lo tanto, podemos encontrarnos su implementación sobre diferentes medios fìsicos, en concreto, sobre RS-232 o RS-485 – Modbus RTU y Modbus ASCII- y Ethernet, Modbus TCP/IP. Si vamos un poco más allá, las comunicaciones serie y TCP/IP pueden ser implementadas  para conexión por cable, wireless, SMS o GPRS. En función de cada una además, tenemos más particularidades. En redes Modbus RTU, se prevé un total de 255 direcciones entre @1 y @254 para dispositivos, y la @0 reservada para broadcasting. Cabe mencionar de cada protocolo físico, el broadcasting no es posible sobre RS-232, mientras que en RS-485 el broadcasting se puede extender a 32 dispositivos al mismo tiempo. La velocidad de transferencia para estas redes está limitada a 19,2 kbps. En redes Modbus TCP/IP, puede haber más dispositivos en la red y también la velocidad de transferencia es mayor, 10/100 Mbaud. Esto convierte a Modbus en un protocolo IoT, tal y como comentábamos en esta entrada.

Cantidad de dispositivos

Parece obvio pero muchas veces, no se tiene en consideración. ¿Cuántos dispositivos tiene la red? La cantidad de dispositivos va a afectar en la latencia y sincronización de las comunicaciones.

Implementaciones

Por último, podemos encontrar muchas implementaciones diferentes. Por ejemplo, podemos encontrar dispositivos RTU que envíen datos de caudal remotamente desde varios kilómetros de distancia, pero también sistemas más locales conectados a un sistema SCADA.

Mapa de memoria Modbus

Hay muchísimas implementaciones posibles de redes Modbus, cada una puede tener características muy diferentes que van a determinar su rendimiento. No olvides estos cuatro puntos 🙂 Te recomiendo leer más sobre el Mapa de memoria Modbus.

Curso de Modbus 100% Online

¿Listo para dar el salto definitivo para ser un experto en Modbus? Es el momento de hacer el curso de Modbus Online que hemos preparado para ti.

  • Ebook a todo color
  • Ejercicios con Arduino
  • Vídeos
  • Códigos y librerías de Arduino
  • Materiales Descargables
PorSatoshi

¿Qué es Modbus?

Si preguntas a un ingeniero si existe un protocolo de comunicación popular, fácil de implementar, y con años de probada fiabilidad en entornos industriales exigentes, lo más seguro que te responda es una palabra mágica: “Modbus”. Con esta frase resumo el éxito de un protocolo de comunicación que lleva décadas de éxito.

¿Qué es Modbus?

Empecemos por lo básico, Modbus es un protocolo de comunicación industrial, que normalmente podemos encontrar en fábricas y edificios inteligentes. El objetivo del protocolo es la transmisión de información entre distintos equipos electrónicos conectados a un mismo bus. Muchos dispositivos de campo lo usan para poder comunicarse con PLC’s y SCADA’s.

La historia 

Nos tenemos que remontar hasta el año 1979 para recuperar la primera especificación de este protocolo de comunicación. En aquel entonces, los PLC estaban empezando a dar los primeros pasos y Modicon, una empresa que a posteriori fue absorbida por Schneider Electric, desarrolló este protocolo para sus PLC. En el año 2004 fue liberado y hoy en día la Modbus Organization da soporte y promueve su uso.

La tecnología

Las redes Modbus utilizan una arquitectura maestro – esclavo. El maestro inicia las comunicaciones (por ejemplo un SCADA) preguntando datos a un esclavo (por ejemplo un PLC), que le responde siempre en función de la pregunta hecha por el maestro. Cada dispositivo de una red posee una dirección única. Modbus es un protocolo de aplicación, lo que significa que puede implementarse sobre diferentes capas físicas. Es por ello que podemos encontrar versiones  TCP/IP, o también serie como RTU y ASCII. Por lo tanto, podremos usar Modbus tanto con cables de red como con cables serie, siempre que los dispositivos con los que interactuemos estén preparados para ello.

Te presento la serie de entradas sobre Modbus

Empieza hoy mismo a aprender sobre esta tecnología con la Serie Modbus
  1. El desafío de aprender Modbus por si sólo
  2. Redes Modbus
  3. Mapa de memoria Modbus
  4. Tramas Modbus
  5. ¿Es Modbus un protocolo IoT?
  6. ¿Cómo implementar Modbus en Arduino?
  7. Curso de Modbus
  8. 5 Razones para hacer el curso de Modbus
  9. Preguntas frecuentes sobre el curso de Modbus
  10. ¿Puedo probar el curso de Modbus gratis?
Si buscas una tecnología fiable y fácil de implementar, debes considerar Modbus como una alternativa a tener muy en cuenta tanto para proyectos de automatización tanto en la industria como en domótica.

Curso de Modbus 100% Online

¿Listo para dar el salto definitivo para ser un experto en Modbus? Es el momento de hacer el curso de Modbus Online que hemos preparado para ti.

  • Ebook a todo color
  • Ejercicios con Arduino
  • Vídeos
  • Códigos y librerías de Arduino
  • Materiales Descargables