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下开发数控系统打下了基础。