2. RobotStudio工作站搭建
虚拟联调能否顺利开展,取决于虚拟工作站是否“像现场一样真实”。RobotStudio 中的工作站不是简单把机器人模型拖进场景,而是要把机器人系统、外围设备、工具、工件以及它们之间的空间关系一次性定义清楚。只有机器人本体、工具坐标系(TCP)、工件坐标系(Wobj)与信号接口都正确建立,后续 PLC 与机器人之间的 I/O 交互才有意义。本节围绕“为信号联调准备虚拟环境”这一目标,说明从系统创建到坐标系设定的完整搭建过程。
一、机器人系统创建:从模型到可运行系统
在 RobotStudio 中,机器人模型(Robot Model)与机器人系统(Robot System)是两个不同层级的概念。模型只是几何外形,系统才包含控制器、RobotWare 版本、运动配置、I/O 配置和选项。搭建的第一步是新建工作站并选择“空工作站”,随后通过“机器人系统 → 从布局创建系统”或“从备份创建系统”生成系统。
创建系统时需要关注几个关键参数:RobotWare 版本要与现场控制器一致或兼容;机器人型号要与实际一致(例如 IRB 1200-7/0.7);选项(Options)中必须勾选 709-1 DeviceNet Master/Slave 或 888-2 EtherNet/IP 等与 PLC 通信相关的现场总线选项,否则后续无法建立虚拟 I/O 连接。若现场使用 Profinet,则需选择 888-3 PROFINET Device。系统创建完成后,控制器状态栏会显示“已启动”,此时机器人处于手动状态,电机上电前需确认示教器使能装置逻辑。
二、布局:让虚拟场景与现场空间一致
布局的核心是“位置关系正确”。从机器人库中拖入机器人后,需根据现场安装方式设定其在地面或底座上的位置。常用做法是:先导入现场布局的 CAD 文件(如 .sat、.step 或 .stl),再以 CAD 中的基准点为参照,将机器人、变位机、导轨、安全围栏、PLC 控制柜等对象逐一摆放。
布局时建议使用“捕捉”功能对齐关键面,并通过“测量”工具检查机器人底座到工件、到围栏的距离。例如,某教学工作站中机器人底座中心位于 (0, 0, 0),工件台面位于机器人正前方 600 mm、高 800 mm 处,则工件台位置可设为 (600, 0, 800)。这些数值不必与现场完全一致,但必须保证机器人可达且不发生碰撞。布局完成后,可用“碰撞检测”功能检查机器人运动包络与围栏、工件之间是否存在干涉。
三、工具坐标系(TCP)设定:定义“机器人拿什么干活”
工具坐标系(Tool Center Point,TCP)决定机器人末端执行器的工作点。RobotStudio 中常用“三点法”或“六点法”定义 TCP:在工具上选取一个固定参考点,分别以不同姿态触碰同一基准点,系统通过多点拟合计算出 TCP 相对于机器人法兰盘的位置和姿态。
以常见的真空吸盘工具为例,假设吸盘中心相对于法兰盘沿 Z 轴偏移 180 mm,X、Y 无偏移,则 TCP 可定义为:
tooldata tVacuum := [TRUE, [[0, 0, 180], [1, 0, 0, 0]], [1.2, [0, 0, 80], [1, 0, 0, 0], 0, 0, 0]];
其中第一个数组为 TCP 位置与姿态(四元数),第二个数组为工具质量与重心。若使用三点法,需在示教器中依次记录四个接近点,RobotStudio 会自动计算。设定完成后,可通过“工具坐标”显示功能观察 TCP 是否位于吸盘中心。TCP 不准,后续轨迹和信号触发点都会偏移,因此这一步必须反复验证。
四、工件坐标系(Wobj)设定:定义“机器人在哪干活”
工件坐标系(Work Object)用于描述工件相对于世界坐标系的位置和姿态。它由用户坐标系(User Frame)和工件坐标系(Object Frame)两部分组成。用户坐标系定义工件台或夹具的基准,工件坐标系定义工件本身的坐标原点。
常用设定方法是“三点法”:在工件上选取原点、X 方向点和 Y 方向点,系统据此建立坐标系。例如,某工件台面原点位于 (600, 0, 800),X 方向指向工件长边,Y 方向指向短边,则 wobj 可定义为:
wobjdata wobj1 := [FALSE, TRUE, "", [[600, 0, 800], [1, 0, 0, 0]], [[0, 0, 0], [1, 0, 0, 0]]];
设定后,所有基于该工件的轨迹点都可用工件坐标表示,例如 pPick 可写成 [100, 50, 0],表示在工件坐标系下 X=100 mm、Y=50 mm、Z=0 的位置。这样当工件位置变化时,只需重新定义 wobj,程序无需逐点修改。
五、I/O 信号配置:为联调铺好“神经”
坐标系设定完成后,还需在虚拟控制器中配置 I/O 信号。以 DSQC652 数字量模块为例,在“控制器 → 配置 → I/O System”中新建 DeviceNet 设备,设置地址与现场一致,然后定义数字输入/输出信号,例如 di_PLC_Start、do_Robot_Ready、do_Vacuum_On 等。信号名称建议与 PLC 侧变量名一一对应,避免联调时混淆。
配置完成后,可在“I/O 仿真”窗口中手动置位/复位信号,观察机器人程序中的 WaitDI、SetDO 等指令是否响应。例如,当 di_PLC_Start 置 1 时,机器人程序应跳出等待并开始执行取件动作;当 do_Vacuum_On 置 1 时,吸盘应吸附工件。若信号无响应,需检查信号方向、地址映射和程序中的信号名称是否一致。
六、搭建完成后的验证
一个可用于信号联调的虚拟工作站,至少应满足以下条件:机器人系统已启动且无报警;工具坐标系 TCP 已标定并显示正确;工件坐标系已定义且与布局一致;I/O 信号已配置并可在仿真中手动触发;机器人程序能响应信号并完成基本动作。建议在正式联调前,先用“仿真 → 播放”运行一段简单程序,确认机器人能按预期运动到工件上方并触发信号。
完成以上步骤后,虚拟工作站就具备了与 PLC 进行信号交互的基础条件。下一阶段即可在 RobotStudio 中建立与 PLC 仿真软件的通信连接,开始真正的虚拟联调。