dgiot对接Modbus-RTU读取全部继电器指令指令 - DGIOT

dgiot对接Modbus-RTU读取全部继电器指令指令

首页博客, 技术文章

[小 迪 导读]:[小 迪 导 读]:伴随工业物联网在实际应用中普及,Modbus-RTU作为行业内的标准化通讯协议。在为物联网起到采集作用的同时,设备的控制也是一个密不可分的环节。
https://prod.dgiotcloud.cn/

1.确定需要读取的继电器数量和地址

首先,需要确定要读取的继电器数量和地址。每个继电器都有一个唯一的地址,通常为一个整数。例如,如果要读取10个继电器,则它们的地址分别为0、1、2、3、4、5、6、7和8。

2.配置Modbus-RTU设备

接下来,需要配置Modbus-RTU设备以与PLC或其他主控制器通信。这包括设置串口参数(如波特率、数据位、停止位和校验位)以及选择要使用的Modbus协议版本(如Modbus RTU或Modbus ASCII)。
样品展示
波特率 :9600 8 NONE 1

dtu如何配置上https://prod.dgiotcloud.cn 查看

3.物模型配置

3.1数据源配置

数据存储配置
数据块配置只读,存储,展示
数据类型建议配置text,长度9999
数据采集配置
采集策略默认1,协议类型MODBUSRTU,其余默认即可
数据来源
根据modbus产品说明书我们得知
读取所有接口 输入状态01 01 00 00 00 04 79 C9
发送功能解说:01:设备地址
01:功能码
00 00:起始地址
00 04:输入数量 (04 代表可以读取4个输入口的值 要是读取16个输入口把04改成10 这是16进制的)
79 C9:校验码
我只需在页面对应得输入即可

4.解析状态码配置

4.1数据存储配置

数据块配置只读,存储,展示
数据类型建议配置枚举,0为关闭 1为开启

4.2数据采集配置

采集策略选择计算值
采集公式

Delay = %%{delay},
<<_:7, A:1,_:0>> =  dgiot_utils:hex_to_binary(dgiot_utils:binary_to_hex(<<Delay:8>>)),
A

其他默认就行

5.查看

查看通道确认数据以上报

状态查看

[小 迪 点评]

  • 效率:Modbus-RTU协议能够同时读取多个继电器的状态,大大提高了读取效率。相比于逐一读取的方式,这种方式更省时省力。

  • 灵活性:通过设定特定的功能码和地址,可以单独读取某一个继电器的状态,或者一次性读取全部继电器的状态。这种灵活性使得该协议适用于各种复杂的应用环境。

  • 易用性:Modbus-RTU协议的报文结构比较简单,易于理解和使用。此外,有许多现成的库和工具可以支持Modbus-RTU协议,进一步降低了使用的门槛。

  • 可靠性:Modbus-RTU协议使用了CRC校验码来确保数据的准确性和完整性,从而提供了较高的可靠性。

  • 兼容性:Modbus-RTU协议广泛应用于各种硬件设备和软件平台,具有良好的兼容性。大多数现代PLC和HMI(人机界面)设备都支持Modbus-RTU协议,使得它成为工业应用中的主流通信协议之一。

想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。

上一篇:
上一篇:

加小迪为好友
即可加入交流群

点击填写表单
获得解决方案专家帮助
点击前往 GitHub
查看源代码