工业组态软件中CFC语言的设计实现及语言转换的研究-计算机应用技术专业论文
摘 要
近年来随着 IEC61131-3 国际标准的正式公布与推广,基于此标准的工业自动 化领域的组态软件,经过不断完善已日趋成熟并获得了广泛的应用。组态软件作 为 DCS、PLC、SCADA 等控制系统的上位机软件,在整个系统中占有极其重要的 地位。连续功能图语言 CFC(Continuous Function Chart)语言作为 IEC 标准的 5 种组态语言之一 FBD 语言的改进版本,以元素的可视形象化、连贯的操作性正逐 渐成为自动化控制系统中的首选组态语言。
本文在开篇概述了自主开发的新一代工控组态软件 AutoFix 的总体架构与实 现流程:包括从上层的逻辑组态到虚拟平台的仿真,再到与控制器端的通讯在线。 随后,重点论述了以面向对象方法设计的 CFC 语言模块,包括编辑器与编译器前 端两大部分。其中编辑器部分,以易用性为目标改进了连线算法、多指令的撤销 恢复机制等以进行编辑器优化。编译器部分,研究并设计了图形语言的语法、语 义检查方案,充分利用目前流行的中间语言编译方法,提出了一种和编译后端平 台无关的 HCC 中间代码结构,实现了编译前端最后一步工作:逻辑翻译。
此外,本文还通过分析标准 IEC 语言之间转换的可行性,在现有一些转换理 论的基础上,开发并实现了图形语言和文本形式语言的转换功能。并以 CFC 和 ST
(Structure Text)两种语言为例进行了互转举例。方案以较简约的语法元素树、代 码表结构进行了各语言元素的存储、拆分与转换,避免了使用传统反编译技术先 生成冗余的二进制指令,再返回显示的过程。验证结果表明,使用新方法的转换 速度更快,转换的准确性也得到了提高,对各类组态软件的开发具有一定应用和 推广价值。本文最后以一概括性的总结结尾,并对组态软件整体及其内部 CFC 语 言模块存在的不足进行分析,就后期进一步的研究开发给出了展望。
关键词:组态软件 IEC61131-3 CFC 语言 语言转换
Abstract
In recent years, with the release of the IEC61131-3 standard,the industrial control configuration software based on this standard, through continuous improvement has matured and access to a wide range of application. As a part of upper computer in DCS, PLC, SCADA, the configuration software occupies an important position in these control systems. CFC (Continuous Function Chart) language which is improved from FBD(one of five IEC standard languages), with elements of visual imagery, coherent operational is gradually becoming the preferred language for automation control field.
This paper begins with an overview of the new generation and independently developed configuration software: AutoFix. It summarizes the overall architecture and implementation process: from logical configuration to the simulation in virtual platform, and then to the online communication with the controller.Subsequently, we focuses on the CFC language module which is designed with object-oriented method and includes two parts: the editor and compiler front-end. About the editor section, for the aim of high usability, we improved the connection algorithm, revocation an