开发与实现数控刨削凸轮转子泵系统

2013/10/29 22:02:22      点击:
1 引言
凸轮转子泵扭叶转子的数控刨削加工速度快,精度较高。加工过程中的逻辑控制量比通用的数控系统多。采用传统的专用自动化加工系统会给系统维护和扩展带来的很多的不便和负担。

华中“世纪星”数控系统是华中数控公司最新改进的高性能经济型数控系统,在华中“世纪星”数控平台上开发凸轮转子泵扭叶转子的数控刨削系统,可使系统具有良好的开放性和模块化功能,不受数控平台升级以及硬件变化的影响,能根据需要随时调整机床的加工参数和工艺参数等,改善了机床的柔性,扩大了机床的加工范围。


2 数控刨削系统的软硬件结
华中“世纪星”数控系统以工业PC 为基本硬件支持环境,以DOS 操作系统+实时扩展为软件平台,实现了一个开放式的数控平台[49-50] 。凸轮转子泵扭叶转子的数控刨削加工系统正是基于这种开放式平台所开发的专用数控系统。由于应用领域的不同,不仅需要在硬件上进行改进,还必须在软件系统上进行必要的裁减和特定功能的扩充。
2.1 系统的硬件结构
华中“世纪星”开放式数控系统是建立在总线基础上的模块化设计的拓扑结构,它采用标准总线技术解决了硬件公用及结构可拓扑的问题,采用开放化、模块化、标准化的结构设计解决了硬件的标准化问题。
总线规定了处理各部件或子部件之间相互通讯的标准接口,这样不同年代、不同厂家的部件都可以通过总线组合在一起,为用户根据自己的应用要求选配系统的组成提供方便,为用户系统的升级换代提供可能。这样在需求变更或升级系统时,就可以以模块为单位进行改变或升级。
系统硬件结构图如1所示。工控机采用486DX的CPU,16M的电子盘,7.5寸的彩色液晶显示器。系统通过光隔离I/O接口板卡处理来自机床和操作面板的开关量信号。轴接口板卡采用的是自行开发的四串口板。
图1 数控刨削系统硬件结构
2.2 系统的软件结构
华中“世纪星”开放式数控系统的软件平台是以“DOS操作系统+实时多任务管理模块”为基础,提供一个方便的二次开发环境,并提供了一种标准风格的软件界面。
在此基础上开发数控刨削系统,主要是人机界面层和系统内核接口的部分扩展,加入自己的专用功能模块。同时还应考虑使二次开发后的专用CNC系统仍具有一定的开放性,以便再进行后续开发时简化研制工作和提高市场应变能力,更好的满足用户的要求。
数控刨削控制软件主要要求解决刨削加工参数设置、自动加工、加工仿真、加工过程动态显示等问题,同时还应具备通用数控系统的PLC、故障诊断、系统参数设置以及各种误差补偿功能。具体的软件扩展的实现结构如图2所示。各扩展模块的主要功能分别为:
数控系统平台:
加工仿真模块
自动加工模块
参数设置模块
扩展功能模块
图2 数控刨削系统的软件扩展图
自动加工模块:将机床和加工参数都调整好,在满足工件的加工要求后,大批加工工件的方式。整个加工过程中不必进行人工干预和加工参数调整。其特征是加工自动、效率高,操作简单,加工出的工件精度高,互换性好。
加工仿真模块:根据设定好的参数,模拟加工过程。从而校正参数的正确性,便于调整参数。
加工过程动态显示模块:自动加工时,在界面上实时显示刀具、工件的相对位置。方便直观,便于用户使用。
加工参数设置模块:主要负责完成加工过程的工艺参数、加工控制参数的输入、编辑和管理。用户通过输入相关的参数信息,就可以实现加工程序的编制,方便实用。
扩展功能模块:包括MDI、PLC、故障诊断和系统参数设置,是数控系统的基本功能模块,主要是方便操作者对机床进行调整、查看机床状态、对机床故障进行准确定位,设置机床的各种基本参数等。
图3 加工中的图形显示
图3是加工过程的实时动态显示。利用图形的方式,直观的显示加工的进度。
图中可以显示刀具此刻的切削位置(左刀刃或者是右刀刃),同时,工件的已加工表面和未加工表面用不同的颜色做了标记。这样,工件的加工进度就很直接的显示出来。在屏幕上还有相应的正在执行的M代码显示,一旦发生故障,通过图形和M代码的显示,就可以很快的确定故障范围了。
由于加工过程涉及的参数较多,因此我们采用了工艺卡的编程方式,这些参数主要是刨削加工时的工艺参数和各轴的转速。卡片式编程界面如图4所示。
操作人员可以根据加工时的具体需要,设定相应的参数,然后作为相应的工艺文件保存起来。进行加工时,只需调用工件对应的工艺文件,数控系统就会按照文件中设置的参数,自动生成加工路线,进行加工。当需要对实际加工情况进行参数修改时,操作人员只需再次输入参数,而不用关心软件系统内部是如何进行调整的。
这种工艺卡片式编程,操作人员易于掌握,而且可以直观地看到参数的变化对加工带来的影响,便于调节,很受操作人员欢迎。

