一种确定节点设备网络地址的方法、节点设备和控制系统与流程

文档序号:11594375阅读:157来源:国知局

【技术领域】

本发明涉及网络节点设备控制技术领域,特别是涉及一种确定节点设备网络地址的方法、节点设备和控制系统。



背景技术:

在大型楼宇中或者设备内部,经常会会出现多节点设备进行通信,或者出现总控制器需要对各节点设备进行控制和操作的情况,总线技术作为一种常用的设备控制技术,在这些场景中应用非常广泛。以can控制器局域网络(controllerareanetwork)为例,其在汽车计算机控制系统中、在空调控制系统中以及在其他智能家居控制系统中,都有非常广泛的应用。

我们以can总线在空调系统中的应用为例,如图1所示,为现有技术中的空调系统架构图,包括系统1和系统2,系统1中包括外机、内机等,外机作为主机,内机作为子机,外机为主机分配地址,所述地址为系统内唯一的地址,并控制子机进行日常的操作。外机和所有内机都通过can总线进行通信。

通常情况下,同一空调通信网络,所有设备网络地址必须具备唯一性才能保持正常通信。现有技术中,网络地址分配方式一般采用如下两种方式:

1.人工拨码:

通过设备主板上拨码开关进行设备地址设置,此种方式操作简单,但是扩展性差,当设备节点较多时,需要增加转接板,并且由于是人工拨码,存在拨码错误导致设备地址冲突而无法正常通信。

2.自动寻址

每台设备主板上都安装mac地址芯片,根据mac地址的唯一性,由系统中的主机设备对子机进行分配,如专利号为cn200910106479.6所提到的,通过主机进行地址分配。此种方式无需人工设置则可以进行自动分配,并且容易扩展,很好解决扩展性问题,但是由于设备网络地址是由主机分配的,如果总线主机掉线、主机异常等,则其它节点设备由于无法获取设备网络地址而导致通信故障,系统无法正常工作。

鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。



技术实现要素:

本发明实施例要解决的技术问题是提供一种确定节点设备网络地址的方法,包括:

接收节点设备发送的mac地址信息;

将接收到的mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配;

根据所述匹配结果确定所述节点设备的网络地址。

本发明实施例进一步要解决的技术问题是提供一种节点设备,包括:

地址信息发送模块:用于向总线上的节点设备发送自身的mac地址信息;

地址信息接收模块:用于接收节点设备发送的mac地址信息;

网络地址分配模块:用于将地址信息接收模块接收到的所有mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配,根据所述匹配结果将所述网络地址分配给该节点设备。

本发明实施例进一步要解决的技术问题是提供一种节点设备控制系统,包含至少一个上述节点设备,所述节点设备通过can总线连接。

与现有技术相比,本发明实施例通过各节点设备自己计算和分配网络地址,从而提升了机组使用寿命以及利用率,当某台设备的损坏不会影响其它设备的正常工作,提升了系统的容错能力和使用效率。

【附图说明】

图1是现有技术中提供的一种网络节点控制系统图;

图2是本发明实施例一提供的一种确定节点设备网络地址的方法流程图;

图3是本发明实施例二提供的一种确定节点设备网络地址的方法流程图;

图4是本发明实施例三提供的一种确定节点设备网络地址的方法流程图;

图5是本发明实施例四提供的一种确定节点设备网络地址的方法流程图;

图6是本发明实施例五提供的一种节点设备结构图;

图7是本发明实施例六提供的一种节点设备结构图;

图8是本发明实施例七提供的一种节点设备结构图;

图9是本发明实施例八提供的一种节点设备结构图;

图10是本发明实施例九提供的一种节点设备控制系统示意图。

【具体实施方式】

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

实施例1:

本发明实施例1提供了一种确定节点设备网络地址的方法,如图2中方法200所示,包括:

步骤s202:接收节点设备发送的mac地址信息;

