robotstudio 粘贴程序,核心是在 RAPID 程序编辑器或者程序模块树里面,先复制已有的程序段模块例行程序,再把内容粘贴到目标模块当中,支持快捷键复制粘贴,也可以右键菜单操作,需要注意粘贴的目标位置必须是合法的 RAPID 层级,不能随便粘贴在无效位置,不然软件会报语法错误,很多新手粘贴失败,是因为没有选中正确的光标插入点,或者源程序和目标模块的数据类型冲突,比如常量变量 IO 信号定义不匹配,粘贴之后程序无法编译,robotstudio 里面的程序是 RAPID 代码体系,粘贴本质是复制代码文本或者程序对象,和普通记事本粘贴有区别,还需要同步关注控制器虚拟控制柜的程序归属。
一 支持粘贴的两种场景对比表
| 场景 | 操作对象 | 适用情况 |
|---|---|---|
| 复制粘贴 RAPID 代码段 | 代码文本 | 复制部分指令行 运动指令 逻辑语句,粘贴到同模块或者其他模块 |
| 复制粘贴例行程序或者模块 | 程序对象 | 整个 routine 整个 module,直接复制完整程序单元到其他任务 |
二 详细操作步骤
方法一 快捷键粘贴代码段
第一步 打开 robotstudio,加载对应的工作站,进入 RAPID 编辑界面,打开需要编辑的程序模块。
第二步 在代码编辑窗口,用鼠标选中想要复制的程序代码行,选中之后按下键盘 ctrl c 完成复制。
第三步 移动光标,定位到想要插入粘贴程序的目标位置,光标必须落在代码可编辑区域。
第四步 按下 ctrl v,完成粘贴,粘贴完成之后检查代码,确认变量名称 IO 定义没有冲突。
第五步 点击编译校验,确认粘贴后的程序没有语法报错,如果报错就修正变量或者信号定义。
方法二 右键菜单粘贴例行程序
第一步 在左侧 RAPID 树状目录,找到源例行程序 routine,鼠标右键点击,选择复制。
第二步 选中目标任务或者目标模块,右键点击空白位置,选择粘贴,软件就会生成一份新的同名副本程序。
第三步 如果提示名称重复,需要给新粘贴的例行程序修改独立名称,不允许同一个模块里面两个 routine 重名。
第四步 粘贴完成之后,展开新生成的例行程序,检查内部调用的子程序坐标系工件是否仍然有效。
方法三 从外部文本导入粘贴
第一步 把外部记事本里面的 RAPID 代码提前整理好,复制全部代码。
第二步 切换到 robotstudio RAPID 编辑器,定位光标,ctrl v 粘贴外部代码。
第三步 重点检查外部代码里面的 p10 robtarget 变量,num 变量,zone 数据,这些如果目标工作站没有预先定义,粘贴之后编译一定会报错。
三 粘贴失败常见原因
第一 光标位置错误,粘贴位置不在 module 或者 routine 内部,软件不接受代码粘贴。
第二 名称冲突,粘贴的例行程序名称和现有程序重名,robotstudio 会拒绝粘贴或者弹出报错窗口。
第三 数据依赖缺失,原程序里面调用的 IO 信号工件坐标系工具坐标,在当前工作站不存在。
第四 版本差异,高版本 robotstudio 复制的 RAPID 程序,粘贴到低版本软件,部分新指令不兼容。
第五 控制器处于运行状态,虚拟控制柜正在自动运行,编辑锁定,无法粘贴修改程序,需要先停止程序切换到手动模式。
【常见问题】
问题 1 robotstudio 粘贴程序之后编译报错是什么原因
回答 1 大多是粘贴的 robotstudio 程序里面变量工件 IO 信号在当前工作站没有定义,或者例行程序重名,需要修改名称补齐数据定义,重新校验 robotstudio 程序。
问题 2 robotstudio 能不能跨工作站粘贴程序
回答 2 可以,把原工作站 RAPID 代码复制出来,在新工作站的 RAPID 编辑器粘贴程序,但是要重新校准工具坐标工件,确认机器人型号匹配,不然 robotstudio 程序运动逻辑会异常。
问题 3 robotstudio 粘贴程序没有右键粘贴选项怎么办
回答 3 一般是当前选中的节点层级不对,没有选中 module 或者 routine,或者控制柜正在运行锁定编辑,停止机器人运行,选中正确节点之后,robotstudio 粘贴程序的右键菜单就会恢复。
问题 4 robotstudio 粘贴整个 module 模块之后子程序调用失效吗
回答 4 不会直接失效,但是粘贴 module 之后,内部调用的外部子程序如果没有一起复制,就会出现调用找不到,需要把关联子程序一并复制粘贴进 robotstudio 程序。
【免责申明】
本文仅为 robotstudio 软件操作科普,软件不同版本界面会存在差异,调试机器人程序请做好备份,实际工业现场运行程序前必须做好安全测试,避免误动作造成设备损伤。


