跳到主要内容

第二个流程

本节主要展示如何让流程编辑器与网关所创建的设备进行交互,实现对设备数据的读写交互。

1. 监听设备数据

在节点库中找到 网关 分类,将 标签变化 节点拖拽到流程编辑区。双击打开节点配置对话框,配置节点的属性,选择需要监听的设备标签,点击 完成 保存配置。

监听设备数据

添加 调试 节点,将 标签变化 节点的输出连接到 调试 节点的输入,点击 部署 按钮,使流程生效。部署完成后,当设备标签数据发生变化时,可以在侧边栏的调试页签中看到相应的输出。

监听设备数据

如果需要同时监听多个标签,可以在 标签变化 节点中使用左下角的 添加 按钮新增监听标签。此时,标签变化 节点的输出会根据不同的标签数据数量产生多个输出。

流程代码如下:

[{"id":"1dd528bf64bdd36e","type":"tag value changed","z":"acf6f515f77d2f9f","name":"","checkall":false,"broker":"4c1025e7981b4046","tags":[{"t":"modbus_A2"}],"outputs":1,"x":160,"y":140,"wires":[["018d070c545bcaf5"]]},{"id":"018d070c545bcaf5","type":"debug","z":"acf6f515f77d2f9f","name":"调试 10","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":440,"y":140,"wires":[]},{"id":"4c1025e7981b4046","type":"gateway-broker","name":"当前网关","host":"localhost","port":"62000","username":"admin"}]

2. 向设备写入数据

在节点库中找到 网关 分类,将 动态写入 节点拖拽到流程编辑区。双击打开节点配置对话框,配置节点的属性,点击 完成 保存配置。

向设备写入数据

动态写入 节点的输入需要接收来自其它节点的数据,消息的payload的格式分为如下两种:

  • 写入单个标签: 数据格式为 {"n": "modbus_A1", "v": "100"},其中 n 为需要写入的标签名,v 为需要写入的值
  • 写入多个标签: 数据格式为 [{"n": "modbus_A1", "v": "100"},{"n": "modbus_A2", "v": "100"}],传入一个数组,数组中每个元素为一个对象,对象中 n 为需要写入的标签名,v 为需要写入的值

可以通过 注入 节点来模拟数据输入。在节点库中找到 通用 分类,将 注入 节点拖拽到流程编辑区,双击打开节点配置对话框,选择payload的格式未JSON,并输入需要写入标签的参数,点击 完成 保存配置。

将两个节点进行连接,点击 部署 按钮,使流程生效。部署完成后,点击 注入 节点的按钮,可以在侧边栏的调试页签中看到相应的输出。

向设备写入数据

流程代码如下:

[{"id":"c8e2f32e31ea0edf","type":"dynamic tag write","z":"acf6f515f77d2f9f","name":"","broker":"4c1025e7981b4046","x":420,"y":280,"wires":[["b2f185a46503f9ab"],[]]},{"id":"acaaf9070fbf3975","type":"inject","z":"acf6f515f77d2f9f","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"n\":\"modbus_A1\",\"v\":\"100\"},{\"n\":\"modbus_A2\",\"v\":\"100\"}]","payloadType":"json","x":150,"y":280,"wires":[["c8e2f32e31ea0edf"]]},{"id":"b2f185a46503f9ab","type":"debug","z":"acf6f515f77d2f9f","name":"调试 11","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":620,"y":280,"wires":[]},{"id":"4c1025e7981b4046","type":"gateway-broker","name":"当前网关","host":"localhost","port":"62000","username":"admin"}]

3. 总结

至此,您已经完成了第二个流程的创建,通过这个简单的流程,您可以了解到如何在流程编辑器中监听设备数据,向设备写入数据等操作。在后续的章节中,我们将会介绍更多的节点类型,更多的流程设计技巧,帮助您更好的使用流程编辑器。