4. 机器人控制信号与PLC I/O映射

在机器人产线协同控制中,PLC 与机器人控制器之间的信号交互是整条产线能否安全、稳定、协调运行的基础。Studio 5000 作为上位控制器,需要把机器人使能、启动、停止、模式切换、报警复位等关键控制信号,映射到具体的 I/O 地址上,并通过梯形图逻辑实现互锁、状态反馈和故障处理。本节围绕这些信号的地址规划原则与梯形图映射方法展开,帮助读者建立从信号定义到程序实现的完整思路。

一、机器人控制信号的分类与方向

机器人控制信号按方向可分为三类:PLC 输出到机器人的控制信号、机器人输出到 PLC 的状态反馈信号,以及双方共用的安全与互锁信号。常见的控制信号包括:

  • 使能信号(Enable):PLC 输出,通知机器人控制器进入可运行状态,通常对应机器人伺服上电或驱动使能。
  • 启动信号(Start):PLC 输出,触发机器人执行当前选定的程序或动作序列。
  • 停止信号(Stop):PLC 输出,分为普通停止和急停两类,普通停止让机器人完成当前循环后停止,急停则立即切断运动。
  • 模式切换信号(Mode Select):PLC 输出,用于在自动、手动、示教等模式之间切换,通常用 2 位或 3 位组合表示。
  • 报警复位信号(Alarm Reset):PLC 输出,用于清除机器人控制器的可复位报警。
  • 状态反馈信号:机器人输出到 PLC,包括运行中、就绪、报警、模式确认、循环完成等。

这些信号在地址规划时,必须遵循“方向清晰、功能独立、预留余量”的原则。通常建议将 PLC 输出到机器人的信号集中分配在连续的输出字中,机器人反馈信号集中分配在连续的输入字中,便于梯形图批量处理和后期维护。

二、地址规划示例

以下以一台通过 EtherNet/IP 与 Studio 5000 通信的机器人控制器为例,给出一个合理的地址规划示例。假设使用 CompactLogix 控制器,机器人作为 EtherNet/IP 从站,映射到本地 I/O 区。示例参数如下:

信号名称方向地址数据类型说明
Robot_EnablePLC→机器人Local:2:O.Data[0].0BOOL机器人使能输出
Robot_StartPLC→机器人Local:2:O.Data[0].1BOOL启动触发
Robot_StopPLC→机器人Local:2:O.Data[0].2BOOL普通停止
Robot_EStopPLC→机器人Local:2:O.Data[0].3BOOL急停输出
Robot_Mode_Bit0PLC→机器人Local:2:O.Data[0].4BOOL模式选择位 0
Robot_Mode_Bit1PLC→机器人Local:2:O.Data[0].5BOOL模式选择位 1
Robot_AlarmResetPLC→机器人Local:2:O.Data[0].6BOOL报警复位
Robot_Ready机器人→PLCLocal:2:I.Data[0].0BOOL机器人就绪反馈
Robot_Running机器人→PLCLocal:2:I.Data[0].1BOOL运行中反馈
Robot_Alarm机器人→PLCLocal:2:I.Data[0].2BOOL报警反馈
Robot_Mode_Ack机器人→PLCLocal:2:I.Data[0].3BOOL模式确认反馈
Robot_CycleDone机器人→PLCLocal:2:I.Data[0].4BOOL循环完成反馈

上述地址中,Local:2 表示机器人 EtherNet/IP 模块在本地机架中的槽号,O.Data[0] 和 I.Data[0] 分别表示输出和输入数据字的第 0 个字。实际项目中,槽号和字偏移需根据硬件组态确定,但位分配逻辑可以复用。

三、梯形图映射逻辑

地址规划完成后,需要在 Studio 5000 中编写梯形图逻辑,把外部按钮、HMI 指令或上位系统命令映射到这些物理地址上。以下给出几个关键信号的梯形图映射思路。

1. 使能信号映射:使能信号通常由 HMI 上的“使能”按钮或系统自动条件触发。梯形图中应加入机器人就绪反馈作为互锁条件,只有机器人反馈“就绪”后,才允许输出使能。

// 使能输出逻辑(梯形图等效描述)
XIC(HMI_Enable_Button) XIC(Robot_Ready) OTE(Robot_Enable);
XIO(Robot_Alarm) XIO(Robot_EStop);

实际梯形图中,HMI_Enable_Button 和 Robot_Ready 串联,再并联 Robot_Enable 的自保持触点,最后输出到 Robot_Enable 线圈。同时串联 Robot_Alarm 和 Robot_EStop 的常闭触点,确保报警或急停时使能自动断开。

2. 启动与停止映射:启动信号应采用上升沿触发,避免长按导致重复启动。停止信号分为普通停止和急停,普通停止让机器人完成当前循环,急停则直接切断使能。

// 启动逻辑
XIC(Robot_Enable) XIC(Robot_Ready) XIC(HMI_Start_PB) ONS(Start_OneShot) OTE(Robot_Start);
// 普通停止
XIC(HMI_Stop_PB) OTE(Robot_Stop);
// 急停
XIC(EStop_PB) OTE(Robot_EStop);

其中 ONS 为单次触发指令,确保启动信号只在一个扫描周期内有效。普通停止信号可以直接映射,但建议在机器人侧做“完成当前循环后停止”的处理。

3. 模式切换映射:模式切换通常用两个输出位组合表示四种模式:00 表示手动、01 表示示教、10 表示自动、11 表示预留。梯形图中可以用 HMI 上的模式选择开关直接驱动这两个位,并加入模式确认反馈作为校验。

// 模式选择(以自动模式为例)
XIC(HMI_Mode_Auto) OTE(Robot_Mode_Bit0);
XIC(HMI_Mode_Auto) OTE(Robot_Mode_Bit1);
// 模式确认
XIC(Robot_Mode_Ack) XIC(Robot_Mode_Bit0) XIC(Robot_Mode_Bit1) OTE(Mode_Auto_Confirmed);

模式切换时,应确保机器人处于停止状态,避免运行中切换模式造成危险。可以在梯形图中加入 XIO(Robot_Running) 作为模式切换的允许条件。

4. 报警复位映射:报警复位信号通常由 HMI 上的“复位”按钮触发,采用上升沿。复位前应确认报警已消失,否则复位无效。

// 报警复位
XIC(HMI_Reset_PB) XIO(Robot_Alarm) ONS(Reset_OneShot) OTE(Robot_AlarmReset);

这里 XIO(Robot_Alarm) 表示报警反馈已消失,才允许复位。如果报警仍然存在,复位按钮不会产生输出。

四、信号映射的验证与调试

完成梯形图映射后,需要通过以下方式验证信号是否正确:

  • 在 Studio 5000 的“监视”窗口中强制或模拟输入信号,观察输出地址是否按预期变化。
  • 使用机器人示教器或控制器诊断界面,查看机器人侧接收到的信号状态是否与 PLC 输出一致。
  • 检查模式切换、报警复位等组合逻辑,确保在互锁条件不满足时不会误输出。
  • 记录每个信号的响应时间,确保满足产线节拍要求。
提示:地址规划时建议为每个信号预留至少 20% 的备用位,便于后期增加功能。同时,所有安全相关信号(如急停、使能)应使用硬接线或安全 PLC 实现,不能仅依赖普通 EtherNet/IP 通信。

五、信号映射关系图

下图展示了 PLC 与机器人控制器之间主要控制信号与反馈信号的映射关系,包括使能、启动、停止、模式切换、报警复位以及对应的状态反馈。图中左侧为 PLC 输出信号,右侧为机器人反馈信号,中间通过 EtherNet/IP 通信连接。

PLC 与机器人控制器 I/O 映射关系 Studio 5000 PLC 输出信号 (O.Data[0]) Robot_Enable (.0) Robot_Start (.1) Robot_Stop (.2) Robot_EStop (.3) Mode_Bit0 / Bit1 (.4/.5) Robot_AlarmReset (.6) EtherNet/IP 隐式通信 / 周期数据交换 RPI = 10 ms(示例) 输入/输出各 32 字节 Local:2:I / Local:2:O 机器人控制器 反馈信号 (I.Data[0]) Robot_Ready (.0) Robot_Running (.1) Robot_Alarm (.2) Robot_Mode_Ack (.3) Robot_CycleDone (.4) 注:地址中的槽号 2 为示例,实际以硬件组态为准;位分配可按项目调整。

通过上述地址规划与梯形图映射,PLC 可以可靠地控制机器人的使能、启动、停止、模式切换和报警复位,并实时获取机器人状态反馈。实际项目中,还需结合安全回路、通信超时检测和故障恢复逻辑,才能构成完整的协同控制方案。