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.4 不同DFF之间传递DataFrame

MEMS支持不同DFF之间传递DataFrame,包括在同一MEMS中不同DFF之间传递DataFrame、在不同MEMS的DFF之间传递DataFrame。

4.5.4.1 接收其他DFF的DataFrame的DFF配置

接收其他DFF的DataFrame的DFF,需要将DFF触发类型设置为DataSource数据源驱动,如下:

DFF ID是否启用名称触发条件触发条件参数存储模式目标AOEAOE变量名称
<u64><Bool><String>DataSource<String>EveryTime
Once
Memory
Never
<u64><String>

若该DFF有多个数据源类型节点,且需要特定数据源节点都收到数据后再执行DFF,则触发条件参数填写特定节点编号,并用;分割,例如:若节点1和节点2接收其他DFF的数据,且均收到数据后再执行DFF,则该DFF的触发条件参数填写1;2

在DFF节点中配置类型为SOURCE_OTHER的节点接收其他DFF的DataFrame:

DFF ID节点ID名称节点类型参数
<u64><u64><String>SOURCE_OTHER<String>

若是接收其他MEMS的DataFrame,则节点参数填写0;若是接收同一MEMS其他DFF的DataFrame,则节点参数填写其他DFF的id。

4.5.4.2 向其他DFF发送DataFrame的DFF配置

向其他DFF发送DataFrame的DFF,需要在DFF边中配置类型为WriteFile的边发送DataFrame。

DFF ID首尾节点边名称描述边类型参数
<u64><u64>;<u64><String><String>WriteFilemems://beeId/DFF_id/node_id

参数写法中,mems://表示是将DataFrame发送到其他DFF,后面分别是写入MEMS的beeId、DFF id和节点id。注意只有在边接收到非空的DataFrame,才会向其他DFF发送数据,否则在边中不进行操作。

4.5.4.3 接收其他MEMS的DataFrame的通信配置

要在2个MEMS之间传递DataFrame,还要建立2个MEMS之间的通信,MEMS默认使用端口7058和7059监听其他MEMS的连接,监听端口也可在config配置文件中进行设置,写法如下:

emsListenPort=7058
emsRtMsgListenPort=7059

在另一个MEMS的config配置文件配置接入MEMS的IP和端口,如下所示,其中cloudURL3cloudURL4为参数名称,beeId为接入MEMS的beeId,127.0.0.1为接入MEMS的IP,7058和7059为接入MEMS的端口:

cloudURL3 = beeId/127.0.0.1:7058
cloudURL4 = 127.0.0.1:7059

上述配置也可在MEMS界面设置项-云中进行配置,如下图所示。

MEMS北向接口配置

图中,node2为接入MEMS的beeId,127.0.0.1为接入MEMS的IP,7058和7059为接入MEMS的端口。