搜索
bottom↓
回复: 10
打印 上一主题 下一主题

485总线上有多个设备,用什么编程思路比较好

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2024-9-24 16:55:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
485总线上挂路5个设备,其中3个设备的通讯协议不同,采用什么样的编程思路比较好?这里是否可以考虑采用面向对象的方式去编程。485总线属于半双工总线,一次只能读写一个设备。从节点设备有时候需要不停的查询状态。大家有没有好的编程思路交流一下。

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出235入235汤圆

2
发表于 2024-9-24 17:16:19 | 只看该作者
状态机+轮询。

出0入0汤圆

3
 楼主| 发表于 2024-9-24 17:20:50 | 只看该作者

状态机加轮询是不是会很耗时?当设备多,有需要实时查询从机状态是不是不够用?

出715入1076汤圆

4
发表于 2024-9-24 17:32:05 | 只看该作者
做个小转接器靠近设备,把所有设备转成相同的协议再挂到总线
另外,想打破只能轮询的限制,可以了解一下:
https://www.amobbs.com/thread-5782436-1-1.html

出235入235汤圆

5
发表于 2024-9-24 18:00:42 | 只看该作者
sanv 发表于 2024-9-24 17:20
状态机加轮询是不是会很耗时?当设备多,有需要实时查询从机状态是不是不够用?
...
(引用自3楼)

半双工,只能有一个主机主动发起。

所以如果实在要提速,就把数据和从机区别对待,那些数据更新慢,那些更新快。。轮询+事件(优先级)的方式我想是极限了。

出1330入193汤圆

6
发表于 2024-9-24 21:04:19 来自手机 | 只看该作者
状态机
舍我其谁😆

出0入18汤圆

7
发表于 2024-9-24 23:55:52 | 只看该作者
嫌慢  那就波特率,通信频率提上来呀
2.5M 总比9600快了吧
还嫌慢那就考虑为什么用485了,选了485就不要嫌慢

出0入0汤圆

8
发表于 2024-9-25 09:03:58 | 只看该作者
呃,做电、水表采集就是这样,一个是电表协议(有07,97,modbus-rtu),水表188协议。定电水表类型,那个类型就发那个数据格式。从设点只收自己格式数据再回复就行

出10入113汤圆

9
发表于 2024-9-25 09:12:37 | 只看该作者
按自己多年经验,就这几个设备按协议轮询即可,简单可靠。

出0入16汤圆

10
发表于 2024-9-25 09:27:04 | 只看该作者
就是面向对象,C语言的话每个子设备作为一个结构体并标记好类型和地址,如果只有轮询的话就调用读取函数判断类型就行,复杂点的就结构体里面带状态机标志,反正函数调用结构体指针就行了

出0入0汤圆

11
发表于 6 天前 | 只看该作者
重要的更新快的数据设定成小周期,或者全部按照数据更新周期来轮询。用最高的速率。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-3 17:03

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

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