Skip to content

高级程序节点

高级程序节点可以实现循环、判断、调用、多线程等功能,提高编程效率,减少程序出错的概率,使程序更加灵活方便。

线程

【线程】命令,创建多线程,即创建可以与主程序并行的程序。线程可用于控制与机械臂无关的其他外部设备。

  1. 线程 节点下可以添加 设置等待赋值 等与运动无关的节点。
  2. 如果 线程 节点下添加 移动路点 等与运动相关的节点,将可能导致机器人运行冲突,引发其他安全风险。
  3. 建议尽量避免多线程的使用。若必须使用多线程,请注意主线程和辅线程的并行逻辑和时序匹配。

设置

  • 无限循环:勾选后,线程内的程序可以无限循环运行,直到停止程序。

子程序

【子程序】命令,创建子程序,子程序又称子工程。常与【调用】节点搭配使用。

子程序的特点:

  • 子程序可以是控制程序也可以是被控程序。

  • 子程序中包含的程序数据,仅为当主程序中的子程序被激活时的数据。

  • 子程序可以通过【调用】节点在多个程序中的多个位置调用运行。

    子程序被调用时,需先在【子程序】节点中编写或单击 加载已写好的程序,再使用【调用】节点调用子程序。

设置

  • :重命名子程序在主程序中的名称。

  • :加载程序文件。

  • 保存为:将子程序作为单独的文件在磁盘中保存。

  • 清除:清除子程序内打开的文件。

  • 保持子程序文件与此程序一起更新:勾选后,在打开的子程序中的修改将自动保存到该子程序文件中。

    该项仅在已保存为文件的子程序中可选。

调用

【调用】命令,调用子程序。当程序执行到此节点时,会跳转到调用的子程序中运行。

循环

【循环】命令,创建循环程序块。

设置

  • 一直循环:勾选后,程序块内的节点将无限循环运行。

  • 循环 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,运行备注为 “高” 的 关节运动