跳转至

全局变量

全局变量

全局变量的使用场景:业务需求不一定直接一对一地实现,往往通过收集若干业务需求后抽象、设计出一种通用并且可扩展的方式来实现。

在弹出的弹框里面创建全局变量,可以按照需要选择配置全局变量。

业务需求

  • 外部可以修改作业中算法的参数
  • 多个作业间的算法参数可以互相调用
  • 软件中需要记录并计算一些全局的值
  • 外部输入的值可以再次输出

自定义全局变量

用户可以在灵闪中配置多种数据类型的全局变量。

全局变量的值

  • 初始值:可以设置一个默认值,在下述两个条件不满足时用的就是该值。也可理解为一个全局静态变量
  • 外部通信更改:由通信监听模块更改
  • 绑定算法结果:跟随算法结果改变而改变

全局变量的使用

  • 算法参数可以绑定全局变量
  • 表达式计算中可以选择全局变量
  • 输出适配器中可以选择全局变量

解决方案示例

外部修改算法参数:新建全局变量,算法的参数绑定该全局变量,新建通信监听修改全局变量。实现:通信监听 → 全局变量 → 算法参数,这一个绑定和修改链。

跨作业调用算法参数:新建全局变量,绑定一个算法的输出,另一个 task 引用这个全局变量。作业 A → 全局变量 → 作业 B。

外部发送一个补偿值,并在算法中使用并输出:新建全局变量,新建通信监听修改,计算时使用该全局变量。

全局变量类型说明

以下是软件应用中全局变量的一些类型举例:

  • 整数:整型类型的数据,如 1、2、3...
  • 浮点数:小数类型的数据,如 2.22、3.33、4.44...
  • 布尔值:True 和 False
  • 字符串:任意字符串类型,如 abcdefg、hijklmn...
  • 点:包含 x、y 值,如 (0.56, 7.96) 表示一个横坐标为 0.56、纵坐标为 7.96 的点的位置
  • 线:默认只能选择绑定数据来源,可以选择作业中执行的包含输出直线的算法结果,如直线定位的输出结果"直线"
  • 圆:默认只能选择绑定数据来源,可以选择作业中执行的包含输出圆的算法结果,如圆定位的输出结果"圆"
  • 多边形:默认只能选择绑定数据来源,可以选择作业中执行的包含多边形输出的算法结果
  • 坐标系:默认只能选择绑定数据来源,可以选择作业中执行的包含坐标系输出的算法结果,如直线定位的输出结果"直线坐标系"
  • 图像:默认只能选择绑定数据来源,可以选择作业中执行的包含输出图像的算法结果,如单阈值的输出结果"单阈值输出图像"
  • 椭圆:默认只能选择绑定数据来源,可以选择作业中执行的包含输出椭圆的算法结果,如绘制工具-椭圆的输出结果"椭圆"
  • 弧:默认只能选择绑定数据来源,可以选择作业中执行的包含输出弧的算法结果,如弧卡尺的输出结果"圆弧"

配置说明

用户可以自定义全局变量的值,启用初始值或者使用变量输出。

  • 变量名称:自定义的变量名称,不能以空格、数字、特殊字符、[] 等开头,不能为空
  • 数据类型:支持的多种数据类型,比如整数、浮点数、布尔、点、线、多边形、圆等
  • 数据来源:可以设置固定值,或者绑定变量的依赖关系
  • 绑定变量来源:可以勾选算法结果参数
  • 启用初始值:用户可以决定是否需要启用全局变量的初始值,设置一个初始状态值
  • 设置初始值:根据选择的数据类型设置初始值