论文部分内容阅读
从20世纪90年代中期以来,随着计算机和软件技术的不断发展,基于PC平台、嵌入式操作系统和控制应用软件的控制器正越来越多地与传统工业控制相结合,实现更加精确高效的逻辑和运动控制。可编程逻辑控制器(Programmable Logic Controller,以下简称PLC)在工业控制系统中,正起着越来越重要的作用。本论文研究并设计了以IEC61131-3为语言标准的基于虚拟机概念的可嵌入式PLC软件模块平台。该PLC平台符合国际标准且易于使用,具有可扩展性,为开放式控制器发展提供了新的思路,进行了有益的实践。作者分析了虚拟机的基本组成和功能,结合工业控制中PLC应用的特点提出了PLC虚拟机的概念。通过对传统的硬件PLC系统进行研究,作者对其进行了软件抽象,设计并实现了PLC虚拟机系统。该系统是具有快慢逻辑任务调度机制、与硬件无关的指令系统并管理相关软硬资源的软PLC平台。PLC虚拟机采用嵌入式的软件结构来开发,由一组软件模块组成,每一模块具有确定的功能。所有模块都封装在动态连接库中,并提供头文件给用户。用户可以加载PLC虚拟机的模块嵌入到自己的控制软件中,通过调用各模块提供的接口实现PLC各种功能。作者在认真学习IEC61131-3标准的基础上,分析和归纳了该标准中梯形图编程语言要素的需求。根据需求设计了标准中主要梯形图元件对象的数据结构和功能;设计了元件库的数据结构和操作功能,实现了易于扩展的元件库;设计和实现了梯形图程序文件存储的数据结构、变量类型和数据类型。在结合课题实际情况的条件下设计和实现了PLC虚拟机双任务调度,即快逻辑任务和慢逻辑任务之间的调度。快逻辑任务是一个需要定时执行的任务,该任务必须在一个系统采样周期内执行完成。慢逻辑任务是一个无限循环,它可以在几个系统采样周期内完成。采用了完全面向对象的设计方法开发PLC虚拟机。设计并实现了一套自主设计的PLC虚拟机指令系统,PLC虚拟机资源模型和解释运行器。该指令系统实现了67条指令(见附录1),每一条指令都被设计成为对象并使用了多态技术,大大节省了程序解释执行时的运行速度。该指令系统可实现梯形图逻辑运算,元件功能运算和自定义元件的调用。