进给轴带位置环时多级变速在840Dsl中的实现
2018-11-30中国第一重型机械股份公司黑龙江齐齐哈尔161042
■ 中国第一重型机械股份公司 (黑龙江齐齐哈尔 161042) 樊 凯
1.课题必要性
主轴变速功能在所有使用ISO代码的数控系统中都规定了一些特定代码和功能,比如西门子840D系列中,辅助应答代码M41~M45分别代表了主轴的Ⅰ、Ⅱ、Ⅲ、Ⅳ和Ⅴ挡,这些挡位的传动比参数可以提前预设写入,为31050和31060,当主轴变速完成后,对应接口信号DBX16.3为1,同时DBX16.0和DB16.1、DBX16.2组合起来反馈当前挡位信号,读取对应挡位的传动比和对应挡位的最大速度值,则所有参数都能匹配起来,挡位变换产生的轮廓偏差、定位误差等都可分别调整,可以实现加工编程中的速度变换。
进给轴多级变换功能则没那么容易实现,因为840D系统中没有在参数设计中充分考虑进给轴多级变速功能,对于进给轴变速后的最大进给速度、加速度、定位误差、轮廓偏差、伺服增益系数和传动比等都没有设置对应挡位的参数组,最最关键的问题是,西门子没有相应的接口信号通知NC系统该进给轴当前挡位,无法将实际挡位与参数系统有机结合起来,那么就会出现这种情况,就是进给轴变速后,由于NC无法得知,但速度变化引发的轮廓偏差、定位误差等会让进给轴频繁报警,无法工作。当然了,变速完成后,手动去输入所有相关参数是可以的,但是,这种方法太低级了,总不能操作人员每次变速完成后,维修人员亲自去修改机床参数吧?因此,这不是长久之计。
那么,进给轴多级变速是否有必要保留呢?在现代新机床设计中,进给轴多级速度很少看到,因为在新机床设计中,通过电动机功率、转速、传动比和安装空间匹配,可以满足一台机床的所有加工需求,不需要有机械变速。但是,在一些旧机床改造中,则不能面面俱到。比如以我改造的一台SKODA产SUT200型重型卧车为例,原来通过Ⅰ级变速增大输出转矩、降低进给速度,用于粗加工;通过Ⅱ级变速提高进给速度、降低输出转矩,用于精加工。做改造方案时,如果只保留一个挡位,由于电动机安装空间极其狭窄,可选择的伺服电动机不能满足原有加工需求,要么进给速度太低,要么输出转矩不够,机床的改造就不能取得满意的效果,所以,必须实现进给的多级变速。
在我最近的数控机床改造过程中,接连发现了三例这种问题,于是,如何平滑稳定实现进给轴多级变速,而且使位置环不报警,这就成了一个重要的问题。经过多次摸索,我们终于攻克了这个难题。
2.实现方法
以SUT200型数控卧式车床为例,刀台X、Z分别都具有两级变速,其中,X轴电动机自带编码器,外置光栅尺,Ⅰ级传动比为1∶18,Ⅱ级传动比为1∶3,Z轴电动机自带编码器,外置一个编码器做位置环,位置环编码器自带一个减速箱,Ⅰ级传动比为1∶6,Ⅱ级传动比为1∶2,位置环编码器传动箱传动比为2∶5。这两种情况代表了两种非常典型的全环方式,分别以这两种情况描述进给轴多级变速的实现。
(1)光栅尺做位置环,以X轴为例。实现步骤如下。
第一步:检查传动比。若机械能够确切推算传动比,则可省略此步。进行此步的前提是,与传动比相关的31050(负载齿轮箱分母)、31060(负载齿轮箱分子)、31064(附加齿轮箱分母)和31066(附加齿轮箱分子)这几个参数必须设置为默认值1,31030(滚珠丝杠螺距)也按默认值10设置,反向间隙补偿32450清掉,且X轴应激活的是不带光栅尺的第一测量系统(DB31.DBX1.5=1)。
前置条件满足后,X轴切换到Ⅰ级,在X轴终端压上一块百分表,向一个方向开1mm,此时可消除反向间隙,然后百分表清零,再向前开1mm,实际百分表走多些,比如实际百分表动0.2mm,则传动比为1∶0.2=5∶1,将此传动比写入31064、31066,然后再压百分表,看是否准确。界面如图1所示。如果有微量误差,将传动比细分为500∶101、5 000∶999等进行尝试,直到误差进一步减小到可忽略不计。如果追求更加精确的数显精度,可以通过激光干涉仪进行螺距误差补偿(LEC)。
图 1
记录下Ⅰ级的传动比,然后切换到Ⅱ级,将31064、31066清掉,重新进行上述步骤,得到Ⅱ级的传动比。这里需要特别说明的是,为什么传动比写入31064、31066,而不写入31050、31060?因为31064、31066的生效方式是CF(NEW CONFIG),不需停电重启,而31050、31060的生效方式是PO(POWER ON),需要停电重启。
第二步:建立定义文件。得到Ⅰ、Ⅱ级的传动比后,开始写定义文件。在840Dsl的“调试”菜单里找到“系统数据”菜单,再找到“定义”文件夹。在该文件夹内新建一个定义文件,默认客户自定义文件名为MMAC.DEF。打开该文件,在该文件内写入如下内容:
DEF M51 AS MLX1;书写M51调用MLX1.SPF子程序。
DEF M52 AS MLX2;书写M52调用MLX2.SPF子程序。
然后保存退出,则系统开始自动编译该定义文件,如果文件内容书写无错误,则编译可顺利通过,若编译不通过,请检查书写。这里,MLX1.SPF为X轴Ⅰ级变速子程序,MLX2.SPF为X轴Ⅱ级变速子程序。
第三步:建立变速子程序。定义文件建立后,可以在“制造商循环”文件夹内建立MLX1、MLX2变速启动子程序。该子程序的作用有两个,一个是驱动PLC程序进行变速执行元件的动作,比如离合器、电磁阀等;一个是写变速相关参数,包括传动比、伺服增益系数和最大进给速度等。
子程序以MLX1.SPF为例,书写子程序如下:
M53;驱动PLC开始进给变速的条件。
G4F3;停顿3s,给挡位切换时间。
$MA_DRIVE_AX_RATIO2_DENOM=1;写31064。
$MA_DRIVE_AX_RATIO2_NUMERA=18;写31066,传动比为1∶18。
$MA_POSCTRL_GAIN=0.6;写伺服增益系数32200。
$MA_MAX_AX_VELO=1000;写轴最大进给速度32000。
NEW CONF;上述参数即时生效。
M30;程序结束。
注意上述四个参数的生效方式均为CF,可以使用NEW CONF即时生效,生效方式为PO的则不可以。所以,使用这种方法可写的参数必须生效方式只能为CF。程序界面如图2所示。
图2
第四步:编制PLC程序。NC方面的准备已经就绪,接下来就可以编制PLC程序了。这里,不赘述PLC程序,大家可以根据实际情况自行编制。
第五步:全环试车。上述步骤完成后,则可以进行半环试车,可以看到,当在MDA方式下执行M51时,则31064、31066、32200和32000等自动按照MLX1.SPF内设置而更改;执行M52时,上述参数按照MLX2.SPF内设置而更改。在Ⅰ挡、Ⅱ挡速度下,明显可以看到同样的电动机速度,驱动X轴的速度已经按传动比切换过来。此时,可以激活带光栅尺的第二测量系统(DB31.DBX1.6=1)。
按照常规设置,将31000(是否光栅尺)、31040(位置环检测是否直接安装到机床上而没有中间变速)均设置为1,全环设置完成。注意,若31040为0,则NCU会检测31050、31060的数值,当挂光栅尺时,会出现轮廓监控报警、不受控制等现象。由于光栅尺直连,31070(编码器齿轮箱分母)、31080(编码器齿轮箱分子)默认为1即可。
(2)编码器外带减速箱做位置环,以Z轴为例。实现步骤与上面完全一样,但设置参数有略微差别。31000、31040必须设置为0,同时,31044(编码器是否有中间变速)必须设置为1。由于编码器中间有传动比,31070、31080必须设置。
3.结语
通过西门子840Dsl的配套软件NC-VAR也可以实现该功能,但需要大量复杂的编程工作,有兴趣的同行可以自行尝试。进给多级变速通过这种方法实现,不仅仅拓宽了设备维系人改造机床的思路,减少了不必要的机械结构修改,而且为其他一些特殊功能的实现提供了更加简便易行的思路。