图4 工艺卡编程界面


3 基于API 的刨削数控系统功能实现
3.1 华中“世纪星”数控系统功能的API 实现
对于通常的数控加工而言,采用的都是G代码编程方式。G代码加工是指根据加工、控制、工艺要求,由系统完成刀位轨迹的计算,自动生成标准G代码程序或由操作者手工编程;即要通过预处理和解释模块,然后调用插补器功能。这种方式可以利用G代码丰富的宏指令功能,具有一定的柔性,用户可以进行适当的修改。对于曲线曲面等巨量数据处理时可以离线生成加工程序。而且通过扩展G代码解释器等一些方法,可以完成一些复杂的加工。但是对于一些加工过程过于繁琐,而且存在着过多控制参数量的特殊加工来说,G代码方式并不是最好的选择。本文所述的刨削数控系统的运动控制中,需要实时读入X轴光栅尺的位置反馈值、不断检测滑枕接近开关的信号,这些功能都不能用G代码编程指令来实现。
针对这些情况,华中“世纪星”数控系统自带的丰富的API软件控制包提供了大量的接口函数来实现相应的系统功能,以完成专用数控系统的API开发 。和G代码编程方式相比较,这种开发方式不通过预处理和解释模块,而直接同插补器联系,并控制插补器的运行。对于专用系统的辅助机能及逻辑控制,则通过调用与针对不同设备而设计的PLC模块通讯的接口函数来实现。这种模式的灵活程度极高,它对用户隐藏了控制信息的生成,可一定程度上避免用户的干涉和G代码编程指令的限制,特别适合于加工控制过程逻辑关系繁琐,用G代码难以实现的加工。在这种工作模式下,二次开发主要是利用对系统的底层模块NCBIOS进行功能调用的一系列函数,通过查询或设置通道的状态,创建和管理任务,设置宏变量,直接控制轴运动等来完成过程控制功能。这次专用刨床的数控系统开发就是采用的这种模式。
在这里必须强调指出的是,并非只是插补器和PLC模块才有API功能实现,华中“世纪星”数控系统的其它主要模块(如伺服驱动及控制模块、轴控制模块、轴联动控制模块等)均有相应的API 。在这种模式下的程序编写,和标准C语言的程序编写相同,编程者可以像调用编程环境本身自带的函数一样调用API包中的接口函数,从而实现对插补器和PLC模块的直接控制。
3.2 数控刨削过程的API 实现
利用华中“世纪星”数控平台本身自带的API包中的接口函数,我们可以很方便的实现凸轮转子泵扭叶转子的数控加工。主要调用的API函数有:
插补器轴运动控制函数:
int axes_line(int mask, long pinc[],unsigned speed);
//参数:mask:命令轴屏蔽字
// pinc[]:九个轴的增量
// speed:移动的速度
//功能:将mask指定的轴以speed的速度插补直线段
运动控制模块的软件开发模式如下:
void Auto_Machining( )
{
………
do
{
xcutdistance=*(ch_data_ptr[CurrentChannel].pos_actl[2])/(1000l*pulse_per_um);
//读入X 轴的位置反馈值;
MYpinc[3]=(long)(xcutdistance*K*1000l*pulse_per_md)-MYoldpinc[3];
//计算A 轴的转角度数;
axes_line(8,MYpinc,spead);
//控制A 轴以速度spead 运动上面计算的位移量;
rtn = ActualMachineCtrl();//加工过程中的监控函数;
if(rtn==-1)
return;
MYoldpinc[3]+=MYpinc[3];
get_pmc_var('R',71); //检测接近开关(反向开关)的信号;
if(get_pmc_var('R',71)==1)
{
Fan_direction=1;
Zhen_direction=0;
break;
}
}while(Fan_direction!=1);
………
}
3.3 刨削控制回路逻辑关系及辅助功能的API 实现
由于整个数控刨削加工过程牵涉到很多的机械动作,而且动作之间要求很好的配合。因此其电路控制部分的逻辑关系相当繁琐。在程序编写中采用M代码和PLC相结合的方式,以实现机床的辅助功能。
1)M代码的调用
调用函数int exec_m_code(int code),其中code为编程人员根据机床的实际加工情况,对机械动作或其他功能进行的编号。其函数原型为:
int exec_m_code(int code)
{
int i;
if(output_mst(code,-1,-1,-1)<0)
return –1;
for(i=0;i<20;i++)
{
GetKey();
Delay_me(10);
}
Return 1;
}
其中output_mst(code,-1,-1,-1)为系统API包中用参数指定值输出M、S、T、B代码的函数,其定义为:
int output_mst(int m,int t,int s,int b);
//参数: m:M代码值
// s:主轴转速
// t :刀具代码
// b :B代码
//返回值:-1:出错
// 0 :失败
// 1 :成功
这样就可以定义大量的M代码,以完成相应的机械动作,例如:
exec_m_code(10):液压打开;
exec_m_code(12):A轴正转;
exec_m_code(13):A轴反转;
exec_m_code(14):Z轴抬刀到安全位置;
2)PLC的实现
PLC模块一方面建立与I/O的管道联系,一方面调度PLC的任务。PLC调度的主要任务有:报警处理,M、S、T处理,急停和服务处理,虚拟轴驱动程序,刀具寿命管理,操作面板开关处理,指示灯显示,突发事件处理等。
华中“世纪星”数控系统的PLC为内置式(Built-in Type ),它与通用PLC相比,具有以下的特点:内置式PLC是专为实现数控机床的顺序控制而设计的,位于CNC装置的内部,与CNC的通讯较为方便,具有结构紧凑、可靠性高、操作方便等优点;
在具体结构上:内置式PLC可与CNC共用一个CPU,也可有自己的专用CPU,可作为一种基本的或可选的功能提供给用户;内置式PLC的性能指标是根据CNC系统的具体应用要求确定的,具有根强的针对性,技术指标亦较为合理、实用。

