本文主要是介绍Windows95平台下数控系统实时控制的研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Windows95平台下数控系统实时控制的研究 付永忠 殷苏民 摘 要:Windows95是目前最流行的PC机操作系统,开发基于Windows95下的数控系统具有重要意义.通过分析Windows95中断机制和内核结构,提出了利用Windows95的中断调用、多媒体定时器或虚拟设备驱动程序等实现实时控制功能的几种方法,并分别进行了较详细的阐述. A Research on Real-Time Control of CNC Based Windows95 Platform FU Yong-zhong , YIN Su-min Abstract:Windows95 is the most popular operating system used by PC, so it is very significant to develop CNC based Windows95.By analyzing the interruption architecture and kernel structure of Windows95,the authors put forward and expatiate upon several methods in which interruption architecture of Windows95 ,multimedia timer or virtual device driver are utilized to realize real-time control. 基于PC机的数控系统是数控系统发展的必然趋势,其中的一个重要原因就是PC机能运行通用的操作系统(如:DOS,Windows),并且有大量的相关应用软件可供使用.基于DOS操作系统的数控系统经过十几年的发展,技术已经比较成熟.Windows操作系统特别是Windows95的推出,使PC机的操作系统发生了革命性的变化,与DOS相比Windows95主要具有以下优点: 1 实时控制功能的实现 1.1 利用Windows95中断机制实现实时控制 #include <stdafx.h> 1.2 利用多媒体定时器进行实时控制 表1 多媒体定时器函数 |
函 数 | 说 明 |
TimeBeginPeriod() | 建立最小的定时器精度 |
TimeEndPeriod() | 消除所设置的定时器精度 |
TimeGetDevCaps() | 返回有关定时器性能信息 |
TimeKillEvent() | 取消一个定时器事件 |
TimeSetEvent() | 创建一个定时器事件 |
在程序开始启动一个定时器之前,必须用TimeBeginPeriod()函数建立应用程序希望使用的最小定时器精度,当定时器服务完成时,必须调用timeEndPeriod()函数来清除最小定时器精度.下面给出一段在VC5.0平台上实现的多媒体定时器服务程序的部分程序清单. #include “StdAfx.h” //标准头文件 多媒体定时器函数的形式参数的详细含义请查阅文献[4]. 图1 特权级分配图 VMM主要实现任务调度,虚拟内存操作,程序装入及终止等功能,处理来自定时器、鼠标器、COM端口中断以及出错和例外等情况.因此,考虑采用某种方法使应用程序获得特权级为0的VMM的中断功能,即可实现很强的实时功能,而实现这一功能的最好媒介就是虚拟设备驱动程序(Vxd).在Windows95的Windows\System目录下有一Vtdi.386程序,它可以提供虚拟定时器编程接口(VTDAPI),利用这个接口,可以编制一Vxd实现高精度的定时.下面给出用Windows95 DDK编写的Vxd的程序片断. ;获得VTADAPI入口 地址 虚拟定时器结构请查阅Windows95 DDK的有关资料. 2 结 束 语 利用Windows95的中断机制实现实时控制,实时能力较强,但是由于这种方法没有脱离DOS模式,不能发挥Windows的优势,所以一般不宜采用.使用多媒体定时器,需要占用很多CPU资源,影响其他程序的运行,同时也容易受其他程序的干扰,但是,由于现在的CPU运行速度越来越快,所以如果选用高性能的计算机,并对多媒体定时器精度进行适当修正,完全能满足数控系统的实时控制要求.对于第三种方法,虽然编制Vxd必须使用Windows95 DDK,而且基本上使用汇编语言,开发起来比较麻烦,不过由于使用Vxd实现实时控制的精度高且系统稳定性好,所以也不失为一种好的方法. (责任编辑 陈持平) 作者简介:付永忠,男,江苏理工大学硕士生. [参 考 文 献] [1] 魏晋鹏,等. Windows深入剖析—初始化篇[M]. 北京:清华大学出版社,1997. 收稿日期:1999-06-17 |
这篇关于Windows95平台下数控系统实时控制的研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!