打印

请教485 自组网

[复制链接]
2067|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhang_shy|  楼主 | 2010-5-21 16:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,我现在做的一个产品是用485通信的,要实现自组网,
大概的要求是:多台控制器联网使用时,自动生成一个网络,
其中地址码最小的一个为主机,其余为从机,构成自动控制系统;
如果个别从机故障,自动退出,不影响其余工作,
如果主机故障,自动退出,在其余从机中产生一个新的主机,
组成一个新的系统;
那位兄弟做过这样的网络,谢谢了!

相关帖子

沙发
xwj| | 2010-5-22 14:03 | 只看该作者
为什么非得要个主机呢?

使用特权

评论回复
板凳
chunyang| | 2010-5-23 19:25 | 只看该作者
这个要靠协议,且这个协议比较复杂,工艺性要做好不容易。大致思路:设备上电后先侦测总线,判断总线空闲时发出带地址的请求码,如果有主机存在则在主机的响应下进行地址比较,数值大的自动取消主机标识,四轴飞行器存在则自行设置成主机,待其它请求发生后再进行地址比较决定主机权的归属,同时要有冲突规避机制,可以根据本身地址映射一个特定的延时算法。这个协议要编的好,不是初学者有能力搞定的,应该从应用的角度出发,用更简单的方案去解决实际问题。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
zhang_shy + 1
地板
zhang_shy|  楼主 | 2010-5-29 10:19 | 只看该作者
楼上说的,根据本身地址映射一个特定的延时算法,这个我也考虑过,不过如果是两个地址一样的话就是你说的那个冲突避免机制,不知道该怎么实现。
更简单的方法来说,我想过是人为的干预一下,把其中的一台设为主机,不过这个产品按要求是不能人为干预的。不知道你还有什么高建。谢谢了!!!!!!!

使用特权

评论回复
5
chunyang| | 2010-5-29 16:47 | 只看该作者
不是本身地址,是ID,必须唯一。

使用特权

评论回复
6
zhang_shy|  楼主 | 2010-5-31 14:03 | 只看该作者
考虑过每台机器全球唯一ID,感觉不好实现,我的想法是:出厂的时候可以设置成一样的ID,在组网的时候,它能够自己改成不同的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

13

帖子

0

粉丝