FANUC G66.1的参数处理:坐标段不一定先产生原始移动
对照30i-A的G66与G66.1,解释移动后调用和逐NC段参数传递的区别。用自定义坐标映射说明,不能看到X、Y地址就认定系统先走原始终点。
在自定义加工循环中,一行写着X、Y,看起来像普通定位段,却可能只是把两个数交给宏程序。G66.1的关键不在于“多调用几次”,而在于改变后续NC段中地址数据的用途。
G66是移动后调用,G66.1把段数据交给宏
依据FANUC 30i/31i/32i-A用户手册B-63944EN/03,§16.7.2–16.7.3,第532–539页(原厂手册公开镜像),G66在轴移动段执行后调用宏;G66.1对每个NC指令段调用宏,把该段的X、Y、F等地址数据作为实参而非先直接执行。O、文件名、N及G代码另有规则,不能概括成所有字符都按普通参数处理。
以下只比较已经进入相应模式后的普通NC段,假设无嵌套,G67等模式控制段仍按其自身语义处理:
| 后续段中的数据 | G66 | G66.1 |
|---|---|---|
| X20.0 Y30.0 | 按有效移动模式执行后,再调用宏 | X、Y作为实参交给宏,原始移动不会因此先执行 |
| 只有F250. | 没有轴移动,不因这一段触发该模态调用 | 仍作为NC指令段调用宏,F作为实参 |
一个原创坐标映射例
假设机床厂定义了一个仅用于说明的宏接口:输入X、Y后,宏明确产生绝对定位到(X+5,Y−3),其余单位、坐标系和补偿已确定。输入(20,30)时,宏生成的目标为(25,27)。在G66.1模式下,不能把轨迹理解为“先去(20,30),再去(25,27)”;前一对数值是接口输入,是否移动、怎样移动由宏正文决定。
这个映射不是FANUC固定功能,也不是可直接运行的完整程序。它用于说明:相同地址可以描述原始轴运动,也可以描述自定义循环的输入数据,阅读时必须先确认调用模式。
改成G66也不能保持相同接口
G66的实参在G66指定段设置,不会把每次后续移动段的数据都重新当作调用实参。因此,把G66.1改成G66,既改变调用时机,也可能改变宏收到的数据;不能只统计调用次数来验证替换。
分析现有程序时,可先列出三列:源段地址、实际传给宏的值、宏最终生成的运动。若F仅被传入而宏没有使用,不能认为写在调用段中的F已经按普通进给段生效。对自定义循环,正确终点还依赖宏内部的绝对/增量模式、单位及恢复约定。本文不提供重新绑定G代码的参数步骤,相关资料见OPTION栏目。
