Appearance
1 多模态计算引擎
多模态计算引擎是用于取数、处理、传输数据的数据工厂,核心功能包括科学计算、数据处理、数据转存,同时用于支撑其他业务模块数据建设。
允许用户将不同来源的数据通过自定义计算逻辑将计算结果输出到不同的数据源。用户通过拖拉拽的形式在画布上构建计算模型,设定计算任务周期性的执行。
1.1 使用流程
多模态计算引擎包括5个功能,模板管理、模型管理、算子管理、任务管理、任务实例,按模型管理 -> 任务管理 -> 任务实例的流程操作,如下图:
算子应用、算子自定义开发、任务信息(状态、监视、执行频率)、执行信息(触发时间、执行时间、执行日志)。
1.2 数据流图
计算中心在平台中承担着数据工厂的作用,与物联中心(动/静态属性)、指标管理(指标编码)、数据库(库/表/测点)间存在着互联互通的关联,同时支撑着关联业务模块数据的建设。各模块间数据流向如下图:
1.3 使用案例
1.3.1 物联中心运算
物联中心算子及指标中心算子统称为物联中心算子,主要是对平台中物联中心、指标管理、指标数据管理模块的数据应用。
物联中心算子包括:动态属性算子(产品/设备)、静态属性算子(产品/设备),动态属性算子:通过计算中心进行产品编码、设备编码、属性编码配置,选择产品编码后,系统自动过滤设备编码,设备编码会自动过滤属性编码,上述配置完成后,系统自动查询“实时库点名”进行参数输出,如下图:
上图中的配置数据可在物联中心产品管理/设备管理进行匹配查看。如下图:
上面配置成功后,通过调试可实时查看运算结果,如下图:
静态属性算子:通过计算中心进行产品编码、设备编码、属性编码配置,选择产品编码后,系统自动过滤设备编码,设备编码会自动过滤属性编码,上述配置完成后,系统进行自动查询“属性值及单位”进行参数输出,如下图:
上图中的配置数据可在物联中心产品管理/设备管理进行匹配查看,需要在计算中心使用的静态属性,需要在产品管理/设备管理进行重新配置才能生效。如下图:
上面配置成功后,通过调试可实时查看运算结果,如下图:
指标中心查指标及写指标运算示例:
通过计算中心的查指标与写指标算子可对指标进行读写操作。
查指标配置如下图:
读指标时,需要配置:产品编码、指标定义、数值类型(对应查询的数据类型,如:数值、文本)、时间类型(对应查询数据的时间类型,如:小时、日、月、季度、年)、设备编码、时间点,对上述输入参数进行成功配置后,通过调试可直接查看结果。如下图:
写指标配置如下图:
写指标时,需要配置:产品编码、指标定义、数值类型(对应写入的数据类型,如:数值、文本)、时间类型(对应写入数据的时间类型,如:小时、日、月、季度、年)、设备编码、时间点,指标值(可自定义,也可以选择数据来源),对上述输入参数进行成功配置后,通过调试可直接查看结果。如下图:
如果写入成功,写指标算子进行“写入结果:true”提示。
1.3.2 系统关系库
关系库算子示例:
步骤1:平台运维模块 —> 系统配置 —> 外部数据源配置,进行关系数据源配置,如下图:
配置完成后,可直接通过状态查看配置是否成功,如图:
步骤2:关系数据库查询算子中数据源配置,在数据源值对象下拉中选择上图配置的关系库“数据连接名称”,示例以“Doris_151”为例,如下图:

算子中,其他参数,如库名、表名、条件、查询字段可查找数据库对象信息进行核对填写,如下图中:库名(example)、表名(person)、字段名(id,name,age)对应填写,此处如果不配置字段名,系统默认查询全部字段。
Where 条件,可按关系库中数据值进行对应配置,如下图:
步骤3:上述配置完成后,点击“模型设计”页面上方的“调试”按钮,可对上述配置进行验证,如下图:

