Comunicación Simple de CPU en PLCs Mitsubishi: El Intercambio de Datos sin Programación

Si trabajas con automatización y usas PLCs Mitsubishi Electric de las series más recientes (MELSEC iQ-F (FX5) o MELSEC iQ-R), hay una función que probablemente te ahorrará horas de programación: la Comunicación Simple de CPU (Simple CPU Communication).

Esta característica es la solución ideal para compartir datos entre controladores a través de Ethernet de manera rápida, eficiente y, lo más importante, casi sin necesidad de escribir código.

¿Qué es y Por Qué es “Simple”?

La Comunicación Simple de CPU es una función integrada en el software de desarrollo (GX Works3) que permite que dos o más módulos CPU se intercambien información de dispositivos (como registros de datos D, bits M, etc.) de forma periódica y automática.

La clave de su simplicidad radica en que no tienes que programar la lógica de comunicación usando instrucciones de escalera (ladder) o bloques de función específicos. En lugar de eso, todo el proceso se gestiona mediante la configuración de parámetros.

La Magia de la Configuración

Olvídate de complejas secuencias de comandos para establecer conexiones, enviar peticiones o gestionar timeouts. Con esta función, solo necesitas hacer ajustes en la ventana de parámetros de tu CPU:

  1. Define la Conexión: Especifica la dirección IP del PLC de destino (el “socio de comunicación”).
  2. Define el Intercambio: Indica los rangos de dispositivos que deseas enviar y los rangos donde deseas recibir los datos. Por ejemplo, puedes configurar que el rango D100−D109 de tu PLC se envíe y se escriba en el rango D200−D209 del PLC remoto.
  3. Listo: El propio módulo CPU de Mitsubishi se encarga de gestionar la conexión Ethernet, empaquetar los datos y realizar el intercambio en el intervalo que tú definas.

¿En Qué Proyectos Puedes Usarla?

La sencillez de la Comunicación Simple de CPU la hace perfecta para varios escenarios comunes en la industria:

  • Sistemas Modulares y Líneas de Producción: Cuando tienes una línea de producción con varias máquinas independientes, cada una con su propio PLC, puedes usar esta función para compartir datos críticos:
  1. Sincronización: Enviar el estado “Listo para recibir” de una máquina a la siguiente.
  2. Recetas: Transferir parámetros de producción (longitudes, velocidades, tiempos) de un PLC principal a las máquinas.
  3. Monitoreo: Recopilar datos de alarmas o contadores de producción en un PLC centralizado para su visualización en un HMI.
  • Compatibilidad Multi-Serie: Puedes establecer la comunicación entre CPUs de distintas plataformas de Mitsubishi, como un PLC FX5U con un controlador modular Q03UDEH o entre dos CPUs iQ-R de diferentes estaciones.
  • Comunicación con Terceros: Aunque su principal fortaleza es la conexión entre PLCs Mitsubishi, esta función a menudo también se puede configurar para interactuar con otros dispositivos o servidores que utilicen protocolos estándar basados en Ethernet.

Un Consejo Vital de Seguridad

Si bien la Comunicación Simple de CPU simplifica la parte de programación, nunca debemos descuidar la seguridad.

Dado que la transferencia de datos ocurre en segundo plano, siempre es fundamental:

Implementar circuitos de seguridad y enclavamiento fuera del programa de comunicación. Esto asegura que, en caso de un fallo de la red Ethernet o de un error de la CPU, tu maquinaria siempre opere en un estado seguro. La comunicación de datos no debe ser el único medio de control crítico de seguridad.


Conclusión

La Comunicación Simple de CPU es una herramienta poderosa que capitaliza la conectividad Ethernet moderna de los PLCs Mitsubishi. Al mover la complejidad del intercambio de datos de la lógica de programación a la configuración de parámetros, te permite concentrarte en lo que realmente importa: el control de tu proceso.

Si utilizas las plataformas iQ-F o iQ-R, ¡te animamos a explorar y aprovechar esta función!


¿Has utilizado ya la Comunicación Simple de CPU en tus proyectos? ¡Comparte tu experiencia en los comentarios!

Links

System Memory Bits y Clock Memory Bits en Siemens: la analogía con los Special Relays en Mitsubishi

Cuando trabajamos con PLCs de distintos fabricantes, uno de los principales retos es traducir mentalmente los conceptos. Siemens y Mitsubishi, por ejemplo, ofrecen funciones muy similares, pero las nombran y organizan de manera distinta. Entender estas equivalencias puede ahorrarnos tiempo y dolores de cabeza.

