发明内容
在第一方面,本发明的一些实施例提供了一种数字控制管理器,包括:
第一收发器,其被配置来提供到一个或多个能量自主终端装置的一个或多个无线通信链路;
第二收发器,其被配置来提供到一个或多个数字控制管理器的一个或多个无线通信链路;
本地数据库;以及
智能化功能模块,其被配置来执行计算机程序,以向所述数字控制管理器和与其进行通信的终端装置提供智能。
本发明的实施例提供了一种数字控制管理器,进一步包括:以太网接口,其被配置来提供到一个或多个数字控制管理器和一个或多个终端装置的一个或多个有线通信链路和一个或多个无线通信链路。
本发明的实施例提供了一种数字控制管理器,进一步包括:WiFi收发器,用于提供到一个或多个数字控制管理器和一个或多个终端装置的一个或多个无线通信链路。
本发明的实施例提供了一种数字控制管理器,进一步包括:共享内核,其被配置来管理所述本地数据库。
本发明的实施例提供了一种嵌入软件接口,用于配置和监控所述数字控制管理器和与其进行通信的终端装置。
在另一个方面,本发明的一些实施例提供了一种数字控制管理器***,包括:
多个数字控制管理器,其包括通信接口和本地数据库;
在所述数字控制管理器之间的通信链路的网络,用于使能在所述数字控制管理器之间的数据交换;
多个终端装置,其中每一个终端装置通过通信链路与至少一个数字控制管理器进行通信,以使能在所述终端装置和所述至少一个数字控制管理器之间的数据交换;以及
至少一个分布式数据库,其包括所述数字控制管理器的至少一些的所述本地数据库的所述对象的拷贝。
本发明的实施例提供了一种数字控制管理器***,其中所述多个数字控制管理器进一步包括至少一个网关控制管理器;其中所述至少一个网关控制管理器被配置来与外部装置进行通信,以提供对于所述至少一个网关控制管理器的所述本地数据库的访问,其中所述至少一个网关控制管理器的所述本地数据库包括至少另一个数字控制管理器的所述本地数据库的所述对象的拷贝。
本发明的实施例提供了所述数字控制管理器***,其中所述多个数字控制管理器进一步包括第一网关控制管理器,其中所述第一网关控制管理器的所述本地数据库包括至少另一个数字控制管理器的所述本地数据库的所述对象的拷贝;其中所述多个数字控制管理器进一步包括第二网关控制管理器,其中所述第二网关控制管理器的所述本地数据库包括至少另一个数字控制管理器的所述本地数据库的所述对象的拷贝,其中所述第一网关控制管理器被配置来与所述第二网关控制管理器进行通信,并且被配置来向所述第二网关控制器提供所述第一网关控制管理器的所述本地数据库的所述对象的拷贝;其中所述第一网关控制管理器被配置来与外部装置进行通信,并且向所述外部装置提供所述第一网关控制管理器的所述本地数据库的所述对象的拷贝,并且其中所述第二网关控制管理器被配置来与外部装置进行通信,并且向所述外部装置提供所述第一网关控制管理器的所述本地数据库的所述对象的拷贝和所述第二网关控制管理器的所述本地数据库的所述对象的拷贝。
在另一个方面,本发明的实施例提供了一种用于低比特率通信网络的数据库管理方法,包括:
建立在多个数字控制管理器和多个终端装置之间的通信链路,其中每一个数字控制管理器包括对象的本地数据库;
将所述数字控制管理器的至少一个指定为网关控制管理器;
对于至少一个数字控制管理器,在所述网关控制管理器的所述本地数据库中存储所述至少一个数字控制管理器的所述本地数据库的所述对象的拷贝;
确定是否更新了所述至少一个数字控制管理器的所述本地数据库的对象;
在确定更新了对象时,通过对于被更新的所述对象的所述拷贝进行对应的更新来同步所述网关控制管理器的所述本地数据库。
本发明的实施例提供了一种数据库管理方法,进一步包括:
建立在所述网关控制管理器和万维网浏览器之间的通信链路;
在所述网关控制管理器处接收来自所述万维网管理器的数据请求;
向所述万维网浏览器提供对于所述网关控制管理器的所述本地数据库的访问。
本发明的实施例提供了一种数据库管理方法,其中提供访问包括:向所述万维网浏览器输出所述网关控制管理器的所述本地数据库的拷贝。
本发明的实施例提供了一种数据库管理方法,进一步包括:
建立在所述网关控制管理器和万维网浏览器之间的通信链路;
在所述网关控制管理器处接收来自所述万维网浏览器的同步请求,其中所述同步请求识别一个或多个数字控制管理器;
确定是否更新了所述一个或多个数字控制管理器的所述本地数据库的对象;以及
在确定更新了对象时,通过对于被更新的所述对象的所述拷贝进行对应的更新来同步所述网关控制管理器的所述本地数据库。
本发明的实施例提供了一种数据库管理方法,进一步包括:
建立在所述网关控制管理器和万维网浏览器之间的通信链路;
建立在终端装置和数字控制管理器之间的通信链路,其中所述数字控制管理器的所述本地数据库存储与所述终端装置的状态对应的对象;
在所述网关控制管理器的所述本地数据库中存储与所述至少一个数字控制管理器的所述本地数据库的所述终端装置的所述状态对应的所述对象的拷贝;
接收来自所述万维网浏览器的状态请求,其中所述状态请求识别所述终端装置;
向所述万维网浏览器提供对于与在所述网关控制管理器的所述本地数据库中的所述终端装置的所述状态对应的所述对象的所述拷贝的访问。
在另一个方面,本发明的实施例提供了一种用于低比特率通信网络的数据库管理方法,包括:
建立在多个数字控制管理器和多个终端装置之间的通信链路,其中每一个数字控制管理器包括本地数据库;
将所述数字控制管理器之一指定为第一网关控制管理器;
将所述数字控制管理器之一指定为第二网关控制管理器;
对于至少一个数字控制管理器,在所述第一网关控制管理器的所述本地数据库中存储所述至少一个数字控制管理器的所述本地数据库的所述对象的拷贝;
对于至少另一个数字控制管理器,在所述第二网关控制管理器的所述本地数据库中存储所述至少另一个数字控制管理器的所述本地数据库的所述对象的拷贝;
在所述第二网关控制管理器的所述本地数据库中存储所述第一网关控制管理器的所述本地数据库的所述对象的拷贝;
确定是否更新了所述至少一个数字控制管理器的所述本地数据库的对象;
在确定更新了对象时,通过对于被更新的所述对象的所述拷贝进行对应的更新来同步所述第一网关控制管理器的所述本地数据库;
确定是否更新了所述第一网关控制管理器的所述本地数据库的对象;以及
在确定更新了对象时,通过对于被更新的所述对象的所述拷贝进行对应的更新来同步所述第二网关控制管理器的所述本地数据库。
在另一个方面,本发明的实施例提供了一种数字控制管理器,包括:
至少一个通信接口,其被配置来提供到一个或多个数字控制管理器、一个或多个终端装置和万维网浏览器的通信链路;
本地数据库,包括对象;以及
嵌入软件接口,用于配置和监控所述数字控制管理器和与其进行通信的终端装置。
在另一个方面,本发明的实施例提供了一种用于同步本地数据库的方法,包括:
提供至少一个数字控制管理器;
建立在所述数字控制管理器和在计算装置上运行的万维网浏览器之间的通信链路;
在所述万维网浏览器中执行所述嵌入软件接口;以及
向所述万维网浏览器输出所述数字控制管理器的所述本地数据库的所述对象的拷贝。
本发明的实施例提供了一种用于同步本地数据库的方法,进一步包括:
建立在多个数字控制管理器之间的通信链路;
将所述数字控制管理器的至少一个指定为网关控制管理器;
对于至少一个数字控制管理器,在所述网关控制管理器的所述本地数据库中存储所述至少一个数字控制管理器的所述本地数据库的所述对象的拷贝;
建立在所述网关控制管理器和在所述计算装置上运行的所述万维网浏览器之间的通信链路;
在所述网关控制管理器,接收用于识别所述至少一个数字控制管理器的、来自所述万维网浏览器的数据检索请求;
从所述网关控制管理器的所述本地数据库向所述万维网浏览器输出所述对象的拷贝。
本发明的实施例提供了一种用于同步本地数据库的方法,其中所述从所述网关控制管理器的所述本地数据库向所述万维网浏览器输出所述对象的所述拷贝使用跨站HTTP请求。
本发明的实施例提供了一种用于同步本地数据库的方法,进一步包括:
在所述网关控制管理器的所述存储器中提供所述嵌入软件接口;
向运行所述万维网浏览器的所述计算装置输出所述万维网接口应用的拷贝和所述网关控制管理器的所述本地数据库的拷贝;
结束在所述网关控制管理器和在所述计算装置上运行的所述万维网浏览器之间的所述通信链路;
删除在运行所述万维网浏览器的所述计算装置上的所述嵌入软件接口的所述拷贝和所述网关控制管理器的所述本地数据库的所述拷贝。
本发明的实施例提供了一种数字控制管理器,进一步包括:通信功能模块,其被配置来使用对应的协议栈和驱动器从多个协议向多个协议转换。
本发明的实施例提供了一种数字控制管理器,进一步包括:控制功能模块,其被配置来管理输入和输出接口,并且进一步被配置来通过控制策略集来控制物理参数。
本发明的实施例提供了一种数字控制管理器,进一步包括:共享内核,其被配置提供公共数据交换方案以经由通信信道链接所述数字控制管理器的部件。
本发明的实施例提供了一种数字控制管理器,其中所述至少一个通信接口包括第一收发器,所述第一收发器被配置来提供到没有有效电源的一个或多个终端装置的一个或多个无线通信链路。
本发明的实施例提供了一种数字控制管理器,其中所述至少一个通信接口包括:第二收发器,其被配置来提供到一个或多个数字控制管理器和一个或多个终端装置的一个或多个无线通信链路。
本发明的实施例提供了一种数字控制管理器,进一步包括:智能化功能模块,其被配置来执行计算机程序,以向所述数字控制管理器和与其进行通信的终端装置提供智能。
本发明的实施例提供了一种数字控制管理器,进一步包括:以太网接口,其被配置来提供到一个或多个数字控制管理器和一个或多个终端装置的一个或多个有线通信链路和一个或多个无线通信链路。
本发明的实施例提供了一种数字控制管理器,进一步包括:WiFi收发器,用于提供到一个或多个数字控制管理器和一个或多个终端装置的一个或多个无线通信链路。
本发明的实施例提供了一种数字控制管理器,进一步包括:共享内核,其被配置来管理所述本地数据库。
本发明的实施例提供了一种数字控制管理器,进一步包括:通信功能模块,其被配置来提供用于使用对应的协议栈和驱动器从多个协议向多个协议转换的接口。
本发明的实施例提供了一种数字控制管理器,进一步包括:控制功能模块,其被配置来管理输入和输出接口,并且进一步被配置来通过控制策略集来控制物理参数。
本发明的实施例提供了一种数字控制管理器,进一步包括:共享内核,其被配置来提供公共数据交换方案以经由通信信道链接所述数字控制管理器的部件。
本发明的实施例提供了一种数字控制管理器***,其中在数字控制管理器之间的所述数据交换基于观察者方案并且使用网络对象和网络节点。
本发明的实施例提供了一种建筑物自动化***,包括:
在建筑物中的多个数字控制管理器,其中所述多个数字控制管理器被分组为簇,其中每一个簇被配置来管理建筑物的部分,
在所述数字控制管理器之间的通信链路的网络,用于使能在所述数字控制管理器之间的数据交换;
在所述建筑物中的多个终端装置,其中每一个终端装置通过通信链路与至少一个数字控制管理器进行通信,以使得所述至少一个数字控制管理器能够控制和监控所述终端装置;以及
至少一个分布式数据库,其包括所述数字控制管理器的至少一些的所述本地数据库的所述对象的拷贝。
本发明的实施例提供了一种建筑物自动化的方法,包括:
在建筑物中提供多个数字控制管理器,以监控和控制多个终端装置,每一个数字控制管理器包括用于存储本地数据库的存储器;
建立在每一个终端装置和数字控制管理器之间的通信链路;
建立在所述多个数字控制管理器之间的通信链路,以形成自愈网状网络;
提供分布式数据库,所述分布式数据库包括所述多个数字控制器的所述本地数据库的对象的拷贝。
本发明的实施例提供了一种建筑物自动化***,包括:多个自主无线数字控制管理器的自愈网状网络,其中所述每一个数字控制管理器包括无线通信接口和用于控制一个或多个装置的控制模块;以及分布式数据库,其包括用于在建筑物中的所有受控装置的数据。
本发明的实施例提供了一种***,其中经由更新向所述分布式数据库颁布受控装置命令。
本发明的实施例提供了一种***,其中具有在所述自愈网状网络之外的网络接入的任何数字控制管理器在所述自愈网状网络内作为网关控制管理器。
本发明的实施例提供了一种***,其中所述自愈网状网络的所述分布式数据库的所述内容的整体被输出到登录到所述网关控制管理器内的任何被授权的远程计算机。
本发明的实施例提供了一种***,进一步包括:在远程计算机上的应用,其中所述应用被配置来更新它的本地数据库,并且这样的更新然后被自动地重新分发回在所述网状网络中的所述网关控制管理器和数字控制管理器。
本发明的实施例提供了一种***,其中单独的数字控制管理器在所述受控装置中进行用于使得所述受控装置匹配所述数据库的状态的任何必要的改变。
本发明的实施例提供了一种***,其中网关控制管理器包含浏览器应用,所述浏览器应用与在所述网状网络中的所有所述单独的数字控制管理器数据库的拷贝一起被输出到登录到所述网关控制器内的任何被授权的计算机。
本发明的实施例提供了一种***,其中从所述网关管理器输出的所述浏览器应用用于经由数据库更新来控制所述建筑物。
本发明的实施例提供了一种数字控制管理器,所述数字控制管理器包括激励器和传感器。
本发明的实施例提供了一种数字控制管理器,所述数字控制管理器包括压力传感器。
本发明的实施例提供了一种建筑物自动化***,包括:
多个数字控制管理器,每一个数字控制管理器包括以两个不同的频率运行的两个无线收发器;
在所述多个数字控制管理器之间的通信链路的网络;以及
多个终端装置,每一个终端装置与至少一个数字控制管理器进行通信,以使得所述数字控制管理器能够控制和监控所述终端装置。
本发明的实施例提供了一种数字控制管理器***,其中一个或多个数字控制管理器。
具体实施方式
可以明白,给出了多个具体细节以便彻底地理解在此所述的示例性实施例。然而,本领域内的普通技术人员可以明白,可以在没有这些具体细节的情况下实施在此所述的实施例。在其他情况下,未详细描述公知的方法、过程和部件,以便不模糊在此所述的实施例。而且,本说明不被认为以任何方式限制在此所述的实施例的范围,而是仅描述在此所述的各个实施例的实现方式。
可以以硬件或软件或两者的组合来实现在此所述的***和方法的实施例。可以在在可编程硬件装置上执行的计算机程序中实现示例实施例,每一个可编程硬件装置包括至少一个处理器、数据存储***(包括易失性和非易失性存储器和/或存储元件)和至少一个通信接口。例如,并且无限制地,可编程硬件装置可以是服务器、网络用具、机顶盒、嵌入装置、计算机扩展模块、计算机、膝上型计算机、个人数据助理或移动装置。程序代码被应用到输入数据以执行在此所述的功能,并且产生输出信息。输出信息可以以已知方式被应用到一个或多个输出装置。在一些实施例中,通信接口可以是网络通信接口。在其中组合本发明的元件的实施例中,通信接口可以是软件通信接口,诸如用于进程间通信(IPC)的那些。在其他实施例中,可以有通信接口的组合。
优选地以高级过程或面向对象的编程和/或脚本语言来实现每一个程序,以与计算机***通信。然而,如果期望,则可以以汇编或机器语言来实现程序。在任何情况下,该语言可以是编译或解释语言。每个这样的计算机程序优选地被存储在由通用或专用可编程计算机可读的存储介质或装置(例如,ROM或磁盘)上,以当计算机读取存储介质或装置时配置和操作计算机以执行在此所述的过程。也可以考虑将本发明的***实现为被配置计算机程序的非暂时计算机可读存储介质,其中,如此配置的存储介质使得计算机以特定和预定义的方式运行,以执行在此所述的功能。
此外,所述实施例的***、处理和方法能够在计算机程序产品中分发,该计算机程序产品包括物理非暂时计算机可读介质,该物理非暂时计算机可读介质承载用于一个或多个处理器的计算机可用指令。可以以各种形式来提供该介质,该各种形式包括一个或多个盘、致密盘、带、芯片以及磁和电子存储介质等。计算机可用指令也可以具有各种形式,包括编译和非编译代码。
一般而言,本发明的非限定性的说明性实施例提供了一种数字控制管理器(DCM),它是负责管理在应用内的处理的实体。在某种程度上,控制器必须是“智能的”,以便完成其任务。控制器越智能,则它在解决问题或完成任务、特别是控制任务上更有效。在这一点上,要求DCM执行可以被四个基本功能代表的功能。
智能化:
-解释;
-解决;
-适应于其解释方式;以及
-命令。
通信:
-与外部部件交换数据。
管理数据:
-维护数据(存储,有效性);以及
-呈现数据。
控制:
-与物理世界交互:
a.从环境检索信息;
b.执行物理行为;以及
-实现命令策略。
首先参考图1,图1示出根据一个示例实施例的DCM 100的示意表示。DCM 100包括四个功能模块,即智能化功能模块110、通信功能模块120、管理数据功能模块130和控制功能模块140。DCM 100通过下述方式来实现功能合作:提供被称为共享内核150的普通高速数据交换方案,该方案经由通信信道152链接所有的功能模块。
智能化功能模块
现在参见图2,示出根据一个示例实施例的智能化功能模块110的示意表示。智能化功能模块110分析数据以便以离散和连续的方式确定什么是接下来的命令和行为。例如,智能化功能模块110可以被配置来实现与在人类控制管理器(HCM)的头脑中进行的智力过程类似的步骤。该过程可以被人类操作员描述和嵌入DCM 100中。
例如,可以将其中HCM控制环境温度的离散过程描述如下:
a.HMC注意到在下午晚些时有大风,这声明了温度降低;以及
b.HMC开始点火以保持温暖的环境温度。
人类操作员可以将同一行为以脚本描述并且置于DCM 100上:
a.DCM注意到在下午晚些时有大风,这声明了温度降低;以及
b.DCM开始点火以保持温暖的环境温度。
在本发明的说明性示例中,DCM 100接受以Lua语言的修改版本描述的处理。一旦被嵌入,脚本解释器112以用户指定的间隔运行脚本。可以通过经由共享内核150向其脚本解释器112提供脚本来修改智能化功能模块110的行为。这使得DCM 100能够在进程层级学习(即,它可以动态地改变它处理信息的方式)。应当明白,也可以使用其他脚本语言。通信功能模块
参见图3,示出根据一个示例实施例的通信功能模块120的示意表示。通信功能模块120可以被看作通信协议转换器和执行器,代替作为独立的物理装置,它被嵌入DCM 100内并且经由通信信道152通过共享内核150与其他功能模块(即,110、130和140)交互,并且通过外部通信信道129与外部世界交互。通信功能模块120可以使用对应的协议栈以及适当的硬件/软件驱动器从多个协议向多个其他协议转换,该对应的协议栈例如是CAN2go/TCP协议栈121、BACNET/UDP协议栈122、HTTPd协议栈123、Zigbee/802.15.4协议栈124、EnOcean协议栈和其他协议125,该适当的硬件/软件驱动器例如是以太网驱动器126、Zigbee/802.15.4无线电驱动器127、EnOcean无线电驱动器和其他驱动器128。可以理解,也可以使用其它协议栈和驱动器。
管理数据功能模块
现在参见图4,示出根据一个示例实施例的管理数据功能模块130的示意表示。管理数据功能模块130负责存储和管理数据。它通过诸如OnDisk数据库132的本地存储器来构成DCM 100的存储器。它可以通过例如报告制作器134以有效的方式来过滤和格式化所请求的数据,那些数据然后经由通信信道152通过共享内核150对于其他模块(即,110、120和140)可获得。
控制功能模块
现在参见图5,示出根据一个示例实施例的控制功能模块140的示意表示。控制功能模块140的角色是允许DCM 100通过控制信道145与外部世界具有物理交互。它通过I/O管理器142来管理输入/输出接口和任何其他电子接口等。控制功能模块140也负责经由控制策略集144(例如,PID集、神经网络等)来控制物理参数。控制功能模块140经由通信信道152通过共享内核150与其他模块(即,110、120和130)交互。
共享内核
共享内核150的主要目的是允许通过通信信道152在任何内部功能模块110、120、130和140之间的有效数据共享。共享内核150进一步通过联网的DCM 100各自的通信功能模块120来提供在联网的DCM 100之间的数据共享。共享内核150具有单个通用接口,通过该单个通用接口,共享内核150呈现其功能,并且共享内核150是多任务的,以便能够进行不同的并行处理。它是被动的,并且答复客户机请求,允许过滤的搜索以获得信息共享效率。
现在参见图6,示出根据一个示例实施例的DCM的网络的示意表示。该示意表示是四个DCM 100a、100b、100c和100d的示例,四个DCM 100a、100b、100c和100d通过诸如以太网链路和无线链路的网络通信链路154使用其各自的通信功能模块120a、120b、120c和120d联网在一起。
DCM 100a包括内部功能模块110a、120a、130a、140a。DCM 100b包括内部功能模块110b、120b、130b、140b。DCM 100c包括内部功能模块110c、120c、130c、140c。DCM 100d包括内部功能模块110d、120d、130d、140d。经由网络对象(NObj)和节点(NNode)的使用来进行在内部功能模块110、120、130和140与DCM 100之间的所有信息交换。
现在参见图7,示出根据一个示例实施例的共享内核150的示意表示。共享内核150由高性能嵌入数据库154构成,在高性能嵌入数据库154上已经增加了软件限定的接口156。在这个示例中,在易失性存储器158中管理数据,以获得最大的性能。使用作为串标识符索引树的两种类型的条目(下面进一步详细描述的NNode和NObj条目)来组织数据。在对于共享数据的访问期间使用诸如B树和/或Patricia的搜索算法,以便增强共享处理。
在该说明性实施例中,共享内核150仅管理两种类型的条目,这两种类型的条目(NNode和NObj条目)足以有效地管理经由通信信道152的任何类型的模块110、120、130和140内或网络通信(即,在DCM 100之间)。
网络对象(NObj)
经由作为网络变量形式的NObj的使用来进行在内部功能模块110、120、130和140之间的信息交换和在DCM 100之间的网络通信。在本发明的说明性实施例中,使用NObj来管理对于与内部处理以及通过任何网络的外部处理相关联的变量的访问,该内部处理例如是功能模块110、120、130和140。在内部层级上,通过共享内核接口156来访问作为数据库条目的NObj。NObj可以被看作具有限定的内容的网络信号。下面将进一步呈现使用CAN2go网络观察者方案的、在网络层级上的NObj的处理。
NObj概念独立于它被管理的方式。其“条目”形式允许它以不同的方式被使用或管理。
NObj条目包括下面的项目:
NObjName:
NObj的标识符
NObjNNodeName:
当前管理NObj的NNOD的标识符
NObjLastUpdate:
上一次改变NObj值。每当对于NObj值执行写入时更新其值。这允许共享内核150的用户确定它们是否拥有最新值。
NObjValue:在BLOB(可变大小的自包含字节阵列)形式下的值。
NObjType:使用下面进一步描述的构成类型方案的值的类型。
在下面的表1中提供了NObj条目的示例。
表1
网络节点(NNode)
NNode条目表示参与网络中的物理或虚拟节点。在网络中的每个参与者管理它本身的所看到的NNode的列表。
NNode条目当在网络上被看到并且期望与其的交互时被加到共享内核150。如果不再看到NNode条目或如果不再期望与其的交互则可以去除NNode条目。
NNode概念与其被管理的方式独立。其“条目”形式允许以不同的方式来使用或管理它。
通过下面的属性来定义NNode:
NNodeName:
NNode的标识符。
NObjList:
已知节点以管理的NObj标识符的列表。
COMLayer:
其上当前看到节点的通信层。
在下面的表2中提供了NNode条目的示例
NNodeName |
NObjList |
COMLayer |
″NODE 4534″ |
″NAME,TEMP_VALUE,PID_SETPOINT,...″ |
″CAN2go_Zigbee_1″ |
″ROOF2″ |
″NAME,FLOW_VALUE,PID_SETPOINT,...″ |
″CAN2go_Zigbee_1″ |
″NODE 8888″ |
″NAME,TEMP_VALUE,PID_SETPOINT,...″ |
″CAN2go_CANbus_1″ |
″ROOF1″ |
″NAME,FLOW_VALUE,PID_SETPOINT,...″ |
″BACNET_1″ |
″FLOOR453453″ |
″NAME,ALARMS,...″ |
″CAN2go_CANbus_2″ |
... |
... |
... |
表2
当节点需要在NObj数据库中不可获得的特定NObj时,它搜索NNode数据库。如果发现NObj,则向管理NObj的NNode发送对于Observer_Add处理的调用。下面进一步描述使用外部NObj的处理。Observer_Add处理将NObj加到NObj数据库。
CAN2go类型方案
CAN2go类型方案允许任何数据单元的多类型限定。
在可变长度的串的形式下呈现类型:
"XXX YYY_ZZZ_.."
XXX:定义数据的二进制格式。二进制类型限定符的一些示例如下:
"F32":32比特浮点,IEEE标准;
"UI16":16比特无符号整数;
"SI28":28比特有符号整数;
...
YYY:提供另外的键入;以及
ZZZ:提供另外的键入;
类型的示例如下:
"UI32":无符号的32比特
"F32_TEMP":浮点32比特温度;以及
"F64_FLOW_LPM":浮点64比特流,升/分钟
XXX字段是强制字段,但是其他字段是可选的并且可以被省略。此外,也可以增加另外的字段。通过分隔符“_”来分离字段。这种类型的方案的一些优点是无限的键入可能性、用户限定类型、人类可读类型和可过滤的友好类型。
脚本语言
在本发明的说明性实施例中使用的脚本语言是Lua脚本语言的扩展版本,该扩展版本包括对于平行性的支持,该平行性允许在控制业中要求的行为的更直观的脚本。
它向Lua脚本语言加上下面的命令:
POWERUP
ON/OFF/AND/OR/(NOT)/(XOR)
IF...THEN...ELSEIF...ELSE...ENDIF
IFONCE...ENDIF
(IF...CHANGED THEN...ENDIF)
SWITCH
SCALE
MIN/MAX/(LIMIT)
ONFOR/(OFFFOR)
DOEVERY...ENDDO
SUB...ENDSUB(pas de GOTO)
FOR...ENDFOR
CAN2go网络观察者方案
该方案允许以同类方式在诸如无线Zigbee或6loWPAN(802.15.4)的不同慢网络链路上的大量节点之间的可靠控制数据通信。
一般的思想是通过仅发送已经递交了对其的监控请求的数据来尽可能低地保持网络流量,防止监控节点每次它需要数据时必须请求数据。该方案是对于鲁棒监控和控制应用专门化的观察者模式的实现方式。
服务器NNode是呈现NObj的节点,并且客户机NNode是请求NObj监控的节点。
该方案假定通过另一种方案来处理网络节点发现和映射。在本发明的说明性实施例中,诸如在国际专利申请PCT/CA2008/002148中描述的心跳技术用于这个目的,该申请的内容通过引用被包含在此。了解其网络相邻节点的节点可以然后检索它们的NObj。
可以在允许NObj和NNode的表示的任何协议上实现该方案。
在方案中使用三个基本消息,即:
Observer_Add
要监控网络对象的节点发送Observer_Add消息。向当前管理NObj的节点发送该消息。它必须至少包含下面的信息:
PACKET_OBSERVER_ADD:这个消息是Observer_Add请求的指示符。
NOBJ_REF:所请求的NObj的标识符。在本发明的说明性实施例中,它包括管理NNode标识符的被监控的NObj和被监控的NObj标识符其本身:
NNODE_ID.NOBJ_ID
例如:
"NODE_12354.EN_TEMP"
OBSERVER_TYPE:用于执行的观察的类型。必须至少允许下面的类型:
ONCHANGED:
在NObj值任何改变时发射通知。
ONINTERVAL:
在指定时间段发射通知。
INPERIOD:
在指定时间段后发射单个通知。
CALLBACKINFO:关于通知应当如何进行的信息。(目的地地址、层、…)这是协议相关的。
Observer_Remove
这个消息被发送以停止观察者处理。
PACKET_REMOVE_MSG:这个消息是Observer_Remove请求的指示符。
NOBJ_REF:所请求的NObj的标识符。在本发明的说明性实施例中,它包括用于管理NNode标识符的被监控的NObj和被监控的NObj标识符本身:NNODE_ID.NOBJ_ID。
CALLBACKINFO:关于如何通过Observer_Add消息来设置通知的信息。这用于去除适当的观察者,因为可以通过同一节点将多个布置在同一NObj上。
Observer_Notify
PACKET_REMOVE MSG:这个分组是Observer_Notify请求的指示符。
NOTIFYINFO:关于触发通知的事件的信息。它必须至少包含NOBJ_REF(NNODE_ID.NOBJ_ID)。它可以包含触发通知的事件的类型。它可以包含NObj的值,因此,防止值检索请求。它可以包含诸如事件的时间的其他信息。应当根据所使用的协议确定可选内容。
这种方案的优点是它是独立于协议的,可以在广播上或者在点到点网络上使用在同一NNode上的同一节点NObj的多个观察者,多个观察者分组可以被置于单个分组中,观察者可以被布置在网络映射项目上,这允许将观察者布置在网络状态本身上。
现在参见图8,示出根据一个示例实施例的网络观察者方案处理180的流程图。
当节点要监控网络对象时,然后在步骤182,节点向当前管理NObj的节点发送Observer_Add消息。
在步骤184,发送Observer_Add消息的节点等待接收到消息的确认。
事件触发通知,并且Observer_Notify请求消息被发送到监控节点。在步骤186,监控节点接收和处理所配置的Observer_Notify请求。如在步骤188所示,监控节点继续监控网络对象,并且事件触发Observer_Notify请求消息以继续被传播到监控节点。
在步骤190,监控节点发送Observer_Remove消息以停止观察者处理。
现在参见图9,示出根据一个示例实施例的CAN2go观察者方案的时序图。方框160图示在两个节点节点1162和节点2164之间的CAN2go观察者方案的序列。Observer_Add消息在节点1162的控制模块166处发起,并且被记录在节点1162的网络对象观察者数据库170中。Observer_Add消息被转发到节点1162的协议栈172,然后被发送到节点2164的协议栈174。在接收时,在节点2164的网络对象观察者数据库176中记录Observer_Add消息。
事件触发对于网络对象观察者数据库176的查找,并且通过协议栈174,节点2164向节点1162发送包含网络回叫信息和事件信息的Observer_Notify请求。在接收时,节点1162在网络对象观察者数据库170中记录事件信息。包括触发事件的网络对象和事件的值的事件信息也被记录在网络对象数据库168中。控制模块166也被通知事件,并且可以从网络对象数据库168检索事件信息。
Observer_Remove消息在控制模块166处发起,并且被记录在节点1162的网络对象观察者数据库170中。Observer_Remove消息被转发到节点1162的协议栈172,然后被发送到节点2164的协议栈174。在接收时,Observer_Remove消息被记录在节点2164的网络对象观察者数据库176中以停止观察者处理。
DCM通信功能
DCM 100具有不同的通信需要,以便与其他DCM 100和终端装置进行通信。为了满足那些需要,多个硬件通信接口可以策略地在单个元件平台(即,板)上结合在一起。现在参见图10,示出根据本发明的说明性实施例的具有通信接口的DCM 100的视图。DCM 100通信接口包括以太网总线101、CAN总线102、无线Zigbee/802.15.4收发器(总线)103和无线EnOcean收发器(总线)104。DCM也包括中央处理单元。DCM 100可以进一步包括WiFi总线。
以太网总线101用于与外部世界的有线或无线通信。例如,以太网总线101可以向DCM 100或终端装置提供有线通信链路。
当需要高数据率或高可靠性时或如果无线通信例如在法拉第笼条件下是不可能的,CAN总线102用于本地通信。CAN总线102也可以用于增加如图11中所示的激励器200和扩展模块300,模块可以机械地附接到DCM 100,并且软件模块可以被编程到DCM 100的中央处理单元内,以向***提供另外的“控制功能”。
无线Zigbee/802.15.4总线103通过网格来覆盖宽范围。网格的一些益处包括较低的带宽使用和通过将信号从一个装置向另一个转发而考虑到干扰和障碍物进行通信的能力。它用于DCM 100至DCM 100通信,该通信允许DCM功能110、120、130和140通过共享内核150的合作。无线Zigbee/802.15.4通信也覆盖要供电的DCM 100和电池供电的终端装置通信,诸如无线光开关、电子仪表和电子设备。作为另一个示例,也可以使用WiFi总线。
EnOcean无线总线104允许与诸如免电池和超低功率装置的能量自主装置的通信。那些装置通常提供诸如交换器、中继器或调温器的功能,其中,数据率较低。在建筑物自动化的环境中的无线连接防止必须将钱财花费在电缆连接和它们的安装所需的人力上。
使用前述的观察者方案来执行在那四条总线(即,101、102、103和104)上的数据交换,该前述的观察者方案允许数据和软件通信的同类管理。
CAN总线102、无线Zigbee/802.15.4总线103、无线EnOcean 104和以太网总线101可以并行地用于提供链路冗余和提高的鲁棒性。
现在参见图12,示出根据一个示例实施例的通过各种DCM 100通信接口的建筑物自动化的通信覆盖范围的示意图。具体地说,该示意图图示使用四种类型的通信总线101、102、103和104以便满足四层建筑物自动化的需要的示例。通信总线101、102、103和104一起作用以提供在DCM100和诸如传感器/激励器装置的终端装置(DE)之间的网格网络。
EnOcean总线104提供在DCM 100和一个或多个DE 400之间的无线通信链路。Zigbee/802.15.4总线103提供在DCM之间的无线通信链路。可以在无线通信不可能的情况下使用如上所述的CAN总线102,该情况是在DCM 100位于法拉第笼105内的建筑物的第一层上的情况。
以太网总线101链接位于建筑物的每层上的DCM 100,并且通过无线Zigbee/802.15.4总线103和EnOcean总线104以及CAN总线102向建筑物各处定位的多个DCM 100和DE 400提供因特网10访问能力。
如所示,DCM 100可以作为网关数字控制管理器。这样的DCM 100具有经由例如因特网与外部装置进行通信的能力,以提供在网络上的一个或多个其他DCM 100的本地数据库中的对象的拷贝。这样的DCM 100可以建立至万维网浏览器的通信链路,并且从万维网浏览器接收数据请求。DCM 100可以向万维网浏览器输出在其本地数据库中的对象的拷贝,由此使得万维网浏览器成为在网络中的另一个节点。这样的DCM 100也可以存储嵌入软件接口,以配置和监控DCM 100和在网络上的其他DCM 100和终端装置。可以在万维网浏览器中执行嵌入软件接口,以向万维网浏览器输出其本地数据库的拷贝。
现在参见图13,示出用于向房间500提供各种功能的DCM 100的网络的示例的示意图。该功能的一些包括通过EnOcean交换器506对于连接到EnOcean电源插座504的照明器材502的控制以及通过EnOcean调温器510由连接到DCM 100的激励器200启动的风道508的控制。位于房间500内的DCM 100管理在各种EnOcean装置504、506和510之间的EnOcean通信。此外,Zigbee/802.15.4总线103通信也允许各种EnOcean装置504、506与位于其他位置的其他DCM 100的通信以及经由以太网总线101与外部世界的通信,以便例如提供远程监控和控制。整合有线、无线和免电池无线终端装置的无线建筑物自动化主干网
本发明的实施例进一步提供了BAS网络,用于在控制器和终端装置之间的数据交换。可以在BAS中使用的两种类型的无线收发器包括:网络收发器,诸如802.15.4收发器,用于实现诸如Zigbee或6lowpan的协议;以及甚低功率收发器,诸如EnOcean收发器。
实现BAS可以是耗时的和成本大的,因为通常所有的控制器需要连线,所有你的终端装置需要连线,,终端装置电池需要更换。如果你的需要是两个或更多控制器和一个集成产品,则这些问题会加倍。
存在工作来向EnOcean产品增加智能和容量的公司,但是协议本身没有它们建立大网络所需的事物。作为示例,装置可能大多数时间是休眠的,并且消耗微量的能量。这些装置当休眠时不能与其他装置交互。另外,为了保持网络,你需要需要能量的RAM,并且你需要将更多的信息传送到“管理网络”然后是协议在物理上支持的事物。协议仅发送14字节的“电报”。
在另一方面,其他公司相信EnOcean不能做工作,因为存在对于协议的太多限制,因此较好的是,使用另一个协议来试图增大装置的电池使用期限。按照此手段,每次需要更换在装置中的电池时,拥有的成本可能增加。即使间隔很长,消费者也可能抵触依赖于电池。
本发明的实施例提供了DCM 100,该DCM 100包括第一收发器,该第一收发器被配置来向一个或多个能量自主终端装置提供一个或多个无线通信链路。这样的终端装置可以是免电池终端装置或可以不使用电池的装置。这样的装置也可以是例如使用太阳能板的能量收集装置。例如,第一收发器可以是EnOcean收发器。DCM 100进一步包括第二收发器,第二收发器被配置来向一个或多个数字控制管理器和并且可选地向一个或多个终端装置提供一个或多个无线通信链路。例如,第二收发器可以是Zigbee收发器。DCM 100也包括:对象和它们的属性的本地数据库;以及智能化功能模块110,其被配置来执行计算机程序以向数字控制管理器和向与其进行通信的终端装置提供智能。在图10中示出具有两个收发器的示例DCM 100。
DCM 100可以进一步包括以太网接口,该以太网接口被配置来向一个或多个数字控制管理器和/或一个或多个终端装置提供一个或多个有线通信链路和一个或多个无线通信链路。这使得DCM 100能够与有线和无线DCM和终端装置进行通信。DCM 100可以进一步包括WiFi收发器,用于向一个或多个数字控制管理器和/或一个或多个终端装置提供一个或多个无线通信链路。
DCM 100可以进一步包括:共享内核150,其被配置来管理本地数据库;通信功能模块120,其被配置来使用对应的协议栈和驱动器从多个协议向多个协议转换;控制功能模块140,其被配置来管理输入和输出接口,并且进一步被配置来通过控制策略集来控制物理参数。共享内核150可以进一步被配置来提供公共数据交换方案,以经由通信信道来链接数字控制管理器的部件。
如在此进一步所述,DCM 100可以进一步包括嵌入软件接口,用于配置和监控数字控制管理器和与其进行通信的终端装置。嵌入软件接口可以被输出到在远程计算装置上运行的万维网浏览器。当嵌入软件接口被万维网浏览器执行时,DCM 100的本地数据库的拷贝可以被输出到万维网浏览器,以有效地使得万维网浏览器作为在***中的DCM 100。
例如,如图10中所示,在单个DCM 100中包括的两个收发器可以是:一个EnOcean收发器104,用于寻址免电池终端装置;以及一个Zigbee/802.15.4收发器103,用于形成在控制器之间的无线网格网络,并且链接无线终端装置。以太网接口可以是以太网总线101,使得DCM 100可以经由无线或有线通信链路链接。可以在DCM 100内建立本地数据库以由在DCM 100上运行的所有应用使用,而与事件或行为请求经由其到达DCM 100的通信链路无关。
DCM 100具有作为以脚本描述的行为的“智能”,该行为可以被动态地重新配置以改变终端装置或DCM 100的行为。
这些DCM 100可以用于实现BAS。DCM 100提供在无线和有线装置、终端装置和DCM两者之间的统一的链路;经由脚本描述的行为来提供智能,并且提供对于整个建筑物的数据的访问。
本发明的实施例可以提供DCM 100***,该DCM 100***包括:数字控制管理器,其具有通信接口和本地数据库。该***包括在数字控制管理器之间的通信链路的网络,以使能在DCM 100之间的数据交换,该通信链路可以是有线和/或无线通信链路。可以将DCM 100分组为簇,其中,每一个簇通过簇DCM 100或网关DCM 100而连接。该***包括终端装置,其中,每一个终端装置通过通信链路与至少一个DCM 100进行通信,以使能在终端装置和DCM 100之间的数据交换。该通信链路可以是有线或无线通信链路。DCM控制和监控终端装置。该***进一步包括:至少一个分布式数据库,其包括在***中的一些或全部DCM 100的本地数据库的对象的拷贝。分布式数据库可以提供用于在***中的所有数据的集中存储。
该***可以包括DCM 100,该DCM 100是网关控制管理器。该网关控制管理器被配置来与外部装置进行通信,以提供对于至少一个网关控制管理器的本地数据库的访问。该至少一个网关控制管理器的本地数据库包括至少另一个数字控制管理器的本地数据库的对象的拷贝。即,该网关控制管理器具有在***外部的网络访问,并且可以使得在***内的数据可被网络外部获得。例如,被授权的远程计算机可以登录到网关控制管理器内,并且下载其本地数据库的拷贝。如果远程计算机更新本地数据库的其拷贝,则该更新被传播到终端装置和DCM 100的***。
在***中可以有多个网关控制管理器。作为说明性示例,该***可以包括:第一网关控制管理器,其中,该第一网关控制管理器的本地数据库包括至少另一个数字控制管理器的本地数据库的对象的拷贝;以及第二网关控制管理器,其中,该第二网关控制管理器的本地数据库包括至少另一个数字控制管理器的本地数据库的对象的拷贝。
该第一网关控制管理器被配置来与第二网关控制管理器进行通信,并且被配置来向第二网关控制器提供第一网关控制管理器的本地数据库的对象的拷贝。
作为网关,第一网关控制管理器被配置来与外部装置进行通信,并且向外部装置提供其本地数据库的对象的拷贝。类似地,作为网关,第二网关控制管理器被配置来与外部装置进行通信,并且向外部装置提供其本地数据库的对象的拷贝。另外,第二网关控制管理器被配置来向外部装置提供第一网关控制管理器的本地数据库的对象的拷贝。
DCM 100可以被分组为簇,其中,每一个簇被分配来管理建筑物的楼层或部分;BAS经由有线或无线通信链路来整合簇,以建立建筑物自动化总线,以使能在DCM 100之间的数据交换。BAS管理终端装置,其中,每一个终端装置通过或无线或有线通信链路来与至少一个DCM 100进行通信,以使能在终端装置和DCM 100之间的数据交换。
BAS可用于将所有DCM 100的本地数据库整合为从指定的网关控制器可访问的单个分布式数据库。图12图示其示例。例如,连接到以太网总线101的DCM 100可以作为对于经由因特网连接的外部装置的网关。网关DCM 100可以存储在网络上的一些或所有DCM 100和DE 400的本地数据库的对象的拷贝,以提供分布式数据库。一些DCM 100可以存储在DE400和DCM 100的本地数据库中的对象的拷贝,并且向网关提供拷贝。在网络内并且从/向外部装置传播对于分布式数据库的任何更新。
可以通过整合簇中的每个DCM 100的本地数据库来对于每个簇实现分布式数据库。BAS可以被实现使得对于DCM 100的每个簇存在指定的网关数字控制管理器。BAS可以对于DCM 100的每一个簇实现分布式数据库,其中,每个分布式数据库被配置来访问和管理对应的簇的所有DCM100的本地数据库。每一个指定的网关控制管理器被配置来访问用于簇的对应的分布式数据库。
有线/无线网络的节点中多协议数据管理
本发明的实施例进一步提供了用于低比特率通信网络的有效数据库管理方法。该方法使能从在总线上的单个点可访问的数据的单个一致查看。该方法被实现来处理诸如Zigbee/802.15.4的无线网络的低数据率。建筑物自动化总线能够向下述装置说话并且管理该装置:该装置是单向的并且仅发送关于事件的数据,诸如EnOean交换器。该方法可用于管理在多层或区域簇上分布的大量装置。
因为较低速协议(例如,Zigbee/802.15.4)具有很小的带宽,所以需要解决方案来减小在这些协议上的流量以优化带宽并且减小在请求上的延迟。为了实现这个目标,该方法在数据库中存储值,并且仅发送修改。
现在参考图14,示出两个DCM 100的网络的示意表示。根据数据库管理方法的一个示例实施例,建立在DCM 100e的本地存储器中存储的本地DB1520的拷贝。DB1522的拷贝与其本地DB2524一起被存储在DB2100f的本地存储器中。其后通过在通信链路526上发送改变的值,仅对于在DB1520中的改变的值执行同步。万维网浏览器530也可以在需求时请求诸如DCM 100e的特定对象的同步,并且可以经由DCM 100f来访问数据值。
现在参见图15,示出两个DCM 100的网络的另一种示意表示。根据数据库管理方法的一个示例实施例,DCM 100e在其本地DB1520中维护诸如EnOcean交换器534的终端装置的值。如上,在DCM 100f上存储DB1522的拷贝。仅发送更新的数据值以同步DB1520和拷贝DB 1522。当万维网浏览器530执行对于EnOcean交换器534的状态的请求时,返回在拷贝DB1522中存储的值。
为了建立单个相关视图,簇控制器(DCM 100)维护在簇中的DCM 100的一部分或全部的数据库的本地拷贝。各个DCM 100仅向簇控制器发送改变。簇控制器当没有任何事务时在正在进行的基础上重新同步数据库的本地拷贝。网关控制器维护簇数据库的本地拷贝,再一次在正常操作中仅发送改变。操作可以被承载在网络/总线的任何层级的任何数据库中,并且网络的剩余部分自动地重新同步。通过以这种方式分发数据并且允许操作在任意点处启动,在建立和发出行为或信息请求中的启动应用中没有延迟。图12图示簇和网关的示例。可以有与另一个网关DCM 100进行通信以进行有效的数据交换的网关DCM 100。
现在参见图16,示出根据一个示例实施例的用于低比特率通信网络的数据库管理方法600的流程图。该方法600旨在通过仅发送更新并且不要求保持到网关控制管理器的通信链路来降低带宽使用,并且减小响应数据请求的延迟。
步骤602包括:建立在DCM 100和终端装置之间的通信链路,其中,每一个DCM 100包括对象的本地数据库。这导致DCM 100和终端装置的网络,使得DCM 100可以控制和监控终端装置并且与其他DCM 100交换数据。图12和13图示示例。
步骤604包括将DCM 100的至少一个指定为网关控制管理器。可以有一个或多个网关控制管理器。如上所述,网关控制管理器可以连接到在DCM 100和终端装置的网络外部的装置,以提供从其他DCM 100和终端装置向在***和网络中的数据的这样的外部装置访问。作为示例,图12图示连接到以太网总线101并且与另一个DCM 100进行通信的DCM 100,该另一个DCM 100继而与另一个DCM 100进行通信,以提供网关链。图13图示示例应用。
步骤606包括:对于至少一个DCM 100在网关控制管理器的本地数据库中存储至少一个DCM 100的本地数据库的对象的拷贝。这使得网关控制管理器能够从其他DCM 100向外部装置提供数据的拷贝,即使当关断或否则不可访问DCM时。
步骤608包括:确定是否更新至少一个DCM 100的本地数据库的对象。
在确定更新了对象时,步骤608包括:通过对于被更新的对象的拷贝进行对应的更新来同步网关控制管理器的本地数据库。如果没有更新,则不发送数据。仅发送更新减少了带宽使用。可以发送被更新的完整对象或仅发送递增的改变。
数据库管理方法600可以进一步包括步骤:建立在DCM 100和终端装置的网络外部的装置上的网关控制管理器和万维网浏览器之间的通信链路。图12图示连接到因特网的DCM 100,因特网可以继而连接到万维网浏览器或其他软件接口应用。网关控制管理器可以从万维网浏览器接收数据请求,并且向万维网浏览器提供对于网关控制管理器的本地数据库的访问。为了减小带宽使用,提供访问可以包括:向万维网浏览器输出网关控制管理器的本地数据库的拷贝,使得不必保持在万维网浏览器和网关控制管理器之间的网络连接。
数据库管理方法600可以进一步包括步骤:建立在网关控制管理器和万维网浏览器之间的通信链路。网关控制管理器可以从万维网浏览器接收同步请求,其中,同步请求识别一个或多个DCM 100。方法60可以进一步包括:确定是否更新一个或多个DCM 100的本地数据库的对象,并且在确定更新了对象时,通过对于被更新的对象的拷贝进行对应的更新来同步网关控制管理器的本地数据库。即,万维网浏览器可以提示网关控制管理器保证同步其本地数据库。而且,万维网浏览器可以请求本地数据库的其本身的拷贝与网关控制管理器的当前本地数据库同步。
数据库管理方法600可以进一步包括步骤:建立在网关控制管理器和万维网浏览器之间的通信链路,并且建立在终端装置和DCM 100之间的通信链路,其中,数字控制管理器的本地数据库存储与终端装置的状态对应的对象。与至少一个DCM 100的本地数据库的终端装置的状态对应的对象的拷贝可以然后被存储在网关控制管理器的本地数据库中。网关控制管理器可以从万维网浏览器接收状态请求,其中,该状态请求识别终端装置,并且作为响应,向万维网浏览器提供对于与在网关控制管理器的本地数据库中的终端装置的状态对应的对象的拷贝的访问。为了减小带宽使用,提供访问可以包括:向万维网浏览器输出与终端装置的状态对应的对象的拷贝,使得不必保持在万维网浏览器和网关控制管理器之间的网络连接。
现在参见图17,示出根据一个示例实施例的用于低比特率通信网络的数据库管理方法700的流程图。方法700旨在通过仅发送更新而不要求保持到网关控制管理器的通信链路来减小带宽使用,并且减少响应数据请求的延迟。
步骤702包括建立在多个数字控制管理器和多个终端装置之间的通信链路,其中,每一个数字控制管理器包括本地数据库。图12图示示例网络。
步骤704包括:将数字控制管理器之一指定为第一网关控制管理器。图12图示作为网关的DCM 100。
步骤706包括:将数字控制管理器之一指定为第二网关控制管理器。图12图示作为另一个网关的DCM 100。
步骤708包括:对于至少一个数字控制管理器,在第一网关控制管理器的本地数据库中存储至少一个数字控制管理器的本地数据库的对象的拷贝。
步骤710包括:对于至少另一个数字控制管理器,在第二网关控制管理器的本地数据库中存储至少另一个数字控制管理器的本地数据库的对象的拷贝。
步骤712包括:在第二网关控制管理器的本地数据库中存储第一网关控制管理器的本地数据库的对象的拷贝。
步骤714包括:确定是否更新了至少一个数字控制管理器的本地数据库的对象。
步骤716包括:在确定更新了对象时,通过对于被更新的对象的拷贝进行对应的更新来同步第一网关控制管理器的本地数据库。
步骤718包括:确定是否更新了第一网关控制管理器的本地数据库的对象。
步骤720包括:在确定更新了对象时,通过对于被更新的对象的拷贝进行对应的更新来同步第二网关控制管理器的本地数据库。
本地嵌入接口
本发明的实施例进一步提供了在DCM 100上的本地嵌入接口。
建筑物自动化网络可以包括将高级控制器(通常专用于建筑物自动化,但是可以是通用的可编程逻辑控制器)与低级控制器、输入/输出装置和用户接口(也称为人机接口装置)连接的主和辅助总线。主和辅助总线可以是BACnet、光纤、以太网、ARCNET、RS-232、RS-485或无线网络。
大多数控制器是专有的。每一个公司具有用于特定应用的它自己的控制器。一些控制器被设计有受限的控件,例如封装的房顶顶部单元。其他控制器被设计为灵活的。大多数具有与ASHRAE的开放协议BACnet或开放协议LonTalk一起工作的专有软件。
输入和输出是模拟或数字的(一些公司说是二进制的)。模拟输入用于读取可变测量。示例是温度、湿度和压力传感器,其可以是调温器、4-20mA、0-10伏特或白金电阻温度计(电阻温度检测器)或无线传感器。数字输入指示是否接通了装置。数字输入的一些示例将是24VDC/AC信号、空气流开关或免电压中继器触点。
模拟输出控制诸如可变频率驱动器、I-P(电流至气动)换能器或阀门或阻尼器致动器的装置的速度或位置。示例是热水阀门,其打开25%以保持设定点。数字输出用于打开和关闭中继器和开关。一个示例是当光电池指示外部较暗时接通停车场的灯。
可能产生的一个问题是控制承包商需要供应商特定软件来配置***和DCM。承包商必须具有供应商特定软件,该软件必须在***的10年使用期限上保持最新。用于传统控制器的典型使用情况要求使用那个制造商的软件来编程给定的控制器,可能甚至要求特定的操作***版本。另一个问题是如果建筑物拥有者要前端的解决方案,则他们需要专用万维网服务器。当建筑物太小时,对于投资的回报太低,以致收不回服务器的成本。
本发明的实施例涉及在DCM 100内存储但是在万维网浏览器中执行的嵌入软件接口,诸如java脚本应用。嵌入软件接口可以用于配置和监控DCM 100和***。嵌入软件接口提供高度便携的万维网浏览器扩展(或插件)。在计算***上的浏览器内运行完整的应用。DCM 100数据库被输出到***,该***运行万维网浏览器并且该万维网浏览器因此有效地变为在网络中的新的DCM 100,其使用它本地的数据库拷贝来形成请求和行为并且将其本地数据库与在建筑物中的其他数据库同步。这种配置不提供客户机/服务器关系。仅在控制器和万维网浏览器之间的数据库同步(对等关系)。具有用于配置的非专有本地接口使能与第三方供应商的最大可操作性。板上用户/配置万维网接口去除对于外部工具/专用软件/版本的依赖性。用户例如可以10年后返回到工作现场,并且仍然完全能够配置和管理网络和DCM 100。因为数据驻留在至少部分地在低速链路上运行的低功率装置上,并且按照设计在建筑物内没有所要求的万维网服务器,所以通过在承包商的计算机上本地运行的建筑物网络中有效地建立新的DCM 100来实现实时性能。
当承包商登录以配置或重新配置终端装置或DCM 100时,承包商登录到的网关控制管理器的数据被复制到承包商的计算机的本地存储器。基于Java脚本的浏览器应用然后在本地数据库上运行,但是,像任何其他DCM 100那样将其改变与在建筑物网络中的其他控制器同步。在承包商的计算机和建筑物自动化网络的网关控制管理器之间的交互完全由作为容易被低功率***处理的短消息的数据库更新组成。
一旦更新达到直接地连接到目标装置的DCM 100,则经由数据库更新来执行行为;这个DCM 100执行所请求的行为,如果可能的话确认终端装置的新状态,并且更新其数据库。在行为失败的情况下,终端装置DCM100启动反应装置的实际终端状态的新数据库更新。
因此,在数据存储区是在建筑物DCM 100上分布的数据库时,数据服务器变为承包商的计算机。这反转了其中单薄客户机与强大服务器交互的通常的客户机服务器关系。在此,厚重客户机以有效的方式与低功率服务器交互。
当承包商注销时,数据库的本地拷贝被删除以防止同步错误。该方案使得能够最大化控制器的有限资源,而不要求独立的服务器或在控制器上托管的服务器。从单个控制器下载万维网接口应用,但是数据来自如图18中所示的多个控制器,图18是根据一个示例实施例的控制器的网络的示意图。
如图18中所示,DCM 100g、100h、100i和100j是网关控制管理器。在簇中布置DCM 100g、100k、100l和100m,其中,DCM 100g是簇控制管理器。在簇中布置DCM 100h、100n、100o和100p,其中,DCM 100h是簇控制管理器。在簇中布置DCM 100j、100q、100s和100r,其中,DCM100j是簇控制管理器。
当万维网浏览器542首先经由以太网总线540连接到DCM 100g时,在DCM 100g上的本地数据库中驻留的应用和任何数据被下载在万维网浏览器的存储器中,并且在其中浏览器运行的计算机上本地被执行。
其后,应用作用于其数据的本地拷贝,而在形成信息和行为请求中没有与DCM 100的任何交互。
可以存在用于从其他控制器获得值的三种方式。作为第一示例,在来自DCM 100K、DCM 100I和DCM 100m的本地数据库中的对象可以经由以太网接口540使用至万维网浏览器542的连接被存储在DCM 100g的本地数据库中,DCM 100g作为网关控制管理器。作为另一个示例,DCM 100g可以作为至DCM 100h的路由器,DCM 100h作为至DCM 100n、DCM100o和DCM 100p的网关控制器。作为另一个示例,跨站HTTP请求可以用于通过万维网浏览器从其他DMC检索数据。跨站HTTP请求是对于来自与构成请求的资源的域不同的域的资源的HTTP请求。
分散***可以增加冗余,因为没有单个故障点,并且分散***可以改善可升级性,因为以逐步的手段来部署控制网络。分散的***减少与集中***相关联的预付成本,因为它不需要集中服务器、软件等。在这个意义上,单个房间的“集中”管理可以通过将CAN2GO连接器连接到LAN来实现。增加另外的房间具有边际成本。对于传统***,这将是不可行的,因为需要预先策划部署的大小和硬件/软件要求。通过降低预付成本,分散***降低了部署的成本,并且因此最大化对于客户的投资的回报。
本发明的实施例提供了一种DCM 100,该DCM 100包括:至少一个通信接口,其被配置来提供到一个或多个数字控制管理器、一个或多个终端装置和万维网浏览器的通信链路。DCM 100进一步包括包括对象和嵌入软件接口的本地数据库,以配置和监控数字控制管理器和与其进行通信的终端装置。
至少一个通信接口可以包括第一收发器,该第一收发器被配置来提供到没有有效电源的一个或多个终端装置的一个或多个无线通信链路。该至少一个通信接口可以包括第二收发器,该第二收发器被配置来提供到一个或多个数字控制管理器和一个或多个终端装置的一个或多个无线通信链路。该至少一个通信接口可以包括以太网接口,以太网接口被配置来提供到一个或多个数字控制管理器和/或一个或多个终端装置的一个或多个有线通信链路和一个或多个无线通信链路。该至少一个通信接口可以包括WiFi收发器,以提供到一个或多个数字控制管理器和/和一个或多个终端装置的一个或多个无线通信链路。如上所述,DCM 100可以进一步包括智能化功能模块,智能化功能模块被配置来执行计算机程序以向数字控制管理器和向与其进行通信的终端装置提供智能。DCM 100可以进一步包括:共享内核,该共享内核被配置来管理本地数据库;通信功能模块,其被配置来提供接口以使用对应的协议栈和驱动器从多个协议向多个协议转换;控制功能模块,其被配置来管理输入和输出接口,并且进一步被配置来通过控制策略集来控制物理参数。共享内核被配置来提供公共数据交换方案以经由通信信道链接数字控制管理器的部件。
现在参见图19,示出根据一个示例实施例的用于同步本地数据库的方法800的流程图。
步骤802包括:向***提供至少一个DCM 100。
步骤804包括建立在DCM 100和在计算装置上运行的万维网浏览器之间的通信链路。万维网浏览器可以在将配置***的承包商的远程计算机上运行。
步骤806包括:在万维网浏览器中执行嵌入软件接口。这使得远程计算机能够访问DCM 100以进行配置。
步骤808包括向万维网浏览器输出DCM 100的本地数据库的对象的拷贝。实际上,万维网浏览器可以作为在网络中的另一个节点或DCM 100,因为它包含本地数据库的拷贝。
可选地,步骤810包括结束在网关控制管理器和在计算装置上运行的万维网浏览器之间的通信链路。
可选地,步骤812包括:在运行万维网浏览器的计算装置上删除万维网接口应用的拷贝和网关控制管理器的本地数据库的拷贝。这保证没有本地数据库的过时的拷贝。
现在参见图20,示出根据另一个示例实施例的用于同步本地数据库的方法900的流程图。
步骤902包括:建立在多个DMC 100之间的通信链路。
步骤904包括将DCM 100的至少一个指定为网关控制管理器。
步骤906包括:对于至少一个DCM 100,在网关控制管理器的本地数据库中存储至少一个DCM 100的本地数据库的对象的拷贝。
步骤908包括建立在网关控制管理器和在计算装置上运行的万维网浏览器之间的通信链路。
步骤910包括:在网关控制管理器处,从万维网浏览器接收用于识别至少一个数字控制管理器的数据检索请求。
步骤912包括:从网关控制管理器的本地数据库向万维网浏览器输出对象的拷贝。从网关控制管理器的本地数据库向万维网浏览器输出对象的拷贝可以使用跨站HTTP请求。
方法900可以包括:在网关控制管理器的存储器中提供嵌入软件接口,并且向运行万维网浏览器的计算装置输出万维网接口应用的拷贝和网关控制管理器的本地数据库的拷贝。当在网关控制管理器和计算装置上运行的万维网浏览器之间的通信链路被结束时,方法900可以包括:删除在运行万维网浏览器的计算装置上的万维网接口应用的拷贝和网关控制管理器的本地数据库的拷贝。
虽然已经通过其特定实施例和示例描述了本发明,但是应当注意对于本领域内的技术人员显然的是:在不偏离本发明的范围的情况下,可以向本特定实施例应用修改。