当整机上电,或者系统进入寻址时,系统中的所有节点设备都会将自身的mac地址信息发送到系统总线上,同时,接收其他节点设备发送的mac地址信息。所述mac地址信息为节点设备的唯一物理识别号码,如:44-45-53-54-00-00,所述mac地址信息是世界上唯一的一个序列号,以便区分不同的设备。

步骤s204:将接收到的mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配;

节点设备从总线上接收到其他节点设备发送的mac地址信息后,将自身的mac地址信息放在一起,进行汇集,收到一个mac地址,进行一次排序,直到不再收到mac地址为止。

节点设备将节点设备地址池中的网络地址,进行排序,将其和mac地址信息进行一对一的匹配。

所述网络地址为简化的、方便系统识别的逻辑地址,因为mac地址的复杂性,对节点设备来说占用的空间比较大,因此,人们往往通过转换后的网络地址来对节点设备进行标识,所述网络地址在本系统内也必须是唯一的。

可选的,上述节点设备地址池为预先设定存储的节点设备网络地址序列集合,比如一连串的不同的数字符号等,也可以是按照预先设定的规则生成的节点设备网络地址序列集合,比如:通过计算公式得到不重复的数字等。

假设本节点设备的mac地址信息为:44-45-53-54-00-00,接收到4个mac地址信息,分别为44-45-53-54-00-01、44-45-53-54-00-02、44-45-53-54-00-03、44-45-53-54-00-04,则对mac地址进行从大到小排序为:

44-45-53-54-00-04、44-45-53-54-00-03、44-45-53-54-00-02、44-45-53-54-00-01、44-45-53-54-00-00。节点设备地址池中存储的网络地址为:a,b,c,d,e,对网络地址进行从大到小的排序为:e,d,c,b,a,则一对一的匹配结果如下:

当然,也可以不采用排序的方式,而采用其他的方式对地址进行一对一匹配,需要指出的是,所有节点设备都需要按照相同的规则进行匹配,这样得出的网络地址才是一致的。

步骤s206:根据所述匹配结果确定所述节点设备的网络地址。

根据步骤204中的匹配结果,在节点设备中,能够得出所有节点设备的网络地址,也可以直接确定该节点设备的网络地址。

本发明实施例一提供的确定节点设备网络地址的方法,可以适用于图1所示的系统中,在该系统中,所述外机可以不是控制中心,所有的节点设备都可以不是控制中心,不需要专门的控制中心进行地址分配。通过本发明实施例一提供的方法,各节点设备自己计算系统中各节点设备的网络地址,从而在工程安装时不需要人为设置主机进而减少安装步骤,提升了工程安装效率。同时,由于采用无主通信结构,各节点设备自己计算和分配网络地址,从而提升了机组使用寿命以及利用率,当机组存在多台设备时,某台设备的损坏不会影响其它设备的正常工作。

实施例2:

本发明实施例2提出一种确定节点设备网络地址的方法,如图3中方法300所示,包括:

步骤s301:向总线上的节点设备发送mac地址信息请求消息;

当整机上电,或者系统进入寻址时,节点设备向总线上的节点设备发送mac地址信息请求消息,接收到该mac地址信息请求消息的所有节点设备,发送自身的mac地址信息给该节点设备。

当系统工作过程中,有新的节点设备接入时,该节点设备通过发送mac地址信息请求而得到其他节点设备的mac地址,这样可以避免节点设备不停的发送mac地址信息,只需要在接收到mac地址请求后,才发送该信息。

当然,可选的,当节点设备上电时,节点设备向总线上发送mac地址信息广播消息,将自身的mac地址信息发送给总线上的其它节点设备,这样,系统中的每台节点设备都能在系统上电时,自动收到mac地址信息,减少了系统的交互,提升了系统工作效率。

当然,上述两种mac地址发送方式,可以结合起来使用,比如在系统上电时,采用广播的方式,向各节点设备发送mac地址信息,在系统运行过程中,如果有新节点设备加入,则新节点设备采用主动发送mac地址信息请求的方式获取其他节点设备的mac地址信息。

步骤s302:接收节点设备发送的mac地址信息;

该步骤的工作方式同步骤s202,在这里不再赘述。