Un buen ejemplo de esto son los System Memory Bits y Clock Memory Bits en Siemens, y los Special Relays en Mitsubishi.

Configuración en Siemens

En Siemes, a diferencia de Mitsubishi donde el area de memoria de los System Relays (SM) está fija y siempre activa, hay que habilitar los System memory bits y los Clock memory bits, además de que es posible también elegir las direcciones de los bytes en los cuales queremos ese comportamiento. Por default, el MB1 se usara para los System memory bits, y el MB0 para los Clock memory bits.

Para activar los bytes y elegir la dirección en memoria M que tendrá el comportamiento definido, ir a las propiedades del CPU e ir a la opción System and clock memory como se muestra en la siguiente imagen.

Configuración de los bytes en la memoria M de los PLCs de Siemens en los cuales quedarán configurados los System memory bits y los Clock memory bits.

Una vez activados los bytes, automáticamente se agregan los tags para cada uno de ellos y para cada uno de los bits, para así poder utilizar direccionamiento simbólico.

Creción automática de tags para cada uno de los System memory bits y Clock memory bits.

Special Relays (SM) en Mitsubishi

En los PLC Mitsubishi, los SM (Special Relays) son relés (bits) internos predefinidos por el fabricante.
Su función es indicar condiciones del propio CPU o proveer señales auxiliares ya listas para usar.

En la siguiente imagen encontramos una lista de los equivalentes a los System y Clock memory bits de Siemens.

Lista de algunos Special Relays en Mitsubishi.

Los banderines del sistema

En Siemens, los System Memory Bits (SM bits) son pequeñas banderas internas que nos informan del estado del PLC o de condiciones especiales. Algunos ejemplos típicos son:

  • Bit de “primer ciclo” (para ejecutar lógica solo una vez al arrancar).
  • Bit de “Siempre en true (1)”.
  • Bit de “Siempre en false (0)”.
  • Bit relacionados con errores del sistema.

En Mitsubishi encontramos algo equivalente en los Special Relays. Por ejemplo:

  • SM402: encendido durante un ciclo de scan cuando la CPU cambia a RUN.
  • SM403: apagado durante un ciclo de scan cuando la CPU cambia a RUN.
  • SM400: siempre en true (1).
  • SM401: siempre en false (0).

En otras palabras:
👉 SM bits en Siemens ≈ Special Relays en Mitsubishi.

Los pulsos de reloj

Otro caso muy común es la necesidad de generar pulsos periódicos, por ejemplo, para hacer parpadear una lámpara o realizar una acción cada cierto tiempo.

En Siemens podemos configurar un área de memoria como Clock Memory Bits. Ahí tendremos disponibles pulsos de distintas frecuencias (10 Hz, 5 Hz, 2.5 Hz, etc.), y nosotros decidimos en qué dirección de memoria los queremos usar.

En Mitsubishi, estos pulsos ya vienen predefinidos dentro de los Special Relays:

  • SM409: parpadea con una frecuencia de 100 Hz.
  • SM410: parpadea con una frecuencia de 10 Hz.
  • SM411: parpadea con una frecuencia de 5 Hz.
  • SM412: parpadea con una frecuencia de 1 Hz.
  • SM413: parpadea con una frecuencia de 0.5 Hz.
Imagen de la pag. 939 del MELSEC iQ-R CPU Module User’s Manual (Application)

Aquí la diferencia clave es que:
👉 En Siemens, el programador elige dónde colocar los pulsos.
👉 En Mitsubishi, el fabricante ya te da direcciones fijas.

Uso en Siemens

Podemos direccionar a uno de los bits directamente usando su dirección o su nombre simbólico.

Ejemplo de uso del bit “Always TRUE” en Siemens.

Uso en Mitsubishi

Necesitamos ingresar la dirección del Special Relay (SM), GX Works3 ya saque que ese bit tiene una función particular y pone su “nombre” como comentario.

Ejemplo de uso del bit “Always ON” en Mitsubishi.

Diferencias de filosofía

Aunque cumplen el mismo propósito, hay una diferencia de enfoque:

  • Siemens apuesta por la configuración flexible. Tú defines qué memoria se comportará como “pulsante” o qué dirección usarás como indicador de estado.
  • Mitsubishi se va por lo predefinido y directo. Ya sabes de memoria que SM400 siempre será “always true” y que SM413 parpadea con una frecuencia de 0.5 Hz.