步骤4:点击下面左侧“
”启动按钮,进行算子验证,如上图,系统开始运行,其中节点后面对应的就是各个算子名称,如:“查询”,“查询实时值”等。
在每个算子节点“运行结束...”后面展示当前算子的计算结果,结果信息与配置中的条件进行配置,如下图所示:
1.3.3 系统实时库
实时库算子配置与关系库配置类似,具体配置方法如下:
步骤1:平台运维模块 —> 系统配置 —> 外部数据源配置,进行实时库数据源配置,如下图:
配置完成后,可直接通过状态查看配置是否成功,如图:
步骤2:查询实时值算子中数据源配置,在数据源值对象下拉中选择上图配置的实时库“数据连接名称”,示例以“openplant”为例,如下图:

算子中,其他参数,如库名、点表、点名可查找实时数据库对象信息进行核对填写,如下图中:点名为:w3.SYS.LOAD对应填写。
步骤3:上述配置完成后,点击“模型设计”页面上方的“调试”按钮,可对上述配置进行验证,如下图:

步骤4:点击下面左侧“
”启动按钮,进行算子验证,如上图,系统开始运行,其中节点后面对应的就是各个算子名称,如:“查询”,“查询实时值”等。
在每个算子节点“运行结束...”后面展示当前算子的计算结果,结果信息与配置中的条件进行配置,如下图所示:
1.3.4 外部URL接口
需要调用外部接口返回数据时,只要使用“调用接口”算子即可完成。
步骤1:在网络分类中拖动接口调用算子到画布中,如下图:
步骤2:双击对接口调用算子进行配置,主要根据接口类型进行配置,如果是get接口,且不带请求头时,直接选择请求方法、请求地址即可,如下图:
如果需要请求头,请按如下格式加入请求头信息,如下图:
步骤3:上述配置完成后,点击“模型设计”页面上方的“调试”按钮,可对上述配置进行验证,如下图:

步骤4:点击下面左侧“
”启动按钮,进行算子验证,如上图,系统开始运行,其中节点后面对应的就是各个算子名称,如:“查询”,“查询实时值”,“接口调用”等。
在每个算子节点“运行结束...”后面展示当前算子的运算结果,结果信息与配置中的条件进行配置,如下图所示:
1.3.5 业务数据运算
平台中需要使用各业务模块数据进行运算后使用,如物联中心、各种数据参与的业务运算等,计算中心通过使用各类型算子,也包含自定义算子,对业务数据进行运算操作,以满足业务需要。
以下示例使用自定义算子进行示例操作,自定义算子根据人员名称查询人员所有属性信息,后续根据人员属性信息判断是/否为真,再进行人员属性信息更新(比如加/减),最后进行输出。
步骤1:在算子管理 -> 自定义算子中点击“+”号,新建工程,我们工程取名为:测试,如下图:
步骤2:在右侧算子列表中点击“新增”按钮,新建自定义算子,我们取名为“根据名称查询属性信息”,如下图:
步骤3:点击新建算子的设计按钮,系统自动弹出算子画布页面,如下图:
上图画布中,左侧为基础算子,右侧画布可根据自己业务要求,选择不同类型算子进行搭建,本示例中,以输入“人员名称”到数据库中查询当前人员的人员对象信息、人员属性信息(人员编号、人员年龄等)。
人员名称填写初始值,如下图:
拉入数据库“查询”算子,在输入参数中,增加一个参数,用于接收人员名称,类型为“来源”,值为“人员名称/输出”,如下图:
另外3个算子分别为:输入输出算子(人员属性信息)、数组映射算子(年龄、编号),如下图:


这些配置完成后,可保存,再进入算子画布页面。
步骤4:对上述配置进行调试验算,如下图:
调试验算过程说明可参与其他案例说明,如上,表示上述自定义算子配置成功,同时也可作为其他算子的输入算子。
步骤5:使用自定义算子进行业务逻辑处理,在算子列表中“新增”算子“根据属性运算”,如下图:
步骤6:点击“根据属性运算”算子设计,在画布中拉入左侧“根据名称查属性信息”到画布中,在画布中再加入其他运算逻辑,如“条件分支”算子、“加法”算子、“减法”算子、“打印日志”算子等。

