modbus学习中遇到的问题(二十分)
看了几天的modbus,发现有些问题不懂,如下:1.网上看说功能码01读的是线圈状态,是按位读取。这个“线圈状态”怎么理解?命令帧是010100130013XXXX实际上...
看了几天的modbus,发现有些问题不懂,如下:
1.网上看说功能码01读的是线圈状态,是按位读取。这个“线圈状态”怎么理解?命令帧是010100130013XXXX实际上读的是哪些位?为什么我发了个010100130019XXXX就没有应答了?
2.从节点接收时发现格式错误或者功能码非法就会返回错误应答,那么这个应答的格式是怎样的?都有什么样的错误码?
3.RTU帧可读取的参数最多125个(参数个数1~0x7D),为什么会有这个限制?
4.RTU帧地址范围为0~247,那248~255用做什么(网上基本意见是保留地址,具体什么时候要怎样扩展没人说得清楚)? 展开
1.网上看说功能码01读的是线圈状态,是按位读取。这个“线圈状态”怎么理解?命令帧是010100130013XXXX实际上读的是哪些位?为什么我发了个010100130019XXXX就没有应答了?
2.从节点接收时发现格式错误或者功能码非法就会返回错误应答,那么这个应答的格式是怎样的?都有什么样的错误码?
3.RTU帧可读取的参数最多125个(参数个数1~0x7D),为什么会有这个限制?
4.RTU帧地址范围为0~247,那248~255用做什么(网上基本意见是保留地址,具体什么时候要怎样扩展没人说得清楚)? 展开
展开全部
1)01 01 00 13 00 13 XXXX
01(站号)+01(功能码)+00(起始地址高8位)+13(起始地址低8位)+00(总位数 高8位)+13(总位数 低8位)+XXXX(CRC 校验码)
2) 如果你发送的格式 错误,从机就会返回错误码。
返回信息帧:站号+功能码(81)+错误码+CRC校验码
3)RTU 帧最大125个,是为了保持数据传输的安全性
4)RTU 帧地址范围0-247 ,至于后面的做什么用,要看今后Modbus的发展而定,这个对我们使用者来说可以不去管它。
5)需要了解更多的故障码,还是下载 Modbus 协议《Modicon Modbus Protocol Refernece Guide》
不过资料是英文的,中文的资料大都不够详细。
http://www.modbus.org/
01(站号)+01(功能码)+00(起始地址高8位)+13(起始地址低8位)+00(总位数 高8位)+13(总位数 低8位)+XXXX(CRC 校验码)
2) 如果你发送的格式 错误,从机就会返回错误码。
返回信息帧:站号+功能码(81)+错误码+CRC校验码
3)RTU 帧最大125个,是为了保持数据传输的安全性
4)RTU 帧地址范围0-247 ,至于后面的做什么用,要看今后Modbus的发展而定,这个对我们使用者来说可以不去管它。
5)需要了解更多的故障码,还是下载 Modbus 协议《Modicon Modbus Protocol Refernece Guide》
不过资料是英文的,中文的资料大都不够详细。
http://www.modbus.org/
追问
第一个问题能再解释一下吗?为什么我查13个位可以,查19个就不行了(最多18个)?
追答
这个要看 的产品说明书,不同产品 地址范围是不同的
晓网科技
2024-10-17 广告
2024-10-17 广告
ZigBee 协议属于高级通信协议,是基于上世界的IEEE协会制定的802协议,主要约束了网路的无线协议、通讯协议、安全协议和应用需求等方面的标准,其有效转播速率可以达到300Kbps (千比特率)。 和计算机通信的模式类似,ZigBee的...
点击进入详情页
本回答由晓网科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询