本发明涉及地址分配,更具体的说是涉及rs485总线按半字节竞争自动分配从机地址的方法。
背景技术:
1、目前,由rs-485总线构成的控制系统,一般都是采用主从通讯方式,通常一个控制系统由一个主机和若干台从机设备组成。主从通讯方式总是由主机发起通讯,从机收到命令后,得到总线控制权,再向总线上发送信息,发送结束后,总线控制权又归还给主机。
2、主机要识别挂载在rs-485总线上的若干台从机设备,最简单的方式就是通过从机设备的地址来区分各台从机设备。
3、在申请号为cn202211729174.2的发明专利中,其公开了基于位竞争机制的rs-485总线地址高效可重复分配方法,其通过从机自身uuid次位数是否为0或1的情况,执行位竞争机制,对于数量较多的从机来说,通过位竞争的方式所消耗的时间资源较多。
技术实现思路
1、针对现有技术存在的不足,本发明的目的在于提供rs485总线按半字节竞争自动分配从机地址的方法,用于从机通过半字节竞争的形式从总线上获取设备地址。
2、为实现上述目的,本发明提供了如下技术方案:rs485总线按半字节竞争自动分配从机地址的方法,包括以下步骤:
3、s1、主机与多个从机之间进行时钟同步;
4、s2、主机生成一个分配地址;
5、s3、主机将s2中的分配地址以掩码形式发送至rs-485总线,从机以自身唯一标识码最后(1+n)位开始按掩码的有效半字节竞争,n初始为0;
6、s4、判定竞争成功的从机数量是否为1:若为大于1,则n取值加1,并对竞争成功的从机重复s3;若为1,则对该从机进行地址分配,并对剩余从机重复s2;若为0,则重复s2。
7、作为本发明的进一步改进,s2中,主机随机获取一台从机设备的唯一标识码,并根据crc32校验算法生成分配地址。
8、作为本发明的进一步改进,s4中,若竞争成功的从机数量为1,则对该从机进行地址分配,主机接收到从机竞争成功的应答后,对剩余从机重复s2。
9、作为本发明的进一步改进,s2.1,位于s2与s3之间,判断从机数量是否小于等于a,若从机数量小于等于a,则从机以位竞争的方式进行地址分配;若从机数量大于a,则进入s3。
10、作为本发明的进一步改进,还包括s0、主机与从机进行上电,对不同时间段上电的从机进行分组,按组的先后顺序进入s1。
11、作为本发明的进一步改进,s2.2,判断当前组的从机数量是否小于等于b,若当前组的从机数量小于等于b,则加入下一组的从机,b大于a。
12、本发明的有益效果:本发明中通过半字节竞争的方式进行地址分配,相比于位竞争的方式,提高了主机与从机之间地址分配的效率,减少了地址分配所消耗的时间;在从机数量小于等于a的情况下,改为位竞争的模式进行地址分配,可以进一步缩短地址分配所消耗的时间。
1.rs485总线按半字节竞争自动分配从机地址的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的rs485总线按半字节竞争自动分配从机地址的方法,其特征在于:s2中,主机随机获取一台从机设备的唯一标识码,并根据crc32校验算法生成分配地址。
3.根据权利要求1所述的rs485总线按半字节竞争自动分配从机地址的方法,其特征在于:s4中,若竞争成功的从机数量为1,则对该从机进行地址分配,主机接收到从机竞争成功的应答后,对剩余从机重复s2。
4.根据权利要求1所述的rs485总线按半字节竞争自动分配从机地址的方法,其特征在于:s2.1,位于s2与s3之间,判断从机数量是否小于等于a,若从机数量小于等于a,则从机以位竞争的方式进行地址分配;若从机数量大于a,则进入s3。
5.根据权利要求1所述的rs485总线按半字节竞争自动分配从机地址的方法,其特征在于:还包括s0、主机与从机进行上电,对不同时间段上电的从机进行分组,按组的先后顺序进入s1。
6.根据权利要求5所述的rs485总线按半字节竞争自动分配从机地址的方法,其特征在于:s2.2,判断当前组的从机数量是否小于等于b,若当前组的从机数量小于等于b,则加入下一组的从机,b大于a。