由于PLC模块具体来执行机床顺序控制和其他的功能,因此只要编程人员事先协商好,对于不同的M代码,PLC模块会对应地执行不同的操作,相当于编程人员根据机床的执行情况,顺序的向PLC发出指令(即M代码),PLC好比就是连接在计算机数控系统(CNC)与机床之间的一道桥梁。在机床完成一个M代码所规定的动作或功能后,机床会将完成的信息返回给PLC模块,PLC再将此信息返回给数控系统,以便再执行下一个动作。如此反复,直到加工完成。


4 数控刨削加工中几个值得注意的问题
针对凸轮转子泵扭叶转子的刨削加工特点,数控系统要保证加工的正确、精确、高效,以下几个问题需值得注意:
1)工件坐标系中各坐标轴原点的确定
X 轴:由于X 轴(滑枕)是液压轴,不能精确回零;光栅尺的坐标值是相对值,并且在每次系统上电后这个值是随机的。这样,就无法确定X 轴的原点,也就不能得到X 轴的位移的绝对值。因此,我们在滑枕运动的导轨上安装一个接近开关,用来确定光栅尺的工作原点(图4.3 中的O 点)。但是,接近开关自身有一定的面积,存在着重复检测误差。所以,当用来确定原点时,接近开关的信号只能采集一次。
也就是说:工件装夹好后,先让垂直刀架抬起,X 轴空走一个冲程,记下接近开关发出信号时所对应的坐标值[54]。此坐标值即为X 轴的坐标原点。在接下来的加工过程中,只需检测这个坐标值,而不用再检测接近开关的信号了。
Z 轴:理论上的Z 轴坐标零点是工件的回转中心。该点在机床坐标系中的位置可以这样确定:工件被装夹在一个回转心轴上面,该回转心轴具有较高的精度和表面光洁度,我们可以测得心轴上表面在机床坐标系中的Z 坐标值,然后减去心轴的半径,就可以得到回转中心在机床坐标系中的坐标值。
A 轴:当工件端面的最高点(相对于回转中心)落在Z 轴上时,此时的A 轴的坐标为零。这个步骤可以在对刀时完成。
当上面三个轴的原点确定后,工件坐标系就确定了。
2)对刀
在图4.3中,根据零件形状的要求,X轴在BC 段进行切削时,A轴必须同步作回转运动。若A轴在B 点才开始转动,那么,A轴在加速的过程中,X轴已经开始切削,这样会造成工件加工起始段表面质量不高[55]。因此,A轴必须提前运动起来。我们在图4.3中的O 点安装一个接近开关,当检测到O 点的信号时,A轴就开始回转。也就是在非加工的OB 段,让A轴的速度提前由零加速到切削速度。这样,不仅可以保证加工起始段的表面加工质量,同时,在一定程度上有利于减小A轴的运动滞后现象。
但是,这样会影响加工第一刀的切削点。因为:切削开始前进行对刀,对刀点为工件端面的最高点。开始切削第一刀时,X轴运动到O 点,A轴即开始转动,当X轴运动到B 点时,工件已经转过了一定的角度,刀具的切削起点不再是最高点了。
因此,为了保证第一刀的切入点为工件的最高点,在完成对刀后,必须让A轴反转一个角度。这个角度值可根据OB 段的距离计算出来。
3)X 轴回程中的让刀处理
由于工件形状较特殊,在X 轴返回时,必须作让刀处理,否则会出现打刀现象。
对于让刀的处理,有以下三种方案:(参考图4.3 )
方案一:A 轴转动一小角度让刀。即:刀具在运动出切削区域(图4.3 中BC 段)后,A 轴继续正转或反转一小角度,让刀具与工件之间保持一定的距离,然后X 轴返回到BA 段内时,A 轴再转动到下一个加工点。但是A 轴转动的小角度的具体值很难确定。因为,影响这个角度的因素太多:工件的旋向不同(左旋或右旋),这个角度值的正负不同;工件的螺旋角和长度不同,角度值的大小就不同。并且在端面上不同的加工点(叶谷或叶峰),这个角度值的大小和方向都会不同。如果采用这种方案,不仅会增加程序的运算量,而且会降低程序的通用性。
方案二:X 轴返回行程中,X、A 两轴仍然联动,即:仍然不断读取光栅尺的反馈值,从而确定A 轴的反转角度。这样虽然能避免打刀,但返回行程的两轴联动对加工没有什么意义,相反还会带来一定的负面效应;调试结果表明,在X 轴返回速度很快的情况下,A 轴的运动会出现明显的滞后现象。这必然会影响到下一切削行程的落刀位置,造成每次切削时起刀点不同。同时,由于A 轴不停的加速减速,会增大A 轴的误差。
方案三:Z 轴抬刀。即刀具在运动出切削区域(BC 段)后,Z 轴立即上抬至安全区域,然后A 轴反转一个角度α (α为切削行程中从O 点到C 点,A 轴转过的角度),刀具再快速下落至下一加工点。这种让刀方法较简单。在工件的叶峰部分,抬刀距离较短,时间充裕。但在工件的叶谷附近,抬刀距离较大,这样DB 段,X 轴速度较慢,Z 轴的抬刀时间足够,但BA 段,由于X 轴返回速度很快,Z 轴的落刀时间就很紧张。实际加工中,通过适当加大BA 段,也就是前超程的距离,可以解决这个问题。
从以上分析可知,第三种方案的可实施性更强。调试结果也表明,运用方案三进行加工,零件的表面质量更好。
4 )A 轴正反转的控制
A 轴的速度是由X 轴来确定的。刨床的加工速度很快,返回速度更快。这就要求A 轴的响应要快,并且能在极短的时间内完成反转动作。由于所加工的零件体积大,质量重,使得回转轴的惯性很大,很难在瞬间实现正反转的互换。考虑到这种情况,我们在加工时,适当加大X 轴前、后超程的长度。这也就是适当延长了A 轴换向的时间。试验证明,这种方法是可行的。
5)滞后现象的控制
由加工工艺可知,X、A 轴的联动,实际上是先得到X 轴的位移,再按照一定的比例关系计算出A 轴的转角,从而控制A 轴电机的转动。这样,A 轴的运动相对于X 轴就不可避免的存在一定的滞后。并且,X 轴的运动速度越大,这种滞后现象就越明显。经过多次实验加工证明,在加工程序的编制中采取绝对坐标编程及定时补偿的方法,能够将滞后所引起的跟踪误差及累积误差降到最小。
6)加工中断后继续加工的处理
凸轮转子泵扭叶转子具有高度的对称性,由 6 段完全相同的圆弧(AB ,BC , CD ,DE ,EF ,FA )组成,如图5 所示,分别标记为1~6。加工时从A 点开始,顺时针加工端面上的各控制点。在实际加工过程中,可能会出现中断加工的情况。当再继续加工时,希望能从断点处开始,以节约时间,提高效率。但是,中断时机床情况较复杂,各运动轴的位置不确定。断点的保存会存在一定的偏差。为了保证加工的正确性我们选择坐标位置相对恒定的每段圆弧的起点作为继续加工的开始点。系统会自动记下已经加工完的圆弧段的标号。继续加工时,直接从下一标号的圆弧段开始。例如:加工在M点时中断,圆弧1 和2 被记录下来,下次继续加工时,可以从圆弧3 的起点C 点开始,不用再加工圆弧1 和圆弧2 了。这种处理方法比较简单,准确度较高,在一定程度上提高了加工效率。
图5 零件端面形状


5 加工实例

图6 为凸轮转子泵扭叶转子在完成一次粗加工后的样品。左边的扭叶转子为左旋,右边的扭叶转子为右旋。


6 小结

本文简述了专用刨床数控系统的软硬件结构。针对加工特点,提出了基于数控API 的解决方案,并在实际运用中加以了实施。针对开发、调试过程中出现的一些实际问题,提出了具体可行的解决办法。
图6 一次粗加工后的零件图


////////////////////////////////////////////////////////////
力华转子泵网www.
电话:0575-83539901
传真:0575-83534469


友情链接:    飞鱼彩票   123彩票投注   57157彩票   彩乐乐代理   北斗彩票官网