返回
求助!FANUC R-2000iC,带一个导轨外部轴。我在 $MAST_POS 里设置了软限位,点动(JOG)的时候限位是生效的,转不动。但是只要跑自动程序,机器人就会无视这个限位,直接撞死在机械挡块
发布

求助!FANUC R-2000iC,带一个导轨外部轴。我在 $MAST_POS 里设置了软限位,点动(JOG)的时候限位是生效的,转不动。但是只要跑自动程序,机器人就会无视这个限位,直接撞死在机械挡块

17阅读 1 回复 2026-03-31 11:02发布
关注Ta

15610331646848普通会员楼主

电话/手机:联系客服

求助!FANUC R-2000iC,带一个导轨外部轴。我在 $MAST_POS 里设置了软限位,点动(JOG)的时候限位是生效的,转不动。但是只要跑自动程序,机器人就会无视这个限位,直接撞死在机械挡块上。倍率调低了也没用。系统变量里有没有哪个参数是专门控制自动模式下外部轴限位的?打了官方售后电话,排队半天也没说清楚,在线等,挺急的!”

以下内容回复后可见

优质评论内容

  • 明扬工控技术客服

    明扬工控技术客服2026-03-31 11:04:22

    这个现象在 FANUC 机器人 + 外部轴(Track / Positioner) 上其实挺典型的,你现在遇到的情况基本可以确定不是简单的“变量没设对”,而是 FANUC 的两套不同限位机制在起作用。

    先给你一个关键结论:

    $MAST_POS 里的软限位只对 JOG(点动)和部分手动操作有效,自动程序运行时主要受“轴软件极限(Axis Soft Limit)”或“机械单位参数里的限位”控制。

    如果外部轴的 Axis Soft Limit 没正确配置,自动程序就可能无视 $MAST_POS 的限制。

    一、为什么 JOG 有限位,自动程序却没有

    FANUC 控制器内部实际上有两套逻辑:

    1️⃣ JOG / 手动操作限位

    主要参考:

    $MAST_POS


    作用:

    防止操作员点动时超行程

    保护调试过程

    所以你现在看到:

    JOG 有效

    2️⃣ 自动程序运行限位

    自动模式运行时,控制器主要参考:

    Axis Software Limit


    这些参数在:

    MENU → SYSTEM → AXIS LIMIT


    或:

    MENU → SYSTEM → Variables


    相关变量通常包括:

    $PARAM_GROUP[n].$AXIS_POS_LIM
    $PARAM_GROUP[n].$AXIS_NEG_LIM


    如果这些没有正确设置,自动运行就可能越界。

    二、外部轴还有一个常见坑:Group 配置

    R-2000iC 带导轨外部轴时,一般会这样配置:

    Group 1  → Robot
    Group 2  → Rail


    但很多系统其实是:

    Group 1 → Robot + Rail


    这两种情况限位参数的位置是不一样的。

    所以你需要先确认:

    MENU → STATUS → VERSION ID


    看外部轴在哪个 Motion Group。

    然后再去查对应的:

    $PARAM_GROUP[n]

    三、最常见的原因:导轨轴的软件极限没有启用

    很多系统在调试时,为了方便,会关闭外部轴软件极限。

    相关变量通常是:

    $SCR_GRP[n].$SOFTLIMIT_ENB


    如果是:

    FALSE


    自动程序就不会检查软件极限。

    但 JOG 仍然可能被 $MAST_POS 限制。

    四、还有一个更常见的问题:外部轴“机械单位”没正确配置

    在 FANUC 中,每个轴都有:

    Mechanical Unit


    外部轴如果配置为:

    Extended Axis


    但 机械极限参数没设好,系统就不会在自动模式限制。

    检查路径:

    MENU
     → SYSTEM
     → Master/Cal
     → Mechanical Unit


    看导轨轴的:

    Positive limit

    Negative limit

    五、还有一个经常被忽略的变量

    有些系统会设置:

    $SCR.$JOG_OVLIM


    这个变量只对 JOG 生效。

    所以会出现你这种情况:

    JOG 有限位
    AUTO 没有限位

    六、程序路径也可能绕过限位

    FANUC 在自动模式执行:

    J
    L
    C


    运动时,如果目标点已经在程序中定义好,而软件极限没启用,控制器会直接执行。

    倍率调低不会改变目标位置,所以:

    倍率 ↓
    但仍然撞

    七、快速排查步骤(建议你按这个顺序看)
    1️⃣ 确认外部轴所在 Group

    看:

    $SCR_GRP[n]

    2️⃣ 检查软件极限参数

    查看:

    $PARAM_GROUP[n].$AXIS_POS_LIM
    $PARAM_GROUP[n].$AXIS_NEG_LIM


    是否合理。

    3️⃣ 看软件极限是否启用

    查看:

    $SCR_GRP[n].$SOFTLIMIT_ENB


    必须是:

    TRUE

    4️⃣ 检查机械单位限位

    路径:

    MENU → SYSTEM → AXIS LIMIT


    确认导轨轴的正负极限。

    八、一个现场非常常见的原因

    很多系统在安装导轨时:

    先关闭软件极限

    调整轨道

    标定

    结果调试完成后 忘了重新打开。

    于是就出现:

    JOG 正常
    AUTO 撞限位

    九、额外建议(防止再次撞机)

    即使软件限位正确,也建议加两层保护:

    1️⃣ 机器人区域限制

    在:

    MENU → SETUP → DCS


    设置 安全区域。

    2️⃣ 程序里加位置判断

    例如:

    IF (PR[轨道轴] > LIMIT) THEN
      ABORT
    ENDIF


    作为二次保护。

    十、根据你描述,我最怀疑的两个点

    按经验排序:

    1️⃣ $SCR_GRP[n].$SOFTLIMIT_ENB 没启用
    2️⃣ $PARAM_GROUP[n] 的外部轴限位没设

    这两个问题占现场案例的 80%。