Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

4.5.3 DFF边定义

DFF边定义部分的配置内容包括DFF ID、首尾节点、边名称、边描述、边类型及其参数。

DFF ID首尾节点边名称描述边类型参数
<u64><u64>;<u64><String><String>None
Eval
Sql
Onnx
OnnxUrl
Nnef
NnefUrl
WriteFile
WriteSql
< \ >
<String>
<String>
<String>
<String>
<String>
<String>
<String>
<String>
  • DFF ID:声明边属于哪个DFF,用<u64>(64位无符号整数)表示。

  • 首尾节点:边需要声明首尾节点,用一对正整数表示,格式为:<尾节点ID>;<首节点ID>。边的方向为:尾节点→首节点。节点ID与DFF节点定义中相对应。

  • 边名称:便于理解边内容,往往是对边的动作做简要文字解释,用<String>(表示字符串类型)表示。

  • 边描述:用于解释边动作的具体作用,用<String>(表示字符串类型)表示。

  • 边类型:用约定的类型声明表示,包含如下类型:None、Eval、Sql、Onnx、OnnxUrl、Nnef、NnefUrl、WriteFile、WriteSql。

  • 边参数:不同边类型的参数配置要求不同,具体要求如下。

边类型示例说明

一、None

边类型为None时,边不动作。特殊的,当边名称设置为需要传递的变量名,可以传递变量(只能传递一个变量)。

DFF ID首尾节点边名称描述边类型参数
655361;2busNone

边含义:将节点1中获得的变量bus传递给节点2,作为节点2的输入变量。

二、Eval

边类型为Eval时,边可执行张量计算。举例如下:

DFF ID首尾节点边名称描述边类型参数
655361;2数据转换Evalselect(alias(cast(col(value),f32),r_1_1_672));

边含义:将名为value的数据进行强制类型转换为f32类型,并改名为r_1_1_672。

三、Onnx

边类型为Onnx时,边执行神经网络动作。举例如下:

DFF ID首尾节点边名称描述边类型参数
655362;3负荷预测Onnxmodel.onnx

边含义:节点2输入的数据作为神经网络的输入,经过model.onnx后输出数据至节点3。

注:

  1. 参数为Onnx文件的路径。
  2. 节点2输入的DF数据需要和model.onnx的输入维度对应。

具体例子:负荷预测

四、WriteFile

边类型为WriteFile时,边可将DataFrame流数据写至指定路径文件中保存,或用DataFrame更新指定数据源id的量测值。对于这两种动作模式,WriteFile动作逻辑如下:如果参数为“meas://x”, 表示用DataFrame更新数据源id为x的量测值;其他形式的参数表示文件路径,表示将DataFrame写到文件。需要注意的点:

  1. 对于“meas://x”,输入的DataFrame需包含“point”和“discete或analog”两列信息。其中,“point”的列表示测点号,如果有“discete”的列表示更新离散量,如果有“analog”的列表示更新模拟量,注意discrete或analog不能同时出现。

  2. WriteFile动作通过“meas://x”,一般设置数据源非0的量测,或者数据源为0的本地测点,不可以设置数据源为0的远方测点,远方测点只能间接通过AOE设置。

  3. WriteFile动作通过“meas://x”更新量测值后,后续的节点或边如果需要用到该动作设置后的量测的数据,由于异步的关系,并不能保证是更新后的值。

  4. DataFrame写到文件支持输出xlsxcsv格式。文件可指定路径,若未指定则默认mems.exe所在文件夹。

举例如下:

DFF ID首尾节点边名称描述边类型参数
655363;4结果输出WriteFileoutput.csv

边含义:将节点2输入的数据写至output.csv文件中保存。

DFF ID首尾节点边名称描述边类型参数
655363;4结果输出WriteFilemeas://1

边含义:用DataFrame更新数据源id为1的量测值,注意此时节点2输入数据需包含“point”列和“discete/analog”列。