Modbus

Uso de un PLC SIMATIC S7 de Siemens como maestro Modbus

Agustín Peláez
- 7 min read
Enviar por correo electrónico
El Siemens SIMATIC S7-1200 como Modbus Master permite centralizar los datos de los sensores, que posteriormente se pueden transmitir a una nube IoT dashboard como Ubidots.

El SIMATIC S7-1200 de Siemens es algo más que un controlador lógico programable (PLC): es una piedra angular de la automatización industrial. El protocolo Modbus, conocido por su sencillez y facilidad de implementación, es muy relevante en este caso, ya que facilita la comunicación industrial y la transmisión de datos dentro de la automatización de fábricas. Al configurarlo como Modbus Master, puede controlar y supervisar sin problemas varios dispositivos en tiempo real, lo que abre las puertas a una mejor comunicación entre dispositivos y al intercambio de datos. Imagine aprovechar la comunicación Modbus para compartir datos a través de una red industrial o conectarse a un IoT gateway para la supervisión remota. En esta guía, le guiaremos a través de todo el proceso, desde la programación del PLC hasta la simulación de la comunicación con un cliente Modbus.

¿Está preparado para liberar todo el potencial de su Siemens S7-1200 y tomar el control de su infraestructura de automatización? Sumerjámonos en el juego.

Introducción a Modbus y PLC

Modbus es uno de los protocolos más utilizados en entornos industriales. La mayoría de los PLC industriales, incluido el Siemens SIMATIC S7-1200, admiten varios protocolos de comunicación, como Profinet y Modbus. El propio Modbus se presenta en dos variantes comunes: Modbus RTU (que funciona con una arquitectura maestro-esclavo) y Modbus TCP (que utiliza un modelo servidor-cliente a través de Ethernet).

En este tutorial, vamos a demostrar cómo configurar el Modbus TCP IP S7 1200 como maestro y comunicarse con los dispositivos a través de una red industrial. También utilizaremos un simulador de servidor Modbus para probar la configuración.

Requisitos

Requisitos de hardware

1. PLC Siemens S7 (estamos utilizando el modelo S7-1212C DC/DC/DC, pero cualquier serie S7 con funcionalidad Modbus funcionará).

2. Cable Profinet/Ethernet

3. Fuente de alimentación para el PLC

Requisitos de software

  1. TIA Portal V16 (para programación y configuración de PLC de Siemens)
  2. MODBUS ClientX (un cliente Modbus TCP para simular la comunicación)

Configuración del hardware

Para empezar, conecte la fuente de alimentación al PLC SIMATIC S7-1200 de Siemens. Utilice un cable Profinet o Ethernet para conectar el puerto Ethernet del PLC a su PC o conmutador de red. Esta conexión es esencial para permitir la comunicación TCP/IP entre el PLC y su cliente Modbus.

Configuración del PLC S7-1200 en TIA Portal

  1. Inicie TIA Portal y cree un nuevo proyecto en "Vista de proyecto".
Inicie TIA Portal y cree un nuevo proyecto en "Vista de proyecto".
Inicie TIA Portal y cree un nuevo proyecto en "Vista de proyecto".
  1. Seleccione "Configurar un dispositivo" y luego "Añadir nuevo dispositivo". Elija su modelo Siemens S7-1200 y la versión de firmware correcta antes de hacer clic en "Añadir."
Añadir un nuevo dispositivo en el Portal TIA

En el árbol del proyecto, puede navegar y gestionar los componentes de su proyecto, como acceder a propiedades y ajustes de configuración.

Nota importante: Si el PLC ya contiene un programa existente, asegúrese de utilizar el mismo firmware y la misma versión de TIA Portal. De lo contrario, es mejor actualizar a la última versión disponible.

Configuración del PLC S7-1200 como maestro Modbus TCP

  1. Navegue hasta el bloque "Principal (OB1)" en la "Vista del proyecto" para empezar a crear un diagrama lógico de escalera.
  1. En la ventana "Instrucción" de la derecha, vaya a Comunicación -> Otros -> Modbus TCP.
La instrucción MB_SERVER que debe añadirse al programa principal

Arrastra la instrucción MB_SERVER a tu diagrama de lógica de escalera:

El bloque MB_SERVER
  1. Crear un bloque de datos:
Creación de un bloque de datos

Haz clic en el nuevo bloque de datos y añade estas dos variables:

  • Datos: Una matriz de tipo "Word" para almacenar datos Modbus (por ejemplo, valores iniciales como "21", "4" y "35").
  • Conectar: Tipo "TCON_IP_v4" como tipo de datos para configurar los ajustes del servidor Modbus TCP. Inmediatamente, verá aparecer una lista de variables de configuración justo debajo. Configúrelas como sigue:
    • El puerto local debe ajustarse a "502", que es el puerto por defecto para las comunicaciones Modbus TCP.
  • El InterfaceID es el ID de hardware del puerto ethernet de su PLC. En la comunicación TCP/IP utilizamos el puerto ethernet, por lo que el ID sería "64". Puede encontrar el ID en la página de configuración del dispositivo -> constantes del sistema:
  • ID es el ID del esclavo, hemos escrito "1". Más tarde, tendremos que utilizar el mismo ID en el simulador esclavo.
  • El tipo de conexión debe ser "11" para TCP.
  • Establezca RemoteAddress a la IP de su PC (se encuentra usando ipconfig en Windows o ifconfig en Linux/Mac)

El bloque de datos debería tener este aspecto:

Bloque de datos con dos variables: Una matriz de "palabras" y una variable TCON_IP_v4
  1. Por último, apunta la variable"Data" al campo MB_HOLD_REG del bloque Modbus, y la variable"Connect" al campo CONNECT del bloque Modbus:
El bloque de datos MB_SERVER, con las variables de configuración adjuntas.

Ahora, descargue la configuración al PLC Siemens haciendo clic con el botón derecho del ratón sobre el PLC y seleccionando "Descargar tanto el hardware como el software". Si tiene éxito, el PLC actuará como un servidor Modbus TCP, listo para la comunicación.

Simulación de la comunicación Modbus mediante la herramienta ModbusClientX

Lectura de datos Modbus utilizando ModbusClientX

Para verificar que su PLC funciona correctamente como maestro Modbus TCP, utilice la herramienta ModbusClientX para simulación.

  1. Abra ModbusClientX y seleccione Modbus TCP.
  2. Introduzca la dirección IP de su PLC y haga clic en "Conectar".
Herramienta ModbusClientX
  1. Haga clic en "Leer de 0 a 9" para recuperar los 10 primeros valores de datos almacenados en la matriz Datos dentro del PLC:
Herramienta ModbusClientX

Si aparecen los valores que ha configurado (por ejemplo, "21", "4", "35"), esto confirma que la comunicación Modbus TCP funciona según lo esperado.

Escribiendo Datos Modbus Usando ModbusClientX

ModbusClientX también le permite escribir datos de vuelta al PLC, simulando escenarios del mundo real como sensores industriales y actuadores enviando datos.

  1. Haga doble clic en cualquier valor de la columna "Registro de retención" para abrir una pantalla en la que podrá introducir nuevos valores de datos. Los registros de retención son cruciales en la comunicación Modbus, ya que permiten la manipulación flexible de datos dentro de los PLC de Siemens, garantizando que las estructuras de datos y los parámetros se alineen para una comunicación satisfactoria.
  2. Introduzca su valor y haga clic en "Escribir en dispositivo".

A continuación, vuelva al TIA Portal y abra el bloque de datos en "Modo Monitor" (haga clic en el icono de las gafas). El nuevo valor aparecerá en la variable correspondiente, confirmando que la escritura de datos en el PLC se ha realizado correctamente:

Mejores prácticas para la configuración de Modbus TCP/IP

Ahora que ya sabe cómo configurar su PLC S7 para que actúe como servidor Modbus, aquí tiene algunos consejos para una configuración Modbus TCP fiable y eficiente. Siguiendo estas directrices, podrá evitar los problemas de comunicación más comunes y agilizar tanto la configuración como el mantenimiento de su Siemens SIMATIC S7-1200 PLC.

  • Utilice siempre convenciones de nomenclatura coherentes para sus bloques de datos, registros y variables.
  • Pruebe su configuración Modbus TCP utilizando un simulador de servidor Modbus antes de desplegarlo en un entorno de producción.
  • Asegúrese de que las versiones del firmware de su PLC Siemens y del software TIA Portal son compatibles.
  • Utilice una asignación de direcciones IP y un reenvío de puertos adecuados si integra el PLC en una red mayor.
  • Documente todas las configuraciones y ajustes para facilitar la resolución de problemas y el mantenimiento.

Conclusión y próximos pasos

Al seguir este tutorial, habrá transformado con éxito su Siemens SIMATIC S7-1200 en un maestro Modbus TCP, capaz de leer y escribir datos en clientes Modbus, como sensores Modbus, a través de una red industrial. El siguiente paso es ampliar esta configuración integrándola con un IoT industrial gateway, lo que permite la supervisión y el control remotos de datos a través de sistemas SCADA. Siga explorando el potencial de la comunicación Modbus para mejorar su infraestructura de automatización industrial.

Preguntas frecuentes

¿Es compatible el S7-1200 con Modbus TCP?

Sí, el Siemens S7-1200 es totalmente compatible con Modbus TCP, lo que le permite actuar como servidor o cliente Modbus dentro de un marco de comunicación TCP/IP.

¿Es compatible el S7-1500 con Modbus TCP?

Sí, el Siemens S7-1500 también es compatible con Modbus TCP, lo que proporciona funciones de comunicación avanzadas en entornos industriales.

¿Cuál es la dirección IP por defecto del PLC S7-1200?

La dirección IP por defecto del PLC Siemens S7-1200 suele ser 192.168.0.1, pero puede modificarse durante la configuración del dispositivo.

¿Cuál es el protocolo de comunicación utilizado en el PLC S7-1200?

El PLC Siemens S7-1200 admite varios protocolos de comunicación, como Profinet, Modbus TCP y Modbus RTU.

¿Qué es Modbus TCP?

Modbus TCP es un protocolo utilizado para comunicarse a través de redes TCP/IP. Permite a los dispositivos Modbus intercambiar datos utilizando infraestructuras basadas en Ethernet, de uso común en sistemas de automatización industrial.

¿Es lo mismo Modbus RTU que RS-485?

No, Modbus RTU se refiere al protocolo de comunicación, mientras que RS-485 es la capa física utilizada para la transmisión de datos en serie en las configuraciones Modbus RTU.

¿Qué protocolo de comunicación utiliza el PLC de Siemens?

Los PLC de Siemens suelen utilizar Profinet, Modbus TCP y OPC UA para la comunicación en entornos industriales.

¿Cuál es la diferencia entre Modbus RTU y Modbus RS-485?

Modbus RTU es un protocolo de comunicación, mientras que RS-485 es el estándar de comunicación serie utilizado normalmente para implementar Modbus RTU en dispositivos industriales.