对各算子进行配置,配置内容如下图:
人员名称算子:
根据名称查属性信息算子:
条件分支算子:
加法算子:
减法算子:
打印算子:
步骤7:对所有配置完成后,进行调试验算,如下图:
可结合配置进行验算校核。
1.3.6 混合数据运算
计算中心提供了多样且强大的数据运算功能,以下我们从一个关系库读取数据,通过数据计算,再新增一个其他数据源,最终将计算后的数据写入新的数据源中,以下为操作步骤,如下:
步骤1:在画布中加入数据源、数据属性读取、数据计算、数据写历史(在调试模式时,数据不会写到实时库中,只用于演示,在模型做为任务调度时,数据会写入到实时库中)、数据日志打印等各类型算子。如下图:
步骤2:配置各类型算子,按照数据运算顺序进行逐个配制操作,如下:
首先配置数据读取数据源,本示例中读取关系数据库数据,需要配置数据源、库名、表名、条件、字段信息,如下图:

上图示例中我们要查询ID=1001人员的年龄值,用于后续的运算处理。结合运算结果,结果查询返回的是一个数组。如下图:
其次配置数据属性读取算子,结合上面返回的结果类型,在配置属性读取时,需要特别配置,在目标对象来源中选择当前画布中的查询/查询结果,在属性名/下标中填写0.age(表示第0个对象,属性为“age”的值),如下图:
结合运行结果,如下图:
拿到属性数据后,可对数据进行各类型的运算(包括:字符串操作、数学运算、单位转换等),示例中以加法为例,如下图:
对于运算后的数据,可用于其他业务的使用,也可直接转存到其他数据库中,本示例以写入到其他实时库的历史值为例。
在画布中可以直接自定义数据源算子(用于定义其它写入的实时库),并把自定义数据源输出数据源做为写历史值的数据源输入,在写历史值算子中指定点名(“W3.NODE1.AAA”),时间(“2025-10-13 16:00:00”),值(选择当前画布的加法算子结果输出),如下图:
如上信息配置完成后,点击应用,以保存当前所有配置信息。
步骤3:上述配置完成后,点击“模型设计”页面上方的“调试”按钮,可对上述配置进行验证,如下图:

步骤4:点击下面左侧“
”启动按钮,进行算子验证,如上图,系统开始运行,其中节点后面对应的就是各个算子名称,如:“查询”,“自定义数据源”,“读取属性”,“加法”,“写历史值”等。
在每个算子节点“运行结束...”后面展示当前算子的运算结果,结果信息与配置中的条件进行配置,如下图所示:
1.3.7 运行状态数量模型
案例说明:实时写入设备运行状态数量,算子画布图如下:
调试结果图如下:
上图的算子画布中有两个自定义算子:“0-【设备】设备编码占位符”、“运行站点计数_实时”。右键点击自定义算子,点击“查看详情”打开算子设计图如下图:
“0-【设备】设备编码占位符”算子设计如下图:
算子详详细说明如下:
上图中#{deviceCode}变量需要与后台程序进行对接,如描述所述,变量的使用,是在产品计算模板进行设备实例化时,会将变量替换为设备编码。
“运行站点计数_实时”算子设计图如下:
算子详情说明如下图:

算子调试结果如下:
1.3.8 实时报警数量模型
案例说明:实时写入设备实时报警数量,模型画布图如下:
调试运行结果如下图:
模型中有一个自定义算子:“1-【设备】实时事件计数”,自定义片子可通过右键“查看详情”点击打开,如下图:
详情及调试结果如下图:
右键点击实时事件“查看详情”,如下图:
算子详情画布如下图:
算子调试结果如下图:

1.3.9 供气量同比增长率_月
案例说明:每隔10分钟统计一次写入供气量同比增长率信息,模型画布图如下:
调试运行结果如下图:
对于模型画布中的自定义算子,可直接右键“查看详情”打开,如下图:
调试运行结果如下图:

1.4 算子管理
算子是计算中心最小计算单元,每个算子有输入输出,也可以没有。算子由系统默认提供或者使用者也可以使用系统提供的算子开发包构建一个自定义算子。
1.4.1 算子分类
计算中心中提供了丰富的不同功能类算子,可分为三类:数据接入类、数据处理类、数据存储类。
数据接入类:数据源算子、数据库算子、网络接口算子、物联中心、openPlant算子。
数据处理类:基础算子、单位转换、字符串处理、数学运算、数组处理、时间处理、条件判断、逻辑处理、集合处理。
数据存储类:数据库、openPlant、物联中心等算子。
1.4.1.1 数据接入类算子
- 数据源算子
包括:自定义数据源、内部数据源。
自定义数据源算子:配置如下图,其中分为算子画布展示方式(建议保留算子的名称,如果需要修改,可通过“_”线方式进行扩展,以便于算子的理解)和算子双击后详细信息画面,自定义数据源算子需要指定如下信息,包括:数据源类型、数据源IP、端口、用户名、密码、数据库名,算子根据指定的信息,自动构建生成数据源对象用于其他算子的数据源输入,这个数据源只是其他算子的输入对象,数据源中不包含具体的数据信息。

