La presente nota de aplicación explica como configurar y utilizar en modo cliente (Master) 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 cliente (Master), que le permitirá conectar el PLC a diferentes dispositivos ModBus TCP que funcionen como servidor (Slave) para enviar u obtener datos.
Nota: Tambien le puede interesar ver la nota AN022 (Utilizar PLC como Servidor ModBus TCP).
Aplicaciones típicas de un cliente ModBus
- Leer datos desde sensores remotos (tensión, temperatura, corriente, etc).
- Controlar procesos remotos (activar reles, válvulas, escribir registros, etc).
- Transferir datos (a computadoras, otros PLC, etc).
Archivos de la Nota de Aplicación
|
AN021: Utilizar el PLC como Cliente ModBus TCP |
STX-AN021.pdf |
Nota de aplicación que describe como configurar el PLC para utilizar
el protocolo ModBus TCP como cliente (master) y así poder comunicarse
con otros dispositivos ModBus que actúen como servidor (slave).
|
|
Ejemplo 1: ModBus TCP Cliente con Lenguaje Ladder. |
MbTcpClientLadderEvn.zip |
Ejemplo en lenguaje Ladder para
configurar el PLC como cliente ModBus TCP, enviar requerimientos al servidor
y procesar la respuesta desde un evento.
Recuerde leer el archivo info.txt.
|
MbTcpClLadderEvn2.zip |
Ídem ejemplo anterior, solo que desactiva explícitamente división de paquetes (Network Split = OFF)
en la inicialización. Utilizar en caso de error de comunicación con ejemplo anterior.
|
|
Ejemplo 2: ModBus TCP Cliente con Lenguaje Pawn. |
ModBusTcpClientPawn1.zip |
Ejemplo en lenguaje Pawn para
configurar el PLC como cliente ModBus TCP y realizar diversas transacciones según
estado de entradas discretas.
Recuerde leer el archivo info.txt.
|
|
Ejemplo 3: Cliente y Eventos ModBus TCP con Lenguaje Pawn. |
ModBusTcpClientEvent.zip |
Ejemplo en lenguaje Pawn para
configurar el PLC como cliente ModBus TCP,
enviar requerimientos al servidor y procesar la respuesta desde un evento.
Recuerde leer el archivo info.txt.
|
Ejemplos avanzados
|
Ejemplo 4: Conexión ModBus TCP entre dos PLC de Slicetex. |
MbTcpMaster1.zip |
Ejemplo en lenguaje Ladder para
configurar el PLC-1 como cliente ModBus TCP y conectarse cada 0.5 segundos al PLC-2 (servidor)
para leer sus entradas DIN y actualizar el valor de todas sus salidas DOUT.
Recuerde leer el archivo info.txt y comentarios en foro.
|
MbTcpSlave1.zip |
Ejemplo en lenguaje Ladder para
configurar el PLC-2 como servidor ModBus TCP y aceptar
las conexiones del PLC-1.
Recuerde leer el archivo info.txt.
|
|
Ejemplo 5: Conexión ModBus TCP entre dos PLC de Slicetex y un HMI. |
MbTcpMaster2_HMI.zip |
Ejemplo en lenguaje Ladder para
configurar el PLC-1 como cliente ModBus TCP y conectarse cada 0.5 segundos al PLC-2 (servidor)
para leer sus entradas DIN y actualizar el valor de todas sus salidas DOUT. Además configura al PLC-1 como
servidor ModBus TCP para aceptar conexiones de un HMI Kinco.
Recuerde leer el archivo info.txt y comentarios en foro.
|
MbTcpSlave1.zip |
Ejemplo en lenguaje Ladder para
configurar el PLC-2 como servidor ModBus TCP y aceptar
las conexiones del PLC-1.
Recuerde leer el archivo info.txt.
|
ModBusTcpTest1_HMI.zip |
Ejemplo para cargar en un HMI Kinco (modelo MT4434TE) y desde el mismo conectarse al PLC-1
para comandar entradas y salidas.
|
|
Ejemplo 6: Conexión ModBus TCP entre dos PLC de Slicetex (varios comandos). |
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).
|