当前位置:首页>>Windows平台上软件数控系统开发

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

发布时间:2017-09-06作者:智汇胡妮

  在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 数控仿形系统软件基本结构

  在Windows平台下开发的数控仿形系统可利用WindowS多任务的优势。此系统的任务有:系统参数输人及修改,在线数控指令编程,图形仿真,数控加工屏幕显示,仿形和仿形加工显示,数字化处理,在线监测诊断等等。进入系统后,对各轴伺服的控制是最重要的,如必须每sms进行一次中断服务控制,因为CPU中的定时器8253的O通道优先级最高,故采用该定时器产生的INT08H中断源,这样无论Wind~在执行何种任务,对各轴伺服控制始终进行着。对于系统的各种任务,按Windows消息管理机制运行,其中对于机床坐标显示和在线监控诊断又利用我们取代的INT08H中断服务程序定时发出执行消息,即中断服务程序每执行12次(12*8ms=96ms)发一次消息给Windows,以启动机床坐标屏幕动态显示,每执行125次(125*8ms=1s)发一次消息给Windows,以启动在线监测和诊断任务,整个系统的关系结构如图1所示。

3 中断服务程序框架与连接要点

  为了最大限度的节省中断处理时间,前台中断服务控制程序INTSUB.ASM采用80386汇编语言编程,中断服务程序是整个控制系统的核心部分,该程序的框架如下

  在Windows的内存管理中,各应用程序在内存中是可移动的,为了防止中断服务子程序在调用时被移出或切换出内存,所以应将它放人动态连接库(.DLL)中,并在该动态连接库的模块定义文件(.DLL)中将其定义为固定的(FLXED)。对于主程序模块MAIN.CPP,系统参数输人及修改模块MAIN.CPP,图形仿真模块CRA PH.CPP,数控加工模块NCWORHK.CPP,仿形或仿形加工模块COPYWORK.CPP,数字化处理模块DIGTP.CPP,在线监测诊 断模块DIAG-NOSE.CPP等,均采用c++面向对象的编程方法。其中主要利用Windows的各种类库和资源,方便地生成各窗口和下拉菜单,并建立了自己的类库,进行函数和数据的封装。以上程序的连接方法是,将中断服务控制程序IMSUB.ASM及其模块 定义文件州飞UB.DEF生成动态连接库IN玲UB.DLL,再将该动态连接库的输人库IN巧U B.llB及以上各功能模块文件共同编人NCSYS,CPP工程文件中,生成我们的数控仿形软件系统。

4 结束语

  随着工控机硬件的升级发展,在软件方面可利用Windows的多任务、运行于保护模式的强大功能和丰富资源,进行数控产品的更新换代。本文探讨了Windows的中断机制,在此基础上给出了前后台式数控程序的核心部分,为Windows下开发数控系统打下了基础。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1