3 底层控制软件设计的关键技术
3.1 三菱形曲线插补模块的软件设计
插补是数控机床控制刀具运动轨迹的核心,插补算法的选择将直接影响数控系统的精度、速度以及加工能力。
本系统要完成三菱形曲线的加工,需要对线性轴(X轴)和旋转轴(c轴)联动控制实现。直接使用TrioMC206所提供的运动控制指令无法实现对线性轴和旋转轴的直接插补控制。
要解决三菱形的插补设计,一般有两种方法:其一,先将旋转轴(C轴)的旋转运动分解为两个方向的直线运动,再调用Trio提供的插补指令函数来实现。其二,编程实现底层插补控制,避开使用Trio提供的插补指令函数。
通过对三菱形曲线数学模型的分析发现,前面两种方法在软件实现上都存在着不足。开发难度较大,磨床的控制精度和可靠性无法保证。本系统采用一种独特的解决方法:将三菱形轮廓曲面展开,对展开后的曲线再做插补运算,如图3。这样保证了加工轮廓的精确性,可以充分利用Trio提供的插补指令来实现精确的插补控制,如直线插补MOVE指令,圆弧插补MOVECIR指令,螺旋线插补MHEUCAL指令,并且缩短了软件开发周期,保证了插补精度。
3.2 Trio控制器多任务软件设计
运动控制器作为底层运动控制的核心,其运行程序的响应性、可靠性和稳定性将直接影响到系统的综合性能。
Trio MC206运动控制器可以同时运行8个进程,优先级通过进程号区别。控制器默认将通讯接口分配为优先级最高的8号进程。本系统控制器进程共设计5个进程(见表1),并将这5个进程分为两类程序:运动控制程序和内嵌式PLC程序。
运动控制程序的进程名以P开头,加工程序通过上层管理软件编译成嘶o Basic格式后导入控制器,由管理软件控制进程的启动和停止。
内嵌式PLC程序由4个进程组成,分别为PLC_PROTECT、PLC_WORKMODE、PLC_BUTTON、PLC_COMMON。这4个进程随控制器上电启动,执行循环检测,实现PLC功能。
3.3 内嵌式PLC程序设计
Trio MC206运动控制器可连接通过CAN总线扩展的16个具有双向功能的L/O模块,256个输入输出点。
本系统共扩展6个L/O模块,利用控制器提供的VR全局变量,存储各模块L/O口状态,利用逻辑命令将相关的I/O状态进行逻辑处理,实现内嵌式PLC功能。
控制器所能提供的VR变量有限,如果采用L/O状态与VR变量一对一的存储方式,在控制点较多的情况下,不仅浪费了VR资源,而且影响了I/O读取速度,降低了软PLC程序的响应性。对该问题的解决,本系统利用每个VR变量提供的24个存储位,使得每个VR变量可存储24个磨床输入输出口状态,并对VR变量的地址进行严格的分配和细化,保证VR变量资源的合理利用,避免因变量的重复使用而造成的逻辑错误。VR变量具体分配和作用如表2。