OpenEdv-开源电子网

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

modbus主机带多路从机,数据处理问题

[复制链接]

3

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2019-11-6
在线时间
74 小时
发表于 2020-12-23 15:38:37 | 显示全部楼层 |阅读模式
1金钱
         最近要做一个项目,都是modbus协议,用了3个串口,一个和上位机通讯,两路和和下面的从机通讯(两路带的东西相同,但是分为两路),每一路后面都有几十个从机,现在对下的通信部分不知道怎么处理了(怎么发,返回的数据怎么存),以前只做过最底端的,没做过这种类型的,希望大家给点思路,谢谢了。

最佳答案

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

一主多从一般方法就是轮询的方式,先给第一个从机发送命令,等待从机1回复。收到回复的数据后可以立即处理,也可行先不处理,存储起来,后面处理。接着给第2个从机发送命令,等待从机2回复。依次类推,直到把所有从机询问完。然后最后统一处理所有从机回复的消息。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

141

帖子

0

精华

高级会员

Rank: 4

积分
679
金钱
679
注册时间
2020-11-21
在线时间
67 小时
发表于 2020-12-23 15:38:38 | 显示全部楼层
      一主多从一般方法就是轮询的方式,先给第一个从机发送命令,等待从机1回复。收到回复的数据后可以立即处理,也可行先不处理,存储起来,后面处理。接着给第2个从机发送命令,等待从机2回复。依次类推,直到把所有从机询问完。然后最后统一处理所有从机回复的消息。
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-12-23 20:42:17 | 显示全部楼层
你都用了modbus了应该你这两个串口都是主,但是要分别设置主的地址,因为modbus是一主多从的协议。
回复

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6745
金钱
6745
注册时间
2017-4-12
在线时间
1258 小时
发表于 2020-12-23 23:17:38 | 显示全部楼层
接收到的数据放缓存,主线程读取缓存数据处理
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3369
金钱
3369
注册时间
2011-11-10
在线时间
207 小时
发表于 2020-12-23 23:23:15 | 显示全部楼层
3个串口全开DMA就行了,来了数据都在各自的缓存里,直接根据命令字处理就可以。
回复

使用道具 举报

3

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2019-11-6
在线时间
74 小时
 楼主| 发表于 2020-12-24 08:36:55 | 显示全部楼层
三叶草 发表于 2020-12-23 20:42
你都用了modbus了应该你这两个串口都是主,但是要分别设置主的地址,因为modbus是一主多从的协议。

是的,现在主要是不知道这两路串口应该怎么像下面发送数据和存储数据,先是第一个串口,然后按照地址,把他这一路的从机轮询完,然后再用另外一路串口,把另外的一路轮询完?,还是有点不知道细节应该怎么处理。
回复

使用道具 举报

3

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2019-11-6
在线时间
74 小时
 楼主| 发表于 2020-12-24 14:06:25 | 显示全部楼层
511386807 发表于 2020-12-24 13:18
一主多从一般方法就是轮询的方式,先给第一个从机发送命令,等待从机1回复。收到回复的数据后可以立 ...

嗯嗯,好的,先试试,谢谢了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 09:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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