论文部分内容阅读
随着计算机技术在数控领域的不断应用,数控系统的软硬件资源得到了极大的丰富,开放式数控系统迎来了新的发展机遇,各种新的研究成果不断涌现。数控系统处理的信息可分为数字控制和顺序控制,其顺序控制(M、S、T功能)通常是由PLC(ProgrammableLogical Controller)来完成的。传统的硬件PLC体系结构封闭,无法满足开放式数控系统的要求,因此,软PLC的研究与应用越来越引起业界的重视。遵循国际电工委员会最新颁布实施的IEC61131-3标准,研究软PLC在数控系统中的应用,可以进一步增强开放式数控系统的功能。本文基于陕西科技大学数控实验室开发的新型陶瓷快速成型机数控系统,以实现该系统的顺序控制为目的,研究了符合IEC61131-3国际标准的软PLC的原理和开发技术。由于面向对象的C++语言具有类的封装、继承和多态性等优点,本课题采用Windows操作系统为开发平台,以Visual C++为开发工具,设计实现了新型陶瓷快速成型机数控系统软PLC的功能模块。论文主要从以下两方面进行了研究。第一,针对传统PLC的工作原理和结构,分析软PLC应该具备的功能,并在此基础上分析软PLC的总体框架,重点设计软PLC的开发系统的编译模块和运行系统。编译模块依据PLC指令表程序为源代码,运用Flex和Bison自动生成软件,将指令表程序经过词法分析、语法分析、语义分析最后生成的目标代码存储在设计好的译码结果缓存区中。第二,软PLC的运行系统的设计采用的是虚拟机的设计思路,模拟硬PLC的工作过程。软PLC虚拟机分为快慢两个逻辑程序,虚拟机实际上就是这两个逻辑程序的调度和切换。本文设计的虚拟机读入类似汇编语言的目标代码后利用汇编技术将目标代码转换为是机器码文件,虚拟机加载机器码文件进行解释执行。利用动态链接库技术(DLL)完成开发系统和运行系统的通信功能。