FANUC 的 0i-MD 和 0i-MATE-MD 系统都标准有 AI 先行控制、程序预读功能。但区别在于前者可以预读 40 个程序段,后者可以预读 16 个程序段。目前我们 FANUC 机床出厂标准设置为普通加工模式(加工过程中不对加工程序进行预读),若客户需要使用该功能时只需要在程序首、尾分别插入 G5.1 Q1 和 G5.1 Q0 即可。也可以通过参数 1604#0 设成“ 1 ” ,机床开机后,默认使用高速高精度功能。 AI 先行控制 /AI 轮廓控制功能对加工程序进行插补前直线加 / 减速控制。其结果实现了多个程序段的平滑加 / 减速以及高速加工。 加工程序预读时,表面上看被预读的程序段还没有被执行,但是实际上被预读的程序段实际已经被数控系统预处理。这时候如果操作人员对已经被预读的程序段进行类似于“单节忽略”的操作,实际上都是无效操作。所以造成表面上程序不受控制的假象。金毓五金模具的加工程序就比较明显的体现这个问题!加工程序形式如下: 主程序 0888;G54 G9O G00 X0 Y0;M98 P1000;G91 G01 X-100 F2000; …… M98 P1000;G91 G01 X-100 F2000;G28 G91 X0 Y0;M30; 子程序 O1000;/M99;G01 …… ;M99; 客户的是在 X 轴方向相隔一段距离做相同的加工!主程序用来移动 X 轴位置,用来定位。子程序用来做相应的刀路加工。我们观察在子程序开头有一个 /M99 指令。在加工过程中,“单节忽略”功能被打开,机床正常加工所有工件要加工的位置;如果客户在加工过程中需要跳过中间的几段子程序加工循环,只需要取消“单节忽略”功能即可,主程序调用子程序,但在进入子程序时通过 M99 指令直接返回主程序;在跳过几段后,打开“单节忽略”功能,子程序中继续忽略 /M99 指令,执行子程序的正常运行。实现客户加工需求! 以上程序的设计是没有问题的。但在机床( VMC-850L 配 FANUC 0i-MD 数控系统)上运行时,发现在跳过几段不需要加工的子程序后,打开“单节忽略”功能,但是紧接下来的子程序还是继续不执行!继续执行主程序的位移指令。 现场观察机床运行状态,发现数控系统调用了 AI 先行控制 /AI 轮廓控制功能。系统预处理了正在执行程序段的后 40 段程序,当操作人员取消“单节忽略”功能时,系统进不去子程序,直接预处理了主程序。当操作人员再次打开“单节忽略”功能时,系统只能忽略没有被预处理的 /M99 指令。所以造成以上故障的假象。 AI 先行控制 /AI 轮廓控制功能是通过参数 1604#0 设置为“ 1 ”处于默认打开状态。把该参数设置为“ 0 ”以后正常。 以上这个案例还可以用另外一个处理办法,在 /M99 指令前加一个禁止缓冲的 M 代码!在参数 3421 和 3422 中设定“阻止缓冲的 M 代码的范围”。正常我们机床出厂设定为 3~97 。根据参数注解我们可知, M00 、 M01 、 M02 、 M30 为阻止缓冲的 M 代码,与参数设定无关。机床在执行 M00~M97 程序段执行之前,不执行下一个程序的缓冲;另外, M98 、 M99 、子程序调用 M 代码、用户宏程序调用的 M 代码为执行缓冲的 M 代码,与参数设定无关。也就是说,这类的 M 代码,即使设定了参数,都不能阻止缓冲!所以,把参数 3422 设定为 100 时,也不能解决以上问题。 所以,如果遇到类似的问题,客户又要使用 AI 先行控制 /AI 轮廓控制功能时,在 /M99 指令前加一个禁止缓冲的 M 代码即可正常使用!
|
|