一、程序块基本信息

这是西门子 S7-300 PLC(CPU 319F-3 PN/DP)R04 SK [FB11] 功能块的梯形图程序,核心是调用 RBT_Seg_FC [FB7] 功能块,实现机器人(R04)工位段的安全互锁、状态许可与分段控制逻辑,属于 “改造区域程序” 下的机器人控制子模块。


1.1 输入条件(EN 与 Seg_Interlock 互锁逻辑)

RBT_Seg_FC [FB7] 的使能(EN)和分段互锁(Seg_Interlock)由以下信号串联逻辑与控制,所有条件必须同时满足才能使功能块运行:

表格

信号来源 含义说明
%DB102.DBX16.1 "020R_Weld_RBT_CC" 焊接机器人(020R)与本工位的通讯 / 协同信号
%DB102.DBX18.2 "020R Zylinder DB".V11.WELD_POS_1 020R 气缸焊接位置 1 到位信号,确保工装在正确位置
%DB104.DBX4.1 "R04_DB".RBT_OUT.DO33_Dision1 R04 机器人分段 1 输出完成信号
%DB104.DBX4.2 "R04_DB".RBT_OUT.DO34_Dision2 R04 机器人分段 2 输出完成信号
%DB104.DBX4.3 "R04_DB".RBT_OUT.DO35_Dision3 R04 机器人分段 3 输出完成信号
%DB104.DBX4.4 "R04_DB".RBT_OUT.DO36_Dision4 R04 机器人分段 4 输出完成信号
%DB51.DBX2.4 "SAFETY_TO_STAND_DB"."020R12E" 安全门 / 急停信号,确保安全回路闭合
%DB102.DBX19.0 "020R Zylinder DB".V11.WELD_MEMO 020R 气缸焊接记忆信号,保持焊接状态一致性

只有上述所有信号为 TRUE 时,Seg_Interlock 才为 TRUE,功能块 EN 才能导通。


1.2 核心输入输出信号说明

1. 关键输入信号

表格