步骤s304:将接收到的mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配;

该步骤的工作方式同步骤s204,在这里不再赘述。

步骤s306:根据所述匹配结果确定所述节点设备的网络地址。

该步骤的工作方式同步骤s206,在这里不再赘述。

本发明实施例二提供的确定节点设备网络地址的方法,通过节点设备主动发送mac地址信息请求消息或主动广播自身mac地址信息的方式,获取其他节点设备的mac地址,提升了系统的整体工作效率,适应了节点设备加入系统的多样性。

实施例3:

本发明实施例三提供了一种确定节点设备网络地址的方法,如图4中300所示的方法,包括:

步骤s401:向总线上的节点设备发送mac地址信息请求消息;

该步骤的工作方式同步骤s301,在这里不再赘述。

步骤4021:启动定时器;

当节点设备发送地址信息请求后,启动定时器,该定时器用于确定节点设备是否继续接收总线上的其它节点设备的mac地址信息。该定时器的定时时长有节点设备自行设定,也可以由系统统一设定。

当然,这里也可以不用定时器,比如:节点设备确定接收到所有节点设备的mac地址信息后,就自动停止接收;或者,节点设备超过预定时间内没有再接收到mac地址信息时,就自动停止接收。

步骤s4022:接收节点设备发送的mac地址信息;

节点设备接收到发送的mac地址信息后,判断定时器是否结束,如果没有结束,则继续接收;如果结束,则停止接收。

通过增加定时器,避免了节点设备长时间等待mac地址信息,造成资源的浪费。若系统出现异常情况,即节点设备未收到其他节点设备发送的mac地址信息,此时,该节点设备通过定时器判断在该时间内进行其他节点设备的mac地址获取的过程是否结束。

步骤s404:将接收到的mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配;

该步骤的工作方式同步骤s304,在这里不再赘述。需要强调的是,如果在步骤s4022中,定时器结束时,没有接收到任何节点设备的mac地址信息,则在地址池中选取任一地址作为自身的网络地址,比如:最小网络地址。

步骤s406:根据所述匹配结果确定所述节点设备的网络地址。

该步骤的工作方式同步骤s306,在这里不再赘述。

本发明实施例通过增加定时器,避免了节点设备长时间等待mac地址信息,造成资源的浪费。

实施例4:

本发明实施例四提供一种确定节点设备网络地址的方法,如图5中方法500所示流程图,包括:

步骤s501:向总线上的节点设备发送mac地址信息请求消息;

该步骤的工作方式同步骤s406,在这里不再赘述。

步骤s5021:启动定时器;

该步骤的工作方式同步骤s4021,在这里不再赘述。

步骤s5022:接收节点设备发送的mac地址信息;

该步骤的工作方式同步骤s4022,在这里不再赘述。

步骤s5041:确定mac地址信息的数量,并将所述mac地址信息进行排序;

当节点设备接收完毕所有节点设备的mac地址信息时,确定接收到的mac地址信息的数量,并将所述mac地址信息进行排序。

可选的,当所述节点设备包括多种类型时,将所述mac地址信息按设备类型进行分组,确定各分组的mac地址信息的数量,并将mac地址信息在分组内进行排序。比如:在系统内有制冷空调设备、有冷暖空调设备,需要对两者进行分别控制时,则需要将地址进行区分。

步骤s5042:根据所述mac地址信息的数量,从所述节点设备地址池中选出相应数量的网络地址,并将所述网络地址进行排序;

根据mac地址信息的数量,判断节点设备的数量,进而从节点设备地址池中选出相同数量的网络地址,比如有5台节点设备,则列出5个网络地址供节点设备使用。并将所述选出的网络地址进行排序。

可选的,当mac地址有分组时,则根据所述mac地址信息分组,从所述节点设备地址池中选出相应数量的网络地址,并将所述网络地址在分组内进行排序,既以分组的方式对网络地址进行分配。比如:44-45-53-54-00-00,44-45-53-54-00-01,44-45-53-54-00-02为制冷空调,4a-45-53-54-00-00,4a-45-53-54-00-01,4a-45-53-54-00-02为冷暖空调,则将其分为两组,在选择网络地址时,比如讲1,2,3分配给制冷空调组,讲a,b,c分配给冷暖空调组,这样系统就可以根据网络地址区分设备。

