1.2 数控系统的软件任务调度
变轴机床的数控系统是一个多任务调度的操作系统。任务调度是实现数控系统软件操作的控制核心。它实时监控各任务的状态,决定任务获取CPU 的优先权,并根据调度的策略改变任务的状态。任务的划分则主要根据各个事件的相互独立性来划分,根据面向对象和开放式数控系统的思想,本数控系统的任务主要划分为:下位机实时任务调度和上位机多任务调度,如图3所示。
图3 数控系统的任务调度
1.2.1 数控系统的下位机实时多任务调度
顾名思义实时任务是指实时性要求较高的任务,需要较高的优先权,实时任务又分为以下几个任务:
(1) PLC扫描任务:下位机后台PLC任务是周期性扫描机床来完成某些顺序控制。
(2) I/O操作任务:下位机根据上位机的命令打开和关闭I/O ,同时监控I/O的输入。
(3) 伺服控制:下位机根据上位机传输的指令和伺服电机的状态,实时地进行伺服控制,伺服更新周期为442μm。
(4) 主轴电机驱动任务:下位机根据上位机的命令完成主轴电机速度的控制。
(5) 实时监控任务:下位机根据PLC扫描以及伺服驱动器反馈信号完成对机床工作状态的实时监控。
(6) 精插补任务:下位机根据规定的插补周期和插补模式,对各轴的轨迹进行相应的细分插补。
1.2.2 数控系统的上位机多任务调度
上位机多任务调度主要包括:
(1) 轨迹规划任务:完成某些特定曲线轨迹点的规划和生成任务。
(2) 文件操作任务:完成虚拟轴坐标文件、传统的G代码文件和机床6轴文件的打开和存储任务。
(3)工作空间校验任务:对经过了轨迹规划、粗插补的文件进行空间校验,以确认刀位轨迹是否符合机床的操作空间要求。
(4)参数管理任务:实现对机床结构基本参数、运行参数和刀具参数的管理任务。
(5)粗插补任务:对已有的轨迹点进行细分,精确控制机床运动的轨迹。
(6)刀具补偿任务:补偿因刀具半径不同和刀具长度不同,所造成的机床实际轨迹点失真问题。
(7)界面管理任务:实现工作人员对操作界面的管理,同时通过人机界面上的机床操作面板完成对机床运动的控制,图4为数控系统的人机界面。
图4 人机界面
(8)上下位机的通讯任务:在win2000 操作系统环境下, IPC通过调用Pcomm32pro 动态连接库,实现上下位机的通讯,包括对PMAC 缓冲区状态的查询任务、PMAC 程序运行状态查询任务、IPC 程序下载任务和定位消息查询任务等等。
(9) 虚实变换任务:完成虚拟轴坐标和实轴坐标的转换。
(10) 三维仿真显示任务:为了诊断加工中存在的各种可能错误,可以先进行仿真操作,模拟机床的实际运动,以保证实际加工的正确性。
(11) 实时仿真任务:以图形的方式,实时地显示刀尖的轨迹点位置,使操作人员易于监控机床的走位。
(12) 走位文显任务:以数字的方式,实时显示机床刀尖轨迹点在虚轴坐标系下的位置和6 条腿的实际伸长量。
(13) 运行状态显示任务:实时显示机床的操作状态(自动、手动、微动) 、刀具的几何参数、主轴电机的工作状态和冷却泵的工作状态等。
(14) 对刀定位任务:完成刀具的定位功能,包括刀具的长度检测和半径检测。
(15) 工件定位任务:根据PMAC 的状态反馈,把相应的程序运行指令传给下位机,同时记录和计算相应的工作状态实现工件在机床坐标系下的定位任务。
1.2.3 任务调度的实现
任务调度的实现依据各个任务的特点,分三种情况:
(1) 一次性调度: 人机界面、PLC 都是一次打开后就循环执行,前者主要占用IPC 的前台处理,后者则是PMAC 后台周期完成。
(2) 条件调度:当某一条件具备时,才调度相应的任务,如插补某一模式的运行、工作空间的校验任务,以及对刀和工件定位程序的运行等都是属于这种任务调度。
(3) 定时调度:这种任务的调度实时性较强。伺服控制刷新、机床位置数据采集、PMAC 的缓冲区的状态查询以及PMAC程序运行状态的查询等任务的调度都属于定时任务调度。
2 结论
以IPC + PMAC 为硬件平台和由win2000、vc6. 0、Pcomm32pro为软件平台,开发了基于BKX- I 型变轴机床的数控系统。并且实现了6 轴联动、主轴驱动、工件定位和对刀等集成控制,系统采用模块化设计,面向用户,对此类机床的产业化奠定了基础。