Node-RED 应用 - Modbus 通信

# Node-RED

https://iothub.org.cn/docs/nodered/
https://iothub.org.cn/docs/nodered/app/app-modbus/

一、概述

1.Modbus 通信协议

Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
通俗的讲,Modbus的本质就是通过寄存器、线圈与其它设备交换数据。

1.Modbus分类

  • Modbus TCP
  • Modbus RTU
  • Modbus ASCII

Modbus是一簇协议,包含RTU、TCP、ASCII,Modbus并没有规定物理层。标准的Modicon控制器使用RS232C实现串行的Modbus协议。ASCII与RTU协议规定了信息、数据的结构、命令和应答的方式,采用Master/Slave方式,即Master端发出数据请求信息,Slave端接收到正确信息后就可以发送数据到Master端以响应请求;Master端也可以直接发送信息修改Slave端的数据,实现双向读写。
Modbus协议会对数据数据进行校验,ASCII采用LRC校验,RTU采用16位CRC校验,TCP由于可靠传输无需校验。
这三者的具体实现也有会所不同,TCP与RTU方式差别较小,具体参照详细
总的来说Modbus TCP/RTU/ASCII这三者是Modbus协议的具体实现。最显而易见的就是,TCP通过以太网传输,RTU通过RS232C或RS422/RS485传输。

2.Modbus 功能码

功能码名词作用
01读线圈状态取得一组逻辑线圈的当前状态(ON/OFF)
02读取输入状态取得一组开关输入的当前状态(ON/OFF)
03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值
04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值
05强置单线圈强制一个逻辑线圈的通断状态
06预置单寄存器把具体二进制值装入一个保持寄存器
07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定
08回送诊断检验把诊断检验报文送从机,以对通信处理进行评估
09编程 (只用于484)使主机模拟编程器作用,修改PC从机逻辑
10控询(只用于484)可使主机与一台正在执行长程序任务从机通信,探询该从机是够已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送
11读取事件计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时
12读取通信事件记录可使主机检索每台从机的Modbus事务处理通信事件记录。如果某项事务处理完成,记录会给出相关错误。
13编程(184/384/484/584)可使主机模拟编程器功能修改PC从机逻辑
14探询(184/384/484/584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能码13的报文发送后,本功能才得发送
15强置多线圈强置一串连续逻辑线圈的通断
16预置多寄存器把具体的二进制值装入一串连续的保持寄存器
17报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态
18(884和Micro84)可使主机模拟编程功能,修改PC的状态逻辑
19重置通信链路发生非可修改错误后,使从机复位于已知状态,可重置顺序字节
20读取通用参数(584L)显示拓展存储器文件中的数据信息
21写入通用参数(584L)把通用参数写入拓展存储文件,或修改之
22 ~ 64保留以备用户功能所用留作用户功能的拓展编码
73 ~ 191非法功能
120 ~ 121保留留作内部使用
128 ~ 255保留用于异常应答

备注:
常用的为1、2、3、4、15、16. 这6个功能即可实现对下位机数字量、模拟量的读写操作。

2.Modbus Slave

Modbus Slave 工具模拟 Modbus server.
在这里插入图片描述
在这里插入图片描述

3.安装 Modbus 节点

# node-red-contrib-modbus
https://flows.nodered.org/node/node-red-contrib-modbus

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、Node-RED

1.配置说明

在 Node-RED 上模拟 Modbus 通讯

Modbus Slvave 在本地 192.168.3.4 上以 Modbus-TCP 的方式模拟了一个 Modbus Server。
其它设备可以直接通过 Modbus-TCP 直接连接该服务器。

在这里插入图片描述
在这里插入图片描述

2.配置 Modbus Server

在这里插入图片描述

3.配置 Modbus Slave

在这里插入图片描述

4.Modbus 读数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.Modbus 写数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# Node-RED

https://iothub.org.cn/docs/nodered/
https://iothub.org.cn/docs/nodered/app/app-modbus/
  • 34
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoTHub - 物联网开源技术社区

支持开源技术! 传播开源文化!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值