GraniStudio零代码平台如何实现两个及以上流程交互? 点击:2 | 回复:0



格拉尼

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 0回
  • 年度积分:152
  • 历史总积分:152
  • 注册:2025年6月25日
发表于:2025-07-11 14:17:59
楼主

GraniStudio平台实现两个流程交互可通过变量和逻辑流程算子实现交互。

1.通过算子

在主任务设计器内目前提供了触发器、运行流程和合并流程3个算子,算子位于算子库逻辑流程模块内,用于实现调用其他流程和多线程,完成流程交互,并且流程中算子还支持选择等待流程执行结果或者不等待功能供选择,客户可更好的控制流程交互协同能力。

触发器算子是可通过绑定每一个算子都自带的执行结束事件实现其他流程触发,如下图,我们使用触发器算子,选择绑定主流程的类型转换算子和流程一。

此时我们执行类型转换算子,会看到流程一中的修改变量算子也会执行。

运行流程算子可主动调用其他流程执行的,配置如下:

鼠标右键单击画布空白处,点击子菜单中的执行运行主流程,能看到流程一被执行。

合并流程算子和运行流程都为主动调用其他流程执行,不同的是合并流程工具可同时执行多个流程。拖一个合并流程算子,配置如下图所示:

同样的,鼠标右键单击画布空白处,点击子菜单中的执行运行主流程,能看到流程一和流程二被执行。

2.通过变量

平台主任务设计器的流程是独立的,它们之间配置的算子是无法互相交互,但资源管理器内的所以算子输出的数据是共享给主任务设计器的,主任务设计每一个流程中都可以使用资源管理器内的算子输出结果。

因此可使用资源管理器数据变量模块的内全局变量算子定义变量来实现两个流程的交互。通过全局变量创建变量,可被所有流程支持此类型变量的算子获取,实现数据获取与赋值,如下图所示在全局变量定义一个bool类型 设备状态变量,在主流程和流程一中都可使用。

我们可以做一个流程交互任务,通过几个子流程使用变量控制主运行流程的暂停、继续和停止。

1.通过主任务设计器菜单栏项目内的新建创建一个流程交互任务。

2.在使用资源管理器数据变量模块内的全局算子定义开始、暂停、停止变量并执行。

3.在主任务设计器中, 通过开始变量判断主流程是否已经运行,在运行中不继续执行,使用逻辑流程中的条件分支算子,进行配置,再使用数据处理模块内的修改变量算子控制3个变量为初始状态。

4.使用逻辑流程中的循环算子进行如下配置:

5.然后判断是否需要暂停,使用逻辑流程中的条件分支算子配置如下,注意逻辑线要连接在循环LooNode中,在LooNode线后的算子是会跟随循环算子执行的:

6.在条件分支后使用读取图像算子,导入图片。

7.创建暂停、停止、继续三个流程。

8.在暂停流程中进行如下配置。

9.在停止流程中进行如下配置。

10.在继续流程中进行如下配置。

11.结合HMI,在HMI界面上使用四个输入控件模块的按钮控制,并配置HMI窗体样式,如下图所示:

12.将HMI和主任务设计器流程完成关联,找到事件管理器按钮。

点击后显示事件管理器窗口,在事件源类显示着HMI上的控件,点击主窗体可进行查看。

点击按钮0(按钮0为开始按钮),在事件列显示可绑定的事件,我们绑定鼠标事件内的鼠标指针单击事件。

点击添加事件,再按同样的方式绑定按钮1(暂停按钮)、按钮2(继续按钮)和停止按钮。

点击确定,运行HMI使用时例如鼠标单击开始按钮会执行主流程。

13.运行HMI,点击开始按钮,此时主流程循环运行。

14.点击暂停,执行暂停流程内的算子,此时变量更改,流程运行不会再进入读取图像算子中运行HMI运行HMI,点击开始按钮,此时主流程循环运行。

15.点击继续,执行继续流程内的算子,变量更改,流程正常运行。

16.点击停止,停止流程运行,变量更改,主流程循环运行结果,整个流程运行结束。




热门招聘
相关主题

官方公众号

智造工程师