步骤s5043:根据所述mac地址信息的排序和所述网络地址的排序,进行一对一匹配;

所有节点设备都根据同样的规则,对所述mac地址信息进行排序,对所述网络地址进行排序,并根据排序,进行一对一匹配,比如:

当有分组时,同样按照分组的方式,对网络地址进行分配,比如:

步骤s506:根据所述匹配结果确定所述节点设备的网络地址。

需要说明的是,本发明实施例中,所述步骤s5041、s5042、s5043中只是给出了排序的一种方式,也可以采用其他方式,只要保证各个节点设备采用同样的规则,并且,该规则计算出来的网络地址时唯一的,就可以了。

本发明实施例通过简单的排序方式,实现了从mac地址到网络地址的映射,方式非常简单,使每台节点设备都能够自主完成自身网络地址的确定,解决了以往系统中需要一台主机进行地址分配的问题,大大提升了系统的可靠性和容错能力。

实施例5:

本发明实施例五提供了一种节点设备600,如图6所示,包括:

地址信息发送模块602:用于向总线上的节点设备发送自身的mac地址信息;

地址信息接收模块604:用于接收节点设备发送的mac地址信息;

网络地址分配模块606:用于将地址信息接收模块接收到的所有mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配,根据所述匹配结果将所述网络地址分配给该节点设备。

所述地址信息发送模块602用于向总线上的其它节点设备发送自身的mac地址信息,以便其它节点设备能够知悉自身的mac地址,同时,也通过地址信息接收模块接收其他节点设备发送的其它节点设备的mac地址信息,网络地址分配模块606对该节点设备的mac地址信息,以及所有其他节点设备的mac地址信息进行汇集,将其和节点设备地址池中的网络地址进行一对一的映射,从而确定系统中所有节点设备的网络地址,也即自身的网络地址。

本发明实施例提供的节点设备,可以适用于图1所示的系统中,在该系统中,所述外机即节点设备,可以不是控制中心,所有的节点设备都可以不是控制中心,不需要专门的控制中心进行地址分配。通过本实施例提供的节点设备,各节点设备自己计算系统中各节点设备的网络地址,从而在工程安装时不需要人为设置主机进而减少安装步骤,提升了工程安装效率。同时,由于采用无主通信结构,各节点设备自己计算和分配网络地址,从而提升了机组使用寿命以及利用率,当机组存在多台设备时,某台设备的损坏不会影响其它设备的正常工作。

实施例6:

在实施例五的基础上,本发明实施例六提供了另外一种节点设备700,包括:

地址信息请求模块701:用于向总线上的节点设备发送mac地址信息请求消息;

地址信息发送模块702:用于向总线上的节点设备发送自身的mac地址信息;

地址信息接收模块704:用于接收节点设备发送的mac地址信息;

网络地址分配模块706:用于将地址信息接收模块接收到的所有mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配,根据所述匹配结果将所述网络地址分配给该节点设备。

该节点设备700增加了地址信息请求模块701,通过该模块,节点设备可以主动向总线发送地址信息请求,以主动获取其他节点设备的mac地址信息。当然,其他节点设备接收到该节点设备发送的地址信息请求消息时,其他节点设备会主动向总线发送mac地址信息。

可选的,地址信息发送模块702还可以总线发送mac地址广播消息,将自身的mac地址信息发送给总线上的其它节点设备,这样,系统中的每台节点设备都能在系统上电时,自动收到mac地址信息,减少了系统的交互,提升了系统工作效率。

通过上述节点设备,两种mac地址获取和发送方式,可以结合起来使用,比如在系统上电时,采用广播的方式,向各节点设备发送mac地址信息,在系统运行过程中,如果有新节点设备加入,则新节点设备采用主动发送mac地址信息请求的方式获取其他节点设备的mac地址信息。

