IEC 61131-3 Edición 4
El fin de la Instruction List
La revisión de mayo 2025 de la norma de programación PLC elimina IL, añade Properties OOP, sincronización Mutex/Semaphore, cadenas UTF-8 y ASSERT. Esto es lo que todo ingeniero de automatización necesita saber.
¿Qué cambió en la Edición 4?
IEC 61131-3:2025 (Edición 4) es la actualización más significativa de la norma de lenguajes de programación PLC desde 2013. Publicada en mayo de 2025 por el Comité Técnico TC 65 / SC 65B de la IEC, moderniza la norma para reflejar cómo se desarrolla realmente el software de automatización industrial hoy en día.
El cambio principal: Instruction List (IL) — el lenguaje PLC similar al ensamblador que data de los años 90 — ha sido eliminado oficialmente de la norma. Fue marcado como obsoleto en la Edición 3 (2013) y ahora ha desaparecido por completo. El comité IEC concluyó que «un lenguaje similar al ensamblador no está actualizado en los entornos de desarrollo modernos».
Pero la eliminación de IL es solo una parte de una modernización más amplia. La Edición 4 también introduce Properties orientadas a objetos, primitivas de concurrencia (Mutex/Semaphore), soporte de cadenas UTF-8, una función ASSERT de desarrollo y conversiones de tipo ampliadas.
Qué fue eliminado
Funciones eliminadas oficialmente de la norma
Instruction List (IL)
Toda la especificación del lenguaje IL (Capítulo 7.2) ha sido eliminada. IL era un lenguaje similar al ensamblador propenso a código ilegible y difícil de mantener. Los fabricantes pueden seguir soportándolo, pero ya no forma parte de la norma IEC. Migre a Structured Text (ST).
Literales octales
La notación de números octales (ej. 8#267) ha sido eliminada. Use notación decimal o hexadecimal en su lugar.
TRUNC sin tipo
La función genérica TRUNC(x) ha desaparecido. Use versiones con tipo explícito como TRUNC_DINT(x) o TRUNC_LINT(x) para un truncado seguro e inequívoco.
Funciones BCD (obsoletas)
Las funciones Decimal Codificado en Binario (IS_VALID_BCD, BCD_TO_*, *_TO_BCD) están marcadas como obsoletas y probablemente serán eliminadas en la próxima edición.
Qué fue añadido
Nuevas funcionalidades que modernizan la programación PLC
Properties (GET/SET)
Las clases, bloques de función e interfaces ahora soportan declaraciones PROPERTY_GET y PROPERTY_SET — métodos getter/setter apropiados con especificadores de acceso (PUBLIC, PRIVATE, PROTECTED, INTERNAL). Esto acerca la POO en PLC a la ingeniería de software moderna.
Mutex y Semaphore
El nuevo Capítulo 6.9 introduce el control de concurrencia. MUTEX proporciona LOCK/UNLOCK/TRYLOCK para secciones críticas. SEMA proporciona ACQUIRE/RELEASE/TRY_ACQUIRE para acceso contado a recursos. Esencial para PLCs multinúcleo y gestión de tareas concurrentes.
USTRING y UCHAR (UTF-8)
Los tipos nativos de cadena y carácter UTF-8 se unen a los existentes STRING (ASCII) y WSTRING (UTF-16). Los literales usan la sintaxis U#'texto'. Las nuevas funciones LEN_MAX y LEN_CODE_UNIT manejan codificación de longitud variable. Soporte completo de internacionalización para HMI y registro.
Función ASSERT
Una función de validación en tiempo de desarrollo que verifica expresiones booleanas y genera diagnósticos definidos por el fabricante cuando las condiciones fallan. Desactivada en producción — sin sobrecarga en tiempo de ejecución. Piense en aserciones de pruebas unitarias para código PLC.
Conversiones de tipo ampliadas
Nuevas conversiones explícitas (LWORD_TO_BOOL, DWORD_TO_BOOL, WORD_TO_BOOL, BYTE_TO_BOOL) y conversiones cadena a array (STRING/WSTRING/USTRING a ARRAY_OF_BYTE). Las conversiones implícitas STRING_TO_WSTRING y CHAR_TO_WCHAR son ahora estándar.
Códigos de caracteres hex en cadenas
La nueva sintaxis ${HH} permite insertar caracteres por punto de código hexadecimal dentro de literales de cadena. Permite tabuladores, símbolos Unicode y caracteres especiales directamente en su código PLC.
Migración de IL a Structured Text
Si su base de código todavía usa Instruction List, ahora es el momento de migrar. El código IL es típicamente 3-5 veces más largo que el Structured Text equivalente, más difícil de leer y cada vez menos soportado por herramientas modernas y asistentes de código con IA.
T-IA Connect puede acelerar su migración de IL a ST. Nuestra IA comprende ambos lenguajes y puede traducir bloques IL a Structured Text limpio y optimizado preservando su lógica y nombres de variables. Combinado con el servidor MCP, puede reinyectar el código migrado directamente en TIA Portal.
Exportar bloques IL
Use las herramientas de exportación de T-IA Connect para extraer su código fuente IL existente de proyectos TIA Portal (V17-V21).
Traducción asistida por IA
Proporcione el código IL a cualquier modelo de IA compatible con MCP. La IA traduce a Structured Text idiomático, manejando temporizadores, contadores, etiquetas de salto y patrones de acumulador.
Importar y compilar
Importe el SCL generado de vuelta en TIA Portal a través de las herramientas create_scl_block o import_scl_source de T-IA Connect. Compile y verifique en un solo paso.
Qué significa esto para los usuarios de Siemens TIA Portal
Siemens no ha eliminado IL/STL de TIA Portal — y probablemente no lo hará durante años. Pero la señal es clara. Las nuevas herramientas de Siemens (SIMATIC AX, TIA Portal V21 Source Documents) se centran exclusivamente en Structured Text. La norma IEC ahora solo reconoce cuatro lenguajes: ST, LD, FBD y SFC.
Para nuevos proyectos, ya no hay razón para usar IL. Para proyectos existentes con código IL, planifique su migración ahora mientras las herramientas y el soporte de IA están maduros. El servidor MCP de T-IA Connect con 390+ herramientas hace que esta transición sea manejable — incluso para grandes bases de código.
Cronología de ediciones IEC 61131-3
Edición 1 (1993)
Primera publicación. Define 5 lenguajes: IL, ST, LD, FBD, SFC.
Edición 2 (2003)
Revisión de mantenimiento. Aclaraciones y correcciones menores.
Edición 3 (2013)
Actualización importante. POO (clases, interfaces, herencia), espacios de nombres, referencias. IL marcado como obsoleto.
Edición 4 (2025)
IL eliminado. Properties, Mutex/Semaphore, UTF-8 (USTRING), ASSERT, conversiones ampliadas añadidas.
Preguntas frecuentes
¿Ha desaparecido completamente Instruction List de IEC 61131-3?
Sí. IL fue marcado como obsoleto en la Edición 3 (2013) y eliminado completamente en la Edición 4 (2025). Ya no forma parte de la norma internacional. Sin embargo, los fabricantes de PLC como Siemens pueden seguir soportando IL/STL en sus herramientas — simplemente ya no está estandarizado.
¿Necesito reescribir todo mi código IL inmediatamente?
No. Los programas IL existentes seguirán funcionando en TIA Portal y otros entornos que aún lo soporten. Pero para el nuevo desarrollo, Structured Text es ahora el único lenguaje textual estandarizado. Planifique su migración gradualmente — la IA de T-IA Connect puede ayudar a traducir bloque a bloque.
¿Para qué se usan Mutex y Semaphore en la programación PLC?
Mutex (exclusión mutua) protege secciones críticas de código para que solo una tarea pueda ejecutarlas a la vez — previniendo la corrupción de datos en programas multitarea. Semaphore permite acceso contado a recursos compartidos (ej. limitando conexiones concurrentes). Son conceptos estándar en IT que ahora están formalizados para PLCs.
¿Cómo ayuda T-IA Connect con la transición a IEC 61131-3:2025?
T-IA Connect genera Structured Text compatible con IEC 61131-3 mediante IA. Nuestro servidor MCP puede exportar bloques IL existentes, traducirlos a ST mediante cualquier modelo de IA y reimportar el código limpio en TIA Portal. Soportamos V17 hasta V21, para que pueda modernizarse sin actualizar su versión de TIA Portal.