前言
北京理工大学建造的BKX - I型变轴数控机床(如图1) , 是基于Stewart并联机构的原理设计的,具有高刚度、高精度、高速度、高柔性、轻重量、低成本等诸多优点, 本文介绍了其数控系统软件运行环境、主体结构、功能划分、设计思想以及设计方法等。
图1 BKX - I型变轴数控机床
1.数控系统软件的操作环境
BKX - I型变轴数控机床采用“IPC + PMAC”构造了数控系统的硬件平台, 其中IPC为上位主控制计算机, PMAC为下位从机, 从而构成上下位机式硬件结构体系。采用这种体系结构, 既可充分利用IPC的丰富的系统软件和强大的数据处理能力, 方便用户;又充分利用PMAC实时性强的特点来适应数控系统的强实时性要求。并且因为控制软件是采用模块化和面向对象的思想设计的, 使得系统控制软件具有良好的可移植性、可扩展性、易操作性。
BKX - IBKX - I型变轴数控机床的系统控制软件是运行在Win2000 +Vc610 + Pcomm32p ro的软件平台上的, 采用该平台可以充分利用Win2000 的通用性和其对多种外设的适应性, 方便用户的操作使用; 利用Vc610的面向对象编程的思想, 对软件进行模块化设计, 使其具有较强的开放性; 采用Pcomm32p ro是为了实现上下位机的通讯功能。
2.数控系统软件设计
图2 BKX - I型变轴数控机床的软硬件体系
由于CNC系统是强实时性控制系统, 要求实时完成伺服更新、插补、上下位机通讯和机床显示等任务,因此在Windows环境下开发具有多任务实时调度功能的CNC系统的系统软件构成了BKX - I型变轴数控机床数控系统开发的核心内容。
2.1 系统软件的总体结构
图3显示出了软件系统的主体结构。图中上部分为上位机的多任务调度系统, 它分为人机界面、底层隐藏任务、数据包和Pcomm32p ro1dll。其中人机界面又分为文件操作、参数管理、通讯管理等十二个模块, 实现人机信息的交互; 底层隐藏任务仅当人机界面某些任务调用时才被临时调用, 对用户是封闭的;数据包是上位机软件运行的操作核心, 所有的数据更改都要调用它, 上位机各任务彼此之间的通讯主要依靠数据包来进行; Pcomm32p ro1dll是DeltaTau公司提供的上位机与PMAC通讯的动态链接库, 依靠它实现上下位机的实时通讯。图中下部分是下位机任务调度系统。根据DeltaTau公司提供的关于PMAC的使用说明, 选择适用于BKX - I变轴数控系统的设置, 把PMAC的任务调度分为伺服驱动、主轴驱动、实时监控等六个任务。
图3 软件结构体系
2.2 上位机任务调度系统
2.2.1 人机界面图
图4 人机界面图
图4为软件的人机交互界面, 此时机床正在运行走一个圆的程序。
(1) 文件操作任务模块。通过调用底层虚实转换模块可以实现虚轴坐标轨迹文件、实轴坐标轨迹文件及传统机床G代码的存取功能, 同时通过调用底层的操作空间校验模块, 在文件存取的过程中对轨迹点进行空间校验。
(2) 三维仿真任务模块。模拟机床实际加工过程, 在实际加工前, 为操作人员对实际加工过程可能出现的问题提供感性认识, 以确保实际加工的正确性。
(3) 运行信息显示任务。通过文字显示来告知操作人员机床当前的运行状态, 给操作人员提供参考。
(4) 参数管理任务模块。通过修改数据包内的数据, 来改变机床相应的参数, 如刀具长度、刀具半径、机床床身的几何参数等。
(5) 通讯管理任务模块。可以更改下位机的参数设置, 以及上下位机的通讯方式。
(6) 机床面板控制任务模块。通过调用低层数据包的数据和通讯模块, 实现对机床的实际操作, 如机床的手动操作、自动操作以及微动操作等。
(7) 实时仿真任务模块和机床走位文字显示任务模块。通过底层通讯模块获得机床运行位置信息,然后调用数据包内保存的数据, 通过图形显示和文字显示的方式直观地给出刀尖的位置。
(8) 轨迹规划任务模块。包括圆和直线轨迹的规划, 主要是通过调用虚实转换模块和操作空间模块给出一些简单图形轨迹的规划, 方便操作人员进行运行轨迹的处理。
(9) 插补模式管理模块。包括直线、圆弧和抛物线插补模式的选择和相应的参数设置。
(10) 刀具定位及工件定位任务模块。通过调用通讯模块, 获得对刀仪和工件定位器的反馈信号, 同时取得PMAC缓冲区运行状况, 然后根据数据包内的数据得出刀具长度、半径和工件在机床坐标系的位置。
2.2.2 底层隐藏任务(1) 虚实转换任务模块。变轴机床不存在真实的笛卡儿坐标系, 只存在实际的六轴坐标系, 即实轴坐标系, 笛卡儿坐标系是虚拟的, 即虚坐标系。而传统的刀位文件是建立在笛卡儿坐标系下的, 因此需要把传统机床坐标系下的刀位文件转化为实轴坐标系下的文件。
(2) 空间校验任务。刀位轨迹点是否在机床的操作空间内, 必须通过空间校验确定, 否则会损害机床。
(3) 通讯任务。IPC通过调用Pcomm32p ro动态链接库, 实现与PMAC的通讯对话, 包括定时查询通讯、不定时的查询通讯和PMAC参数设定通讯。
(4) 粗插补和刀具补偿任务。变轴机床的正解尚不好计算, 不能满足实时性要求, 所以机床的实时刀位是通过数据包中保存的数据间接得到的, 因此需要把文件所给的刀位进行离散, 以便得到比较精确的机床实时运行刀位, 粗插补就是完成此任务; 刀位的轨迹点一般是指刀尖中心点, 而实际的刀具几何尺寸是有区别的, 所以加工时必须对实际的刀具几何尺寸作出相应的补偿。
2.2.3 数据包被封装在软件底层的数据包是上位机各任务模块的操作对象, 保存着所有的参数、刀位文件及软件运行状态的数据, 是上位机各任务模块相互通讯的核心。
2.3 下位机任务调度系统
(1) PLC扫描任务: 下位机后台PLC任务是周期性扫描机床来完成某些顺序控制。
(2) I/O操作任务: 下位机根据上位机的命令打开和关闭I/O, 同时监控I/O的输入。
(3) 伺服控制: 下位机根据上位机传输的指令和伺服电机的状态, 实时地进行伺服控制, 伺服更新周期为442μm。
(4) 主轴电机驱动任务: 下位机根据上位机的命令完成主轴电机速度的控制。
(5) 实时监控任务: 下位机根据PLC扫描以及伺服驱动器反馈信号完成对机床工作状态的实时监控。
(6) 精插补任务: 下位机根据规定的插补周期和插补模式, 对各轴的轨迹进行相应的细分插补。
3.结论
通过对BKX - I变轴机床数控系统软件的开发研究, 取得的成果如下:
(1) 利用面向对象的编程方法, 建立了便于用户操作的友好界面, 并实现了整个软件的模块化编程和管理。
(2) 把主轴的运动控制、冷却和润滑的控制纳入PMAC的控制中, 实现了一体化加工。
(3) 实现了刀具对刀和工件定位功能。