本发明实施例六提供的节点设备,通过增加地址信息请求模块,获取其他节点设备的mac地址,提升了系统的整体工作效率,适应了节点设备加入系统的多样性。

实施例7:

在实施例六的基础上,本发明实施例七提供了另外一种节点设备800,包括:

地址信息请求模块801:用于向总线上的节点设备发送mac地址信息请求消息;

地址信息发送模块802:用于向总线上的节点设备发送自身的mac地址信息;

地址信息接收模块804:用于接收节点设备发送的mac地址信息;

定时模块805:用于向地址信息接收模块发送定时结束消息,使地址信息接收模块根据所述定时结束消息,停止接收mac地址信息;该定时模块805与地址信息接收模块804和网络地址分配模块806连接,用于向节点设备接收mac地址信息提供定时功能,节点设备接收到发送的mac地址信息后,判断定时器是否结束,如果没有结束,则继续接收;如果结束,则停止接收。

通过增加定时器,避免了节点设备长时间等待mac地址信息,造成资源的浪费。若系统出现异常情况,即节点设备未收到其他节点设备发送的mac地址信息,此时,该节点设备通过定时器判断在该时间内进行其他节点设备的mac地址获取的过程是否结束。

网络地址分配模块806:用于将地址信息接收模块接收到的所有mac地址信息和自身mac地址信息与节点设备地址池中的网络地址进行一对一匹配,根据所述匹配结果将所述网络地址分配给该节点设备。

本发明实施例通过增加定时模块805,避免了节点设备长时间等待mac地址信息,造成资源的浪费。

实施例8:

在本发明实施例七的基础上,本发明实施例八提供了一种节点设备900,如图9所示,在实施例七的基础上,所述网络地址分配模块906进一步包括:

mac地址信息排序单元9061:用于确定所有mac地址信息的数量,并将所述mac网络地址信息进行排序;

网络地址信息排序单元9062:用于根据所述mac地址信息的数量,从所述节点设备地址池中选出相应数量的网络地址,并将所述网络地址进行排序。

所述mac地址信息排序单元9061和网络地址信息排序单元9062的工作方式如步骤s5041-s5043所述,在这里不再赘述。

通过本实施例提供的节点设备,通过简单的排序方式,实现了从mac地址到网络地址的映射,方式非常简单,使每台节点设备都能够自主完成自身网络地址的确定,解决了以往系统中需要一台主机进行地址分配的问题,大大提升了系统的可靠性和容错能力。

实施例9:

本发明实施例9还提供了一种节点设备控制系统,如图10所示,包含至少一个如实施例5-8所述的节点设备,节点设备通过can总线进行连接。

可选的,该系统中,包括节点设备1-10,各个节点设备通过can总线进行连接。在系统上电时,各节点设备进行上电,则各节点设备向can总线发送mac地址请求,并启动各自的定时器,当各节点设备接收到其他节点设备发送的mac地址请求时,则主动向总线发送自身的mac地址信息,节点设备不断接收其他节点设备发送的mac地址信息,直到定时器结束。

所有节点设备都独立的将接收到的mac地址信息和自身的mac地址进行汇集,计算出节点设备的数量,同时,从节点设备地址池中相应数量的网络地址,按照相同的规则,对mac地址信息和网络地址进行排序,然后进行一一映射,确保每个mac地址对应一个唯一的网络地址。由于各节点设备按照相同的规则进行映射,因此,每个节点设备都独立的进行了网络地址的计算,而且地址都是一样的,因此,每个节点设备都独立的获取了自身的网络地址,并利用该地址进行节点之间的通信。

当系统中某一个节点设备故障时,其他节点设备可以独立的进行地址计算,因此,不会对系统造成任何影响。

若在节点设备一定时间内未接收到任何其他节点设备的mac地址,则此时停止接收,默认自身网络地址为最小地址,直到总线上出现新的mac地址信息,再根据mac地址信息重新计算自身网络地址。

本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可以被一个或多个节点设备,或cpu处理设备执行。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件的方式来实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制。在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1