🧠 Comunicar un PLC MicroLogix 1400 & Avery Weigh-Tronix ZM201 mediante Ethernet TCP

hace 5 días · Actualizado hace 5 días

PLC MicroLogix 1400 & Avery Weigh-Tronix
Comunicación PLC MicroLogix 1400 & Avery Weigh-Tronix

En este artículo te mostraré cómo realizar la comunicación entre un PLC MicroLogix 1400 & Avery Weigh-Tronix ZM201, utilizando Ethernet TCP.
Este tipo de conexión es común cuando queremos leer el peso de una celda de carga desde el PLC, y controlarlo o mostrarlo en una HMI o sistema de supervisión.

Anteriormente ya había realizado una comunicación muy similar entre un CompactLogix y el mismo indicador ZM201, pero en aquel caso utilicé mensajes CIP explícitos.
En esta ocasión, el MicroLogix 1400 utiliza otro método: comunicación basada en Sockets TCP, mediante instrucciones MSG.


📋Aquí podrás Encontrar✍
  1. 🔧 1. Requisitos
  2. ⚙️ 2. Configuración general del PLC
  3. 💡 3. Diferencia entre CIP Messages y Socket Messages
  4. 🧩 4. Estructura general del programa
    1. 🔹 Paso 1: Create Socket
    2. 🔹 Paso 2: Open Socket
    3. 🔹 Paso 3: Write MSG
    4. 🔹 Paso 4: Read MSG
  5. Rutinas U10 (Write) & U11 (Read)
    1. Rutina U10 (Write)
    2. Rutina U11 (Read)
  6. 🧪 5. Prueba de comunicación
  7. ✅ 6. Conclusión

🔧 1. Requisitos

  • PLC Allen-Bradley MicroLogix 1400 (serie B o superior).
  • Software RSLogix 500 y RSLinx Classic.
  • Indicador Avery Weigh-Tronix ZM201 configurado con comunicación Ethernet TCP.
  • Conexión directa o a través de switch de red.
  • Conocer la dirección IP del indicador (por ejemplo: 192.168.0.42).
Micrologix 1400 & Avery Weigh-Tronix

⚙️ 2. Configuración general del PLC

Lo primero es asegurarte de que el MicroLogix 1400 tenga configurada su IP dentro del mismo rango que el indicador.
Esto puedes hacerlo desde Channel Configuration → Channel 1 (Ethernet Port).

⭐️ Antes de continuar suscríbete a nuestras Redes Sociales ⭐️

Ejemplo:

IP Address: 192.168.0.10
Subnet Mask: 255.255.255.0
Gateway: 192.168.0.1
Micrologix 1400 IP

💡 3. Diferencia entre CIP Messages y Socket Messages

Aquí vale la pena hacer una pausa rápida para entender la diferencia entre el método que usamos con CompactLogix y el que usaremos ahora con MicroLogix 1400:

CaracterísticaCompactLogix (CIP Message)MicroLogix 1400 (Socket TCP)
ProtocoloCIP (Common Industrial Protocol)TCP/IP sin protocolo CIP
Tipo de MensajeMensajes explícitos (MSG CIP)Mensajes TCP (Create/Open/Read/Write)
ComunicaciónBasada en objetos del PLCBasada en puerto y cadena de datos
VentajaMás integrada en el entorno LogixCompatible con equipos sin soporte CIP

👉 En resumen:
El CompactLogix se comunica a nivel de protocolo industrial (CIP), mientras que el MicroLogix 1400 abre un canal TCP “puro”, enviando y recibiendo cadenas de texto o bytes directamente.


🧩 4. Estructura general del programa

Para establecer la comunicación se utilizan instrucciones MSG configuradas en una secuencia:

  1. Create Socket
  2. Open Socket
  3. Write MSG
  4. Read MSG

A continuación, te explico qué hace cada paso.


🔹 Paso 1: Create Socket

Esta instrucción crea el canal de comunicación TCP.
Debe ejecutarse una sola vez al inicio del programa o cuando la conexión se pierde.

Create Socket
MSG Create Socket
Create socket format
SND_Create N20:0

🔹 Paso 2: Open Socket

Aquí es donde configuramos los parámetros importantes: la dirección IP del indicador y el puerto.
En el caso del ZM201, el puerto por defecto es 9102.

El formato que debe colocarse en la instrucción es:

192.168.0.42?port=9102
Open Connection
MSG Open Socket
Open socket format
Mensaje enviado a 192.168.0.42?port=9102

Al ejecutar esta instrucción, el PLC abre el canal TCP hacia el dispositivo.


🔹 Paso 3: Write MSG

Esta es la parte más importante.
El MicroLogix 1400 no envía automáticamente un mensaje “limpio”; debemos formatear el texto que el equipo espera recibir.

En el caso del Avery Weigh-Tronix, el comando debe llevar:

  • Un line feed (^J) al inicio.
  • El comando en medio.
  • Un carriage return (^M) al final.

Por ejemplo, si el comando fuera una escritura, el formato sería:

Aplicaciones Premium

Suscríbete a nuestro boletín de noticias

🤖 Antes de suscribirte acepta nuestros términos y condiciones.


✅ Recuerda que al Suscríbete a nuestro boletín de noticias, recibirás por correo electrónico cada nueva publicación y también las actualizaciones de los mismos.

^J W ^M

💡 Importante:
Dentro del mensaje también se debe indicar el puerto del equipo al que se está escribiendo.

Write Socket
MSG Socket Write

A partir del registro N22:0 se escribe la información respetando el siguiente formato:

Write Socket Format
Write Socket Format

En este caso quedaría de la siguiente manera, donde 22282 13 en formato hexadecimal sería:
0x570A 000D, que después al entrar a la rutina U:10 se hace un SWAP y al final queda 0A570D00
$lW$r
$l=LINE FEED
W= COMMAND
$r= CARRIAGE RETURN

Comando enviado

🔹 Paso 4: Read MSG

Finalmente, utilizamos un MSG configurado para lectura.

Aquí debemos:

  • Especificar el puerto del equipo.
  • Definir el tamaño del buffer o cantidad de datos a leer.
    Si colocas un número un poco mayor al esperado, es mejor, ya que asegura que no se trunque la respuesta.
Read Socket
MSG Socket Read
s

En el N23:0 se indica el tamaño de bytes a recibir, en este caso 50

La lectura puede almacenarse en un arreglo de caracteres o bytes dentro del PLC, y luego procesarse según el formato que devuelve el ZM201.


Rutinas U10 (Write) & U11 (Read)

En estas rutinas se colocan los strings que contienen la información para enviar (Write) y la información para recibir (Read)

Rutina U10 (Write)

Para la rutina U10 write, primero se mueve el tamaño al registro N22:6, después se van colocando cada "Registro" del string en cada registro a partir del N22:8 hasta el N22:48

Al final se usa un SWP, es necesario para que el envío de datos sea correcto.

Rutina U11 (Read)

La información leída se le aplica una instrucción "SWP" y después se mueve el tamaño de información leída (N33:4) al .LEN del string ST61:0

Por último se va moviendo cada registro de la información leída N33:6 a cada registro de una variable de tipo STRING.


🧪 5. Prueba de comunicación

Una vez configuradas las instrucciones:

  • Coloca el PLC en RUN.
  • Verifica que el socket se abra correctamente (sin errores en el MSG).
  • Ejecuta el Write MSG y revisa si el indicador responde (por ejemplo, devolviendo el valor del peso actual).
  • Observa en el Read MSG los datos recibidos.

Si todo está correcto, podrás ver los valores en la tabla de datos del PLC.


✅ 6. Conclusión

Aunque a primera vista podría parecer el mismo tipo de comunicación que usamos con CompactLogix, en realidad el MicroLogix 1400 trabaja a un nivel más “bajo”, enviando y recibiendo datos TCP sin protocolo CIP.
Esto lo hace muy versátil, ya que permite comunicarlo con una gran variedad de equipos que soportan Ethernet TCP, incluso si no están pensados originalmente para integrarse con PLCs Allen-Bradley.

Con esto podrás leer, escribir y controlar básculas, indicadores o dispositivos similares que trabajen por TCP.


📎 Próximamente: publicaré un ejemplo descargable del proyecto RSLogix 500 con las instrucciones MSG configuradas, para que puedas probarlo directamente.

⭐️ Si quieres saber más de otros artículos parecidos a 🧠 Comunicar un PLC MicroLogix 1400 & Avery Weigh-Tronix ZM201 mediante Ethernet TCP puedes visitar nuestra categoría Avery Weigh. Te esperamos dentro 👍

Entradas de Interes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tu puntuación: Útil

Subir