Appearance
高级程序节点
高级程序节点可以实现循环、判断、调用、多线程等功能,提高编程效率,减少程序出错的概率,使程序更加灵活方便。
线程
【线程】命令,创建多线程,即创建可以与主程序并行的程序。线程可用于控制与机械臂无关的其他外部设备。
注意
线程
节点下可以添加设置
、等待
、赋值
等与运动无关的节点。- 如果
线程
节点下添加移动
、路点
等与运动相关的节点,将可能导致机器人运行冲突,引发其他安全风险。 - 建议尽量避免多线程的使用。若必须使用多线程,请注意主线程和辅线程的并行逻辑和时序匹配。
设置
- 无限循环:勾选后,线程内的程序可以无限循环运行,直到停止程序。
子程序
【子程序】命令,创建子程序,子程序又称子工程。常与【调用】节点搭配使用。
子程序的特点:
子程序可以是控制程序也可以是被控程序。
子程序中包含的程序数据,仅为当主程序中的子程序被激活时的数据。
子程序可以通过【调用】节点在多个程序中的多个位置调用运行。
注意
子程序被调用时,需先在【子程序】节点中编写或单击 加载已写好的程序,再使用【调用】节点调用子程序。
设置
:重命名子程序在主程序中的名称。
:加载程序文件。
保存为:将子程序作为单独的文件在磁盘中保存。
清除:清除子程序内打开的文件。
保持子程序文件与此程序一起更新:勾选后,在打开的子程序中的修改将自动保存到该子程序文件中。
注意
该项仅在已保存为文件的子程序中可选。
调用
【调用】命令,调用子程序。当程序执行到此节点时,会跳转到调用的子程序中运行。
循环
【循环】命令,创建循环程序块。
设置
一直循环:勾选后,程序块内的节点将无限循环运行。
循环 N 次:勾选后,设置 “循环次数”,$$ N $$ 为循环次数,程序块内的节点将循环运行 $$ N $$ 次。程序会创建一个专用循环变量(如图所示的 循环_0),此变量可在循环内部的表达式中使用。进入循环后,循环变量从 $$ 0 $$ 开始计数,直至 $$ N -1 $$,结束循环。
当表达式为真时循环:勾选后,设置表达式,程序运行到该节点时,先判断表达式是否为真:如果表达式判断为真,进入该循环,运行程序块内的节点;如果表达式判断为假,跳过此循环。
- 连续检查表达式:勾选后,在执行循环程序块期间,持续检查表达式,一旦表达式判断为假随时跳出【循环】程序块。
跳出
【跳出】命令,即跳出循环。
设置跳出方式
- 跳出循环:直接跳出循环,程序运行
循环
节点的下一个程序节点。 - 跳至下次循环:跳出本次循环,立即进入下一次循环。如果
循环
节点不需要变量或表达式判断,则直接进入下一次循环。如果循环
节点需要变量或表达式判断,则先进行判断,如果判断为真,进入下一次循环;如果判断为假,结束循环。
如果/否则如果/否则
【如果】命令,创建条件判断程序块。
【否则如果】命令,在 如果
节点下创建条件判断程序块。
【否则】命令,在 如果
或 否则如果
节点下创建程序块。
1. 设置
如果
设置:
在
如果
界面单击表达式 $$ f(x) $$,编辑条件表达式。连续检查表达式:勾选后,在执行
如果
程序块期间,持续检查条件表达式,一旦条件表达式判断为假,随时跳出如果
程序块。
否则如果
设置:
在
否则如果
界面单击表达式 $$ f(x) $$,编辑条件表达式。连续检查表达式:勾选后,在执行
否则如果
程序块期间,持续检查条件表达式,一旦条件表达式判断为假,随时跳出否则如果
程序块。
2. 应用
如果
:如果如果
的条件为真,则执行如果
程序块。如果……否则……
:如果如果
条件为真,则将执行此如果
节点内的程序;否则执行否则
节点内的程序。如果……否则如果……否则……
:如果如果
条件为真,则将执行此如果
节点内的程序;否则判断否则如果
条件是否为真。若否则如果
条件为真,则将执行否则如果
节点内的程序,否则执行否则
节点内的程序。
示例:
设置一个初始变量 变量_0
。程序开始运行,运行至 路点_0
。判断 变量_0
是否小于等于 2,如果 变量_0
小于等于 2,运行备注为 “向左” 的 关节运动
。如果 变量_0
大于 2,判断 变量_0
是否小于等于 5,如果 变量_0
大于 2 且小于等于 5,运行备注为 “向右” 的 关节运动
。如果 变量_0
大于 5,运行备注为 “向上” 的 关节运动
。
分支/条件/默认
【分支】命令,创建多重分支,可根据变量的值控制程序的流程。可设置是否在程序树中添加 默认
程序块。“同步” 请参考 “4.3.6 赋值” 中关于 “同步” 的介绍。
【条件】命令,在 分支
下创建 条件
程序块。
条件
节点只能在 分支
节点下插入。应用
分支……条件……默认……
:通过判断条件运行不同的条件
程序块。用户可在分支
界面输入选择判断条件表达式,在条件
界面输入可匹配的值。当程序运行分支
节点时,先计算分支
节点的表达式的数值,然后与分支
下的条件
的数值依次比较:如果在所有条件
中匹配到相同的数值,则执行该 条件 程序块;如果没有匹配到满足条件的条件
数值,则执行该分支
下的默认
程序块。- 一个
分支
可以有 0 个到多个条件
程序块。 - 一个
分支
可以有 0 个到 1 个默认
程序块,勾选分支
中的 “添加默认条件” 即可添加默认
程序块。
- 一个
示例:
设置一个初始变量 变量_0
。进入程序,运行至 路点_0
。判断 变量_0
是否等于 0,如果 变量_0
等于 0,运行备注为 “右” 的 关节运动
;如果 变量_0
不等于 0,判断 变量_0
是否等于 1,如果 变量_0
等于 1,运行备注为 “左” 的 关节运动
。如果 变量_0
既不等于 0 也不等于 1,运行备注为 “高” 的 关节运动
。