OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4292|回复: 5

Modbus主机发送数据帧从机可以接受并且可以修改数据,但是没有返回帧

[复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-1-5
在线时间
33 小时
发表于 2019-9-2 20:29:25 | 显示全部楼层 |阅读模式
20金钱
本帖最后由 自由逐风者 于 2019-9-2 20:31 编辑

最近在搞Modbus通讯协议,从机程序可以与电脑通信,电脑作为主机发送数据帧,从机可以正常应答。另一个开发板作为主机用了论坛大神 http://www.openedv.com/forum.php?mod=viewthread&tid=98367&highlight=MODBUS 的主机程序,但是发现主机可以发送数据帧,从机也可以正常接收到数据,但是从机不会发送应答帧,请论坛的大神帮我看看,怎么修改主机程序。就是想用主机发送03功能码,读取从机的数据。望诸位大神帮我看看啊。图片为从机与电脑通信的图片



VGU{`G]E$%$G$TF[8FL17ST.png

4.ModBus----slave.zip

2.99 MB, 下载次数: 53

MASTER主机.zip

3.01 MB, 下载次数: 72

最佳答案

查看完整内容[请看2#楼]

从你的描述“主机可以发送数据帧,从机也可以正常接收到数据,但是从机不会发送应答帧”来看应该要写的是从机的代码吧 比如你想要从机接收到03以后反馈一些数据给主机,那么就在串口接收的数据为03时调用反馈数据的函数部分。 如果反馈数据的部分比较耗时就增加一个标志位,在中断里面更改标志,在main的while里面检查标志,完成发送和标志的重置。 如果有很多个你所说的功能码,那就再抽象出一个函数专门用于处理数据与相应的 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

175

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1327
金钱
1327
注册时间
2019-7-11
在线时间
165 小时
发表于 2019-9-2 20:29:26 | 显示全部楼层
从你的描述“主机可以发送数据帧,从机也可以正常接收到数据,但是从机不会发送应答帧”来看应该要写的是从机的代码吧
比如你想要从机接收到03以后反馈一些数据给主机,那么就在串口接收的数据为03时调用反馈数据的函数部分。
如果反馈数据的部分比较耗时就增加一个标志位,在中断里面更改标志,在main的while里面检查标志,完成发送和标志的重置。
如果有很多个你所说的功能码,那就再抽象出一个函数专门用于处理数据与相应的标志位,在中断里面调用即可。
世界和平
回复

使用道具 举报

10

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2016-8-15
在线时间
413 小时
发表于 2019-9-3 15:22:22 | 显示全部楼层
既然电脑作为主机发送的03功能码从机会回复,那么使用开发板理论上效果是一样的。这里使用开发板导致从机没有应答我认为可以从以下几个方面排查:
1、确定开发板通讯口正常,像你说从机可以接收到了数据,但是没有回复,我不知道你是怎么确认的,如果从机接收到数据会打印logo或者从机在仿真情况下确实接收到数据了,哪么是可以确定硬件链路和软件配置OK
2、硬件通路和软件配置OK后,核心就是检查主机发送出去的数据是否有问题,比如帧格式,或者校验码,最简单的对比就是和你电脑发送一帧一样的数据。
我的简书:https://www.jianshu.com/u/3e9efbf4a8c2
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-1-5
在线时间
33 小时
 楼主| 发表于 2019-9-6 19:26:49 | 显示全部楼层
流年丶 发表于 2019-9-3 15:22
既然电脑作为主机发送的03功能码从机会回复,那么使用开发板理论上效果是一样的。这里使用开发板导致从机没 ...

解决了,谢谢
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-1-5
在线时间
33 小时
 楼主| 发表于 2019-9-6 19:27:26 | 显示全部楼层
礼拜天真好 发表于 2019-9-2 20:29
从你的描述“主机可以发送数据帧,从机也可以正常接收到数据,但是从机不会发送应答帧”来看应该要写的是从 ...

解决了,谢谢
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-5-5
在线时间
11 小时
发表于 2020-8-15 23:46:02 来自手机 | 显示全部楼层
你好,我遇到同样的问题,你能不能指点一下呢,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 10:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表