输入引脚 信号来源 含义说明
EN 上述互锁信号串联结果 功能块总使能,安全 / 协同条件全部满足时为 TRUE
Seg_Allow %DB102.DBX18.0 "020R Zylinder DB".VI.PART_PRESENT 工件存在信号:检测到工位有工件时为 TRUE,允许分段运行
Black_Botton_Hold %I1520.3 "11020RS101"(当前为 FALSE 黑按钮保持信号:用于暂停 / 保持分段流程,当前未触发
OutSeg %DB104.DBX6.4 "R04_DB".RBT_OUT.DO52_Out_Seg5(当前为 TRUE 分段 5 输出信号:当前分段 5 处于激活状态
Seg_Hold %DB104.DBX36.4 "R04_DB".Seg_Hold[5](当前为 FALSE 分段 5 保持信号:用于暂停当前分段
Seg_Hold_Bit %DB104.DBX38.4 "R04_DB".Seg_Hold_Bit[5](当前为 FALSE 分段 5 保持位:分段保持的状态标记
2. 输出信号

表格

输出引脚 信号地址 / 名称 含义说明
Seg_Ack %DB104.DBX32.4 "R04_DB".Seg_Ack[5](当前为 FALSE 分段 5 确认信号:向上层逻辑反馈当前分段已完成 / 确认
Seg_Error %DB104.DBX34.4 "Error[5]"(当前为 FALSE 分段 5 错误信号:分段运行中出现故障时置位,用于报警和故障处理

1.3 核心逻辑总结

  1. 安全与协同优先EN 依赖多工位、多设备的互锁信号(焊接位置、分段完成、安全回路、状态记忆),确保机器人分段运行前所有前置条件已满足,避免碰撞、误动作。
  2. 工件存在许可Seg_Allow 由工件检测信号控制,无工件时禁止分段运行,防止空跑。
  3. 分段状态控制:通过 OutSeg/Seg_Hold/Seg_Hold_Bit 实现对 R04 机器人第 5 分段的启动、暂停、状态记忆管理。
  4. 状态反馈:输出 Seg_AckSeg_Error 向上层程序(如 R04 SK 或更高级的模式控制块)反馈分段执行结果,实现流程闭环。

✅ 典型运行场景

  • 当所有互锁信号为 TRUESeg_Allow=TRUE(有工件)、Seg_Hold=FALSE(无暂停)时:RBT_Seg_FC [FB7] 运行,驱动 OutSeg 对应的分段动作,并在完成后置位 Seg_Ack
  • 若任意互锁信号变为 FALSE(如安全门打开):EN 断开,分段立即停止,保障安全。
  • 若分段运行中出现故障:Seg_Error 置位,触发上层报警逻辑。

二、功能块变量定义

三、功能块内部逻辑

3.1 功能块核心定位

这是 RBT_Seg_FC [FB7] 功能块的内部梯形图逻辑,用于实现机器人分段(SEG)的干涉区许可、故障检测、暂停控制及状态记忆,是机器人分段运动的核心安全与流程管理逻辑。


3.2  各程序段逻辑拆解

程序段 1:允许进入干涉区(Seg_Ack
  • 逻辑#Seg_Interlock(分段互锁)、#Seg_Allow(分段许可)、#OutSeg(当前分段激活)三者同时为 TRUE 时,置位 #Seg_Ack(分段确认)。
  • 含义:只有安全互锁满足、工件存在且当前分段激活时,才允许机器人进入干涉区,完成分段动作确认。
程序段 2:SEG 故障(Seg_Error
  • 逻辑#Seg_Interlock 为 FALSE #OutSeg 为 FALSE 时,置位 #Seg_Error(分段故障)。
  • 含义:互锁断开(安全 / 协同条件丢失)或当前分段未激活时,立即触发分段故障,停止动作并报警。
程序段 3:SEG 暂停(Seg_Hold
  • 逻辑:使用 SR 触发器 管理暂停状态:
    • 置位 S#Black_Botton_Hold(黑按钮按下,上升沿)、#OutSeg(当前分段激活)、#Seg_Hold_Bit(暂停标志为 FALSE)→ 触发暂停
    • 复位 R1#Black_Botton_Hold(黑按钮再次按下,上升沿)、#OutSeg#Seg_Hold_Bit(暂停标志为 TRUE)→ 解除暂停;或 #OutSeg 为 FALSE(分段结束)→ 自动清除暂停
  • 含义:黑按钮实现 “按一次暂停、再按一次恢复” 的切换,分段结束时自动复位暂停状态。
程序段 4:SEG 暂停标志(Seg_Hold_Bit
  • 逻辑:使用 SR 触发器 记忆暂停状态:
    • 置位 S#Black_Botton_Hold 上升沿 #Seg_Hold 为 TRUE → 标记暂停状态
    • 复位 R1#Black_Botton_Hold 上升沿 #Seg_Hold 为 FALSE → 清除暂停标记
  • 含义:为程序段 3 的暂停逻辑提供状态记忆,实现黑按钮的切换控制。

3.3  核心逻辑总结

  1. 安全准入:干涉区进入严格依赖互锁、许可和分段激活三重条件,缺一不可,保障机器人与周边设备 / 人员安全。
  2. 故障快速响应:互锁或分段状态异常时立即触发故障,避免危险动作延续。
  3. 人性化暂停:黑按钮实现 “一键暂停 / 恢复”,配合状态记忆,操作直观且避免误触发。
  4. 状态闭环Seg_Ack/Seg_Error/Seg_Hold 三类输出向上层程序反馈分段状态,实现自动化流程闭环。

✅ 与上层调用的关联

R04 SK [FB11] 中调用此 FB7 时,现场信号(如安全门、工件检测、按钮)接入输入,输出则驱动机器人动作和上层报警 / 模式逻辑,完成 “安全 → 许可 → 运行 → 暂停 / 故障 → 确认” 的完整分段控制链路。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