消息分支

功能描述

该步骤用于等待外部指令,并根据指令执行不同的分支流程。

消息分支的缓存是一个队列。例如,当消息分支接收到0但尚未执行该指令时,然后又接收到1。那么,当消息分支被执行时,它会先处理0,然后下一次执行时会处理1。此外,在运行结束时,消息分支中的所有缓存指令都将被清空。

使用场景

  • 根据外部指令执行不同的分支流程。

  • 打断工程运行,等待外部指令后继续运行。

参数说明

仿真行为

仿真时步骤行为参数用于设置仿真工程时步骤的行为。

  • 检查外部输入信号

    仿真工程运行到此步骤时,对真实外部输入信号进行检查,并根据信号选择相应的出口。

  • 走固定出口

    指定一个固定的出口,仿真工程过程中执行该出口后的分支流程。

  • 手动选择出口

    仿真工程运行到此步骤时,弹出窗口以手动选择出口,选定后工程继续运行。

    以下图所示为例:

    alt

    在“出口选择”下拉栏中选择出口后,单击确定后工程继续运行。

    单击取消X,仿真将停止。

出口数

该参数用于指定此步骤的出口数。

  • 当需要打断工程运行,等待外部指令后继续运行时,设置出口数=1。此时消息分支接收到外部指令后,才继续执行后续的流程。

  • 当需要根据外部指令运行相应的分支流程时,可设置出口数>1。请根据实际需要使用的分支数设置出口数。

参数显示根据出口数的变化而有所不同。请分别查看以下两小节内容,以获取详细信息。


出口数 = 1

当设置出口数为 1 时,可设置以下参数。

一般用于打断工程运行。消息分支接收到外部指令后,才继续执行后续的流程。

影响后续移动(会打断规划)

默认打断规划,即软件只规划到此步骤,等执行到此步骤之后再规划后续工作流程。

规划:软件尝试寻找一条机器人可以无碰撞到达目标位置的路径的过程。

等待超时

勾选此参数后,步骤增加超时出口,并可以设置等待超时时间参数。

当等待外部指令的时间超过等待超时时间后,执行超时出口后的流程。

应用示例

alt

“通知_1”发送消息到 Adapter ,Adapter 收集需要的信息并计算结果,然后将结果输入步骤后,告知“消息分支_1”可以继续运行。

收集用于计算的基础信息时间不确定,需要确保所有信息都是最新的。此外,接收 Adapter 计算结果的步骤涉及到状态的变化,需要保证步骤收到结果后再继续规划。因此需要使用消息分支打断规划。


出口数 > 1

当设置出口数 > 1 时,可设置以下参数。

一般用于根据外部指令运行相应的分支流程。

预规划出口

为了保证规划的连续性,需要指定预规划的出口。一般指定可能性最大的分支,降低重新规划的概率,减少机器人等待时间。

当此参数设置为非出口号(一般设置为-1)时,代表不指定预规划出口。

等待超时

勾选此参数后,步骤增加超时出口,并可以设置等待超时时间参数。

当等待外部指令的时间超过等待超时时间后,执行超时分支后的流程。

应用示例

标准接口通信中,使用消息分支调用不同的视觉工程。

alt

以TCP/IP指令为例,若消息分支步骤编号为 1 ,那么当发送 203, 1, 1 指令时,将执行出口0后的分支流程;203, 1, 2 指令将执行出口1后的分支流程;依此类推。

标准接口指令详解请参考 203 指令——选择 Mech-Viz 分支(TCP/IP)

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。