内部数据源
内部数据源算子如下图,其中分为算子画布展示方式和算子双击后详细信息画面,内部数据源算子需要指定如下信息,包括:数据源、数据库名、表名。

使用方式与自定义数据源算子类似,在内部数据源这里可以直接选择已经配置过的数据源(数据源的定义在“系统配置 —> 外部数据源配置”功能设置)。
- 数据库算子
数据库算子包括5个基础算子,查询、保存、事务、执行sql、查询单条。
算子的展示方式与其他算子一样,双击后详细信息如下图:
可选择数据源,输入库名、表名,在条件中(where),点击“条件”按钮,在弹窗中输入查询条件,如下图:
上面这些信息都配置完成后,可以点击画布上面的“调试”
按钮进行调试运行,查看算子是否配置正确。
事务算子:与其他算子操作方式不一样,如下图:
事务算子可以通过右键调整事务窗口大小,对于需要在同一事务处理的算子,都可以直接拉入到事务算子窗体中,这样所有算子在计算时都在同一事务中进行数据查询与计算处理。
保存算子:保存算子包含4个参数,数据源(通过选择数据源)、库名(可填写数据库名称,如果选择“默认数据源”可不填写数据库名称)、表名(填写表名称)、数据(准备需要保存的数据对象,数据是按表字段进行保存,如果数据对象中包含主键,系统会自动判断是新增/更新数据操作)。如下图:
执行SQL算子:可通过自定义sql语句进行查询数据,数据源、库名与其他算子定义相似,在输入参数中,可自行添加参数,如下图:

定义参数后,可通过点击”sql”按钮,在弹窗中输入sql语句,在SQL后面可使用上面定义的参数,如下图:
查询单条算子:与查询算子功能类似。
- 接口调用算子
接口调用算子:用于通过api接口方式调用数据,算子参数包含:请求方法、请求地址两个输入参数,和一个输出 output参数进行定义,请求的地址返回是什么内容,算子的output输出参数就返回什么对象,如下图:
通过接口调用算子取数时,需要了解调用的接口的请求信息,如:请求头信息、请求方法(get /post/put/delete)、请求地址信息。 - 物联中心算子
动态属性算子:通过物联中心模块的产品编码、设备编码、属性编码,可自动定位到实时数据点名,在选择产品编码时,系统自己过滤设备编码、设备编码自动过滤属性编码,如下图:

静态属性算子:通过物联中心模块的产品编码、设备编码、属性编码,可自动定位输出属性值、单位,在选择产品编码时,系统自己过滤设备编码、设备编码自动过滤属性编码,如下图:
查指标算子:通过物联中心及指标管理模块的产品编码、设备编码、指标定义编码,再选择指定数据值类型、数据值时间维度、数据值时间点,系统自动查找指标值并做为参数输出到其他算子中,如下图:
写指标算子:写指标算子与查指标算子类似,只是写指标算子最后加了指标值,写指标需要把值写到指标数据中。如下图:
- OpenPlant算子
主要包括实时库数据的实时、历史读写操作算子。
查询实时值:选择数据源,在输入参数中添加实时库全点名参数在实时查询时使用。查询实时值算子还提供了分组字段属性(可通过点名/时间分组),如下图:
查询实时值(单点):选择数据源、输入全点名,算子自动进行数据查询,输出点名值、值时间、值状态给其他算子使用。如下图:
查询历史值算子:与查询实时值类似,选择数据源、历史值时间区间、过滤条件、添加点名。如下图:

写实时值算子:操作与读实时值类似,选择数据源、输入点名、点的实时值,算子后续自动处理。如下图:
写历史值算子:操作与写实时值类似,选择数据源、输入点名、点的值、点对应的时间,算子后续自动处理。如下图:

1.4.1.2 数据处理类算子
数据处理类:基础算子、单位转换、字符串处理、数学运算、数组处理、时间处理、条件判断、逻辑处理、集合处理。
- 基础算子
基础算子包括:自定义脚本、常量、自定义表达式、读取属性、获取全局变量、输入输出、设置属性、设置全局变量、子流程。
自定义脚本算子:可通过自己编写代码去实现数据的输出,输出的数据做为参数用于其他算子的输入参数。点击“脚本代码”,系统弹窗显示脚本代码编辑窗口,在窗口在编写代码,如下图:

常量算子:用于定义常量值,同时可指定常量数据类型,点击常量值,弹窗进行维护常量数据,如下图:

自定义表达式算子:在属性表达式中写明表达式值,输入的参数会按属性表达式进行自动计算,并进行输出。如下图:

读取属性算子:读取某个输入对象或数组的属性或下标,并做为输出参数进行输出。如下图:
获取全局变量算子:与设置全局变量算子相对应,可获取设置的全局变量值并进行输出。如下图:
输入输出算子:直接对输入参数进行转换输出,如下图:

设置属性算子:设置某个对象或数组的属性或下标,如下图:
设置全局变量算子:通过输入参数设置全局变量名称及对应的值信息,如下图:
子流程算子:子流程是指当前这个模型可与其他模型进行关联,在子流程下拉中选择其他子流程,如下图:
- 单位转换算子
单位转换包括:时间、长度、弧度/角度、千/万/兆。
时间算子:可对输入的数值,按“天、时、分、秒”进行转换,对于输入的参数值可使用小数有效位进行控制。如下图:
长度算子:可对输入的数值,按“天、时、分、秒”进行转换,对于输入的参数值可使用小数有效位进行控制。如下图:
弧度/角度算子:可对输入的数值,按“弧度、角度”进行转换,对于输入的参数值可使用小数有效位进行控制。如下图:
千/万/兆算子:可对输入的数值,按“千、万、兆”进行转换,对于输入的参数值可使用小数有效位进行控制。如下图:
- 字符串算子
字符串算子包括:At、拼接、以...结尾、是否包含、是否为字符串、长度、替换、分割、以...开头、获取子串等算子。
At算子:获取指定下标位置的字符,如下图:
拼接算子:按基础字符串+需要拼接的字符串进行拼接。如下图:
以...结尾算子:判断是否以特定字符串结尾。如下图:
是否包含算子:判断是否包含特定字符串,如下图:
是否为字符串算子:在基础字符串中查找指定字符串进行替换,如下图:
长度算子:获取基础字符串长度,如下图:
替换算子:在基础字符串中查找批定字符串,并替换为批定字符串,如下图:
分割算子:以某个分隔符将基础字符串分割为一个字符串数组,如下图:
以...开头算子:判断是否以特定字符串开头,如下图:
获取子串算子:在基础字符串中,按开始/结束位置获取子串数据,如下图:
- 数学运算算子
数学运算算子包括:绝对值、反余弦、加法、反正弦、反正切、数组平均、按位与、按位非、按位或、按位异或、向上取整、余弦、标准差、除法、平均、向下取整、左移、最大值、数组最大值、中值、最小值、数组最小值、乘法、PI、指数运算、随机数、随机整数、余商、右移、四舍五入、正弦、平方根、减法、求和、数组求和、正切、无符号右移、方差算子。
绝对值算子:对输入参数,按属性是否使用小数有效位进行绝对值转换,再进行数据输出,如下图:
反余弦算子:对输入参数,按属性是否使用小数有效位进行反余弦转换,再进行数据输出,如下图:
加法算子:对输入参数,按属性是否使用小数有效位进行加法计算,再进行数据输出,如下图:
反正弦算子:对输入参数,按属性是否使用小数有效位进行反正弦计算,再进行数据输出,如下图:
反正切算子:对输入参数,按属性是否使用小数有效位进行反正切计算,再进行数据输出,如下图:
数组平均算子:对输入参数,按属性是否使用小数有效位进行数组平均计算,再进行数据输出,如下图:
按位与算子:按位与是一种二进制位运算,按逐位比较:对两个数的二进制表示的每一位进行比较,运算规则:当两个对应位都为1时,结果位为1,其他情况(0&0、0&1、1&0)结果位都为0。如下图:
按位非算子:按位非是一种单目位运算,其计算规则是逐位取反:对操作数的二进制表示的每一位进行翻转。
运算规则:0变为1,1变为0,数学表达:~x = -(x + 1)。如下图:
按位或算子:按位或是一种双目位运算,其计算规则是逐位运算规则,对两个操作数的二进制表示,逐位比较,只要有一个为 1,结果位就是 1,否则为 0。
数学符号通常用 | 表示(如 A | B)。如下图:
按位异或算子:按位异或是一种双目位运算,其计算规则是逐位运算规则,对两个操作数的二进制表示,逐位比较:相同为 0,不同为 1。数学符号通常用 ^ 表示(如 A ^ B)。如下图:
向上取整算子:对输入参数,按属性是否使用小数有效位进行向上取整计算,再进行数据输出,例如:6.44 为 7.00 ,如下图:
余弦算子:对输入参数,按属性是否使用小数有效位进行余弦计算,再进行数据输出,如下图:
标准差算子:对输入的数组参数,按属性是否使用小数有效位进行标准差计算,再进行数据输出,如下图:
除法算子:对输入的参数,按属性是否使用小数有效位进行除法计算,再进行数据输出,如下图:
平均算子:对输入的参数,按属性是否使用小数有效位进行平均计算,再进行数据输出,如下图:
向下取整算子:对输入参数,按属性是否使用小数有效位进行向下取整计算,再进行数据输出,例如:5.43 为 5.00 ,如下图:
最大值算子:对输入参数,按属性是否使用小数有效位进行最大值计算,再进行数据输出,如下图:
数组最大值算子:对输入参数,按属性是否使用小数有效位进行数组最大值计算,再进行数据输出,如下图:
中值算子:对输入参数,按属性是否使用小数有效位进行数组中值计算,再进行数据输出,如下图:
最小值算子:对输入参数,按属性是否使用小数有效位进行最小值计算,再进行数据输出,如下图:
数组最小值算子:对输入数组参数,按属性是否使用小数有效位进行数组最小值计算,再进行数据输出,如下图:
乘法算子:对输入参数,按属性是否使用小数有效位进行乘法计算,再进行数据输出,如下图:
PI算子:直接输出π 值。如下图:
指数运算算子:对输入参数,按属性是否使用小数有效位进行指数运算,再进行数据输出,如下图:
随机数算子:输出0 - 1 间的两位小数随机数,如下图:
随机整数算子:输出0 - 100 间的整数随机数,如下图:
余商算子:对输入参数,按属性是否使用小数有效位进行余商运算,再进行数据输出,如下图:
正弦算子:对输入参数,按属性是否使用小数有效位进行正弦运算,再进行数据输出,如下图:
数组求和算子:对输入参数,按属性是否使用小数有效位进行数组求和运算,再进行数据输出,如下图:
正切算子:对输入参数,按属性是否使用小数有效位进行正切运算,再进行数据输出,如下图:
无符号右移算子:无符号右移(>>>)是位运算符,它会将二进制表示的数向右移动指定位数,左侧空位补0,再转换成10进制数值,再进行输出,如下图:
方差算子:对输入的数组参数,按属性是否使用小数有效位进行方差运算,再进行数据输出,如下图:
- 数组算子
数组算子包括:全部满足、部分满足、数组映射、异步迭代器、迭代项下标、数组去重、数据分组、数组切片、数组查找、合并数组、是否为数组、是否为空、数组过滤、数组长度算子。
全部满足算子:验证数组是否满足指定条件,根据条件进行判断,最后输出是/否,如下图:
部分满足算子:验证数组是否部分满足指定条件,根据条件进行判断(判断是否每项都大于1),最后输出是/否,如下图:
数组映射算子:根据指定条件映射数组元素,下图中表式数组每项乘2后输出,如下图:
异步迭代器算子:当业务中出现相对复杂情况,比如循环迭代计算时使用当前算子,把需要循环迭代的算子拖到迭代器中,拖放前把迭代器算子进行调整大小,如下图:
数组去重算子:去除输入参数数组中的重复元素,如下图:
数据分组算子:将一组数据按照指定的键值进行分组,输入参数需要为数组,分组依据为字符串,如下图:
数组切片算子:从指定输入的数组中提取指定范围的数组进行输出,指定范围为开始索引与结束索引,如下图:
数组查找算子:根据指定条件查找数组中的元素,可根据过滤条件(如:每项值大于1,eg:$.AV > 1)对数组进行过滤,如下图:
合并数组算子: 将一个数组合并至基础数组中,再进行输出,如下图:
是否为数组算子:验证输入的参数数据是否为数组类型,输出结果为是/否,如下图:
是否为空算子:对输入的参数验证数组是否为空值,输出结果为是/否,如下图:
数组过滤算子:对于输入的参数数组,根据指定条件进行筛选,对于满足筛选条件的数组元素进行输出,如下图:
数组长度算子:用于计算输入的参数数组长度,返回长度值,如下图:
- 时间算子
时间算子包括:截止到某个时间、拆分为日期+时刻、当前时间、截止到当前时间、计算时获取任务调度时间、拆分年月日时分秒、指定日期+时刻、从过去到现在、指定年月日、时间转化。
截止到某个时间算子:从给定截止时间往前推算出的一个时间段,输出参数为推算的开始时间和结束时间,如下图:
拆分为日期+时刻算子:拆分为日期+时刻,如下图:
当前时间算子:获取系统当前时间(算子实际开始运行的时间),如下图:
截止到当前时间算子:从任务执行时间往前推算出的一个时间段,如下图:
计算时长算子:计算两个时间差值,按开始时间与结束时间进行差值计算,差值按单位进行
转换给输出参数,如下图:
获取任务调度时间算子:在展示窗口点击右键,显示“调整大小”,可以将其他算子任务拖入其中,这样可以获取任务调度的计算时间,如下图:

拆分年月日时分秒算子:将指定的日期时间拆分为年、月、日、时、分、秒,如下图:
指定日期+时刻算子:通过指定日期 和 时刻值,系统自动输出日期+时刻值,如下图:
从过去到现在算子:从给定开始时间到任务开始执行(现在)时间,如下图:
指定年月日算子:在输入参数中指定年月日,系统自动输出年月日对应的日期格式数据,如下图:
时间转化算子:将时间/时间戳转化为指定格式,如下图:
- 条件判断算子
条件判断算子包括:条件分支、介于...中间、自定义判断、switch/case、if/else算子。
条件分支算子:根据指定的左值 与 右值按判断条件进行比较,确定是/否,按结果进行输出,如下图:
介于...中间算子:判断给定的 x 值是否介于最小值 min 与最大值 max 之间,如下图:
自定义判断算子:在属性表达式中写上判断表达式,输入的参数会按属性表达进行自动判断,正确输出是,否则为否。如下图:
switch/case算子:switch/case分支判断,如下图:

if/else算子:根据输入的对象,判断条件是否为真,根据判断结果执行不同分支,如下图:
- 逻辑算子
逻辑算子包括:与非、异或、非、与、或。
与非算子:NAND(A, B) = NOT (A AND B) = !(A && B),如下图:
异或算子:XOR(A, B) = (A OR B) AND NOT (A AND B),如下图:
非算子:逻辑非(!A),如下图:
与算子:逻辑与(A && B),如下图:
或算子:逻辑或(A || B),如下图:
- 集合算子
集合算子包括:差集、并集、对称差集、交集。
差集算子:A - B,属于集合 A 但不属于集合 B 的元素,如下图:
并集算子:A ∪ B,集合 A 与集合 B 的所有元素,如下图:
对称差集算子:(A - B) ∪ (B - A),属于集合 A 但不属于集合 B 的元素和属于集合 B 但不属于集合 A 的元素,如下图:
交集算子:A ∩ B,集合 A 与集合 B 的公共元素,如下图:
- 其他算子
其他算子包括:UUID、打印日志、延迟执行等算子。
UUID算子:使用 crypto.randomUUID() 随机生成一个 uuid做为输出。如下图:
打印日志算子:通过Console.log将输入参数进行打印输出,如下图:
延迟执行算子:可以将需要延迟执行的算子拖入到延迟执行算子中,在延迟执行算子中定义延迟执行时间,如下图:

1.4.1.3 数据存储类算子
数据存储类,主要包括:数据库、openPlant算子,具体使用请参照数据接入类算子中操作说明。
1.5 基础算子
基础算子是系统默认提供的,不可修改,在基础算子页面,可以查看算子的详细信息,信息中包括:算子名称、算子别名、算子属性、说明、输入参数、输出参数等信息。
基础算子使用分类包括:单位转换、基础算子、常用的数学运算、数组操作、时间、数据源、条件判断、逻辑判断、集合操作、字符串操作、数据库操作、openPlant接口操作等。
基础算子列表如下图:
算子详情如下图:
1.6 自定义算子
自定义算子允许用户上传或者使用基础算子构建一个新的算子。
上传算子
点击上传按钮上传算子文件,算子文件只支持通过算子开发脚手架开的文件。开发脚手架参考后续“算子开发脚手架”内容。
比如我们使用示例中的脚本,对编译后的js名称进行修改,如下图:
把上面的js上传导入后,平台中自定义算子如下图所示:
新建算子
点击 ➕ 按钮添加一个算子文件夹,然后点击新增按钮,创建一个算子。
点击设计按钮,进入算子设计界面,如下图:
设计完毕,点击右上角保存按钮,画布中所有根节点的输入将作为算子的输入参数,所有叶子节点的输出作为算子的输出。
1.7 我的收藏
展示用户收藏的算子列表。点击算子后面的收藏按钮即可收藏该算子。如下图:
1.8 模版管理
可使用模版管理为项目创建业务需要使用的各类型模版,在左侧模板树中创建各业务类型模板名称,如公司、场站、调压器、逆变器、流量计等。如下图:
在操作中点击“设计”,为每个模板设计业务需要的模型。如下图:
1.9 模型管理**
计算模型是计算中心的核心部分,所有的计算场景都应该创建一个或者多个计算模型。
绘制模型前,先了解算子节点连接桩和连接线的含义:
1.9.1 连接桩
算子左边: 【算子开始】、【算子输入】;
算子右边: 【算子结束】、【算子输出】;
1.9.2 连接线
所有的连线都只允许从一个算子的输出到一个或者多个算子的输入(从一个算子的右边连到另一个算子的左边),不同的两个点的连线含义也不一样,如下图:
1.9.3 绘制模型
可以在左侧创建模型分组,用于更好的管理计算模型。
创建模型之后,点击设计按钮,设计计算流程,然后保存。
1.9.4 创建任务
业务模型在设计完成后,也可直接在模型管理进行任务创建,这样更便于模型的使用。如下图:
1.9.5 菜单发布
业务模型在设计完成后,也可直接在模型管理进行模型发布,选择权限人员、发布方式、发布应用。如下图:
1.10 任务管理
任务管理主要是根据业务需求来运行已经设计好的计算模型。
计算任务通过设定一个执行频率,来定时执行计算模型,比如每秒执行一次,或每天执行一次。 !
1.10.1 新建任务
新增计算任务,选择需要执行的计算模型,可以多选。
1.10.2 上线任务、下线任务
通过点击 【上线】、【下线】按钮来启动或停止任务
1.10.3 任务监视、取消监视
用户可以通过任务监视,来监视任务每一次的运行过程以及详细的运行信息, 点击任务监视按钮,选择需要监视的模型,设定开始和结束时间,就会将模型在这个时间段内的运行数据全部记录下来,然后可以在任务实例页面中查看。
1.11 任务实例
任务实例用于记录所有任务运行的实例模型执行过程信息,实例信息列表中按任务的执行周期显示模型执行信息,可通过点击每条记录后面的“查看日志”了解模型中各算子的执行过程情况。
任务实例界面,可以查看到任务监视的详细信息,包括模型名称、触发时间、实际开始时间,实际结束时间,运行耗时等。
点击【查看日志】,可以通过可视化的形式查看运行过程
1.12 算子开发脚手架
下载脚手架代码,根据示例代码完成算子开发,打包后将 dist 目录下的文件通过自定义算子上传。
下载地址:https://doc.magustek.com/工业数据管理平台/用不用手册/计算中心.html。
示例代码算子中包括:算子名称、描述、输入参数、输出参数、执行方法等。具体如下图:
帮助中心