IEC 61131-3:2025 Updates – UTF-8 Support and IT/OT Convergence

Listen to this Post

Featured Image
The latest version of IEC 61131-3 (2025) introduces key updates, most notably UTF-8 string support, paving the way for better IT/OT convergence. While the standard remains focused on industrial automation, there’s a growing need for modern programming features like async I/O, simplified concurrency, and vendor-independent task scheduling.

You Should Know:

1. UTF-8 Support in Structured Text (ST)

With UTF-8, PLC programs can now handle international characters, making them more adaptable for global deployments.

Example ST Code:

VAR 
utf8String : STRING(100) := 'こんにちは'; // Japanese greeting 
END_VAR 
  1. Async I/O & File Operations (Vendor Extensions)
    Many PLC vendors already support file operations and sockets. Here’s how you might use them:

Beckhoff TwinCAT Example:

FUNCTION_BLOCK FileReadExample 
VAR 
fileHandle : UINT; 
dataBuffer : ARRAY[1..100] OF BYTE; 
END_VAR

fileHandle := SysFileOpen('C:\Data\log.txt', FOM_READ); 
SysFileRead(fileHandle, ADR(dataBuffer), SIZEOF(dataBuffer)); 
SysFileClose(fileHandle); 

3. Simplified Concurrency (Without Locks)

Modern PLCs (e.g., Codesys-based systems) support task-based concurrency:

PROGRAM Main 
VAR 
task1 : TASK(PRIORITY := 10, INTERVAL := T20MS); 
task2 : TASK(PRIORITY := 5, INTERVAL := T50MS); 
END_VAR

// Task execution 
task1(IN := TRUE, PT := T10MS); 
task2(IN := TRUE, PT := T20MS); 

4. Sockets & Network Communication

Python-like socket handling in ST (Siemens S7-1500 example):

FUNCTION EstablishTCPConnection : BOOL 
VAR 
socketID : INT; 
connected : BOOL := FALSE; 
END_VAR

socketID := TCONNECT(ADDR := '192.168.1.100', PORT := 8080); 
IF socketID > 0 THEN 
connected := TRUE; 
END_IF 

Linux & Windows Commands for IT/OT Engineers

  • Linux (PLC logging & diagnostics):
    journalctl -u codesys-runtime --no-pager -n 50  Check PLC runtime logs 
    tcpdump -i eth0 port 502 -w modbus_traffic.pcap  Capture Modbus traffic 
    
  • Windows (PLC interfacing):
    Get-NetTCPConnection -State Established | Where-Object {$_.RemotePort -eq 44818}  Find EtherNet/IP connections 
    

What Undercode Say

The IEC 61131-3:2025 update is a step forward but still lags behind modern programming needs. Engineers should push vendors for:
– Built-in MQTT/HTTP libraries.
– Zero-copy data sharing between tasks.
– Docker-like containerization for PLC programs.

Prediction

By 2027, PLC programming will merge with DevOps, bringing GitOps, CI/CD pipelines, and Kubernetes-style orchestration to industrial automation.

Expected Output:

// Sample ST program with UTF-8 and file I/O 
PROGRAM ModernPLC 
VAR 
welcomeMsg : STRING := 'Hello, 世界'; 
fileData : ARRAY[1..256] OF BYTE; 
END_VAR

// Read config file 
IF NOT FileRead('config.bin', fileData) THEN 
LogError('Config load failed!'); 
END_IF 

Relevant Links:

IT/Security Reporter URL:

Reported By: Activity 7333277231013646336 – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅

Join Our Cyber World:

💬 Whatsapp | 💬 Telegram