Node-Red如何采集ModbusRTU设备的数据

[复制链接]
查看48945 | 回复0 | 2024-10-19 10:31:46 | 显示全部楼层 |阅读模式
一、内容简介

本篇内容主要介绍Node-Red如何通过node-red-contrib-modbus插件采集ModbusRTU设备的数据,用Modbus Slave工具来模拟从站设备,用Virtual Serial Port Driver工具来虚拟串口,数据读写方式与Node-Red跟ModbusTCP通信的方法类似。
二、环境搭建

1.配置Virtual Serial Port Driver

按要求安装好Virtual Serial Port Driver,打开软件,点击“Add pair”按钮添加一对虚拟串口对。



打开设备管理器,可以看到增加了两个串口



这两个串口逻辑上是相连的,可以相互通讯,避免了物理链路连接,方便测试。
2.配置Modbus Slave

新建10个线圈和10个保持寄存器,打开软件已经默认新建了10个保持寄存器,点击“File->New”菜单,再默认新建10个保持寄存器,然后点击“Setup->Slave Definition”菜单,修改Function下拉选项为“01 Coil Status (0x)”,点击“OK”按钮确认。



连接串口,点击“Connection->Connect...”菜单,弹出Connection Setup的对话框,在Connection下拉框选择“Serial Port”选项,Serial Settings下载框选择“ELTIMA Virtual Serial Port (COM1->COM2)”选项,波特率选择“9600 Baud”选项,数据位选择“8 Data bits”选项,校验位选择“None Parity”,停止位选择“1 Stop Bit”,其余参数保持不变,点击“OK”确认。



三、数据采集

1.导入流程

导入文章Node-Red与ModbusTCP设备通信——读数据中的流程,点击Node-Red右上角的菜单选择“导入”,在弹出的对话框中点击“选择要导入的文件”按钮,选择要导入的文件,点击“打开”确认,回到导入页面,点击“导入”按钮导入文件。



由于跟当前工作流中的节点重复,所以弹出确认对证框,点击“导入副本”按钮即可。



此时重新生成了一个流程标签



现在需要删除当前流程,点击工作区右上角的菜单,将鼠标移到“流程”菜单项,选择“删除”,当前流程随即被删除,现在工作区只剩一个流程。



2.修改Modbus Server

双击第一个Modbus-Read节点,在弹出的对话框点击Server下拉框后面的“笔形”按钮修改Server参数。



在Type下拉框选择“Serial Expert”选项,在Serial port输入框中输入“com2”,确认Baud rate为“9600”,Data Bits为“8”,Stop Bits为“1”,Parity为“None”,其余参数保持不变,点击“更新”按钮确定。



回到节点编辑页面,点击“完成”按钮确定,其它Modbus-Read节点的Server也同步进行了修改,点击工作区右上角的“部署”按钮部署流程。

接下来进行测试,点击最后一个流的inject节点(时间戳),可以在工作区右侧的调试面板看到返回数据,说明读取数据成功。



写数据的方法类似,将文章Node-Red与ModbusTCP设备通信——写数据中的流导入工作区,修改对应的Server参数即可。

今天的文章,如果你感觉有价值,请记得一键三连:点赞加关注,留言,转发朋友圈,分享收藏,点击在看之后,一定记着加我个人微信:ZIDHXB。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则