原理回顾:多根 DO 输出二进制编码 Bit → 等待稳定 → 触发脉冲 DO 上升沿锁存编码 → 夹爪伺服旋转 → DI 反馈到位 / 故障;和库卡、安川、发那科逻辑一致,但 ABB RAPID 语法、IO 板卡(DSQC651/652)、信号配置有差异。故障分为时序逻辑、电气硬件、IO 配置、程序保护、夹爪侧五大类。
一、时序逻辑类
编码建立时间不足,触发脉冲过早现象:随机跑到错误角度,故障很难复现。 原因:RAPID 里
SetDO写完编码,没有WaitTime(0.1)就立刻发触发上升沿;夹爪在 Bit 翻转过程采样,读到中间无效二进制码。ABB 机器人 IO 扫描周期约 8~12ms,建议编码稳定延时≥50~100ms。 错误写法:
SetDO doBit0,TRUE;
SetDO doBit1,FALSE;
SetDO doTrig,TRUE; %立刻触发,无等待触发脉冲宽度太短,夹爪抓不到边沿夹爪需要最小脉冲宽度(大多≥20ms),如果
SetDO + WaitTime(0.01)+ResetDO,脉冲太短,夹爪漏采样,机器人一直等待到位 DI。旋转过程中修改编码 Bit还没收到到位 DI,程序就切换 DO 编码;夹爪读到变化的编码,旋转角度错乱。
旧编码残留,下一次触发误读旋转完成、故障复位时,没有把所有编码 DO 清零;上一轮编码保留,下一次触发读到旧档位。
WaitDI 不带超时,夹爪卡死机器人程序死等
WaitDI diGripRotDone,TRUE; %没有超时!夹爪卡死直接停机ABB RAPID 正确写法:
WaitDI diGripRotDone,TRUE \MaxTime:=2 \Flag:=flagTimeout;
二、电气硬件接线故障
24V 0V 没有共地(最经典坑)机器人 IO 电源和夹爪驱动器电源 0V 没有短接,电位差,编码 Bit 随机跳变,故障无规律,时好时坏。
IO 电平 NPN/PNP 不匹配DSQC652 等板卡 DI/DO 的极性配置和夹爪 IO 类型相反;DI 一直常 ON / 常 OFF,编码完全失效。
6 轴末端随动电缆反复弯折,内部断线(外皮完好)机器人反复运动,末端手爪电缆内部断芯,时通时断;摇动 6 轴电缆,示教器 IO 监控里编码信号会抖动。优先用机器人手爪接口 X12,减少外部拖链长线。
信号线与伺服动力线同槽,电磁干扰夹爪伺服电机动力线和编码 IO 线并行走线,伺服启停时干扰,编码 Bit 跳变;现象:夹爪旋转瞬间,DI/DO 信号乱跳。
DO 输出驱动能力不足ABB 板载 DO 驱动电流有限,直接驱动夹爪 DI,如果夹爪输入电流偏大,DO 电平被拉低,Bit 识别错误,可增加光耦隔离。
端子松动、插头氧化、24V 电压跌落机器人运行震动导致端子松动,电压低于 20V 时 IO 信号识别异常。
三、ABB 机器人 IO 配置类故障
信号仿真开启(Simulation=ON)控制面板→I/O 信号,编码 DO/DI 勾选仿真,机器人内部模拟信号,外部硬件 IO 完全无效,现场调试很容易踩坑。
信号取反设置错误(Invert)配置信号时勾选 Invert 取反,DO 输出逻辑相反,二进制编码全部颠倒,角度完全不对。
GI/GO 组信号误用(可选)部分工程师用 GO 组输出编码,如果字节高低位顺序和夹爪定义不一致,编码数值颠倒,角度错位。
IO 总线故障(DSQC652 DeviceNet)总线接头终端电阻缺失、总线屏蔽接地不良,出现 IO 总线串扰错误,IO 信号间歇性丢失。示教器事件日志会报 IOB 总线报错。
四、RAPID 程序逻辑缺陷
缺少夹爪就绪 DI 前置判断夹爪上电回零未完成、驱动器报警时,机器人仍然下发编码 + 触发指令,夹爪不响应,程序卡死。每次旋转指令前,必须
WaitDI diGripReady,TRUE。故障信号没有优先判断夹爪报警 DI 置位时,程序依然执行旋转指令,造成二次机械碰撞。
超时后没有复位所有 DO等待到位信号超时后,程序跳转,但编码 DO、触发 DO 保持原有电平,下一轮循环直接读到错误编码。
五、夹爪本体侧故障
夹爪内部预设角度档位和机器人编码表不对应夹爪上位软件里编码 0 定义为 180°,但程序里按 0° 写,角度完全反;编码只是选择夹爪内部预设编号,角度是夹爪驱动器内配置。
夹爪上电未回零,就绪 DI 不输出每次上电夹爪必须自动回零,回零失败则就绪信号不 ON,不接收编码指令。
夹爪 DI/DO 端子损坏、内部 IO 板损坏机器人示教器监控 DO 输出正常,但夹爪侧 DI 没有收到电平。
快速排查步骤
示教器打开 IO 监控,手动强制 SetDO 编码 Bit,用万用表在夹爪端子侧测量电平,确认机器人 DO 能正常输出到夹爪端,区分是机器人侧还是线缆 / 夹爪侧故障。
检查信号仿真是否关闭,Invert 取反是否关闭。
确认机器人 24V GND 和夹爪驱动器 GND 可靠短接。
静态测试:机器人不动,循环下发编码 + 触发,连续测试几十次,看是否稳定;静态正常、机器人一动就报错,基本是线缆弯折或干扰。
动态测试:机器人带运动测试,观察 IO 监控窗口,看编码 Bit 在触发前是否稳定无跳变。
ABB RAPID 标准模板片段
MODULE GripperRot
! 信号定义
VAR signaldo doBit0;
VAR signaldo doBit1;
VAR signaldo doBit2;
VAR signaldo doTrig;
VAR signaldi diRotDone;
VAR signaldi diGripFault;
VAR signaldi diGripReady;
VAR bool flagTimeout;
PROC RotGrip(num angleCode)
! 前置判断:夹爪就绪、无故障
IF NOT diGripReady THEN
ErrWrite "夹爪未就绪";
RETURN;
ENDIF
IF diGripFault THEN
ErrWrite "夹爪故障";
ResetAllDO;
RETURN;
ENDIF
! 输出编码,示例编码映射
SetDO doBit0, angleCode MOD 2=1;
SetDO doBit1, (angleCode DIV 2) MOD 2=1;
SetDO doBit2, (angleCode DIV 4) MOD 2=1;
WaitTime 0.1; !编码稳定时间
!触发上升沿脉冲
SetDO doTrig,TRUE;
WaitTime 0.05;
SetDO doTrig,FALSE;
!等待到位,2秒超时
WaitDI diRotDone,TRUE \MaxTime:=2 \Flag:=flagTimeout;
IF flagTimeout THEN
ErrWrite "旋转等待超时";
ResetAllDO;
RETURN;
ENDIF
ResetAllDO; !完成后清零编码
ENDPROC
PROC ResetAllDO
SetDO doBit0,FALSE;
SetDO doBit1,FALSE;
SetDO doBit2,FALSE;
SetDO doTrig,FALSE;
ENDPROC
ENDMODULE

