PLC Siemens SIMATIC S7 como servidor Modbus TCP: un tutorial rápido
El Siemens SIMATIC S7-1200 es más que un simple controlador lógico programable (PLC); es un pilar fundamental de la automatización industrial. El protocolo Modbus, conocido por su simplicidad y facilidad de implementación, es fundamental en este contexto, ya que facilita la comunicación industrial y la transmisión de datos en la automatización de fábrica. Al configurarlo como servidor Modbus, puede compartir los datos con una gateway IoT configurada como cliente Modbus para llevar los datos más allá de la planta de producción y lograr la monitorización remota, incluso enviando los datos del PLC a la nube . 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.
¿Listo para descubrir todo el potencial de tu Siemens S7-1200? ¡Adelante!
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 múltiples protocolos de comunicación, como Profinet y Modbus. Modbus se presenta en dos variantes comunes: Modbus RTU (que opera en una arquitectura maestro-esclavo mediante comunicación serie) y Modbus TCP (que utiliza un modelo servidor-cliente a través de Ethernet).
En este tutorial, demostraremos cómo configurar el Modbus TCP IP S7 1200 como servidor y cómo comunicarse con dispositivos a través de una red industrial. También utilizaremos un simulador Modbus para probar la configuración.
Requisitos
Requisitos de hardware
1. PLC Siemens S7 (estamos usando 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
- TIA Portal V16 (para programación y configuración de PLC Siemens)
- MODBUS ClientX (un cliente Modbus TCP para simular la comunicación)
Configuración del hardware
Para comenzar, conecte la fuente de alimentación al PLC Siemens SIMATIC S7-1200. 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 habilitar la comunicación TCP/IP entre el PLC y su cliente Modbus.
Configuración del PLC S7-1200 en TIA Portal
- Inicie TIA Portal y cree un nuevo proyecto en “Vista de proyecto”
- Seleccione "Configurar un dispositivo" y luego "Agregar nuevo dispositivo". Elija su modelo de Siemens S7-1200 y la versión de firmware correcta antes de hacer clic en "Agregar"
En el árbol del proyecto, puede navegar y administrar los componentes de su proyecto, como acceder a propiedades y configuraciones.
Nota importante : Si el PLC ya contiene un programa, asegúrese de usar 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 servidor Modbus TCP
- Navegue hasta el bloque “Principal (OB1)” en la “Vista del proyecto” para comenzar a crear un diagrama de lógica de escalera.
- En la ventana “Instrucción” de la derecha, vaya a Comunicación -> Otros -> Modbus TCP .
Arrastre la MB_SERVER a su diagrama de lógica de escalera:
- Crear un bloque de datos:
Haga clic en el nuevo bloque de datos y luego agregue estas dos variables:
- Datos : una matriz de tipo “Palabra” para almacenar datos Modbus (por ejemplo, valores iniciales como “21”, “4” y “35”).
- Conectar: Tipo "TCON_IP_v4" como tipo de dato para configurar los ajustes del servidor Modbus TCP. Inmediatamente, verá aparecer una lista de variables de configuración justo debajo. Configúrelas de la siguiente manera:
- El puerto local debe configurarse en “502”, que es el puerto predeterminado para las comunicaciones Modbus TCP.
- El ID de interfaz 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 encontrarlo en la página de configuración del dispositivo -> Constantes del sistema:
- ID es el ID del esclavo; escribimos "1". Más adelante, tendremos que usar el mismo ID en el simulador de esclavos.
- El tipo de conexión debe ser “11” para TCP.
- Establezca RemoteAddress en la IP de su PC (se encuentra usando ipconfig en Windows o ifconfig en Linux/Mac)
El bloque de datos debería verse así:
- Por último, apunte la variable " Data " al MB_HOLD_REG del bloque Modbus, y la variable " Connect " al CONNECT del bloque Modbus:
Ahora, descargue la configuración al PLC Siemens haciendo clic derecho en el PLC y seleccionando "Descargar hardware y software". Si la descarga es correcta, el PLC actuará como servidor Modbus TCP, listo para la comunicación.
Simulación de la comunicación Modbus mediante la herramienta ModbusClientX
Lectura de datos Modbus mediante ModbusClientX
Para verificar que su PLC esté funcionando correctamente como un servidor Modbus TCP, utilice la herramienta ModbusClientX para simulación.
- Abra ModbusClientX y seleccione Modbus TCP.
- Ingrese la dirección IP de su PLC y haga clic en “Conectar”
- Haga clic en “Leer de 0 a 9” para recuperar los primeros 10 valores de datos almacenados en la de datos dentro del PLC:
Si aparecen los valores configurados (por ejemplo, “21”, “4”, “35”), esto confirma que la comunicación Modbus TCP está funcionando como se esperaba.
Escritura de datos Modbus mediante ModbusClientX
ModbusClientX también le permite volver a escribir datos en el PLC, simulando escenarios del mundo real, como sensores y actuadores industriales que envían datos.
- Haga doble clic en cualquier valor de la columna "Registro de retención" para abrir una pantalla donde puede introducir nuevos valores de datos. Los registros de retención son cruciales en la comunicación Modbus, ya que permiten una manipulación flexible de datos en los PLC Siemens, garantizando la alineación de las estructuras de datos y los parámetros para una comunicación eficaz.
- Ingrese su valor y haga clic en “Escribir en el dispositivo”
A continuación, vuelva a 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:
Uso de un IoT Gateway como cliente Modbus para sondear datos de sensores
Una vez configurado el Siemens S7-1200 como servidor Modbus, estará un paso más cerca de la recopilación fluida de datos de sus sensores mediante una gateway IoT configurada como cliente Modbus, como un Teltonika TRB-140 o un Advantech ADAM 6717. De esta forma, la gateway IoT puede sondear continuamente el PLC para obtener datos de los sensores y transmitirlos a una IoT en la nube como Ubidots para su monitorización y análisis en tiempo real.
Paso 1: Identificar los registros Modbus
Primero, debe asegurarse de que todos los datos relevantes de los sensores estén asignados a registros Modbus específicos dentro del PLC. En el MB_HOLD_REG gateway IoT puede leer .
- Asegúrese de que los datos de cada sensor estén asignados correctamente a un registro de retención individual.
- Mapee estos registros para saber qué registro corresponde a cada sensor Modbus o punto de datos (por ejemplo, temperatura, presión, caudal).
Paso 2: Configurar el IoT Gateway
Ahora, configure la gateway IoT como cliente Modbus. En la interfaz de configuración de la gateway:
- Establezca la dirección IP del servidor Modbus (el PLC Siemens).
- Asegúrese de que el Modbus TCP esté seleccionado.
- Introduzca el número de puerto (normalmente 502 para Modbus TCP) para conectarse al PLC.
- Define el rango de registros que la gateway IoT necesita sondear. Esto debe coincidir con los registros de retención que configuraste en el PLC para los datos de tus sensores.
- Establezca el intervalo de sondeo según sus necesidades (por ejemplo, cada 5 minutos)
Paso 3: Enviar datos a la nube u otro sistema
gateway IoT sondea correctamente los datos Modbus , puede configurarla gateway que los reenvíe a una plataforma IoT industrial o a un destino interno (por ejemplo, un servidor local) para su posterior procesamiento, almacenamiento o análisis. La mayoría de gateway IoT ofrecen opciones para enviar datos mediante MQTT , HTTP u otros protocolos.
Al integrar una gateway IoT como cliente Modbus, habilita un monitoreo robusto, escalable y centralizado de toda su red de sensores, aprovechando todo el potencial de la comunicación Modbus TCP y IoT , como la creación SCADA basados en la nube .
Mejores prácticas para la configuración de Modbus TCP/IP
Ahora que ya sabe cómo configurar su PLC S7 como servidor Modbus, le presentamos algunos consejos para una configuración Modbus TCP fiable y eficiente. Siguiendo estas pautas, podrá evitar problemas de comunicación comunes y optimizar la configuración y el mantenimiento de su PLC Siemens SIMATIC S7-1200.
- 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 implementarlo en un entorno de producción.
- Asegúrese de que las versiones del firmware de su PLC Siemens y del software TIA Portal sean compatibles.
- Utilice la asignación de dirección IP y el reenvío de puertos adecuados si integra el PLC en una red más grande.
- Documente todas las configuraciones y ajustes para facilitar la resolución de problemas y el mantenimiento.
Conclusión y próximos pasos
Siguiendo este tutorial, ha transformado con éxito su Siemens SIMATIC S7-1200 en un servidor 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 una gateway IoT industrial , lo que permite la monitorización y el control remotos de datos mediante sistemas SCADA . Continúe explorando el potencial de la comunicación Modbus para optimizar su infraestructura de automatización industrial.
Preguntas frecuentes
¿El S7-1200 admite 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.
¿El S7-1500 admite Modbus TCP?
Sí, el Siemens S7-1500 también admite Modbus TCP, lo que proporciona capacidades de comunicación avanzadas en entornos industriales.
¿Cuál es la dirección IP predeterminada del PLC S7-1200?
La dirección IP predeterminada del PLC Siemens S7-1200 normalmente es 192.168.0.1 , pero se puede cambiar 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, incluidos Profinet, Modbus TCP y Modbus RTU.
¿Qué es Modbus TCP?
Modbus TCP es un protocolo utilizado para la comunicación a través de redes TCP/IP. Permite que los dispositivos Modbus intercambien datos mediante una infraestructura basada en Ethernet, comúnmente utilizada en sistemas de automatización industrial.
¿Modbus RTU y RS-485 son lo mismo?
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 configuraciones Modbus RTU.
¿Qué protocolo de comunicación utiliza el PLC 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 serial que normalmente se utiliza para implementar Modbus RTU en dispositivos industriales.