论文部分内容阅读
IEC 61131-3标准是第一个为工业控制系统提供标准化编程语言的国际标准。该标准针对工业控制系统提出的软件设计概念、模型等,符合当今世界软件、工业控制系统的发展方向,对可编程控制器软件技术的发展,乃至整个工业控制软件技术的发展,起着重要的推动作用。本课题的主要工作是设计并实现一个符合IEC 61131-3标准的PLC仿真系统。该系统不依赖于特定的PLC或其它控制系统硬件产品,是一个开放式的编程仿真环境,具有PLC编程、语言转换及仿真运行等功能。依据编程语言标准,用户可以使用该仿真系统设计和编写PLC梯形图或指令表语言控制程序,并能在这两种语言之间自由转换。在设计好梯形图程序后,用户可以通过系统提供的仿真功能验证控制程序的正确性和合理性,以便作进一步的修改或完善。本文首先介绍了PLC仿真系统在国内外的研究现状、发展趋势以及IEC61131-3编程语言标准。然后采用面向对象和模块化设计思想,对仿真系统进行了总体设计。针对设计中遇到的梯形图结构的描述问题,本文遵循IEC 61131-3编程语言标准,采用XML语言来描述梯形图。在此基础上,设计实现了符合IEC61131-3标准的编程系统。编程系统支持梯形图和指令表两种编程语言,用户可用来显示和编辑符合IEC 61131-3标准的梯形图和指令表程序,并能在支持标准编程语言的不同编程、仿真系统间进行控制程序的无障碍移植。本文重点研究了梯形图和指令表程序间的转换算法,并结合XML语言和二叉树的特点,提出了基于XML及二叉树的梯形图和指令表转换算法。该算法与传统的基于AOV图的算法相比,明显降低了算法的复杂度,且使用二叉树描述梯形图的逻辑关系具有通用性,可用于复杂梯形图的转换。仿真模块是本文设计的核心,本文设计的仿真系统支持程序的离线仿真,提供直观的梯形图状态显示、变量监控、时序图等多种监控模式,支持程序的连续、单步等多种仿真方式。实例测试表明,仿真系统的各项功能均达到设计要求,可以用于实际PLC控制程序的设计。最后,对本课题已经完成的工作做了总结,并对后续工作中的重点作了说明。