奏奏奏 发表于 2019-12-29 10:30:38

qiangtech 发表于 2019-12-28 11:13
唯一的ID是可以,问题就是从机怎么把自已的ID上报给主机。主机不知道线上挂了几个从机,而从机要考虑同时 ...
如果要每个时间差不同,可以根据ID来。
例如ID最后一个字节是FF,就把这个数转换为10进制数是255,再把这个数乘以时间间隔数1秒(你自己定义)就是开机后255秒;
对比另外一个ID最后一个字节是FE,就是……开机后254秒上报。
这样人为做出时间差。
如果是最后一个字节ID相同的情况下,不是还有倒数第2个字节,如此类推。要不然就不是是唯一的ID了。

zts329547875 发表于 2019-12-29 11:40:05

有协议没有? 没有协议,那就自定协议。。。。。
要不就是,设计失败;P;P;P;P

qiangtech 发表于 2019-12-29 16:00:40

当前来说,当然只能是自定协仪了。而且肯定的说,有看到市场上有做到了这个程度的产品。硬件上面确定没有地址设置开关,四根数据线还有一根地线相连,多从机。就可以实现控制。不过,也不能确定是不是安装之前还要做前期设定。

qiangtech 发表于 2019-12-29 16:02:02

奏奏奏 发表于 2019-12-29 10:30
如果要每个时间差不同,可以根据ID来。
例如ID最后一个字节是FF,就把这个数转换为10进制数是255,再把这 ...

这是一个想法,就是可能握手的时间会太久。

奏奏奏 发表于 2019-12-30 12:01:07

qiangtech 发表于 2019-12-29 16:02
这是一个想法,就是可能握手的时间会太久。

你可以把自定义的时间间隔设置为50毫秒也可以

天臆弄人 发表于 2019-12-31 10:53:03

这个协议很简单,主机发一个广播命令,命令里面带上超时时机和一个随机数,
从机接收到这个随机数和自己当前的 MCUID 做个与算法或其他算法,然后按着这个延迟时间给主机回信息,
这个时间也可以是地址,不就解决了吗

天臆弄人 发表于 2019-12-31 10:59:06

这还可能会出现这样情况,
1.如果从机当前分配的ID有冲突怎么办
可以通过主机多发几次,比方说发3次,每次给定随机值都不一样,在第一次发了广播命令,已经有分配的从机就不作应答,暂时想到就这么多了,

yklstudent-1794 发表于 2019-12-31 11:43:38

从机数量少时效果还行,从机数量多了很慢的

qiangtech 发表于 2019-12-31 13:10:55

yklstudent-1794 发表于 2019-12-31 11:43
从机数量少时效果还行,从机数量多了很慢的

对,开机后几分钟内都会是在确认和分配地址上。

butterflyspring 发表于 2020-1-3 14:49:51

通许采用主机轮询方式,挨个地址轮询一遍。双工通讯的话应该响应比较快。当然考虑到节点多时,总体通讯效率不是很高,够用就好。
页: 1 [2] 3
查看完整版本: 无地址RS485怎么完成握手