Ambos enfoques tienen ventajas. En Siemens puedes organizar tu proyecto a tu manera; en Mitsubishi no pierdes tiempo configurando nada y basta con recordar los códigos principales.

Conclusión

Tanto Siemens como Mitsubishi ofrecen mecanismos internos para conocer el estado del PLC y generar pulsos de reloj. La diferencia es puramente de filosofía: configurable vs. predefinido.

Saber hacer esta traducción mental es fundamental para cualquier ingeniero que trabaje con más de un fabricante. Y al final, entender que un System Memory Bit de Siemens no es tan distinto de un Special Relay de Mitsubishi nos permite hablar el “idioma común” de la automatización.

Links relacionados

OBs en Siemens y Program Execution Types en Mitsubishi: ¿Qué son y cómo se comparan?

¿Qué es un OB en TIA Portal de Siemens?

Los bloques de organización (OBs), son bloques que sirven como la interfaz entre el sistema operativo del PLC y el programa del usuario. Los bloques de organización son llamados automáticamente por el sistema operativo del controlador y llama a los OBs cada vez que es necesaria su intervención, cuándo y bajo qué condiciones.

Por ejemplo, pueden controlar las siguientes operaciones:

  • Características de arranque del sistema de automatización
  • Procesamiento cíclico del programa
  • Ejecución del programa basada en interrupciones
  • Manejo de errores
Información de inicio de los bloques de organización

Cuando se inician ciertos bloques de organización, el sistema operativo proporciona información que puede ser evaluada en el programa de usuario. Existen varios bloques organizacionales en TIA Portal como:

  • Program Cycle: Main [OB1]
  • Startup [OB100]
  • TimeDelayInterrupt [OB20]
  • CyclicInterrupt [OB30]

Entre otros bloques, cada uno con funcionalidades distintas dentro de nuestro proyecto y con sus respectivos parámetros modificables.

¿Qué es un Program Execution Type en GX Works de Mitsubishi?

En GX Works, un Program Execution Type es una propiedad que define cuándo y bajo qué condiciones se ejecuta un bloque de programa (OBs, en Siemens) dentro del ciclo de operación del PLC. Estos programas permiten estructurar la lógica del control dividiéndola en tareas según su propósito o prioridad operativa.

Cada programa creado en GX Works debe tener asignado un tipo de ejecución, los cuales son los siguientes:

  • Initial: se ejecuta una sola vez cuando el PLC pasa de STOP a RUN. Se usa típicamente para inicializar variables o estados del sistema.
  • Scan: se ejecuta de forma cíclica durante cada ciclo de escaneo del PLC. Es el tipo principal para la lógica operativa continua.
  • Fixed Scan: se ejecuta a intervalos de tiempo definidos (por ejemplo, cada 10 ms), útil para tareas periódicas con requerimientos temporales constantes.
  • Event: se ejecuta solo cuando se produce un evento específico, como una interrupción externa, un cambio de entrada o una condición de sistema.
  • Standby: el código permanece cargado pero inactivo; puede ser activado dinámicamente si se requiere.
  • No Execution Type: el programa existe pero no está programado para ejecutarse automáticamente; se puede llamar desde otro bloque.

Tabla de equivalencias entre OBs y Program Execution Types

Haciendo un análisis y una comparación de los OBs de TIA Portal y los Program Execution Types en Mitsubishi tenemos como resultado, la siguiente tabla:

Siemens: OBsMitsubishi: Program Execution Type
OB 100Initial
OB 1Scan
OB 35Fixed Scan
OB 20 – 23 y OB 40Event
Standby
FC/FBNo Execution Type

Como podemos observar, cada OB de Siemens tiene su equivalente funcional en GX Works de Mitsubishi, aunque con diferencias importantes en la forma de la programación y el entorno de trabajo.

En Siemens, la estructura está centrada en bloques organizativos (OBs) que se activan por el sistema operativo del PLC en función de eventos, ciclos o errores.

En cambio, Mitsubishi utiliza la asignación explícita de tipos de ejecución (Program Execution Types) para cada bloque de programa, podemos observar como cada uno de los programas tiene sus propias ventajas.

Esta comparación no solo ayuda a comprender las similitudes entre ambos entornos, sino que también es clave al momento de migrar proyectos o complementar nuestros conocimientos, esto si ya sabemos manejar un entorno y entramos a otro. Conocer estas equivalencias permite diseñar soluciones más sencillas, sin perder de vista las características particulares de cada plataforma.

Enlaces relacionados: