最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

Windows平台上软件数控系统开发

发布时间:2014-08-14 作者:胡力耘 余样 卢杰持  来源:知网空间
关键字:Windows 数控系统 
本文给出了Windows保护模式下拦截硬中断的方法,在此基础上提出了Windows平台上开发数控系统软件的基本思路,对于前后台式数控软件产品的更新具有实用参考价值。

  在Windows平台上进行数控系统开发是数控产品更新的标志和趋势。Windows是消息驱动的多任务环境,各种消息都按它们到达的先后顺序排队处理,即消息机制是不分任务的轻重急缓的,若无中断设置,仅凭消息调度机制,则不能保证数控前台控制任务在准确的时间间隔内执行,这正是利用Windows平台进行数控系统开发所要解决的关键问题。由于介绍这方面的资料甚少,所 以困扰着Windows平台下的数控软件开发,我们在仿形数控系统开发的实践中总结出以下原理、方法和思路。

1 Windows下拦截硬件中断的方法

  实际上,Windows是在DOS内核上发展起来的,DOS的许多中断在Windows下仍然可用,所不同的是Wind ows运行于保护模式下,从而打破了实模式的IM可寻地址屏障。在实模式DOS下,中断通过中断 向量 表(WT)进行,其内存放着中断服务子程序的人口地址(段地址:偏移量)。Wind ows另外再产生一种新表,称为中断描述表(IDT),它包含了中断服务子程序的实际地址,即24位或32位的地址。

  Windows下中断调用分为两种情况:一种是原来的BIOS或D OS中断,如计时器或键盘等硬件中断,通过Windows的IDT指向一个特殊的句柄,这个句柄将CPU转为实模式,然后查IV T获得实模式中断服务子程序。另一种是运行于保护模式的,它们查IDT后即可直接转人相应中断程序,如州121H中AH=25H/35H调用就属于这种情况,需要注意的是,Windows虽支持DOS的全部硬件中断和大部分软件中断,但与实模式DOS下的版本有所不同,且有些软件中断不再适用,故应用时应先查有关手册。

  WindowS下IN121H中AH=25H/3SH这两个功能为设置和取得保护模式下中断向量,它们可以用来拦截硬件中断,使之触发所取代的中断服务程序在保护模式下运行。在数控后台主程序中利用这两个功能来拦截CPU的8253通道o计数器的硬件中断IRQ()所产生的INIUSH,从而实现数控前台中断控制服务程序定时执行。主程序在Windows的Borland C+ +3.1下开发,主程序初始化时,首先用SaveVector保存中断 向量,然后 用Se tVector设置新的中断向量,主程序退出时,用Setvector恢复原有的中断向量,下面给出自编的这两个函数。



2
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。