控制网络中数据寻址和转发的方法及系统
技术领域
本发明涉及楼宇建筑和现代家居的建筑自动化系统,特别是涉及一种末端对等控制网络中数据寻址和转发的方法及系统。
背景技术
智能化是楼宇建筑和现代家居发展的一种趋势。随着建筑功能的扩展,当前智能建筑控制内容越来越多,控制程度也越来越复杂。为满足建筑环境要求、降低能耗、提高住宅舒适度和实现建筑的科学管理,建筑自动化系统(BuildingAutomation System,BAS)应运而生,通常认为建筑自动化系统是对建筑物机电系统进行自动检测、自动控制、自动调节和自动管理的系统。所谓建筑物机电系统,通常包括:采暖空调系统(Heating,Ventilating and Air Conditioning,HVAC)、冷热源系统、给排水系统、照明系统、安防系统,以及家庭内部的电器、照明系统等。
现在,越来越多的计算机芯片被嵌入到机电设备当中。可编程的数字控制器已取代了模拟控制器;具备数字通信功能的“智能”设备也日益广泛地应用在建筑自动化系统中。建筑自动化系统中可通信的设备日益增多,分布日趋分散,基于通信网络实现建筑自动化系统设备间的协调管理已经成为不可回避的潮流与方向。
然而,建筑自动化系统中各个部分涉及的行业可能采用不同的通信技术标准,并且采用不同通信标准的系统设备间往往是不能直接通信的。因此如何让采用不同通信标准的末端设备在网络中充分互联互通成为各种通信技术应用在建筑自动化系统中所面临的主要课题。
下面对相关技术分部分进行介绍。
(一)作为基础,以下先对控制网络中信息节点的概念和系统设备类型做简要介绍。
1)从逻辑的角度,在控制网络中传输的信息可以抽象分类为:
反映建筑系统运行状态或机电设备运行状态的测量值;
对某些具体参数的设定,描述该参数控制调节的预期状态的设定值;
与控制调节功能没有直接联系,而与系统管理、配置和优化相关的系统信息。
2)根据上述信息类型的抽象,可以将控制网络中的信息节点做如下分类:
测量源:只产生测量值信息的节点;
测量汇:只接收测量值信息的节点;
设定源:只产生设定值信息的节点;
设定汇:只接收设定值信息的节点;
设定值加工节点:根据接收信息产生设定值信息的节点。接收的信息可以是测量值也可以是设定值。在接收侧设定值加工节点可以等效为测量汇/设定汇节点,在发送侧设定值加工节点可以等效为设定源节点;
测量值加工节点:根据接收信息产生测量值信息的节点。接收的信息可以是测量值也可以是设定值。在接收侧测量值加工节点可以等效为测量汇/设定汇节点,在发送侧测量值加工节点可以等效为测量源节点;
管理节点:可以产生和/或接收测量值、设定值、系统信息等多种信息的节点。管理节点可以等效为源节点和汇节点的集合。
3)系统设备按照功能可以分为如下一些类型:
传感器:通常实现测量建筑环境参数、测量系统设备运行状态的功能。通常传感器可以等效为测量源节点;
执行器:实现将控制系统产生的调节指令转化为实际的机械或电气动作,调节建筑系统的运行状态;通常没有反馈的执行器可以等效为设定汇,有反馈的执行器可以等效为设定汇和测量源的组合。
控制器:调节执行器动作,协调管理建筑自动化系统设备工作的设备;控制器根据控制算法实现的方法和环节不同可以等效为设定值加工节点、测量值加工节点、设定源、管理节点等。
数据库/管理中心:用来存储系统运行过程中测量值、设定值的变化,为分析优化建筑系统运行提供依据。
(二)以下,以一个简单的空调控制系统为例对建筑楼宇的控制网络进行描述。图1为网络设备和信息节点之间对应关系的示意图,图中对系统中设备和信息节点之间的对应关系进行了对照说明。如图1所示,风机控制器和冷机控制器同时接收来自温度传感器和湿度传感器采集的温湿度数据,使用这两个测量值以及风机和冷机反馈的状态信号(测量值)通过内部的控制运算法则,分别计算出向冷机和风机发出的控制信号(设定值)。同时为了监控系统的运行状况,温/湿度传感器将测量的数值发送给一台系统监控服务器、风/冷机也同时将自己收到的控制信号发送给该系统监控服务器。可见,在这个系统中温湿度传感器可以等效为测量源,冷/风机控制器可以等效为设定值的加工节点(其输入为三个测量值),冷/风机可以等效为设定汇、测量源和设定源的节点子集。监控服务器可以等效为一个管理节点。图1所示的只是逻辑上的各个设备之间的连接关系。物理上传感器、执行器和控制器之间如何连接以实现数据在设备之间的传输有很多不同的方案。
(三)以下,对现有技术的建筑楼宇控制网络进行介绍。
目前,工/商业应用中大部分控制系统中典型的连接方式还是集中化体系结构。传感器和执行器等系统末端设备被接线到辅助面板,然后再通过专用主/从通信总线连接到控制面板(控制器)。控制面板包括一个高性能微处理器,运行一个定制的应用程序,为连接在它上面的所有末端设备实施控制逻辑。在较大系统中,控制器可以在另一个专用通信总线上和其他控制器通信。系统末端设备通常是无智能的末端设备,也就是说,它们没有智能或通信能力。各个末端设备之间的通信、数据转发都通过对控制器的配置实现。每个系统必须有一个定制的应用程序。该应用软件使用专用编程语言和非标准的随制造商而异的软件工具来开发。不幸的是,制造商并不试图为工具或编程模式推行标准化。
这种集中式结构并不能在不同子系统中形成细致的无缝连接,不同子系统之间设备不能实现完整的通信(数据的寻址和转发)功能。它们仅允许有限的状态和控制信息在不同的子系统之间传输;末端设备之间并非总是可以访问;系统不能以整个系统状态为基础实时适合它们的响应。当然,可以通过使用网关和定制程序可以建立更复杂的控制系统,但它们通常不具有成本效应,而且系统的可靠性也将受损。一旦系统完成,用户就不能摆脱对提供网关和定制程序的厂商的依赖。
发明内容
本发明的目的是提供一种控制网络中数据寻址和转发的方法及系统,解决因集中式系统中末端设备之间的数据传输关系固定导致的系统结构封闭的缺点。
为了实现上述目的,本发明提供了一种控制网络中数据寻址和转发的方法,所述控制网络具有采用多种通讯协议的源、汇信息节点,其中,包括如下步骤:
步骤一,在交换服务器上设置具有源、汇信息节点地址对应关系的源汇表;
步骤二,将所述源信息节点发出的数据包按照预定的协议进行封装,并将封装数据包发送到所述交换服务器;
步骤三,所述交换服务器查询所述源汇表后,根据与所述源信息节点对应的汇信息节点的地址更新所述封装数据包的目的地址字段,并按照更新后的目的地址将所述封装数据包转发到所述汇信息节点。
上述的方法,其中,在所述步骤二中,所述预定的协议为以太网传输协议,在所述步骤三中,所述交换服务器是通过以太网交换机进行所述转发。
上述的方法,其中,所述源、汇信息节点位于所述控制网络的末端设备中。
上述的方法,其中,所述末端设备通过网关连接所述交换服务器,并且,在所述步骤二之前,所述末端设备的地址与所述网关的IP地址相绑定,所述网关具有符合以太网协议的接口,能够将末端设备的数据包按以太网协议封装后发送给交换服务器。
上述的方法,其中,所述末端设备直接连接到所述交换服务器,并且所述末端设备具有符合以太网协议的接口,能够直接按以太网协议将所述源信息节点发出的数据包进行封装后发送给所述交换服务器。
上述的方法,其中,所述源、汇信息节点地址对应关系中包括信息节点的地址形式为:对应网关的IP地址加上对应末端设备连接的网关端口的端口编号加上该信息节点的节点编号。
上述的方法,其中,所述源、汇信息节点地址对应关系地址表中包括信息节点的地址形式为:对应末端设备的IP地址加上该信息节点的节点编号。
上述的方法,其中,所述绑定包括:
步骤a,末端设备上电,向对应网关发送读取所述网关的IP地址及对应端口编号的请求命令;
步骤b,所述网关根据所述请求命令向所述末端设备返回所述网关的IP地址及所述对应端口编号,所述末端设备根据收到所述网关IP地址和所述端口编号确定所述末端设备中信息节点的地址;
步骤c,所述末端设备将所述信息节点发送的数据包都加入该信息节点的地址,从而完成所述末端设备与对应网关的地址绑定。
上述的方法,其中,还包括:如果所述末端设备发送的数据包没有得到来自所述对应网关的应答,则重新与所述对应网关绑定。
上述的方法,其中,还包括:所述末端设备每隔预定时间向所述网关发送存活命令,如果连续没有被所述网关应答的存活命令的数量超过预定阀值,则重新与所述网关绑定。
为了实现上述目的,本发明还提供了一种控制网络中数据寻址和转发的系统,所述控制网络具有采用多种通讯协议的源、汇信息节点,其中,包括:交换服务器、末端设备和网络交换机;所述末端设备用于,将所述源信息节点发出的数据包按照预定的协议进行封装,并将封装数据包发送到所述交换服务器;所述交换服务器用于,存储具有源、汇信息节点地址对应关系的源汇表,所述交换服务器收到所述封装数据包后,通过查询所述源汇表,根据与所述源信息节点对应的汇信息节点的地址更新所述封装数据包的目的地址字段,并按照更新后的目的地址将所述封装数据包转发到所述汇信息节点。
上述的系统,其中,所述预定的协议为以太网传输协议,所述网络交换机为以太网交换机。
为了实现上述目的,本发明又提供了一种控制网络中数据寻址和转发的系统,所述控制网络具有采用多种通讯协议的源、汇信息节点,其中,包括:交换服务器、网关、末端设备和网络交换机;所述末端设备绑定所述网关的IP地址;所述网关用于,将处于所述末端设备中的所述源信息节点发出的数据包按照预定的协议进行封装,并将封装数据包发送到所述交换服务器;所述交换服务器用于,存储具有源、汇信息节点地址对应关系的地址表,所述交换服务器收到所述封装数据包后,通过查询所述源汇表,根据与所述源信息节点对应的汇信息节点的地址更新所述封装数据包的目的地址字段,并按照更新后的目的地址将所述封装数据包转发到所述汇信息节点。
上述的系统,其中,所述预定的协议为以太网传输协议,所述网络交换机为以太网交换机。
本发明的技术效果在于:
本发明将数据的寻址和转发处理集中到网络中的交换服务器设备上,末端设备仅和对应的交换服务器进行简单通信,不对数据进行寻址,本发明实现了末端设备间数据的灵活转发,增加了网络的开放程度,同时本发明还简化了末端设备以及网络通信功能的复杂度,降低了末端设备的成本。
附图说明
图1为网络设备和信息节点之间对应关系的示意图;
图2为本发明实施例1提供的末端对等控制网络的组网形式;
图3为本发明末端设备与网关之间通信使用的数据包格式的示意图;
图4为本发明网关发送的数据包格式示意图;
图5为本发明交换服务器发送的应答包格式示意图;
图6为本发明交换服务器向汇信息节点发送的数据包格式示意图;
图7为本发明汇信息节点发送的应答包格式示意图;
图8为本发明实施例2提供的末端对等控制网络的组网形式。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明针对集中式系统中设备之间的数据传输关系固定,系统结构封闭的缺点,提出一种在末端对等的开放式系统结构上实现数据的寻址和转发的方法。使末端设备(传感器、控制器和执行器)充分实现互联互通,同时简化末端设备和网络的通信复杂度,降低末端设备的成本。
以下通过两个实施例来对本发明进行纤细的举例说明。
实施例1:
1)网络的结构
图2所示是末端对等的控制网络的一种组网形式:系统由末端设备、网关和交换服务器组成。网关负责连接各种末段设备,并将各种末端设备的数据封装成符合以太网传输协议的数据帧转发给交换服务器,交换服务器内存有末端设备中信息节点的源汇关系表,负责信息节点之间数据的寻址和转发。一个网关可以连接多个末端设备。一个交换服务器可以连接多个网关。网络中所有的交换服务器都连接到标准的以太网中,通过以太网交换机保持互联互通。网关和交换服务器之间,交换服务器和以太网交换机之间按照以太网协议进行通信,网关和末端设备之间按照RS-485串行通信协议进行通信。
2)地址的分配
进行网络通信的前提之一是为每个网络节点分配其在网络中的标示,即网络地址。在以太网中使用IP地址作为设备的网络标示是一种通用的方法。
在本发明的控制网络中,每一个网关和交换服务器都分配了IP地址。每一个末端设备的网络地址是通过其所连接网关的IP地址和该设备连接到该网关的RS485端口的编号联合确定的。比如,一个网关的IP地址是192.168.1.2,一个末端设备通过4号串行通信端口连接到该网关,则这个末端设备的网络地址即为192.168.1.2.4。如本发明上文所述,末端设备并不是控制网络中信息交互的最小单位,一个末端设备通常可以等效为多个信息节点的集合,每一个信息节点才是通信的最终信息源或者信息汇。因此在网络末端设备地址分配的基础上,本发明还要引入一个新的字节来标示信息节点。比如,如果上述这个末端设备可以等效为一个设定汇(执行器)和一个测量源(传感器)的节点子集,那么对这个设定汇可以编址为192.168.1.2.4.1,这个测量源可以编址为192.168.1.2.4.2。这样本发明用六个字节(IP地址四个字节、端口编号一个字节、信息节点编号一个字节)就可以为控制网络中的每一信息节点分配地址。
网关和交换服务器只用IP地址就可以标识,不需要端口和节点位。但是为了做到对网络中的通信节点统一编址,对网关和交换服务器的端口位和节点位填零补齐。比如一个网关的地址可以是192.168.1.2.0.0,一个交换服务器的地址可以是192.168.17.1.0.0。
3)末端设备地址的绑定
进行地址绑定的目的主要是为了让末端设备得到网关的IP地址,从而在数据帧中直接添加IP地址,避免网关进行添加,使得网关能够适应不同的通信协议,提高灵活性。
末端设备上电时需要进行绑定。先发送“末端设备读取网关IP地址及端口号”命令到网关,网关会回应“网关模块应答IP地址及端口号”命令给末端设备,完成绑定。地址绑定完成后,末端设备(节点)就可以通过网关向网络发送数据了。当末端设备主动发送的数据包没有得到网络的应答时,应重新读取网关的IP地址,因为网关的IP地址可能已经被修改了,而网关只允许包含的源IP地址与自己的IP地址一致的末端设备数据帧的转发。
另外,为了保证地址绑定的可靠性。每隔1分钟末端设备就会发送一次存活命令给网关,网关收到存活命令后回应存活应答给末端设备。如果末段设备连续发送的两个存活命令没有应答,则重新开始地址绑定过程。如果网关发现绑定的设备3分钟以上没有发送存活命令,则记录在案。
4)数据的寻址和转发
楼控和智能家庭网络与一般的计算机通信网络的一个重要不同点就是其发送数据的信息源和接收数据的信息汇之间的对应关系一般是相对简单而且固定的。比如灯与开关的对应关系,温湿度传感器和空调风机、冷机之间的对应关系等等。如果将这些末端设备之间的对应关系配置在控制网络中,那么末端设备只需要向网络发送数据而无需知道末端信息接收设备的位置,或者末端设备只需要从网络接收数据而无需知道末端信息发送设备的位置,即由网络中的设备实现对末端数据的寻址和转发,这样将会简化设备的通信功能,在降低末端设备成本的同时提高设备介入的通用性。
下面介绍具体的数据格式:
图3所示是末端设备与网关之间通信使用的数据包格式的示意图。一个数据包由18个字节的包头、长度不固定的应用层数据体和2字节的16位循环冗余码校验(CRC)组成。应用层数据体用来传输具体的控制数据,包括测量值、设定值和系统信息等,数据的长度根据不同设备类型而各不相同。16位循环冗余校验用于在接收侧检验数据的正确性。数据包头中包含了数据的类型、长度和地址等信息,用来实现数据的发送、寻址和接收。其字段意义如下:
1.包标识:0x55,标识一个新数据包的开始
2.长度:整个包中从协议版本开始到CRC16校验和的字节数,即整个包的长度减去3(不计包标识和长度字段)
3.版本:当前协议的版本号
4.包类型:0x00表示数据包、0xff表示应答包
5.目的地址和源地址:地址的前五位用来标识末端设备,第六位用来标识末端设备中的信息节点。目的地址用来表示接收数据包的网络节点的地址,目的地址可以是交换服务器的地址,也可以是末端设备中信息节点的地址。源地址用来表示发送数据包的网络节点的地址,源地址可以是末端设备中信息节点的地址,也可以是交换服务器的地址。
6.包计数:统计发送包的个数,在0~255之间循环
在上述数据包格式的基础上,详细介绍数据寻址、转发的方法:
1.末端设备连接到对应网关后,在设备上电时进行地址绑定,向上述网关查询网关的IP地址和设备连接的端口号,将该IP地址(4字节)和端口号码(1字节)与设备中的信息节点编号(1字节)相接合,为该设备中的每一个信息节点形成一个六字节的网络地址。同时向上述网关查询与该末端设备对应的交换服务器的IP地址,将该IP地址作为末端设备发送数据的源地址(其余两个字节用0补齐);
2.发送端设备中的信息节点通过对应网关向对应交换服务器发送数据包,网关发送的数据包格式如图4所示。
3.对应网关在收到末端设备中信息节点发送的数据包后,检查数据包中源地址的IP地址位是否和该网关的IP地址一致,如果一致,则将该数据包按照目的地址中的IP地址封装成为符合以太网传输协议的数据帧,发送给与其直接连接的交换服务器。如果不一致,则不转发该数据包。
4.交换服务器在收到数据帧后将其拆封装,获得数据包中的目的地址和源地址。检查数据包中目的地址的IP地址位是否和该交换服务器的IP地址一致,如果一致,则通过对应网关向源地址对应的末端设备中的源信息节点发送封装后的应答包,应答包格式如图5所示。如果不一致,则不继续处理该数据包。
5.对应网关收到该应答包后进行拆封装,经过与步骤3类似的地址检查后,将应答包转发给对应的末端设备中的源信息节点。若在规定的时间内末端源信息节点没有收到与已发送数据包相对应的应答包,则进行重发,当重发达到最大次数还未收到应答包时,标记发送失败。
6.交换服务器将数据帧拆封装后得到数据包,根据数据包中的源信息节点地址,查找预先设定好的源汇关系表,为数据包查询汇信息节点的地址。源汇关系表的形式如表1所示。
源信息节点地址 |
汇信息节点地址 |
网关IP地址+端口编号+节点编号 |
网关IP地址+端口编号+节点编号 |
表1源汇关系表
根据对源汇关系表的查询结果,对数据包中的目的地址和源地址字段做相应修改,将原来源地址字段中的源信息节点地址用当前交换服务器地址+0.0替换,将原来目的地址字段中的当前服务器地址+0.0用汇信息节点地址代替,交换服务器向汇信息节点发送的数据包格式如图6所示。
7.执行完上述寻址操作后,交换服务器将该数据包封装为数据帧,将该数据帧发送给和目的地址中的IP地址位相匹配的网关。
8.对应网关在收到该数据帧后进行拆封装得到数据包,对数据包执行和步骤3类似的地址检查工作。当目的地址中的IP地址位和该网关的地址一致时,将该数据包转发给相应末端设备中的汇信息节点,否则不转发。
9.对应末端设备中的信息节点在收到该数据包后,则通过对应网关向源地址对应的交换服务器发送封装后的应答包,格式如图7所示。
10.对应交换服务器收到该应答包后进行拆封装,然后进行与步骤4类似的地址检查,将与该服务器地址一致的应答包进行处理。若在规定的时间内交换服务器没有收到与已发送数据包相对应的应答包,则进行重发,当重发达到最大次数还未收到应答包时,标记发送失败。
实施例2:
1)网络的结构
图8所示是末端对等的控制网络的另一种组网形式:系统由末端设备和交换服务器组成。与实施例1的网络结构最重要的不同是每个末端设备都有符合以太网协议的接口,可以自行将数据包封装为符合以太网协议的数据帧,因此本实施例中的每个末端设备无需通过实施例1中的网关装置就可以直接和交换服务器进行通信。
交换服务器内存有末端设备中信息节点的源汇关系表,负责末端设备数据之间的源汇转发。一个交换服务器可以很多末端设备。网络中所有的交换服务器都连接到标准的以太网中,通过以太网交换机保持互联互通。
2)地址的分配
在这种组网结构中,每个末端设备可以分配到一个IP地址,因此只要对每个末端设备上的不同信息节点进行区分即可。比如,一个末端设备的IP地址是192.168.1.2,该末端设备有两个信息节点,编号为1和2,如果用一个字节表示信息节点的编号,那么这两个信息节点的地址分别为192.168.1.2.1和192.168.1.2.2。
交换服务器只用IP地址就可以标示,无需信息节点编号。但是为了做到对网络中的节点统一编址,对交换服务器地址中的节点位填零补齐。比如一个交换服务器的地址可以是192.168.17.1.0。
3)末端设备地址的绑定
因为每个末端设备都有自己的IP地址,所以不存在如实施例1中所述的末端设备和网关地址绑定过程。
4)数据的寻址和转发
1.首先将与末端设备相匹配的交换服务器的网络地址通知每个末端设备。
2.发送端设备中的信息节点向对应交换服务器发送封装后的数据包,即数据帧。数据包的格式和实施例1中的相同,只是本实施例中的地址位由原来的六个字节变为现在的五个字节。
3.对应交换服务器在收到末端设备的数据帧后,先进行拆封装。然后对数据包进行目的地址的检查操作,当目的地址和该交换服务器的地址一致时,继续处理该数据包。否则,不再处理该数据包。
4.交换服务器将数据帧拆封装后得到数据包,根据数据包中的源信息节点地址,查找预先设定好的源汇关系表,为数据包查询汇信息节点的地址。源汇关系表的形式如表2所示。
源信息节点地址 |
汇信息节点地址 |
末端设备IP地址+节点编号 |
末端设备IP地址+节点编号 |
表2源汇关系表示意图
根据对源汇关系表的查询结果,对数据包中的目的地址和源地址字段做相应修改,将原来源地址字段中的源信息节点地址用当前交换服务器地址+0替换,将原来目的地址字段中的当前服务器地址+0用汇信息节点地址代替。
5.执行完上述寻址操作后,交换服务器将该数据包封装为数据帧,将该数据帧发送给和目的地址中的IP地址位相匹配的末端设备。
6.目的末端设备在收到该数据帧后进行拆封装得到数据包,对数据包的目的地址字段进行检查,当字段中的IP地址位和该末端设备的IP地址一致时,解析数据包中的数据体字段发送给相应的信息节点,否则不继续处理该数据包。
由上可知,本发明具有以下特点:
1.源末端信息节点仅向网络中的交换服务器发送数据,并不需要知道数据的最终汇信息节点的地址;同理,汇末端信息节点仅从网络中的交换服务器接收数据,并不需知道数据的最初源信息节点的地址;
2.交换服务器中存储源信息节点和汇信息节点之间的对应关系(源汇关系),并可以进行灵活修改。交换服务器通过源汇关系表为源信息节点发送的数据查询汇信息节点的地址,并对数据包中的相关地址字段进行修改,实现数据的寻址和转发。
3.在末端设备中划分信息节点,信息节点是网络通信中的最小单位。
因此,本发明的优势在于:本发明将数据的寻址和转发处理集中到网络中的交换服务器设备上,末端设备仅和对应的交换服务器进行简单通信,不对数据进行寻址,本发明实现了末端设备间数据的灵活转发,增加了网络的开放程度,同时本发明还简化了末端设备以及网络通信功能的复杂度,降低了末端设备的成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。