System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据传输查询,具体涉及一种基于周界探测器的数据查询方法。
技术介绍
1、在对周界探测器的数据查询过程中,对于长距离的rs485及电力线数据传输技术,总线速率一般不超过9600bps,常规采用一对一主从式数据传输机制,即主机查询、从机(探测器)应答;对于电力线数据传输方案,一般总线主机、从机芯片接收发送分别有1个字节的数据接收缓存延迟。
2、如果用一对一的轮询机制,即使主机查询指令跟从机应答指令各占一个字节,主机查询一个从机至少需要4个字节时间(传输数据速率9600bps,数据长度八个比特,一个起始位、一个终止位、一个奇偶校验位),一个字节传输时间:1/(9600/11)≈1.15ms,查询一个从机时间≈4*1.15=4.6ms。如果一条总线最多可以挂载256个从机,则查询一轮需要约1.18s,这对于周界探测来说,查询一轮延迟时间偏大,查询速度较慢,效率低。
技术实现思路
1、针对现有技术中的缺陷,本专利技术提供一种基于周界探测器的数据查询方法,应用于主机和从机,所述从机为探测器,步骤包括:
2、主机根据从机地址划分多个查询组并设置查询首地址;
3、主机根据所述查询首地址依次向查询组发送查询指令,并启动主机定时器,以对从机进行本轮一对多数据查询;
4、主机等待从机应答,并判断是否接收到当前查询组中所有从机的应答信息;
5、若是,主机得到数据查询结果;
6、若否,主机基于所述主机定时器根据上一轮的数据
7、主机得到数据查询结果之后,发送下一查询组的查询首地址,以对下一查询组内从机进行一对多数据查询,直至完成本轮对所有查询组内从机的数据查询。
8、进一步地,所述主机根据从机地址划分多个查询组并设置查询首地址,具体为:
9、主机获取所有从机地址,并设置查询组大小;
10、主机根据所述查询组大小基于从机地址按顺序划分多个查询组;
11、主机设置每个所述查询组的查询首地址,所述查询首地址为对应查询组中第一个从机的地址。
12、进一步地,所述主机根据所述查询首地址依次向查询组发送查询指令,并启动主机定时器,以对从机进行本轮一对多数据查询,具体为:
13、从第一个查询组开始,主机依次将查询首地址作为查询指令发送至对应查询组,并启动一对多查询的主机定时器,以向查询组内从机发起本轮的一对多数据查询。
14、进一步地,所述若否,主机基于所述主机定时器根据上一轮的数据查询结果发起一对一数据查询,以确定本轮当前查询组的故障从机,得到数据查询结果,具体为:
15、若主机未接收到当前查询组中所有从机的应答信息,则判断主机定时器是否溢出;
16、若未溢出,主机返回继续等待从机应答;
17、若溢出,主机判断基于当前查询组本轮所接收的从机应答数量是否与上一轮的从机应答数量相同;
18、若相同,主机根据上一轮的数据查询结果,将上一轮针对当前查询组所查询的故障从机作为本轮的数据查询结果,以确定本轮当前查询组的故障从机;
19、若不相同,主机向当前查询组内的从机发起一对一数据查询。
20、进一步地,所述主机向当前查询组内的从机发起一对一数据查询,包括:
21、主机将当前查询组中最后一个从机地址作为新的查询首地址;
22、主机将所述新的查询首地址作为查询指令发送至当前查询组,并启动一对一查询的主机定时器,以从当前查询组中最后一个从机开始,按顺序依次发起一对一数据查询;
23、主机等待从机应答,并判断是否接收到从机的应答信息;
24、若未接收到,主机则判断所述主机定时器是否超时,若未超时,则返回继续等待从机应答,若超时,则设置当前从机无应答作为数据查询结果,以确定本轮当前查询组的故障从机;
25、若接收到,主机则将当前从机的应答信息作为数据查询结果。
26、进一步地,所述主机向当前查询组内的从机发起一对一数据查询,还包括:
27、主机判断是否完成对当前查询组内所有从机的一对一数据查询;
28、若是,主机则得到对当前查询组的数据查询结果;
29、若否,主机则设置并发送下一个新的查询首地址,以对当前查询组内下一个从机进行一对一数据查询,直至完成对所有从机的一对一数据查询,得到对当前查询组的数据查询结果。
30、进一步地,所述主机得到数据查询结果之后,发送下一查询组的查询首地址,以对下一查询组内从机进行一对多数据查询,直至完成本轮对所有查询组内从机的数据查询,具体为:
31、当得到当前查询组所有从机的数据查询结果之后,主机向下一个查询组发送对应的查询首地址,以逐组进行一对多数据查询;
32、当得到所有查询组的数据查询结果之后,主机完成本轮的一对多数据查询,并进入下一轮的一对多数据查询。
33、进一步地,还包括:
34、从机等待主机的查询指令;
35、若当前从机接收到所述查询指令,判断当前查询首地址是否为本机地址;
36、若为本机地址,当前从机则向主机回复应答信息,当前从机所在查询组内的其他从机按照预设间隔时间依次回复应答信息;
37、若不是本机地址,当前从机则判断当前查询地址是否为本机所在查询组的查询首地址,若否,则返回继续等待主机的查询指令,若是,则接收主机发起的一对一数据查询。
38、进一步地,所述接收主机的一对一数据查询,具体为:
39、当前从机获取主机所发送的前一个查询指令,并判断所述前一个查询指令是否为本机所在查询组的查询首地址加1;
40、若是,当前从机则返回继续等待主机的查询指令;
41、若否,当前从机则启动从机定时器,并当所述从机定时器溢出时,向主机回复应答信息。
42、进一步地,所述从机向主机回复的应答信息为探测器状态,包括正常状态和故障状态。
43、本专利技术的有益效果体现在:采用主机一次查询多个从机的数据分组查询方法,根据从机地址划分查询组并设置查询首地址,主机向查询组依次发送对应查询首地址,以逐组对每个查询组内的从机进行一对多数据查询,若接收到当前查询组中所有从机的应答信息则得到数据查询结果,若没有接收到当前查询组中所有从机的应答信息,主机则基于上一轮的数据查询结果向当前查询组内的从机逐个发起一对一数据查询,以定位故障从机,以此循环,直至完成对所有查询组内从机的数据查询,查询一轮所用时间短,解决了一对一轮询机制所导致的查询延迟时间大等问题,提高了数据查询速度,效率高。
本文档来自技高网...【技术保护点】
1.一种基于周界探测器的数据查询方法,其特征在于,应用于主机和从机,所述从机为探测器,步骤包括:
2.根据权利要求1所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机根据从机地址划分多个查询组并设置查询首地址,具体为:
3.根据权利要求2所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机根据所述查询首地址依次向查询组发送查询指令,并启动主机定时器,以对从机进行本轮一对多数据查询,具体为:
4.根据权利要求2所述的一种基于周界探测器的数据查询方法,其特征在于,所述若否,主机基于所述主机定时器根据上一轮的数据查询结果发起一对一数据查询,以确定本轮当前查询组的故障从机,得到数据查询结果,具体为:
5.根据权利要求4所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机向当前查询组内的从机发起一对一数据查询,包括:
6.根据权利要求5所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机向当前查询组内的从机发起一对一数据查询,还包括:
7.根据权利要求1所述的一种基于周界探测器的数据查
8.根据权利要求2所述的一种基于周界探测器的数据查询方法,其特征在于,还包括:
9.根据权利要求8所述的一种基于周界探测器的数据查询方法,其特征在于,所述接收主机的一对一数据查询,具体为:
10.根据权利要求1-9任一项所述的一种基于周界探测器的数据查询方法,其特征在于,所述从机向主机回复的应答信息为探测器状态,包括正常状态和故障状态。
...【技术特征摘要】
1.一种基于周界探测器的数据查询方法,其特征在于,应用于主机和从机,所述从机为探测器,步骤包括:
2.根据权利要求1所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机根据从机地址划分多个查询组并设置查询首地址,具体为:
3.根据权利要求2所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机根据所述查询首地址依次向查询组发送查询指令,并启动主机定时器,以对从机进行本轮一对多数据查询,具体为:
4.根据权利要求2所述的一种基于周界探测器的数据查询方法,其特征在于,所述若否,主机基于所述主机定时器根据上一轮的数据查询结果发起一对一数据查询,以确定本轮当前查询组的故障从机,得到数据查询结果,具体为:
5.根据权利要求4所述的一种基于周界探测器的数据查询方法,其特征在于,所述主机向当前查询组内的从机发起一...
【专利技术属性】
技术研发人员:黄当征,
申请(专利权)人:北京玄天智联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。