IEC 61131-3 是国际电工委员会制定的一套用于可编程控制器编程语言的标准,定义了五种控制系统的编程方法。
IEC 61131-3 标准涵盖两大部分:编程与变量定义。其中,编程部分阐述了两个重要模型——IEC 软件模型及通讯模型;而变量则规定了在编程系统中所需的数据类型。
作为工业自动化控制系统软件设计领域的首个国际标准,IEC 61131-3 的问世填补了之前全球范围内缺乏通用控制语言标准化活动的空白。这主要是因为基于数字技术的分布式控制系统(DCS)等设备的发展导致专有化问题日益严重,给用户带来了诸多不便。该标准成功地将现代软件概念和工程机制与传统的可编程逻辑控制器(PLC)编程语言相结合,并对当今各种工业控制器中的编程理念及语言进行了标准化处理。这一举措极大地推动了 PLC 软件技术乃至整个工业控制领域的进步。
可以说,没有编程语言的标准化就没有今天开放式 PLCS 系统的基础。为了确保标准能够适用于广泛的用途并得到制造商的支持和采纳,IEC 61131-3 规定了两类主要编程语言:文本化及图形化编程语言。前者包括指令清单(IL)与结构化文本(ST),后者则涵盖梯形图(LD)以及功能块图(FBD)。虽然在标准的条文中未单独列出顺序功能图表 (SFC),但该模型可以在公共元素中找到规范,这意味着无论是在文本形式还是图形形式下都可以应用 SFC 的概念、语法及语法规则。
这五种编程语言都是基于工业控制中的基本元件及其构成网络或电路,并通过模拟它们在计算机上的工作原理和功能来创建。例如,梯形图(LD)将并行工作的机电组件如继电器触点与线圈、定时器等的连接进行建模;而功能块图(FBD)语言则对诸如加法器、乘法器及逻辑运算门等电子元件网络的功能进行了描述。结构化文本(ST)用于模拟信息处理任务,类似于在高级语言Pascal中使用数值算法的方式;指令表(IL)则是将汇编语言中的底层控制系统编程进行建模。顺序功能图(SFCs)则对时间驱动和事件驱动的顺序控制设备及算法进行了模型化。
值得注意的是,IEC 61131-3 允许在同一 PLC 中使用多种编程语言,并鼓励开发人员根据具体任务选择最合适的编程语言;同时支持在一个控制系统程序中采用不同模块的不同编程语言。这些规定不仅保留了PLC发展过程中形成的多样化编程传统的特性,也为未来PLC软件技术的发展提供了足够的灵活性和创新空间。