搜索
bottom↓
回复: 37

求助:MBUS一主多从通信怎么实现主动上报?

[复制链接]

出0入0汤圆

发表于 2018-2-5 17:20:07 | 显示全部楼层 |阅读模式
本帖最后由 小浩 于 2018-2-6 12:47 编辑


现在做一个项目,用到mbus,一主对多从的,需要从机对主机主动上报数据,主机也有可能给从机下发数据,怎么做到数据不冲突?

出0入0汤圆

发表于 2018-2-5 17:27:29 | 显示全部楼层
主动上报还是can可靠!

出0入0汤圆

 楼主| 发表于 2018-2-5 17:30:10 | 显示全部楼层
zsmbj 发表于 2018-2-5 17:27
主动上报还是can可靠!

现在老板让选择了mbus,但是在通信那里感觉怎么都行不通

出0入0汤圆

发表于 2018-2-5 17:30:13 | 显示全部楼层
标准modbus协议 ,可以从机主动发数据?

出0入0汤圆

发表于 2018-2-5 17:32:37 | 显示全部楼层
要是 modbus tcp 还好说,自己额外定义个服务端口跑就好。  485 要冲突的,,,

出0入0汤圆

 楼主| 发表于 2018-2-5 17:32:49 | 显示全部楼层
canopen 发表于 2018-2-5 17:30
标准modbus协议 ,可以从机主动发数据?

可以吧,不是好多有线烟感都是用的mbus吗?

出0入0汤圆

 楼主| 发表于 2018-2-5 17:37:07 | 显示全部楼层
canopen 发表于 2018-2-5 17:32
要是 modbus tcp 还好说,自己额外定义个服务端口跑就好。  485 要冲突的,,, ...

我们的电路设计是两根线,通信带通电的,数据在总线上传输是要冲突的,就是不知道怎么避免冲突

出0入0汤圆

发表于 2018-2-5 17:41:46 | 显示全部楼层
如果主机不是很频繁发数据, 从机理论上可以主动发数据。 冲突了  数据校验不通过。  这笔数据就不要拉。
RS485通讯,任何一方发数据,其余的都受到的。要不要这笔数据,自己模块确定了

出0入0汤圆

发表于 2018-2-5 17:51:31 | 显示全部楼层
小浩 发表于 2018-2-5 17:37
我们的电路设计是两根线,通信带通电的,数据在总线上传输是要冲突的,就是不知道怎么避免冲突 ...

这类2线通讯基本是不对外的。

出0入0汤圆

发表于 2018-2-5 18:35:44 来自手机 | 显示全部楼层
小浩 发表于 2018-2-5 17:32
可以吧,不是好多有线烟感都是用的mbus吗?

也可能是主机轮寻啊

出0入96汤圆

发表于 2018-2-5 18:37:43 | 显示全部楼层
MBUS就不是给主动上报定的协议,一般从机需要先给下边充电,然后读数据!

出0入4汤圆

发表于 2018-2-5 19:30:49 | 显示全部楼层
同问哪种主动上报的协议可靠些,看了很多协议,ebus,pbus,感觉还是can比较通用些

出0入0汤圆

发表于 2018-2-5 19:44:44 | 显示全部楼层
本帖最后由 bg6agf 于 2018-2-5 19:47 编辑

数据量不大。试试APRS里的协议。原理大概是。。每次通信结束后。延时随机时间检测总线。一直没人通信就自己发。否则检测下一个随机时间间隔。所有子站主站由于随机数种子不同。冲突的概率不大。。稍微卡一下就全错开了。

查了一下。AX.25协议。。所有节点全是平等的。

出10入113汤圆

发表于 2018-2-5 20:59:09 | 显示全部楼层
空窗期大于两倍数据占有期即可。

出0入0汤圆

发表于 2018-2-6 07:39:52 来自手机 | 显示全部楼层
MBUS 基本都是小功耗,低数据量的设备吧,记得有人说过,好像数据不好还原。

出0入0汤圆

发表于 2018-2-6 08:57:27 | 显示全部楼层
主动上报的优势是可以实时发送数据,但是MBUS设计的是主从工作模式,只要你主站轮询速度满足你的刷新周期要求,就完全可以用轮询方式。如果轮询周期满足不了要求,主动上报更不能满足你的实时要求(多个站发数据会冲突)。那么你需要换CAN.

出0入4汤圆

发表于 2018-2-6 09:06:24 | 显示全部楼层
这类没有冲突检测的网络,比较靠谱的办法还是给每个终端分配时间戳吧,在各自的时间戳里面进行上报。

出0入0汤圆

 楼主| 发表于 2018-2-6 09:09:31 | 显示全部楼层
lingdianhao 发表于 2018-2-6 08:57
主动上报的优势是可以实时发送数据,但是MBUS设计的是主从工作模式,只要你主站轮询速度满足你的刷新周期要 ...

现在考虑来考虑去都避免不了的,不知道给老板说换方案让不让换,毕竟做mbus花好久时间了

出0入0汤圆

 楼主| 发表于 2018-2-6 09:10:43 | 显示全部楼层
