IEC 61131-3 Edition 4
La fine dell'Instruction List
La revisione di maggio 2025 dello standard di programmazione PLC rimuove IL, aggiunge Properties OOP, sincronizzazione Mutex/Semaphore, stringhe UTF-8 e ASSERT. Ecco tutto ciò che ogni ingegnere dell'automazione deve sapere.
Cosa è cambiato nell'Edition 4?
IEC 61131-3:2025 (Edition 4) è l'aggiornamento più significativo dello standard dei linguaggi di programmazione PLC dal 2013. Pubblicato a maggio 2025 dal Comitato Tecnico IEC TC 65 / SC 65B, modernizza lo standard per riflettere come il software di automazione industriale viene effettivamente sviluppato oggi.
Il cambiamento principale: Instruction List (IL) — il linguaggio PLC simile all'assembly risalente agli anni '90 — è stato ufficialmente rimosso dallo standard. Era stato deprecato nell'Edition 3 (2013) ed è ora completamente scomparso. Il comitato IEC ha concluso che 'un linguaggio simile all'assembly non è adatto agli ambienti di sviluppo moderni'.
Ma la rimozione di IL è solo una parte di una modernizzazione più ampia. L'Edition 4 introduce anche Properties orientate agli oggetti, primitive di concorrenza (Mutex/Semaphore), supporto per stringhe UTF-8, una funzione ASSERT per lo sviluppo e conversioni di tipo estese.
Cosa è stato rimosso
Funzionalità ufficialmente eliminate dallo standard
Instruction List (IL)
L'intera specifica del linguaggio IL (Capitolo 7.2) è stata rimossa. IL era un linguaggio simile all'assembly incline a codice illeggibile e difficile da mantenere. I produttori possono ancora supportarlo, ma non fa più parte dello standard IEC. Migra a Structured Text (ST).
Letterali ottali
La notazione numerica ottale (es. 8#267) è stata eliminata. Utilizza invece la notazione decimale o esadecimale.
TRUNC non tipizzato
La funzione generica TRUNC(x) è scomparsa. Utilizza versioni esplicitamente tipizzate come TRUNC_DINT(x) o TRUNC_LINT(x) per un troncamento sicuro e non ambiguo.
Funzioni BCD (deprecate)
Le funzioni Decimal Codificato Binario (IS_VALID_BCD, BCD_TO_*, *_TO_BCD) sono contrassegnate come deprecate e verranno probabilmente rimosse nella prossima edizione.
Cosa è stato aggiunto
Nuove funzionalità che modernizzano la programmazione PLC
Properties (GET/SET)
Classi, Function Block e Interface supportano ora le dichiarazioni PROPERTY_GET e PROPERTY_SET — metodi getter/setter appropriati con specificatori di accesso (PUBLIC, PRIVATE, PROTECTED, INTERNAL). Questo avvicina la OOP per PLC all'ingegneria del software moderna.
Mutex e Semaphore
Il nuovo Capitolo 6.9 introduce il controllo della concorrenza. MUTEX fornisce LOCK/UNLOCK/TRYLOCK per le sezioni critiche. SEMA fornisce ACQUIRE/RELEASE/TRY_ACQUIRE per l'accesso contato alle risorse. Essenziale per PLC multi-core e gestione di task concorrenti.
USTRING e UCHAR (UTF-8)
I tipi nativi stringa e carattere UTF-8 si aggiungono agli esistenti STRING (ASCII) e WSTRING (UTF-16). I letterali usano la sintassi U#'testo'. Le nuove funzioni LEN_MAX e LEN_CODE_UNIT gestiscono la codifica a lunghezza variabile. Supporto completo all'internazionalizzazione per HMI e logging.
Funzione ASSERT
Una funzione di validazione in fase di sviluppo che verifica espressioni booleane e genera diagnostiche definite dal produttore quando le condizioni falliscono. Disabilitata in produzione — zero overhead in fase di esecuzione. Pensala come le asserzioni di unit test per il codice PLC.
Conversioni di tipo estese
Nuove conversioni esplicite (LWORD_TO_BOOL, DWORD_TO_BOOL, WORD_TO_BOOL, BYTE_TO_BOOL) e conversioni stringa-ad-array (STRING/WSTRING/USTRING a ARRAY_OF_BYTE). Le conversioni implicite STRING_TO_WSTRING e CHAR_TO_WCHAR sono ora standard.
Codici carattere esadecimali nelle stringhe
La nuova sintassi ${HH} consente di inserire caratteri tramite code point esadecimale all'interno di letterali stringa. Permette caratteri di tabulazione, simboli Unicode e caratteri speciali direttamente nel codice PLC.
Migrazione da IL a Structured Text
Se il tuo codebase utilizza ancora Instruction List, ora è il momento di migrare. Il codice IL è tipicamente 3-5 volte più lungo dell'equivalente Structured Text, più difficile da leggere e sempre meno supportato dagli strumenti moderni e dagli assistenti di codice AI.
T-IA Connect può accelerare la tua migrazione da IL a ST. La nostra AI comprende entrambi i linguaggi e può tradurre blocchi IL in Structured Text pulito e ottimizzato preservando la tua logica e i nomi delle variabili. Combinato con il server MCP, puoi re-iniettare il codice migrato direttamente in TIA Portal.
Esporta i blocchi IL
Utilizza gli strumenti di esportazione di T-IA Connect per estrarre il codice sorgente IL esistente dai progetti TIA Portal (V17-V21).
Traduzione assistita da AI
Fornisci il codice IL a qualsiasi modello AI compatibile con MCP. L'AI traduce in Structured Text idiomatico, gestendo timer, contatori, etichette di salto e pattern accumulatore.
Importa e compila
Importa l'SCL generato in TIA Portal tramite gli strumenti create_scl_block o import_scl_source di T-IA Connect. Compila e verifica in un solo passaggio.
Cosa significa per gli utenti di Siemens TIA Portal
Siemens non ha rimosso IL/STL da TIA Portal — e probabilmente non lo farà per anni. Ma la direzione è chiara. I nuovi strumenti Siemens (SIMATIC AX, TIA Portal V21 Source Documents) si concentrano esclusivamente su Structured Text. Lo standard IEC ora riconosce solo quattro linguaggi: ST, LD, FBD e SFC.
Per i nuovi progetti, non c'è più motivo di usare IL. Per i progetti esistenti con codice IL, pianifica la migrazione ora mentre gli strumenti e il supporto AI sono maturi. Il server MCP di T-IA Connect con 390+ strumenti rende questa transizione gestibile — anche per codebase di grandi dimensioni.
Cronologia delle edizioni IEC 61131-3
Edition 1 (1993)
Prima pubblicazione. Definisce 5 linguaggi: IL, ST, LD, FBD, SFC.
Edition 2 (2003)
Revisione di manutenzione. Chiarimenti e correzioni minori.
Edition 3 (2013)
Aggiornamento principale. OOP (classi, interfacce, ereditarietà), namespace, riferimenti. IL deprecato.
Edition 4 (2025)
IL rimosso. Aggiunti Properties, Mutex/Semaphore, UTF-8 (USTRING), ASSERT, conversioni estese.
Domande frequenti
Instruction List è completamente scomparso da IEC 61131-3?
Sì. IL è stato deprecato nell'Edition 3 (2013) e completamente rimosso nell'Edition 4 (2025). Non fa più parte dello standard internazionale. Tuttavia, i produttori di PLC come Siemens possono continuare a supportare IL/STL nei loro strumenti — semplicemente non è più standardizzato.
Devo riscrivere tutto il mio codice IL immediatamente?
No. I programmi IL esistenti continueranno a funzionare in TIA Portal e negli altri ambienti che lo supportano ancora. Ma per il nuovo sviluppo, Structured Text è ora l'unico linguaggio testuale standardizzato. Pianifica la migrazione gradualmente — l'AI di T-IA Connect può aiutare a tradurre blocco per blocco.
A cosa servono Mutex e Semaphore nella programmazione PLC?
Mutex (esclusione reciproca) protegge le sezioni critiche del codice affinché solo un task possa eseguirle alla volta — prevenendo la corruzione dei dati nei programmi multi-task. Semaphore consente l'accesso contato a risorse condivise (es. limitare le connessioni concorrenti). Sono concetti standard in IT ora formalizzati per i PLC.
Come aiuta T-IA Connect nella transizione a IEC 61131-3:2025?
T-IA Connect genera Structured Text conforme a IEC 61131-3 tramite AI. Il nostro server MCP può esportare i blocchi IL esistenti, tradurli in ST tramite qualsiasi modello AI e reimportare il codice pulito in TIA Portal. Supportiamo da V17 a V21, quindi puoi modernizzarti senza aggiornare la versione di TIA Portal.