硬件(电磁阀、气管、节流阀、IO 板、磁性开关)装好之后,必须完成下面4 大类软件配置,才能稳定控制夹爪气缸。
区分两种电磁阀:✅ 双线圈保持电磁阀(推荐,断电保位):DO 夹紧 / DO 松开,脉冲输出⚠️ 单线圈弹簧复位电磁阀:DO=ON 夹紧,DO=OFF 松开,急停失电松爪
一、第一步:IO 硬件分配 + 信号命名(最基础,90% 新手遗漏)
操作路径(示教器)
MENUS → 5 I/O → 3 Digital(数字IO)F2【CONFIG】进入分配画面
机架 RACK / 插槽 SLOT / 起始点 START根据 IO 板硬件填写:
CRMA16 主板内置 IO:Rack=0,Slot=16
外置 IO 模块(A05B-2518-H002 等)按模块拨码填写
分配对应信号地址(示例)
plaintext
DO[101] = 夹爪夹紧电磁阀(GRIP_CLOSE) DO[102] = 夹爪松开电磁阀(GRIP_OPEN) DI[101] = 夹爪夹紧到位磁性开关(CLOSED) DI[102] = 夹爪松开到位磁性开关(OPENED)
F5【NAME】给信号填写注释(方便调试)
特殊设置:Neg.Log(负逻辑)如果传感器是 NPN 低电平有效,把 DI 对应行 Neg.Log 设为 ON;
分配状态显示 PEND → 需要重启控制柜生效。
调试入口:
I/O → MONITOR,手动 F3 FORCE 强制 DO 通断,测试电磁阀、磁性开关是否正常。
二、第二步:关键系统参数配置(安全逻辑,重中之重)
MENUS → 6 SETUP → 1 System → Config
1. 【急停、故障时 DO 输出状态】
发那科出厂默认:急停触发后,DO 全部切断 OFF⚠️ 如果你使用双线圈保持电磁阀,想要急停不松爪、工件不掉落:
硬件层面双线圈阀本身断电保持;但机器人急停会切断 DO 输出,不影响阀状态(阀已经机械自锁)。如果是单线圈电磁阀:急停 = DO 断开 → 直接松爪,高危工位禁止使用。
2. 系统等待超时参数
$WAITTMOUT:WAIT 指令默认超时时间(默认 2.0s)夹爪动作超时报警依赖这个参数,可按需修改。
3. 【T1/T2 手动模式是否允许 DO 输出】
参数:$SCR.$T1_OUT_ENB
1 = 启用:示教模式下 FORCE 强制 DO 有效(调试必须打开)
0 = 禁用:手动模式 DO 无法输出,现场调试经常踩坑!
4. 可选:负载 PAYLOAD 设置
抓取工件一定要设置正确负载,避免机器人震动、轨迹偏移;MENUS → SETUP → PAYLOAD 登记夹爪 + 工件重量。
三、第三步:TP 程序编写(核心,控制气缸开合逻辑)
重点:双线圈电磁阀只需要脉冲输出,不要长期持续 ON!长期通电烧毁线圈!
方案 1:双线圈保持电磁阀
tp
;=====夹爪夹紧子程序 GRIP_CLOSE===== 1:DO[102]=OFF ;互锁:先关闭松开线圈,禁止两路同时导通 2:DO[101]=ON ;输出夹紧脉冲 3:WAIT 0.20(sec) ;脉冲宽度0.2s,足够电磁阀换向 4:DO[101]=OFF 5:WAIT DI[101]=ON,TIMEOUT,LBL[99] ;等待夹紧到位,超时跳转故障 6:RET 7:LBL[99] 8:MESSAGE[夹爪夹紧超时!检查气源/磁性开关] 9:PAUSE ;程序暂停 10:RET ;=====夹爪松开子程序 GRIP_OPEN===== 1:DO[101]=OFF 2:DO[102]=ON 3:WAIT 0.20(sec) 4:DO[102]=OFF 5:WAIT DI[102]=ON,TIMEOUT,LBL[98] 6:RET 7:LBL[98] 8:MESSAGE[夹爪松开超时!] 9:PAUSE 10:RET
方案 2:单线圈弹簧复位电磁阀(简易)
tp
;夹紧 DO[101]=ON WAIT DI[101]=ON,TIMEOUT,LBL[99] ;松开 DO[101]=OFF WAIT DI[102]=ON,TIMEOUT,LBL[98]
标准抓取主程序调用示例
tp
1:UTOOL_NUM=1 ;工具坐标系 2:Uframe_NUM=1;用户坐标系 3:J P[SAFE_PICK] 50% CNT100 4:L P[APPROACH_PICK] 200mm/s FINE 5:L P[PICK_POS] 120mm/s FINE 6:CALL GRIP_CLOSE ;调用夹紧 7:L P[APPROACH_PICK] 200mm/s CNT50 ……搬运逻辑……
编程强制规范
✅ 优先使用 WAIT DI 等待磁性开关到位,不要单纯 WAIT 延时气缸漏气、压力不足时,单纯延时会抓空、掉料;
✅ 增加 TIMEOUT 超时跳转,故障弹窗报警;
❌ 禁止双线圈同时输出 DO [101]、DO [102]=ON,直接烧毁电磁阀;
✅ 子程序开头先复位另一侧 DO,做软件互锁。
四、第四步:可选高级软件功能(优化稳定性)
1. BGLOGIC 后台逻辑(可选)
MENUS → SETUP → BG Logic适用场景:
外部 DI 信号远程控制夹爪开合;
运行中实时监控夹爪状态,异常立即报警停机。
2. RoboGuide 离线仿真(调试前期)
电脑上搭建仿真工程,提前配置 IO、编写夹爪程序,模拟气缸开合时序,现场减少调试时间。
3. 信号仿真 SIM(无气源调试)
I/O 界面 F4【SIM】,强制 DI 信号仿真磁性开关,不通气先调试程序逻辑。
五、完整现场调试顺序(标准化流程)
硬件接线完成,上电;
示教器完成 IO 分配,重启机器人;
I/O 监控页面手动 FORCE DO,测试电磁阀动作、DI 信号;
通气,调节单向节流阀(排气节流),调好气缸开合速度;
录入 TP 夹爪子程序,单步运行测试时序;
模拟卡爪、气源不足,测试超时报警;
自动模式连续循环测试。
六、高频软件故障汇总
FORCE 强制 DO 无输出→
$T1_OUT_ENB=0,手动模式禁止输出;或者 IO 分配错误、没有重启生效。WAIT DI 一直超时→ DI 负逻辑设置错误;磁性开关接线故障;气缸磁环位置偏移。
双线圈电磁阀经常烧坏→ 程序忘记脉冲复位,DO 长期持续 ON。
程序运行夹爪动作正常,自动循环偶尔抓料不稳→ 只用 WAIT 延时,没有使用磁性开关 WAIT DI。