lin28 发表于 2018-2-5 17:41
如果主机不是很频繁发数据, 从机理论上可以主动发数据。 冲突了  数据校验不通过。  这笔数据就不要拉。
R ...

那到不会很频繁,就怕有的时候需要丢弃很多数据才能得到正确的数据,比较不靠谱

出0入4汤圆

发表于 2018-2-6 09:32:43 | 显示全部楼层
可以参考一下以太网用的CSMA/CD,不过如果你的总线带宽占用率很高,就不适合用CSMA/CD了。

出0入0汤圆

发表于 2018-2-6 09:41:24 | 显示全部楼层
MBUS应该只能算是物理层的一种数据传输方式(应该是bit传输方式),就是数据线和电源线共用,
在CPU测一般都是用串口做链路层,应用层协议可跑Modbus之类的主从轮询协议,
这个MBUS物理层就不支持多设备同时发数据(竞争机制),因此如果你多个设备可能同时发数据,就只能在软件层避免这个问题。
但是很遗憾,MBUS从机发数据的时候,其他从机并不能收到当前从机发送的数据,只有主站能收到从机发送的数据。
因此从机没办法检测总线是否被占用,其他的什么退避算法都没用了,唯一的就是暴力方式,从机发数据-等主站确认收到-没确认继续发(还是得做退避算法).
如果出现多个设备同时发数据,这个效率很低很低。只能说你们老板选的方案有问题。还是原来那个办法,比如你MBUS主从轮询波特率9600,挂N个站,算总的更新时间,能瞒住要求,就用。不能就只能换CAN了。

出0入0汤圆

发表于 2018-2-6 09:50:30 | 显示全部楼层
MBUS是纯粹的物理层啊,任何一个从机或者主机发送数据的时候都要占用这两根线,无法避免

出0入0汤圆

发表于 2018-2-6 10:00:26 来自手机 | 显示全部楼层
xymxym 发表于 2018-2-6 09:32
可以参考一下以太网用的CSMA/CD,不过如果你的总线带宽占用率很高,就不适合用CSMA/CD了。 ...

CSMA/CD需要对称网络,M BUS主->从是电压,从->主是电流,也就是从机在发送的时候是不知道其它从机是否在发送。

出0入0汤圆

 楼主| 发表于 2018-2-6 10:37:13 | 显示全部楼层
zsmbj 发表于 2018-2-5 17:27
主动上报还是can可靠!

老板让改了

出0入0汤圆

 楼主| 发表于 2018-2-6 10:38:01 | 显示全部楼层
canopen 发表于 2018-2-5 17:32
要是 modbus tcp 还好说,自己额外定义个服务端口跑就好。  485 要冲突的,,, ...

mbus也有冲突的,都是在两根线上,所有的数据都需要通过这两根线来传输

出0入0汤圆

 楼主| 发表于 2018-2-6 10:39:57 | 显示全部楼层
xiaodao35 发表于 2018-2-5 17:51
这类2线通讯基本是不对外的。

老板让改了

出0入8汤圆

发表于 2018-2-6 10:42:04 | 显示全部楼层

阅读下版规吧

出0入0汤圆

发表于 2018-2-6 10:49:36 | 显示全部楼层
怎么没内容。。要被封账号么

出0入91汤圆

发表于 2018-2-6 11:01:54 | 显示全部楼层
楼主  内容没了 标题不合格  会被封号的  赶紧改回来吧

出0入0汤圆

发表于 2018-2-6 11:09:56 | 显示全部楼层
恭喜你ID不保。再见走好。

出90入0汤圆

发表于 2018-2-6 11:14:53 | 显示全部楼层
修改帖子内容, 这种习惯很不好。

应该在后面,添加内容。

出700入102汤圆

发表于 2018-2-6 11:19:34 | 显示全部楼层
建议莫站新增加一条版规,违反版规者,手抄一遍,否则封锁ID

出0入0汤圆

发表于 2018-2-6 11:20:24 | 显示全部楼层

新人不看版规,锁ID是肯定了

出0入4汤圆

发表于 2018-2-6 11:22:30 | 显示全部楼层
LearningASM 发表于 2018-2-6 10:00
CSMA/CD需要对称网络,M BUS主->从是电压,从->主是电流,也就是从机在发送的时候是不知道其它从机是否在 ...

学习了!

出0入0汤圆

 楼主| 发表于 2018-2-6 12:42:56 | 显示全部楼层
hzpyl 发表于 2018-2-6 11:14
修改帖子内容, 这种习惯很不好。

应该在后面,添加内容。

没有看贴规

出0入0汤圆

 楼主| 发表于 2018-2-6 12:44:31 | 显示全部楼层
canopen 发表于 2018-2-5 18:35
也可能是主机轮寻啊

主机轮询需要时间有点久了,我们产品用到的是不能等待太久的

出0入0汤圆

 楼主| 发表于 2018-2-6 12:48:22 | 显示全部楼层
ackyee 发表于 2018-2-6 11:01
楼主  内容没了 标题不合格  会被封号的  赶紧改回来吧

改回来可以吗?

出0入0汤圆

发表于 2018-2-6 12:56:59 | 显示全部楼层
楼住ID不保啊,不能随意编辑帖子,被老大看到,你就完了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 21:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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