自动分址方法、显示终端和模块终端的制作方法

文档序号:9581888阅读:376来源:国知局
自动分址方法、显示终端和模块终端的制作方法
【技术领域】
[0001]本发明涉及空调器领域,具体而言,涉及一种自动分址方法、显示终端和模块终端。
【背景技术】
[0002]对于模块化的空调冷水机组,控制系统中各模块之间采用拨码开关来进行地址区分,出厂时拨码开关拨的地址都一样,在安装调试时人工进行地址的拨码。
[0003]通常拨码开关表示的是二进制码,需要安装调试人员会利用二进制码来调节拨码开关,但是调试人员的参差不齐,有时会因为拨码漏拨或拨错导致机组出现通讯故障。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0005]本发明实施例提供了一种自动分址方法、显示终端和模块终端,以至少解决由于人工调试时拨码漏拨或拨错导致机组出现通讯故障的技术问题。
[0006]根据本发明实施例的一个方面,提供了一种自动分址方法,包括:至少两个模块终端与显示终端通过无主从的CAN总线通信,所述方法包括:模块终端在监听完所述显示终端发送的一轮地址分配数据后,根据所述地址分配数据为其分配地址,得到目标地址;所述模块终端向所述总线发送所述目标地址,以供所述显示终端进行地址验证;所述模块终端监听所述显示终端发送的确认请求;如果监听到所述确认请求,则将所述目标地址作为其自身的地址;如果没有监听到所述确认请求,则返回在监听完所述显示终端发送的一轮地址分配数据后根据所述地址分配数据为其分配地址的步骤。
[0007]根据本发明实施例的另一方面,还提供了一种自动分址方法,包括:至少两个模块终端与显示终端通过无主从的CAN总线通信,所述方法包括:所述显示终端向所述总线发送一轮地址分配数据后,通过所述总线获取模块终端发送的响应数据,其中,所述响应数据携带目标模块终端为其自身分配的目标地址,所述目标模块终端为所述至少两个模块中的任意一个终端;所述显示终端根据获取到的响应数据验证所述目标模块终端是否成功分配地址;在所述目标模块终端的地址分配成功的情况下,所述显示终端根据所述目标地址发送分配成功的指示信息;在所述目标模块终端的地址分配失败的情况下,返回所述显示终端向所述总线发送一轮地址分配数据的步骤。
[0008]根据本发明实施例的另一方面,还提供了一种模块终端,包括至少两个模块终端与显示终端通过无主从的CAN总线通信,所述模块终端包括:分配单元,用于在监听完所述显示终端发送的一轮地址分配数据后,根据所述地址分配数据为其分配地址,得到目标地址;第一地址发送单元,用于向所述总线发送所述目标地址,以供所述显示终端进行地址验证;第一监听单元,用于监听所述显示终端发送的确认请求;确定单元,用于在监听到所述确认请求时,将所述目标地址作为其自身的地址;第一调用单元,用于在没有监听到所述确认请求时,调用所述分配单元。
[0009]根据本发明实施例的另一方面,还提供了一种显示终端,至少两个模块终端与显示终端通过无主从的CAN总线通信,所述显示终端包括:获取单元,用于向所述总线发送一轮地址分配数据后,通过所述总线获取模块终端发送的响应数据,其中,所述响应数据携带目标模块终端为其自身分配的目标地址,所述目标模块终端为所述至少两个模块中的任意一个终端;验证单元,用于根据获取到的响应数据验证所述目标模块终端是否成功分配地址;指示发送单元,用于在所述目标模块终端的地址分配成功的情况下,所述显示终端根据所述目标地址发送分配成功的指示信息;数据调用单元,用于在所述目标模块终端的地址分配失败的情况下,调用所述获取单元。
[0010]在本发明实施例中,采用模块终端在监听完显示终端发送的一轮地址分配数据后,根据地址分配数据为其分配地址,得到目标地址;模块终端向总线发送目标地址,以供显示终端进行地址验证;模块终端监听显示终端发送的确认请求;如果监听到确认请求,则将目标地址作为其自身的地址;如果没有监听到确认请求,则返回在监听完显示终端发送的一轮地址分配数据后根据地址分配数据为其分配地址的步骤的方式,解决了由于人工调试时拨码漏拨或拨错导致机组出现通讯故障的技术问题。
【附图说明】
[0011]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012]图1是根据本发明实施例的控制系统的示意图;
[0013]图2是根据本发明实施例1的自动分址方法的流程图;
[0014]图3是根据本发明实施例1优选的自动分址方法的流程图;
[0015]图4是根据本发明实施例2的自动分址方法的流程图;
[0016]图5是根据本发明实施例2优选的自动分址方法的流程图;
[0017]图6是根据本发明实施例3的模块终端的示意图;
[0018]图7是根据本发明实施例4的显示终端的示意图。
【具体实施方式】
[0019]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0020]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0021]实施例1
[0022]根据本发明实施例,提供了一种自动分址方法的方法实施例,该自动分址方法可以应用在如图1所示的控制系统中。如图1所示,至少两个模块终端与显示终端通过无主从的CAN总线进行通讯,一个模块发出的数据能同时被该CAN总线中的其他模块接收。因此,当显示终端向总线发送数据时,模块终端都会监听到该数据并进行回复。同时,一个模块终端发出的数据也会被其他模块终端监听到。该实施例就是根据CAN总线的上述原理,多个模块终端都回复显示终端发送的地址分配数据,每个模块终端回复的延时时间可以通过随机数来决定,显示终端根据延时时间的时间差来错开各个模块终端的回复数据,从而实现了地址分配。
[0023]随机数产生说明:由于不同模块终端上使用的晶振个体是有差异的,每个晶振之间都有一定的基准频率偏差,使用晶振时钟产生的累加数就会随着时间的增加而有区别,使用时钟累加变量作为产生伪随机数的种子就使同一程序在不同的模块终端上获取的伪随机数的冲突概率较小,而且随着时间的不断向前推移,获取的伪随机数的冲突概率也越来越小,也就是多个模块终端之间采用相同延时时间的概率较小,能够快速为多个模块终端分配地址。
[0024]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。实施例1中的步骤可以由模块终端来执行。
[0025]图2是根据本发明实施例1的自动分址方法的流程图,如图2所示,该方法包括如下步骤:
[0026]步骤S202,模块终端在监听完显示终端发送的一轮地址分配数据后,根据地址分配数据为其分配地址,得到目标地址。
[0027]步骤S204,模块终端向总线发送目标地址,以供显示终端进行地址验证。
[0028]步骤S206,模块终端监听显示终端发送的确认请求。
[0029]步骤S208,如果监听到确认请求,则将目标地址作为其自身的地址。如果没有监听到确认请求,则返回在监听完显示终端发送的一轮地址分配数据后根据地址分配数据为其分配地址的步骤。
[0030]模块终端能够通过CAN总线监听到显示终端发送给所有模块终端的地址分配数据,模块终端在监听到显示终端完成一轮地址分配数据的发送后,从没有被占用的地址中查找最小的地址作为目标地址。由于模块终端能够通过CAN总线监听到所有经过该CAN总线传输的数据,也包括其他模块发送给显示终端的地址,因此,模块终端能够分辨哪些地址已经占用,哪些地址没有被占用,并从没有被占用的地址中选择一个最小的一个作为自己的地址,得到目标地址。模块终端所采用的地址可以是二进制数字编码,可以根据CAN总线上连接的模块终端的数量来分配二进制数字编码的位数。即可选地,模块终端在监听完显示终端发送的一轮地址分配数据后,根据地址分配数据为其分配地址,得到目标地址包括:模块终端监听总线中传输的已占用地址的数据;模块终端根据已占用地址的数据从地址分配数据中查找未被使用的最小地址;模块终端将查找到的地址作为目标地址。
[0031 ] 在模块终端为自己分配完地址之后,将分配的地址发送到CAN总线,这样CAN总线中的所有模块终端和显示终端都能够收到该地址。显示终端对该地址进行验证,以避免与其他模块终端的地址产生重复或者冲突,也能够使其他模块终端在选择地址避开该模块终端已经选择的地址。显示终端验证目标地址与其他模块的地址不重复时,发出确认请求以便模块终端知道其是否成功分配地址。如果根据确认请求指导模块终端的地址分配成功,则将目标地址作为其自身的地址,否则,重新监测显示终端发出的下一轮地址分配数据,重新获取分配数据并进行验证,直到其成功分配地址。显示终端向CAN总线发送多次地址分配数据,发送的次数与模块终端的个数相同,当向所有的模块终端都发送地址分配数据后,一轮地址分配数据发送完成。
[0032]在该实施例中,根据无主从CAN总线的数据可以由多个终端同时接收的原理,使得每个模块终端为自己分配地址,并且使其他模块终端知道哪些地址已经被占用,实现了自动分配地址,同时,采用显示终端和模块终端对模块终端分配的地址进行验证以保证模块终端分配地址的准确性,从而解决了现有技术中由于人工调试时拨码漏拨或拨错导致机组出现通讯故障的技术问题,进而达到了准确分址避免通讯故障的技术效果。
[0033]以图1为例进行说明。
[0034]显示终端A向模块终端B1、模块终端B2、……模块终端Bn分别发送地址分配数据,当模块终端B1监听到所有的地址分配数据都发送完毕之后,模块终端B1为自己分配地址。如果CAN总线中传输有模块终端B2的地址,则模块终端B1在监听到模块终端B2的已占用地址的信息,在分配地址时会避开从模块终端B2的地址,从而避免了与模块终端B2的地址相同而造成冲突。
[0035]显示终端A从CAN总线中接收到每个模块终端发送的地址,并验证是否有重复的地址,在没有重复的地址的情况下确定该轮地址分配成功,否则该轮地址分配失败,重新进行下一轮的地址分
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1