可以通过右键单击程序或从程序菜单中添加新的指令,如上一节所示。
提示:选择特定指令,可在所选指令后添加新指令。
提示:可以在程序内部或不同程序之间拖放指令,以重新排序。
本节介绍 RoboDK 图形用户界面支持的指令,用于机器人离线编程。
选择程序➔ 移动关节指令,添加新的关节移动指令。或者,选择工具栏上的相应按钮。
除非在添加指令前选择了目标,否则移动指令将创建一个新的目标,并将它们连接起来。如果目标被移动,移动也会被修改。
如果这是添加到程序中的第一条指令,那么在移动指令之前还会添加两条指令:参考坐标系选择和工具坐标系选择。这将确保当程序到达移动指令时,机器人使用的参考坐标系和工具坐标系与创建这个新目标时相同。
注: 右键单击运动指令并选择目标选项...(F3)打开目标选项菜单。可从该窗口或直接从 3D 视图修改目标。
选择程序➔ 移动线性指令,添加新的线性移动指令。或者,选择工具栏上的相应按钮。
除非在添加指令前选择了目标,否则移动指令将创建一个新的目标,并将它们连接起来。如果目标被移动,移动也会被修改。
关节移动和直线移动的行为方式相同,可以轻松地从一种类型切换到另一种类型。
与关节移动指令相同,如果这是程序中添加的第一条指令,那么在移动指令之前还会添加两条指令:参考坐标系选择和工具坐标系选择。
重要提示: 建议将每个程序的第一个动作保持为使用关节目标的关节移动。这将从第一个动作开始正确设置所需的配置,并确保真实机器人的运动方式与模拟的相同。
与关节移动相反,线性移动对机器人的奇点和轴限制有敏感认识。例如,6 轴机器人在线性移动后无法越过奇点。下图是一个例子,表示关节 5 太靠近奇点(0 度)。[...]考虑改用关节移动。如下图所示
如果严格来说不需要线性移动,可右击移动指令,将其更改为关节指令。
或者,必须修改目标、TCP 或参考坐标系的位置,以避免出现奇点。
选择程序 ➔设置参考坐标系指令,以使用特定参考坐标系。这将更新控制器上的给定参考系,用于执行后续运动指令,并更改 RoboDK 中机器人的激活参考系,以便进行仿真。这意味着,对特定目标(直角坐标系目标)的运动指令将以最后设定的参考坐标系为基准。
参考坐标系是一个变量,也称为工作物体(ABB 机器人)、UFRAME(发那科(Fanuc)机器人)、FRAME(安川(Motoman)机器人)或 $BASE(库卡(Kuka)机器人)。
注:特定控制器支持使用编号参考坐标系设置参考坐标系(如发那科(Fanuc)和安川(Motoman)控制器)。在这种情况下,参考坐标系的名称可以以数字结尾(如 Frame 4 用于设置坐标系索引 4)。
选择程序 ➔ 设置工具坐标系指令,以使用特定工具坐标系 (TCP)。这将更新程序上的给定工具坐标系,用于执行后续运动指令,并在 RoboDK 中更换机器人的激活工具坐标系,以便进行仿真。这意味着,对特定目标(直角坐标系目标)的运动指令将以最后设定的工具坐标系为基准。
参考坐标系是一个变量,也称为 ToolData(ABB 机器人)、UTOOL(发那科(Fanuc)机器人)、TOOL(安川(Motoman)机器人)或 $TOOL(库卡(Kuka)机器人)。
注:特定控制器支持使用编号工具设置工具坐标系(如发那科(Fanuc)和安川(Motoman)控制器)。在这种情况下,工具坐标系的名称可以以数字结尾(如 Tool 4 用于设置工具索引 4)。
选择程序➔ 移动圆周运动指令,添加新的圆周运动指令。或者,选择工具栏上的相应按钮。
除非在添加指令前选择了两个目标,否则移动指令不会创建新目标。这就需要分别再添加两个目标,并从循环移动指令中将它们链接起来,如下图所示。
环形路径是从机器人所在的点出发,经过第一个环形点(目标链接 1),并以终点(目标链接 2)为终点而形成的弧线。
重要提示:仅用一个圆周运动指令不可能完成一个完整的圆周运动。一个完整的圆必须分成两个独立的圆周运动。
选择程序➔ 设置速度指令,可添加改变速度和/或加速度的新指令。可以在关节空间和笛卡尔空间中指定速度和加速度。
激活相应的情况,在程序中设定特定的速度和/或加速度。机器人速度从执行该指令时开始生效。
也可在机器人参数菜单中更改机器人速度:双击机器人,然后选择参数。
注:并非所有机器人控制器都支持精确设置加速度。
重要: 设置正确的速度对准确计算程序时间(循环时间)非常重要。更多信息请参见循环时间部分。
选择程序➔ 显示信息指令,添加一条新指令,在示教器上显示一条信息。
注意: 并非所有机器人控制器都支持通过程序在示教器上显示信息。在这种情况下,本指令将不起作用。
选择程序➔ Pause Instruction(暂停指令),添加一条新指令,暂停程序执行一段时间或停止程序,直到操作员希望恢复程序。
注意: 将暂停延迟值设置为-1,可暂停程序,直到操作员希望恢复程序。在这种情况下,指令将自动命名为 "停止"。
重要提示: 在模拟过程中,如果默认的模拟比率为 5,则 5 秒钟的暂停需要 1 秒钟的模拟时间。更多信息请参阅模拟部分。
选择程序➔ 程序调用指令,可从当前程序向子程序添加调用。
默认情况下,这是对特定程序的阻塞调用。不过,也可以切换到插入代码,在该指令的位置输入特定代码。这可能对特定应用程序和特定控制器有用。
提示:选择 "选择程序 "可自动填充文本字段。否则,文本匹配也会起作用。如果与指令中使用的子程序名称匹配,则将在 RoboDK 中模拟该子程序。
提示:输入多行可自动连续设置多个程序调用指令。
从程序调用切换到启动线程,以引发对子程序的非阻塞调用。在这种情况下,控制器将启动一个新线程。该选项仅适用于某些控制器,且仅对特定操作有效。
小贴士仅用于模拟目的的主程序可使用 Start Thread 选项同时启动多个程序的模拟(例如模拟两个或多个机器人时)。
选择程序➔ 设置或等待 I/O 指令,以改变数字输出 (DO) 的状态。默认情况下,该指令设置为 "设置数字输出"。该指令还允许等待特定数字输入 (DI) 切换到特定状态。
如果是命名变量,IO 名称可以是数字或文本值。如果是已命名的状态,IO 值可以是数字(0 表示 "假",1 表示 "真")或文本值。
注: 该指令还支持在某些机器人控制器上设置模拟输出 (AO) 或等待模拟输入 (AI)。在这种情况下,可以用十进制数字或特定文本代替数字。
设置为等待数字输入,可停止程序执行,直到特定输入变为特定值。此外,大多数机器人控制器都支持超时延迟功能,当等待时间超过特定值时就会出错。选中超时(毫秒)选项可激活此功能。
提示:举例来说,如果机器人单元上有特定的硬件(如夹爪或铣削主轴),那么使用数字输出(DO)激活该特定硬件,然后等待特定的数字输入(DI)切换到特定状态,这是一种很好的做法。
更改模拟的数字输入和数字输出将创建新的管理平台变量。要检查这些变量的状态,可以右键单击台站并选择台站参数。也可以通过 API 读取或修改这些变量。
选择程序➔ 设置舍入指令,更改舍入精度。舍入精度用于平滑连续运动之间的边缘。该更改在程序内执行后立即生效(与所有其他指令相同),因此通常在程序开始时设置该值。
如果没有舍入指令,机器人在每次运动结束时的速度都将为 0(除非下一次运动与上一次运动相切)。这将引发高加速度和快速速度变化,以确保每次运动都能达到最佳精度。
该值也称为混合半径(Universal Robots)、ZoneData(ABB 机器人)、CNT/FINE(发那科(Fanuc)机器人)、拐角(Mecademic 机器人)或 $APO.CDIS/$APO.CPTP/Advance (库卡(Kuka)机器人)。
注:将 "绕行 "值设为-1,可实现精细运动。这意味着机器人不会绕过路径边缘。
提示:高舍入值可确保机器人路径上的速度恒定,以换取路径边缘上的精度损失。根据不同的应用,通常可以在精度和平稳速度之间找到一个很好的折衷方案。
有些控制器要求将该值设置为百分比,例如在发那科(Fanuc)控制器上,如果要提供 CNT5 命令,则应输入 5。
如果您生成的程序用于机器人加工、3D 打印或曲线/点追踪,还可以在 "程序事件 "窗口中指定舍入参数。
RoboDK 的路径精度测试可以更好地了解不同舍入策略的效果。
选择程序➔ 仿真事件指令,以引发特定的仿真事件。仿真事件对生成的代码没有影响,仅用于为仿真目的触发特定事件。
使用图形用户界面模拟事件,您可以
●在机器人工具上安装或拆卸物体
●显示或隐藏物体或工具
●改变物体和参考坐标系的位置
例如,如果机器人移动到一个特定位置去抓取一个物体,我们可以设置一个 Attach 对象事件,将该物体与机器人一起移动。然后,在机器人移动后准备离开物体时,我们可以设置一个 Detach object 事件,离开工具抓取的任何物体。
注:也可以使用宏来模拟特定事件(需要编程经验)。例如,使用 API 可以使物体随机出现在特定位置,进行取放模拟。
注意: 将物体连接到工具时,如果离给定距离不远,则连接最近的物体。默认距离为 200 毫米,可在以下页面更改:工具➔选项➔ 将物体吸附到机器人工具的最大距离。此外,默认情况下检查的是从 TCP 位置到物体参考点的距离。另外,也可以通过选择选中 TCP 与物体形状之间的最短距离,使用 TCP 与物体几何形状之间的距离。