工业机器人与 PLC 信号交互实战指南
在自动化产线中,PLC 负责流程调度与安全监控,机器人负责执行任务。两者之间的通信方式多样,但数字量 I/O(DI/DO)仍是应用最广、最可靠的交互手段。即便支持 Profinet、EtherNet/IP 等总线协议,关键控制信号(启停、急停、模式选择)通常仍保留硬接线数字信号,以确保网络异常时的基本安全与操作功能。
这类信号通常工作在 24V DC,采用 PNP 或 NPN 接法。各大厂商为这些基础信号建立了标准化定义,掌握规律即可快速上手不同品牌系统。
ABB
ABB 的 I/O 管理灵活,主要通过 DSQC 系列板卡(如 DSQC652)实现数字量输入输出。在 RAPID 编程中使用 Signal 概念映射物理端子。例如 %IX10.0 表示第一个输入模块的第 0 位,%QX10.0 是对应的输出。
常见控制信号:
Start(输入):上升沿触发启动程序Reset(输入):清除故障状态AutoMode(输入):允许进入自动运行Running(输出):表示当前正在运行Fault(输出):有故障时置位
注意:ABB 的启动信号通常需要配合系统输入(System Input)配置才能生效。若仅在程序里读 DI 点而未注册为系统事件,可能出现信号给了但程序不启动的情况。
PERS SIGNAL Di_Start := %IX10.0;
PERS SIGNAL Do_Running := %QX10.0;
IF Di_Start THEN Set(Do_Running); ENDIF
更稳妥的做法是在 RobotStudio 中将信号绑定到'Start'类型的 System Input,由操作系统统一管理启动流程。
FANUC
FANUC 强调标准化和固化,使用 UOP(Universal I/O) 专用信号体系,功能固定、编号唯一。
典型信号:
UI[1]:IMSTP,急停恢复确认UI[2]:HOLD,暂停运行UI[6]:START,启动命令UO[1]:READY,控制器就绪UO[3]:BUSY,正在执行程序
这些信号默认通过 CRMA15(输入)和 CRMA16(输出)接口板引出。UOP 信号具有最高优先级,直接影响机器人运行状态。例如,一旦 UI[2] 被拉低,机器人会立即暂停,不受用户程序控制。
无需编写代码处理这些信号,只需正确接线并在 MENU → I/O → CONFIGURE 中完成信号分配,系统即自动响应。如需选择运行程序,可通过 RSR 或 PNS 模式,利用多路 DI 组合编码指定程序号。
KUKA
KUKA 遵循 VDI/VDE 2693 规范,被称为 AMS(Automatic Mode Signals) 。
典型 AMS 信号:
$AUTOMODE:必须为 TRUE 才能进入自动运行$START:上升沿触发启动$STOP:请求停止$ACKERROR:错误确认$RUNPERMITTED:机器人允许运行(输出)$BUSY:正在运行(输出)
所有 AMS 信号必须按规范连接,否则机器人无法切换到自动模式。这些变量本质上是 KRL 程序可访问的系统标志,通常映射到 PROFINET 或 KB6 板卡的特定地址。
DEF main()
IF $IN[100] AND NOT busy_flag THEN
busy_flag = TRUE
OUT[200] = TRUE ! 反馈运行状态
ENDIF
ENDDEF

