UTILIZAR PLC COMO SERVIDOR MODBUS TCP (ESCLAVO)
NOTAS DE APLICACIÓN > AN022

La presente nota de aplicación explica como configurar y utilizar en modo servidor (Slave) el protocolo ModBus TCP desde nuestros PLC.
ModBus es un protocolo de comunicaciones creado originalmente por Modicon (ahora Schneider Electric) para su uso en PLC. Simple y robusto, el protocolo ModBus se convirtió en un protocolo estándar de facto con el paso del tiempo. Ampliamente difundido, ahora se utiliza para comunicar miles de dispositivos electrónicos industriales.
ModBus TCP permite el empleo del protocolo original ModBus con dispositivos que se comunican mediante una red Ethernet (o cualquier otro medio físico) utilizando el stack TCP/IP (internet).
Este documento detalla el uso del protocolo ModBus TCP en modo servidor (Slave), que le permitirá conectar otros dispositivos clientes (Master) al PLC. De esta manera podrá recibir y enviar datos a otros PLC, paneles HMI o algún software SCADA que operen como cliente ModBus (Master).
Nota: Tambien le puede interesar ver la nota AN021 (Utilizar PLC como Cliente ModBus TCP).
Aplicaciones típicas de un servidor ModBus
- Proveer datos analógicos, tensión, temperatura, RPM, etc.
- Permitir a clientes remotos controlar procesos (activar reles, válvulas, escribir registros, etc).
- Transferir datos (a computadoras, otros PLC, etc).
- Protocolo estándar: Conexión desde servidores Web, aplicaciones Android, software SCADA, etc.
Software ModBus TCP Cliente para Windows
Para ayudarlo a desarrollar aplicaciones servidor ModBus TCP con el PLC, hemos incluido un cliente ModBus TCP gratuito para Windows en nuestro entorno de programación StxLadder.

Desde el menú "Herramientas / ModBus TCP Master" del entorno StxLadder puede acceder al software.
Archivos de la Nota de Aplicación
AN022: Utilizar el PLC como Servidor ModBus TCP | |
---|---|
STX-AN022.pdf | Nota de aplicación que describe como configurar el PLC para utilizar el protocolo ModBus TCP como servidor (slave) y así poder aceptar conexiones de otros dispositivos MosBus que actuen como cliente (master). |
Ejemplo 1: Servidor ModBus TCP con Lenguaje Ladder. | |
---|---|
ModBusTcpServer1.zip | Ejemplo en lenguaje Ladder para configurar el PLC como servidor ModBus TCP. Se muestra como escribir y leer "Holding Registers", procesar GP-COILS, y realizar acciones de acuerdo a sus valores. El servidor por defecto ya puede procesar todas las funciones ModBus. Recuerde leer el archivo info.txt. |
Ejemplo 2: Servidor y Entradas Analógicas con Lenguaje Ladder. | |
---|---|
ModBusTcpServer2.zip | Ejemplo en lenguaje Ladder para configurar el PLC como servidor ModBus TCP. Se muestra como inicializar "Holding Registers" y cargarlos con valores de las entradas analógicas, de tal forma que un cliente puede leer dichas entradas a través de los registros a partir de la dirección 40001. El servidor por defecto ya puede procesar todas las funciones ModBus. Recuerde leer el archivo info.txt. |
Ejemplo 1: Servidor y Eventos ModBus TCP con Lenguaje Pawn. | |
---|---|
ModBusTcpServerPawn1.zip | Ejemplo en lenguaje Pawn para configurar el PLC como servidor ModBus TCP. Se muestra como inicializar "Holding Registers" y procesar mediante eventos cuando un cliente escribe un registro. El servidor por defecto ya puede procesar todas las funciones ModBus. Recuerde leer el archivo info.txt. |
Ejemplo 2: Servidor y Entradas Analógicas con Lenguaje Pawn. | |
---|---|
ModBusTcpServerPawn2.zip | Ejemplo en lenguaje Pawn para configurar el PLC como servidor ModBus TCP. Se muestra como inicializar "Holding Registers" y cargarlos con valores de las entradas analógicas, de tal forma que un cliente puede leer dichas entradas a través de los registros a partir de la dirección 40001. El servidor por defecto ya puede procesar todas las funciones ModBus. Recuerde leer el archivo info.txt. |
Ejemplo 4: Conexión ModBus TCP entre dos PLC de Slicetex. | |
---|---|
MbTcpClientReadWrite.zip | Ejemplo en lenguaje Ladder para configurar un PLC como cliente ModBus TCP. Permite enviar comandos al servidor para leer entradas DIN, escribir/leer registros, escribir salidas DOUT, etc. Recuerde leer el archivo info.txt. |
MbTcpServerReadWrite.zip | Ejemplo en lenguaje Ladder para configurar otro PLC como servidor ModBus TCP y aceptar las conexiones ModBus TCP del cliente. Recuerde leer el archivo info.txt. |
Referencias Útiles
Librería Easy ModBus TCP | |
---|---|
Descarga de Librería | Librería que le permite usar ModBus TCP desde lenguaje C#, Visual Basic (.NET), Java y Python. Soporta funciones como cliente y servidor ModBus. La librería esta en formato DLL, por lo que puede incluirla fácilmente en su proyecto. |
Ejemplos | Ejemplos para usar la librería con ModBus como cliente y servidor. Explore el sitio web y lea documentación. |
EasyModbusTCP_V4.4.zip | Copia local de la líbreria, puede estar desactualizada (07/Dec/2017). |
Aplicación Android: DroidBus TCP | |
---|---|
DroidBUS/TCP (Google) DroidBUS/TCP (Página) |
Con esta sencilla aplicación Android, puede utilizar su teléfono o tablet como un cliente ModBus TCP y controlar remotamente a nuestro PLC configurado como servidor ModBus TCP. Controle relays, lea registros, etc. Existe una versión completa del programa por un par de dolares. |
Librería PHP ModBus | |
---|---|
Librería PHP | Librería que le permite utilizar el lenguaje PHP como cliente ModBus TCP, de esta forma puede desde un sitio Web comunicarse con el PLC en modo servidor ModBus TCP. |