- 在工业机器人仿真工作站里,Smart 组件是实现无代码动态逻辑、自动输送、自动夹持、信号交互的核心工具。本次学习我们将从零搭建一套自动上料输送链 + 智能真空夹具 + 机器人码垛的完整仿真系统,把 “产品自动生成→输送→到位检测→机器人抓取→搬运码垛→循环生产” 全流程跑通。内容非常适合离线编程进阶、课程设计、实训报告参考。
项目学习重点与核心知识
- 本次项目主要解决一个真实工业场景问题:机器人如何配合自动化输送线与夹具,完成无人化上料、抓取、码垛。
- 我们要掌握的关键内容包括:
- Smart 组件的创建、编辑、子组件添加与属性配置
- 产品自动生成(Source)与队列管理(Queue)
- 产品线性输送(LinearMover)
- 平面传感器、线传感器的检测与信号输出
- 逻辑门(NOT)实现信号反转、自动补料
- 真空夹具的吸取(Attacher)与释放(Detacher)
- 信号锁存(LogicSRLatch)实现真空状态保持
- I/O 信号、属性连结、工作站逻辑联动
- 系统备份、I - 启动初始化、RAPID 程序加载
- 整体联调仿真与故障排查
第一部分:使用 Smart 组件创建动态输送链
- 输送链是自动化产线最基础的单元,作用是把产品从供料位置自动送到机器人抓取位置。我们用 Source + Queue + LinearMover + PlaneSensor 组合实现。
1. 新建输送链 Smart 组件
- 打开软件,进入建模选项卡,点击Smart 组件。
- 新建一个空 Smart 组件,重命名为SC_InFeeder,方便识别。
- 点击添加组件,开始添加实现输送功能必需的子组件。
2. 添加核心子组件(按顺序)
Source(动作)作用:每次触发 Execute,就复制一份 Product_Source,实现 “自动出料”。设置:把 Source 对象指定为 Product_Source,建议勾选Transient(临时对象),避免仿真结束后残留大量模型。
Queue(其他)作用:把生成的产品按顺序排队,避免混乱、重叠、乱跑。设置:默认参数即可,负责管理产品进出顺序。
LinearMover(本体)作用:给产品一个直线运动,模拟输送链皮带传动效果。设置:指定运动方向与速度,让产品沿着输送链平稳移动。
PlaneSensor(传感器)作用:放在输送链末端,检测产品是否 “到位”,给机器人信号。设置:配置原点与轴方向,覆盖抓取位置区域。
LogicGate(NOT)(信号和属性)作用:把传感器信号取反,实现 “产品拿走→自动补料”。设置:运算符选择NOT。
3. 重要细节设置(容易出错)
- 将布局中的InFeeder 模型拖入 SC_InFeeder 组件内部。
- 右键 InFeeder → 取消勾选可由传感器检测,防止传感器误检测输送链本体。
4. 属性连结:让组件之间 “互通数据”
- 进入属性与连结→ 添加连结:
- Source → Queue(Back)让新生成的产品自动进入队列尾部。
5. 创建 I/O 信号
- 进入信号和连接→ 添加 I/O Signals:
- diStart:Digital Input,外部触发启动输送
- doBoxInPos:Digital Output,产品到位反馈
6. 建立 I/O 连接(输送链大脑)
- 依次添加以下 6 条关键连接:
- diStart → Source.Execute(启动就出料)
- diStart → Queue.Enqueue(启动就入队)
- PlaneSensor.SensorOut → Queue.Dequeue(到位就出队)
- PlaneSensor.SensorOut → doBoxInPos(到位输出信号)
- PlaneSensor.SensorOut → LogicGate.InputA(传感器信号给非门)
- LogicGate.Output → Source.Execute(非门触发补料)
- 单击“仿真”选项卡下的“I/O仿真器”, 在右侧的对话框中,“选择系统”设置为“SC_InFeeder”, 单击仿真选项卡下的“播放”, 再单击“diStart”;最终实现效果:触发 diStart → 产品自动生成 → 沿输送链运动 → 到位停止 → 机器人取走 → 传感器断开 → 自动补料 → 循环。
第二部分:创建动态夹具 Smart 组件
- 夹具是机器人的 “手”,我们要做带检测、带真空反馈、能吸能放的智能真空夹具。
1. 新建夹具 Smart 组件
- 建模 → Smart 组件 → 新建,命名SC_Gripper。
- 先在布局里把原有 tGripper拆除,更新位置选 “否”。
- 把 tGripper 拖入 SC_Gripper,并勾选设定为 Role,使其具备工具属性。
- 把 SC_Gripper 拖到机器人 IRB460 末端,完成工具安装。
2. 添加夹具子组件
LineSensor(传感器)作用:检测吸盘下方是否有产品,防止空抓。设置:起点为吸盘中心,终点向下偏移一段距离,半径适当。
Attacher(动作)作用:执行 “吸取” 动作,把产品吸附在夹具上。设置:Parent 设为 SC_Gripper,Child 不固定(由传感器指定)。
Detacher(动作)作用:执行 “释放” 动作,放下产品。设置:勾选 KeepPosition,让产品放下后停在当前位置。
LogicGate(NOT)作用:用一个 diGripper 信号同时控制吸和放。
LogicSRLatch(信号和属性)作用:锁存真空信号,保持吸取 / 释放状态。
3. 关键细节设置
- 取消 tGripper 的可由传感器检测,避免干扰检测。
- 设置 Product_Teach 为可见 + 可由传感器检测。
4. 属性连结
- LineSensor.SensedPart → Attacher.Child传感器检测到谁,就吸谁。
- Attacher.Child → Detacher.Child吸的是谁,就放谁。
5. I/O 信号与连接
- 创建信号:
- diGripper:输入,控制吸 / 放
- doVacuumOK:输出,真空反馈
- 建立 7 条 I/O 连接,实现逻辑:
- diGripper=1 → 传感器激活 → 检测到产品 → 执行吸取 → 真空反馈 = 1
- diGripper=0 → 非门触发 → 执行释放 → 真空反馈 = 0
第三部分:工作站逻辑设定与整体仿真运行
- 到这一步,我们要把输送链、夹具、机器人三者打通,实现全自动联动。
1. 系统备份与初始化
- 控制器 → 备份 → 创建备份,防止配置丢失。
- 控制器 → 重启 →I - 启动,重置系统,保证配置干净。
2. I/O 硬件配置
- 配置 → I/O System → 新建 DeviceNet Board10。(旧版的选择“Unit”,RobotWare 6.0以前的算旧版)
- 新建信号:diBoxInPos、diVacuumOK、doGripper。
3. 加载 RAPID 程序
- 控制器 → RAPID → T_ROB1 → 加载程序模块 MainMoudle。
- 同步到工作站,全选工件、工具、路径、目标点。
4. 工作站逻辑(三者联动关键)
- 打开仿真 → 工作站逻辑,添加 3 条连接:
- 机器人 doGripper → 夹具 diGripper
- 输送链 doBoxInPos → 机器人 diBoxInPos
- 夹具 doVacuumOK → 机器人 diVacuumOK
- 这一步相当于给机器人、输送链、夹具装上 “电话”,互相传递信号。
添加完成后,如下图所示
5. 整体仿真运行
- 打开 I/O 仿真器,选择 SC_InFeeder。
- 点击仿真播放,触发 diStart。
- 仿真验证完成后,为了美观可将输送链前端的产品源隐藏,单击“可见”,取消勾选
- 全自动流程启动:产品生成 → 输送 → 到位 → 机器人等待 → 抓取 → 搬运 → 码垛 → 回到抓取点 → 循环。
🎬 视频演示部分:完整工作站联动仿真
smart组件创建动态输送链、动态夹具与仿真运行——仿真视频
- 本视频为完整版项目演示:输送链自动上料 → 产品到位 → 机器人接信号 → 精准抓取 → 空走运动 → 码垛放置 → 循环执行。画面包含 3D 仿真、I/O 信号变化、RAPID 程序执行同步展示,是学习整套动态仿真的最佳参考。
学习心得与易错点总结
- 通过本次项目学习,我真正理解了 Smart 组件在 RobotStudio 里的 “无代码编程” 强大能力,不用写复杂 RAPID,就能实现工业自动化逻辑。
- 给大家整理几个最容易踩坑的点:
- 传感器一定要取消模型自身可检测,否则一直误触发。
- Source 记得勾选Transient,否则产品越堆越多。
- 夹具安装时一定要拆除原有工具,否则坐标不对。
- 联仿前必须I - 启动重置系统,否则信号不生效。
- 工作站逻辑一定要配对正确,不然机器人和 Smart “各玩各的”。