IEC 61131-3 第4版
Instruction List 的终结
2025年5月发布的 PLC 编程标准修订版删除了 IL,新增了 OOP 属性、Mutex/Semaphore 同步、UTF-8 字符串和 ASSERT。每位自动化工程师都需要了解这些变化。
第4版有哪些变化?
IEC 61131-3:2025(第4版)是自2013年以来 PLC 编程语言标准最重要的更新。由 IEC 技术委员会 TC 65 / SC 65B 于2025年5月发布,此版本对标准进行了现代化改造,以反映当今工业自动化软件的实际开发方式。
最重要的变化:Instruction List(IL)——这门源于1990年代、类似汇编语言的 PLC 语言——已从标准中正式删除。它在第3版(2013年)中被标记为已废弃,现在已完全消失。IEC 委员会得出结论,「类似汇编的语言在现代开发环境中已经过时」。
但删除 IL 只是更广泛现代化的一部分。第4版还引入了面向对象的属性(Properties)、并发原语(Mutex/Semaphore)、UTF-8 字符串支持、开发用 ASSERT 函数以及扩展的类型转换。
已删除的内容
从标准中正式删除的功能
Instruction List(IL)
整个 IL 语言规范(第7.2章)已被删除。IL 是一种类汇编语言,容易产生难以阅读和维护的代码。厂商可能仍会支持它,但它不再是 IEC 标准的组成部分。请迁移到 Structured Text(ST)。
八进制字面量
八进制数字表示法(如 8#267)已被取消。请改用十进制或十六进制表示法。
无类型 TRUNC
通用的 TRUNC(x) 函数已消失。请使用显式类型版本,如 TRUNC_DINT(x) 或 TRUNC_LINT(x),以实现安全、明确的截断。
BCD 函数(已废弃)
二进制编码十进制函数(IS_VALID_BCD、BCD_TO_*、*_TO_BCD)已标记为废弃,可能会在下一版本中删除。
新增的内容
使 PLC 编程现代化的新功能
属性(GET/SET)
类、功能块和接口现在支持 PROPERTY_GET 和 PROPERTY_SET 声明——带有访问说明符(PUBLIC、PRIVATE、PROTECTED、INTERNAL)的真正 getter/setter 方法。这使 PLC 中的 OOP 更接近现代软件工程。
Mutex 和 Semaphore
新增第6.9章引入了并发控制。MUTEX 提供 LOCK/UNLOCK/TRYLOCK 用于临界区。SEMA 提供 ACQUIRE/RELEASE/TRY_ACQUIRE 用于计数资源访问。对于多核 PLC 和并行任务管理至关重要。
USTRING 和 UCHAR(UTF-8)
原生 UTF-8 字符串和字符类型加入了现有的 STRING(ASCII)和 WSTRING(UTF-16)。字面量使用 U#'文本' 语法。新函数 LEN_MAX 和 LEN_CODE_UNIT 处理可变长度编码。为 HMI 和日志记录提供完整的国际化支持。
ASSERT 函数
一个开发时验证函数,用于检查布尔表达式,并在条件失败时生成厂商定义的诊断信息。在生产环境中禁用——无运行时开销。可将其视为 PLC 代码的单元测试断言。
扩展的类型转换
新增显式转换(LWORD_TO_BOOL、DWORD_TO_BOOL、WORD_TO_BOOL、BYTE_TO_BOOL)和字符串到数组的转换(STRING/WSTRING/USTRING 到 ARRAY_OF_BYTE)。隐式的 STRING_TO_WSTRING 和 CHAR_TO_WCHAR 转换现在已成为标准。
字符串中的十六进制字符代码
新的 ${HH} 语法允许在字符串字面量中通过十六进制码点插入字符。可以直接在 PLC 代码中使用制表符、Unicode 符号和特殊字符。
从 IL 迁移到 Structured Text
如果您的代码库仍在使用 Instruction List,现在是迁移的时候了。IL 代码通常比等效的 Structured Text 长3-5倍,更难阅读,而且越来越少得到现代工具和 AI 代码助手的支持。
T-IA Connect 可以加速您从 IL 到 ST 的迁移。我们的 AI 理解两种语言,可以将 IL 块翻译成简洁、优化的 Structured Text,同时保留您的逻辑和变量名称。结合 MCP 服务器,您可以将迁移后的代码直接注入 TIA Portal。
导出 IL 块
使用 T-IA Connect 的导出工具从 TIA Portal 项目(V17-V21)中提取现有的 IL 源代码。
AI 辅助翻译
将 IL 代码提交给任意兼容 MCP 的 AI 模型。AI 将其翻译为惯用的 Structured Text,处理定时器、计数器、跳转标签和累加器模式。
导入并编译
通过 T-IA Connect 的 create_scl_block 或 import_scl_source 工具将生成的 SCL 导回 TIA Portal。一步完成编译和验证。
这对 Siemens TIA Portal 用户意味着什么
Siemens 并未从 TIA Portal 中删除 IL/STL——在未来数年内可能也不会这样做。但方向已经明确。Siemens 的新工具(SIMATIC AX、TIA Portal V21 Source Documents)专注于 Structured Text。IEC 标准现在只认可四种语言:ST、LD、FBD 和 SFC。
对于新项目,已没有理由继续使用 IL。对于使用 IL 代码的现有项目,请趁现在工具和 AI 支持已成熟时规划迁移。T-IA Connect 的 MCP 服务器拥有 390+ 工具,即使对于大型代码库也能让这一过渡变得可控。
IEC 61131-3 版本时间线
第1版(1993年)
首次发布。定义了5种语言:IL、ST、LD、FBD、SFC。
第2版(2003年)
维护性修订。较小的澄清和更正。
第3版(2013年)
重大更新。OOP(类、接口、继承)、命名空间、引用。IL 标记为废弃。
第4版(2025年)
IL 已删除。新增属性、Mutex/Semaphore、UTF-8(USTRING)、ASSERT、扩展转换。
常见问题
Instruction List 是否已从 IEC 61131-3 中完全消失?
是的。IL 在第3版(2013年)中被标记为废弃,并在第4版(2025年)中被完全删除。它不再是国际标准的组成部分。但是,Siemens 等 PLC 厂商可能仍会在其工具中支持 IL/STL——只是不再标准化了。
我需要立即重写所有 IL 代码吗?
不需要。现有的 IL 程序将继续在 TIA Portal 和其他仍支持它的环境中运行。但对于新开发,Structured Text 现在是唯一标准化的文本语言。逐步规划迁移——T-IA Connect 的 AI 可以帮助逐块翻译。
Mutex 和 Semaphore 在 PLC 编程中用于什么?
Mutex(互斥锁)保护代码的关键部分,使得同一时间只有一个任务可以执行它们——防止多任务程序中的数据损坏。Semaphore 提供对共享资源的计数访问(如限制并发连接数)。这些是 IT 领域的标准概念,现已为 PLC 正式化。
T-IA Connect 如何帮助过渡到 IEC 61131-3:2025?
T-IA Connect 通过 AI 生成符合 IEC 61131-3 的 Structured Text。我们的 MCP 服务器可以导出现有的 IL 块,通过任意 AI 模型将其翻译为 ST,并将干净的代码重新导入 TIA Portal。我们支持 V17 至 V21,无需升级 TIA Portal 版本即可实现现代化。