控制网络及其配置方法 本发明一般地说是关于数字数据传输网络的配置过程。更具体地说,本发明定义了一种由带有传感器单元和执行单元的节点构成的网络结构并提供了一种配置这种网络结构的方法。再更具体地说,本发明是关于一种控制系统,例如建筑物的控制系统,它可由不具备编程技术的人来配置。
已知有无数次的努力要向建筑物和工业场地提供一种可靠的和易于使用的控制系统,以应用于例如根据时间、温度和侵入检测器的实际传感器值来切换负载。尽管在过去十年里,用于各种可能传输介质(例如用红外线或射频电磁波、双绞电缆、同轴电缆、以及交流(AC)电源线)的调制解调器或收发器的结构以及安全和稳健(ro-bust)的网络协议地结构都有了显著的进步,但在技术上仍缺乏一种至少在原则上能被任何人安装、配置和使用的控制网络结构。先有技术尽管向专业的网络管理员提供了一些辅助工具,但在这方面却普遍未能成功。
美国专利US-A-4 864 492提供了一种系统和方法,用于把基于知识的专家系统应用于建立个体化到复杂网络各工作站的配置参数。使用该知识去提供选项菜单和控制网络管理员可用的选择。对先有技术的进一步参考是关于网络拓扑结构的图形表示方法。例如US-A-4 942 540描述了从滚动菜单中选择通信参数从而在用户终端和目标终端之间建立和选择通信路径的方法。根据不同的菜单选择,显示出终端和路径的图形表示。欧洲专利申请EP-A-0490 624提供了一种操作系统和方法,利用它网络管理员能通过定义带有各自硬件和操作系统的多个节点来用图形方式描述一个网络,然后能定义节点之间通信路径的协议并且根据这种节点和通信路径构成网络的约束对节点(通常为工作站或PC)的各种操作系统产生配置参数。显然,解决网络配置问题的这种途径对于专业网络管理员以外的其他使用者是没有意义的。
所以本发明的一个目的是提供一种直观可用的网络配置方法,特别是用于建筑物控制和自动化的网络配置方法。
本发明假定存在一个网络,用于控制例如一座建筑物,所述网络由若干单个节点组成。每个节点带有至少一个调制解调器或收发器用于通过传输介质传送数据。每个节点还包括一个读/写(r/w)存储器用于存储微代码以及一个微处理器用于执行存储于存储器中的微代码。在网络内部,每个节点有一个节点标识(ID)。这个节点ID允许由读取被传送数据的特定部分(例如一个头段)来识别发送和/或接收节点。通常,每个节点带有至少一个传感器单元或执行单元。尽管在本发明范围内的网络基本上是基于所谓点对点(peer-to-peer)连网的网络,但也假定存在带有用户界面的特殊节点。这个特殊节点被设计成用于接收使用者的输入或显示和存储关于网络及其节点的信息。在网络配置完成之后,这些节点能作为“同等地位的点(peer)”级此可直接通信而不需要依赖于中心节点。
上面描述的这类网络是大家都知道的。一个早期实例是由N.McArthur等发表的“智能插头”(无线世界,第46-51页,1979年12月)。在欧洲专利申请EP-A-0 393 117中描述了另一个更新近的网络。
本发明的特点在于所附权利要求书中提出的那些特征。其特点特别在于:一个控制网络的节点除包括调制解调器装置用于通过传输介质发送和/或接收数据及至少一个传感器单元,该节点进一步包括可配置的转换器装置用于把所述传感器单元的输出转换成可通过所述传输介质传输的数字数据,以及存储装置用于存储外部提供的配置数据供所述可配置转换器装置使用,所述配置数据是从外部提供的关于所述传感器单元的控制条件数据中提取出来的。带有执行单元的节点包括相应的转换装置来解释由传感器单元发送的数字数据并启动所要求的执行单元操作。
本发明的一个重要方面在于网络数据通信是按定义的数字数据格式即位图(bit pattern)进行的。这个位图指明由传感器元件测量到的一个(当前)值是否满足一个条件。在本发明的一个实施例中,位图被简化成由一位表示的“真”和“伪”,即“1”或“0”,从而显著地限制了传输介质上的数据传输量。数据传输量减少还由于节点只在相关状态的逻辑值从“真”变成“伪”或反过来从“伪”变成“真”时才传送数据,而不是连续地向网络发送数据。
把这一方法看作是将传感器的整个量程映射或压缩转换成与定义的位图相关联的有限数量的区间,这种看法或许会有指导作用。传统的线性或对数转换器是根据固定的编码方案将输入值转换成相应的输出值,与此相对照的是,根据本发明,编码方案是动态地分配给传感器单元,并适应于由网络使用者从外部提供的要求或条件。理想情况是网络通信会由此而简化为“状态报告”。这种“状态报告”由带有传感器单元的节点发出并由具有执行单元的节点接收。然而,网络的某些功能,例如取决于传感器单元实际状态的所有应用,可能会要求连续传输一个(固定的)编码信号。根据本发明的配置处理所提供的传感器数据与所测参数的具体的(物理的)性质无关,并能任意组合以实现控制执行单元的目的。
本发明特别适用于点对点控制网络,例如应用于建筑物或工厂中的负载控制。它表现出显著减少网络通信量,从而可以最佳地应用于低带宽或低通过率的传输介质。这种介质可以是例如红外光波、超声波、或交流(AC)电力线。
在一个最佳实施例中,关于传感器单元的每个条件(IF(如果)条件)在带有这一传感器单元和节点所发送的数据流中被指定一个特定的位置(bit position)。如果这个单元的量程被使用者的IF(如果)条件分成例如4个区间,则有4位指示是否满足各自的条件。
然而,可以根据其他编码方案对IF(如果)条件进行编码,例如用二进制编码,在这种情况下,4个区间将只由2位编码。对于本行专家而言,显然能从已知的编码方案中任意选择确切的编码方案。
本发明的又一方面是,带有执行单元(它的动作由一个或多个传感器单元的IF条件来控制)的每个节点接收关于位图、赋予每个IF条件的编码表示连同它们各自的逻辑连接(即把单个IF条件组合起来的布尔运算,例如“与(AND)”或“或(OR)”)的信息。加到执行单元节点的第三种信息是关于优先级的,当使用者的输入含有不一致的或矛盾的IF条件时这种优先级便起作用。
在所附权利要求中提出了相信为本发明特点的这些或其他新特征。然而本发明本身以及最佳使用方式及其他目标和优点,都将通过参考下文中结合附图对实施例的详细描述而得到最好的理解。
将参考如下附图对本发明进行详细描述:
图1显示出一个网络,它包含的几个节点连于一个建筑物的电源线上。
图2显示出根据本发明进行配置的过程中显示屏的详细情况。
图3A显示出在已知的控制网络中数据传送的详细情况。
图3B显示出根据本发明的数据传送的详细情况。
实现本发明的方式
首先参考图1,图中显示出由几个节点构成的网络10。网络的所有节点包括调制解调器11,它根据配置过程中存于每个节点的存储器13中的控制代码启动节点控制器12,使其向传输介质15发送数据。所描述的实例的传输介质15是建筑物的电源线。然而,如前所述,本发明能应用于任何传输介质。一个节点还包括传感器单元16和执行单元17,这里每个节点可以包括这些单元的任意组合。传感器单元和执行单元被连接于适当的转换器装置18,它根据固定的转换方案操作,在网络本身的安装和配置过程中这种转换方案是不改变的。这些已知转换器的实例是A/D(模/数)和D/A(数/模)转换器,F/D(频率/数字)和D/F(数字/频率)转换器等。节点之一101还包括运行程序的装置及与操作员或使用者通信的接口。在下文中将把这个特殊节点称作管理器或A节点。在所描述的实例中,A节点是一台个人计算机(PC),有一插板带有调制解调器装置以及让PC作为网络内节点进行通信的所有其他部件。将会清楚看到的是,尽管存在一个特殊节点,即A节点,所描述的网络确实是属于点对点网络这一类。在网络的这一运行方式中,在完成配置过程之后,A节点变成与网络中的其他节点没有区别。
建立网络的第一步是使A节点识别出网络中安装的每个节点。这种识别过程可以用几种方法实现。在本例中,A节点中安装的一个配置程序包括一个预定义节点类型库。每当安装一个新节点,便产生一个信号,它允许A节点去识别节点的类型,包括它的所有传感器和执行单元以及节点ID(标识),即允许与这个新安装的节点进行通信的地址。
在网络的所有节点被安装和识别为库中所存节点类型之后,在A节点显示器上产生一个如图2所示的二列表20,A节点还包括一种手段,用于解释由使用者打入第一列作为IF(如果)陈述的所有陈述以及作为THEN(于是)陈述的第二列的所的条目。此外,在IF列中处于一个字段(field)内的所有陈述被看作为由AND(与)连接,而处于二个不同字段的陈述被看作为由布尔OR(或)算子连接。配置过程迫使使用者向第一列只插入与传感器单元有关的陈述,而向第二列只插入与执行单元有关的陈述。对每个节点,其可用单元211作为在由使用者定义的节点名字之下的一组图标21显示出来。没有经验的使用者可以利用指示器(鼠标器)把所希望的单元图标211拖放到表20的一个字段中从而建立表中的条目。在拖放操作之后,使用者将被提示提供要定义的条件的进一步详细情况。
在根据所希望的网络配置和控制参数完成了表格条目之后,A节点产生所有必要的配置数据并把它们发送给网络的其他节点。在下文中将参考一个简单的情况描述其确切的方法。应该指出,确切的方法(例如对参数的定义)可以很容易地由本行专家改变。
在所描述的实例中,库为每个传感器单元提供一个STATEDEF(状态定义)变量。在亮度传感器单元的情况下,该变量的C语言定义是:
--> } BGT_STATE_DEF;]]>
这个定义允许使用者定义二个阈值。阈值可被看作是代表由亮度传感器测量的值。应该指出,在网络中这些测量值的实际格式依赖于固定的转换和格式操作(例如A/D转换),这种操作在不同的网络环境中和/或对于不同类型传感器可能是不同的。然而这些格式(下文中称作“未编码格式”)与本发明没有关系。第三个变量是字符型变量,表示二个阈值之间的关系,例如等于、大于、小于等,其值由对象库预先确定,并根据使用者的输入赋值。SNS_MATRIX变量定义为:
该变量保有由一个节点所传送的全部网络变量的组合有效负载构成的矩阵中的位位置。关于这些网络变量的详细情况将在下文中描述。
当使用者想要亮度传感器去控制几个装置或在不同条件下的同一个执行单元时,便定义若干个BGT_STATE_DEF变量。
存于STATE_DEF变量中的信息对于每个传感器单元组合成配置变量,在亮度传感器的情况里这个变量的定义是:
这个配置变量中除STATE_DEF变量外还包括关于处置传感器缺陷的信息及关于一个时间周期的信息,在这个时间周期之后由传感器传送新值(更新周期)。
在提到上述网络变量(NV)的作用时,得要考虑控制网络的一些物理限制。由于本发明是特别为低带宽和高噪声水平的传输介质设计的,网络通信量是有限制的,因而得要加以管理。在把网络资源分配给各节点的第一步中,每个由前述安装步骤识别出的节点与一定数量的网络变量(NV)相关联。一个网络变量是一个数据串,可有效地作为一个“容器而起作用,它由其起始位序列(头段)或停止位序列(尾段)或二者的结合来表示其特征。除了这些位之外,网络变量还带有或固定或可变数量的若干位来代表要传送的信息即数据,按已建立的通信术语,它由术语“有效负载”(payload)”表示。NV的例子可在图3B中找到。
以有限个数NV的形式赋予网络中每个节点的有效负载是在对节点传感器单元分配的第二步中赋值的。通过这一分配步骤,每个传感器单元被给予最大数量的可能状态,它对应于前述配置过程中由使用者赋予任何一个传感器单元的最大状态数。实质上,对于每个传感器单元在NV的有效负载中保留了固定个数的位。
尽管在本例中的二个分配步骤都是静态的,即在实际配置过程之前确定的,但本发明也考虑了在每一级上根据使用者希望的配置动态地分配资源。在这一变体中,或者是根据关于节点的陈述个数将网络变量赋予该节点,或者只对使用者实际定义的陈述保留赋予节点的NV有效负载中的位位置。动态分配方案的显然的优点在于资源的利用要比静态分配更加经济。然而,这个优点被更复杂和更耗时的管理操作所抵销。
现在回到描述本发明的最佳实施例和对表中第二列条目的处理,我们还记得那些条目即THEN(于是)陈述定义了节点中执行单元的状态。使用者在这一列中的输入被转换成配置变量。例如,控制电源开关的配置变量定义为:
它包括一个数代表由使用者定义的陈述值,这些陈述是关于这一电源开关(这个数要相对于初始化过程中分配给该电源开关的最大数进行检验,还包括执行定义的状态本身,该状态由RULE_DEF表示
它包括所希望的状态(stateAct),在开关的情况中可以是ON(通)、OFF(断)或CHANGE(变),分别由0、1、2表示。RULE_DEF还包括变量inACTStIndex和inStatePos,它们指出接收到的网络变量(NV)的有效负载或组合有效负载矩阵中的位位置,还包括变量logicRule,它确定在NV所指示的位位置处找到的位和由下一个RULE_DEF指出的与这个执行单元有关的下一位之间要完成的逻辑运算,在logicRule被设成“AND(与)”的情况中,其stateAct可以是左无赋值的,因为只有在下一个RULE_DEF被求值之后才完成执行单元操作。只有当遇到OR(或)作为logicRule值时,如果所有先前的AND(与)运算符连接的RULE_DEF提出的条件得到满足,则执行由stateAct定义的操作。于是下一个RULE_DEF不管是否由AND(与)运算符组合,只要与这同一执行单元有关,则被忽略。如果未得到满足,则相应地处理下一个RULE_DEF或RULEDEF组。
在对上述变量求值之后,与一个节点的传感器单元和执行单元相关联的那些STATE_CFG和ACT_CFG变量被组合成一个CFG变量。
--> SNS_PSH__CFG snsPshCfg;/*按钮传感器配置*/ ACT_230__CFG act230Cfg;/*供电继电器配置*/ } CFG;]]>
例如,它描述一个节点的CFG变量,该节点包括一个亮度传感器和一个按钮作为传感器单元,还包括一个电源线开关(例如继电器)作为执行单元。当由A节点产生的CFG数据被传送给所有节点并存储在其局部微控制器存储器中时,作为本发明基础的程序代码已基本完成。然而,为了可以作为控制网络而充分地操作,含有传感器单元状态信息的那些网络变量(NV)得要寻址到带有由所述传感器单元状态控制的执行单元的那些节点。寻址网络中单个节点的任务能用不同的方法实现,这些方法在原理上是本行专家所熟知的。在本示例的网络中,赋予一节点的网络变量(NV)由单独的头段来标识。在一个可以称作“连接”的处理过程中,含有执行单元的节点被指示去接收含有相关传感器数据的网络变量(NV)。
下面更详细地说明根据上述实例配置的网络的运行情况,这里假定一个假想的情景,其中当由节点2的亮度传感器测量的亮度超过阈值30000Lux并同时节点2的按钮处于“ON(通)”位置时,使用者希望节点1的电源继电器被切断。当所测亮度处于0至20000Lux范围内时也只有当节点2的按钮处于“ON通”位置时,应启动电源继电器。最后在假想的情景中假定使用者想要使测得的亮度值连续地显示在A节点的显示器上。
在安装步骤,有电源开关的节点1和包括亮度传感器及按钮的节点2通过简单地把它们插到电源线的插座上来与电源线相连。每个节点与也连到同一电源线上的被启动的A节点交换初始化序列。A节点把每个节点的初始化序列与其节点库中的条目进行比较,并产生代表关于该节点、它的传感器或执行单元、这些单元所允许的状态及最大数目、以及赋予该节点的网络变量(NV)等信息的节点对象。同时,产生每个节点及其单元的图形表示或图标(如图2所示),允许使用者在进行其后的配置步骤过程中使用鼠标型指示或控制装置。
配置系统让使用者在监视器方式和配置方式之间进行选择。首先来描述监视器方式,这种方式对本发明不特别重要:一旦选择了节点2的亮度传感器,实质上提示使用者要给出测量应被显示的时间间隔。于是配置系统识别出一个特定的网络变量(SNV),它的有效负载只含有如前面定义的亮度值的未编码格式。再有,根据使用者的输入设置节点2产生和传送SNV的时间间隔。A节点被指示接收这一SNV并在适当的转换操作之后将亮度值显示出来。该值也可以作为适于由在spreadsheet(电子表格)程序或类似程序进一步处理的数据被直接传送和存储。SNV处理的示意图示于图3A。如前所述,未编码格式数据的产生和处理不是与本发明特别有关。
配置方式可以看作为本发明的重要要素,在此方式中由配置系统产生图2所示的表20。现在使用者可以利用鼠标按前述假想情景把传感器单元211拖动到第一列的字段中。为产生如假想情景中描述的第一操作方式或条件,把亮度传感器图标拖动到配置表中的IF(如果)列第一字段中并当提示要求阈值时填入30000Lux作为第一阈值就足够了。然后选择“大于”。节点2的按钮图标被拖动到同一字段,而配置系统自动地在两个传感器单元状态之间用“AND(与)”关系联结起来。使用者可把按钮定义为逻辑开关并设其值为ON(通)。然后把节点1的电源开关单元拖动到配置表中THEN(于是)列的相邻字段并定义为OFF(断)为了配置第二操作方式,再把节点2的亮度传感器单元拖动到配置表的IF(条件)列的下一个字段,并分别设阈值为0Lux和20000Lux。这两个值用“小于”和“小于或等于”测量值连系起来。节点2的按钮再被拖动到同一字段,而配置系统和前文中所述同样地自动在两个传感器单元状态之间用“AND(与)”关系联结起来。同样重复前述拖动和配置电源开关单元过程,并设其值为ON(通)。
在完成这些步骤之后,使配置系统能产生和发送两个CFG型消息,这里赋予节点1的CFG消息含有ACT_230_CFG消息。为节点2的CFG消息含有SNS_BRIGHT_CFT和SNS_PSH_CFG消息。ACT_230_CFG含有如前面定义的四个RULE_DEF,而SNS_BRIGHT_CFG含有二个BGT_STATE_DEF,SNS_PSHCFG含有一个PSH_STATE_DEF。
在第一个BGT_STATE_DEF中,SNVT_Lux值设为30000,字符变量设为“GREATER THAN(大于)”。 SNS_MATRIX设为赋予节点2的网络变量32的有效负载的未赋值位位置BP22。这个位位置被假定为第一个被传送的网络变量NV1(t)的第22位。因此,outSNSStIndex被设为“1”指向NV1(t),而outState Pos被设为“22”。第二个BGT_STATE_DEF含有阈值0和20000,字符设为“R”指明一个区间关系(0<被测量值<=20000)。 SNS_MATRIX指向NV1(t)的有效负载的位位置BP13。SNS_PSH_CFG含有一个PSH_STATE_DEF,其中的字符变量被设为“1”,表明这个按钮的开关功能。在NV1的有效负载内的位位置由SNS_MATRIX定义(为BP17)。
在第一个RULE_DEF中,位指针(inACTStIndex,inState Pos)指出由节点1接收的第二网络变量NV2(r)的亮度传感器的第一个前述赋值位(位位置BP22)。在当前的假想情景的条件下是NV2(r)等于NV1(t)即由节点2传送的第一NV。inACTStIndex的值设为“2”,inStatePos设为“22”。LogicRule值设为“AND(与)”。第二个RULE_DEF的位指针指向位位置BP17,即开关位置。logiceRule设为“OR(或)”。stateAct变量设为“ST_OFF”。
在第三RULE_DEFF中,位指针(inACTStIndex,inStatePos)指向第二个收到的网络变量NV2(r)的亮度传感器的第二赋值位(BP13)。logicRule值设为“AND(与)”。第四RULE_DEFF指出位位置17,即开关位置。logicRule设为”OR(或)”。stateAct变量设为“ST_ON”。logicRule值也存储起来作为可配置转换器33的一部分。
在所描述的假想情景中,只利用了一个网络变量,即NV1(t)=NV2(r)。然而,在更普遍的情况中,带有多个传感器单元的每个节点会有几个网络变量NV可用于写入定义传感器状态的位。同样情况也适用于那些节点,它们带有的执行单元对应于来到或收到的网络变量(NV)个数。在这种情况下,一个节点的全部外行或发出的网络变量(NV)被看作为矩阵32,其行是网络变量(NV),其列是位位置。同样情况也适用于收到的网络变量(NV)。这样,被发送的网络变量(NV)的矩阵32的行出现在被收到的网络变量矩阵31内的一行(虽然在不同的行位置)。配置过程为每个执行单元提取出与这一执行单元有关的所有传感器状态的矩阵位置。
可按下述方法利用本发明提供的手段实现一个简单的控制电路。一个亮度传感器状态“too Dart(太暗)”(<20000 Lux)被定义并关联于执行单元状态“increase(增强)”,它可增强对一光源的供电。可与此类似地定义“too Bright(太亮)”状态(>50000 Lux)。执行单元的缺省状态设为“STOP(停)”,冻结电源的电流量。20000 Lux和50000 Lux之间的区间构成一个控制钮滞(hysteresis),这防止了控制电路的振荡。不难看出,这一配置使能在房间或建筑物中进行亮度的反馈控制。