IEC 61131-3标准是一个强有力的、灵活的、可移植的、开放性的工业控制编程语言国际标准。目前,欧美等西方国家都致力于IEC 61131-3标准的推广与应用,市场上基于这个标准的产品较多,如加拿大ICS Triplex公司的lSaGRAF、德国KW公司的MULTIPROG、德国Infoteam的OpenPCS、德国3S公司的CoDesys等。这些软件的开发商都不生产控制系统硬件产品,而是专著于IEC 61131-3标准的控制系统编程环境开发。这也是这些产品都具有很好的移植功能,适合于多种软、硬件平台的原因之一。
传统的PLC厂商近年来也加大了对IEC 61131-3标准的支持,它们的编程软件中已经融入了更多的IEC 61131-3元素。在众多的PLC制造商的编程软件中,相比较而言,施耐德公司的PLC编程软件Unity Pro系列对IEC 61131-3标准支持度较高。它可以对施耐德公司的Atrium、Premium、M340及Quantum自动化平台进行编程,支持IEC 61131-3标准的5种编程语言。Unity Pro有丰富的面向不同行业和应用的功能块,如过程控制功能块库可以用来建立过程回路控制;通信功能块库可以将PLC的通信程序与用于人机界面的应用程序结合起来;诊断功能块库除可以完成执行器监视和信号组监视外,还可以用于主动式诊断、反应式诊断、连锁诊断、过程控制条件诊断和动态诊断等。“系统”功能块库具有估算扫描时间,以及若干个系统时钟的有效性、SFC程序段的监视和系统状态显示等功能。此外,用户还可以用各种语言编写面向特定行业的功能块,扩展和丰富功能块库。其图形编程界面如图
近年来,国内也有许多公司致力于基于IEC 61131-3标准的编程系统的开发,如北京亚控科技、浙大中自、大连理工大学计控研究所等都自行开发且拥有自主知识产权的编程系统,已经达到了较高的技术水平。
MULTIPROG
MULT AIPROG是一个标准的编程系统,可用于根据IEC标准设计的PLC及传统的PLC。其图形开发界面如图6.17所示。它基于IEC 61131-3标准,并且包括了IEC特征的全部范围。这个编程系统基于现代的32位Windows技术,提供了便捷的处理,包括缩放、拖曳和可对接窗口。系统允许处理IEC配置元素,允许包含库,并提供了一个功能强大的调试系统。对于MULTIPROG,所有的功能都可以通过菜单访问,并且,只需要用几个对话框就可以建立一个工程模板,然后可以立即开始开发应用程序。
每个编程语言的编辑器都提供了一个编辑向导,使得插入关键字、语句、操作符、功能和功能块时尽可能地快而且容易。编辑向导也可以用于声明数据类型。适应于不同PLC的专用部分完善了独立内核。
MULTIPROG支持所有IEC 61131-3定义的编程语言,程序设计人员能够在5个标准化编程语言FBD、LD、IL、ST和SFC之间进行选择,或者混合使用文本和图形化编程语言。MULTIPROG其他的特点还包括以下几方面。
工具包可用来调整用户特有的运行控制系统。
能够根据用户程序的大小进行联机改变。
MULTIPROG可以使用多种语言。用户界面可以使用德语、英语、法语、西班牙语、日语和汉语。
MULTIPROG可以在一个工程中支持具有多个控制器的分布式系统。
通过向导、交叉参考等强大的资源可以进行舒适并有效的编程。
KW-Software通过兼容的版本,可以进行统一的MULTIPROG版本管理。
通过直观的功能处理,用户可以在自动控制工程内的各个阶段得到支持。
工程处理(符合国际标准IEC 61131-3)。
控制应用程序的创建。
控制器的参数化和配置。
代码生成(编译)和下装到控制器。
测试、试运行和服务。
文档丰富,方便用户在线索引和编程。
归档功能。
OpenPCS
OpenPCS是一个遵从IEC 61131-3标准的编程系统,由德国Infoteam公司研发。其图形开发界面如图分别是①菜单和工具栏;②工程浏览器;③编辑窗口;④诊断输出窗口。OpenPCS开发环境包括两个部分:编程系统和运行系统。它的突出优点是运行系统提供开放式的标准C语言源代码,方便用户将运行系统移植到不同的操作系统和硬件平台。OpenPCS的编程系统包含几个独立的工具:工程浏览器、编辑器、应用文件、编译器,以及代码生成、测试和调试。
运行系统为开发人员提供标准C语言源代码,这些标准的C语言源代码包括以下功能模块:系统接口、通信接口、I/O接口、功能块接口等。由于这些功能模块是采用标准C语言编写的,因此开发人员可以根据需要选择C语言源代码,将运行目标机移植到特定的硬件平台和操作系统中,增加用户的功能块,定制应用的编程环境。
OpenPCS的运行系统支持通用代码(Universal Intermediate Code,UCODE)和本地代码(Native Code ,NCODE)。UCODE采用解析运行机制(典型的如BASIC语言程序就是采用该机制运行),所以它的通用性是以降低速度为代价的。NCODE采用机器码被直接执行的方式,且没有调试信息被插入,因而其执行速度比UCODE快20~40倍。
为能在不同的软、硬件平台间移植IEC 61131-3标准的5种编程语言,OpenPCS的运行系统具有一个能解析IEC 61131-3标准IL语言的虚拟机。虚拟机核心是OpenPCS-RT-kernel,通过该虚拟机来模拟一个PLC或其他控制器设备的执行。