下面要给大家介绍的是如何使用海创-IIoT可视化开发平台快速的采集温湿度仪器的数据,使用的是PKTH100B-CZ1型号的温湿度变送器,采用的modbus协议。
一、产品
- PKTH100B-CZ1温湿度变送器
- 海创Box智能采集网关
- 串口服务器
接线方式如下
二、产品配置
- 海创Box智能采集网关
- 串口服务器请参考设备厂家提供的说明书以及测试工具
- PKTH100B-CZ1温湿度变送器请参考厂家提供的说明书
三、节点流
在桌面打开海创Box智能采集网关可视化开发平台进入可视化编辑器。本次教程需要用到如下节点,在左侧节点栏中拖拽出使用
- 定时器用于触发流程,可周期性触发、定义触发内容
- Modbus用于读取Modbus通信协议设备的数据
- 调试可以将结果打印在右侧调试窗口上
配置界面详情(快速复用请导航到文章末端)
接下来我们来配置如上图的节点流,首先将左侧节点栏的定时器、Modbus、调试节点分别拖拽到工作区,再点击相应的流节点的端口依次按配置界面所示连接起来,再双击相应流节点进入配置界面配置相应属性
- 定时器用于触发或定时输出数据。这边我们只当做触发器使用,无需配置,使用时点击左侧触发按钮
- Modbus是用于采集Modbus设备数据的节点工具,在详情页配置相应的串口服务器分配给设备的协议、设备ip、端口号、通讯模式,以及设备单元id,填写标识符、设备地址、长度等信息。配置如下图
- 调试用于界面调试输出结果。我们需要将上面的程序输出结果打印在界面右侧的调试窗口,按配置界面图链接即可。
四、部署调试
经过上面所有步骤后,即可部署程序,部署后点击定时器左侧触发按钮触发后,就可以在右侧的调试窗口看到输出,如下图
五、示例
以上教程可以通过拷贝下面代码实现快速复用,在新建的流程中点击界面右侧菜单栏-导入-剪贴板,在文本框中粘贴下面代码后点击确定,即可快速复用。
[ { "id": "1c83488a.c40a87", "type": "iot-modbus", "z": "b5f2f402.71a208", "name": "", "server": "d55c71e5.3e08d", "fc": "HoldingRegister", "columns": [ { "Key": "LightVolt", "Label": "温度", "UnitId": "", "Address": "0", "Quantity": "1", "ValueType": "Int16BE", "Arithmetic": "%s/10" }, { "Key": "LightCurrent", "Label": "湿度", "UnitId": "", "Address": "1", "Quantity": "1", "ValueType": "Int16BE", "Arithmetic": "%s/10" } ], "x": 455, "y": 200, "wires": [ [ "aaff2f9d.0d532" ] ] }, { "id": "28502827.26af28", "type": "inject", "z": "b5f2f402.71a208", "name": "", "topic": "", "payload": "", "payloadType": "date", "repeat": "60", "crontab": "", "once": true, "onceDelay": 0.1, "x": 315, "y": 200, "wires": [ [ "1c83488a.c40a87" ] ] }, { "id": "aaff2f9d.0d532", "type": "debug", "z": "b5f2f402.71a208", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "false", "x": 615, "y": 200, "wires": [] }, { "id": "d55c71e5.3e08d", "type": "iot-modbus-client", "z": "", "name": "", "clienttype": "Modbus-TCP", "host": "192.168.7.192", "post": "4196", "tcptype": "Telnet", "serialport": "COM1", "serialtype": "RTU-Buffered", "baudrate": "9600", "databits": "8", "stopbits": "1", "parity": "None", "unitid": "2", "timeout": "2000", "connectiondelay": "100" } ]