联网的控制系统的设备的自动调试的制作方法

文档序号:8042218阅读:246来源:国知局
专利名称:联网的控制系统的设备的自动调试的制作方法
技术领域
本发明涉及联网的控制系统的设备的自动调试,特别地涉及照明系统的光源的自动调试,其中需要在单独的和局部的基础上的光源控制。
背景技术
联网的控制系统在商业、工业和事业机构(institutional)业务市场中以及还在消费市场中是普遍存在的趋势。联网的控制系统的一个实例是具有许多光源的复杂照明系统。特别地,在专业环境中,在单独的和局部的基础上控制灯变得越来越令人感兴趣。这样的环境的实例是温室、厂房、体育馆(sport hall)、办公楼和室外(矩阵)光显示器。例如对于室外(矩阵)光显示器,控制各个灯的消息可以在中心产生,但是例如对于温室/办公室, 也可以基于局部传感器发现。光源的单独控制通常通过将通信节点(例如镇流器)附接到需要控制的每个光源来完成。每个节点具有唯一的网络地址,使得消息可以寻址(address)到它。这个原理可以扩展到其他家庭自动化设备(equipment)。控制命令被发送到建筑物/环境内给定位置处的节点/节点组,以调节其位置处的照明。为此,节点的网络地址需要被映射到它们的物理位置,以便知道哪些灯在哪里并且知道哪些灯是关闭的。通常这是用手完成的,其中安装者围绕所有控制点行走并典型地通过使用专用软件记录在给定位置处的节点的网络地址和位置。该过程通常被称为调试,其是一种麻烦且易出错的操作。W02007/102114A1涉及无线通信网络中的无线通信节点的分组,无线通信节点被配置成控制照明阵列中的照明器(luminary)的操作。提供了一种用于对无线通信节点的导出的空间布置分组的计算机算法。通信网络中每个节点的方位(position)对应于照明阵列中特定照明器的方位。该算法将节点的布置划分为多个空间组,每个空间组由将该组的成员节点连接在一起的线限定。这些组根据它们的统计属性排列(rank),并且多个组被选择为控制组,使得每个控制组的成员节点(且因此照明器)可以由单个开关或传感器控制。

发明内容
本发明的一个目的是提供一种用于自动调试联网的控制系统的设备的系统、方法和设备。该目的通过独立权利要求的主题来解决。其它实施例由从属权利要求示出。本发明的基本思想是通过网格(grid)(特别是设备的近似矩形的网格)路由调试消息,因为每个设备能够经由光从网格中的直接相邻的设备接收调试消息并且经由光将调试消息传送到网格中的直接相邻的(directly neighbored)设备,其中调试消息包括跳计数器,该计数器可以在通过网格的消息的每一跳时更新,并且每个设备具有位置计数器, 该位置计数器可以根据调试消息的跳计数器来更新。如果联网的控制系统是例如在大厅或温室中的具有布置在矩形网格中的照明器的照明系统,则由这些照明器产生的主光可以用于传送和接收调试消息。因此,不需要用于路由调试消息的额外装置,例如RF (射频)接收器和发射器。取而代之,编码的光技术可以应用于通过网格路由消息。可以通过利用网格中设备的规则布置以最小的技术开销(overhead)来实现本发明。最后,可以以不需要任何人的协助的完全自动的方式执行调试。本发明的一个实施例提供一种用于自动调试联网的控制系统的设备的方法,该联网的控制系统包括布置在网格(特别是近似矩形的网格)中的若干设备,其中每个设备适于经由光将从网格中的直接相邻的设备接收的消息路由到网格中的直接相邻的设备,其中该调试包括动作
-由第一设备将包括跳计数器的调试消息传送到在网格中在预定方向上邻近第一设备的第二设备,
-由第二设备接收来自第一设备的调试消息; -由第二设备更新跳计数器以及更新第二设备的位置计数器,以及 -将具有更新的跳计数器的调试消息传送到一个或多个第三设备。除了位于网格边界处或角落中的设备(其分别仅具有一个、三个或两个直接相邻的设备)之外,网格中的每个设备具有至少两个(典型地四个)直接邻居。因此,设备的网格包括具有至少一个预定方向的设备布置的任意设备布置,例如设备的阵列、设备的二维布置(例如设备的矩阵样布置)或者甚至设备的三维布置(例如设备的箱式布置)。在网格中,消息仅可以在预定方向上从一个设备到另一个设备地路由。在矩形网格中,预定方向是正交的方向,优选地是垂直方向和水平方向。每个设备通过确定网格中的方位的坐标元组 (tuple)而在矩形网格中定位,例如
可以确定处于网格的左下角的方位。设备的位置计数器可以包括坐标元组,典型地包括设备在网格中的行和列。调试消息从发起该消息的设备路由到网格中的端设备(end device),该端设备典型地为在网格的边界处的设备。例如,当调试消息由网格左下角中的设备在网格中在预定的垂直或向上的方向上发起时,则该消息通过网格中的越过所有行的整列路由并且通常结束在网格左上角中的设备上。类似地,由网格中左下角中的设备在预定的水平或向右的方向上发起的调试消息通过越过网格中所有列的整行路由,直到它通常结束在网格的右下角中的设备上为止。由第二设备更新跳计数器的动作可以包括将跳计数器增加1,并且更新第二设备的位置计数器的动作可以包括将位置计数器设置为更新的跳计数器和实际的位置计数器的最大值。因此,网格中设备的位置可以利用调试消息确定,该调试消息通过网格从一个设备到另一个设备地路由并且由每个接收设备更新。因此,每个设备可以简单地利用调试消息的跳计数器确定它在预定方向上的坐标。而且,由第二设备更新跳计数器的动作可以包括将所接收的调试消息的跳计数器与第二设备的实际位置计数器进行比较,并且仅在比较结果为跳计数器大于或等于第二设备的实际位置计数器的情况下将跳计数器增加1。这允许避免关于故障设备的问题,故障设备通常不路由和更新接收的调试消息。故障设备可以导致调试消息的开始和停止,调试消息应当仅在网格中的端设备处开始和停止。然而,在故障设备的邻域中开始的调试消息可以导致调试消息具有不正确的跳计数器。通过比较所接收的调试消息的跳计数器与实际位置计数器,可以因此避免跳计数器和设备的位置计数器的不正确更新。由第二设备更新跳计数器的动作可以进一步包括如果比较结果为跳计数器小于第二设备的实际位置计数器,则拒绝所接收的调试消息。这允许保持调试消息的数量小并
5且保持归因于调试消息的路由的数据通信业务量低,因为调试消息通过网格的不必要路由被避免。将具有更新的跳计数器的调试消息传送到一个或多个第三设备可以包括将具有更新的跳计数器的调试消息传送到在网格中在预定方向上邻近第二设备的第三设备,或者传送到在网格中在预定方向上以及在两个另外的不同方向上(每个方向不同于预定方向) 邻近第二设备的多个第三设备。后一种方法允许调试消息不仅在一个预定方向上(例如在向上的方向上)通过网格路由,而且在其他方向上(例如在左和右方向上)通过网格路由。因此,故障设备可以被避开,并且可以避免由于故障节点引起的调试消息的损失。而且,可以检验邻近故障设备的设备的位置计数器它们是否正确的,并且最终更新位置计数器以使其成为正确的。在不同于预定方向的方向上邻近第二设备的第三设备可以在网格中在预定方向上传送调试消息。因此,调试消息在故障设备周围被路由,但是不偏离所述预定方向。在不同于预定方向的方向上邻近第二设备的第三设备还可以在网格中在预定方向上以及在两个另外的不同方向上(每个方向不同于预定方向)传送调试消息。因此,调试消息不仅可以在预定方向上路由,而且也可以在其他不同方向上路由。这允许以灵活的方式通过网格路由调试消息并改进调试,因为故障设备的群(cluster)也可被避开。若干调试消息可以在一个或多个预定方向上通过网格而并行路由。因此,总调试时间基本上通过在网格的所有行上传递调试消息且随后在所有列上传递消息来确定。如果执行关于跳计数器和位置计数器的测试并且调试消息可以被拒绝,那么调试消息的冗余可以快速消失。本发明的一个实施例提供一种使得处理器能够实现根据本发明的且如上所述的方法的计算机程序。根据本发明的另一个实施例,可以提供存储根据本发明的计算机程序的记录载体,例如⑶-ROM、DVD、存储卡、磁盘(diskette)、互联网存储设备或适合于存储计算机程序以便光学或电子存取的类似数据载体。本发明的另一个实施例提供一种被编程为执行根据本发明的方法的计算机,例如 PC (个人计算机)。本发明的另一个实施例提供一种用于自动调试联网的控制系统的设备的系统,该联网的控制系统包括布置在网格(特别是近似矩形的网格)中的若干设备,其中每个设备适于经由光将从网格中的直接相邻的设备接收的消息路由到网格中的直接相邻的设备,其中该系统被配置成通过执行以下动作调试设备
-由第一设备将包括跳计数器的调试消息传送到在网格中在预定方向上邻近第一设备的第二设备,
-由第二设备接收来自第一设备的调试消息; -由第二设备更新跳计数器以及更新第二设备的位置计数器,以及 -将具有更新的跳计数器的调试消息传送到一个或多个第三设备。该系统可以进一步适于执行本发明的和如上所述的方法。而且,本发明的一个实施例涉及一种适合在本发明的和如前所述的系统中应用的设备,特别地为照明器,该设备进一步适于传达定向光消息。
该设备可以包括下述特征中的至少一个
-该设备是照明器并且被调适成照明器的主光源的光用于借助于定向光消息的通
-该设备包括准直器和/或透镜,其应用于用于传达定向光消息的光源和/或应用于用于接收来自其他设备的定向光消息的光传感器; -该定向光消息对人眼而言是不可见的; -该设备适于在四个不同的方向上传达定向光消息;
-该设备适于在四个不同的方向上传达定向光消息,其中这些不同方向以90°度角分隔。本发明的这些和其他方面将参照下文所述的实施例而清楚明白并且参照这些实施例而被阐明。下文将参照示范性实施例更详细地描述本发明。然而,本发明不限于这些示范性实施例。


图1示出例如在温室或体育馆中的具有布置在矩形网格中的照明器的照明系统的一个实施例;
图2示出根据本发明的照明器的一个实施例;
图3和4示出用于利用照明器之间的光传送数据的调制方案的不同实例; 图5示出根据本发明的用于自动调试诸如照明系统之类的联网的控制系统的设备的方法的一个实施例的流程图6示出根据本发明的图5的流程图的步骤S14的一个实施例的流程图; 图7示出根据本发明的图5的流程图的步骤S14的另一个实施例的流程图; 图8示出根据本发明的在执行用于自动调试照明系统中的照明器的第一算法之后的具有布置在矩形网格中的照明器的照明系统的一个实施例,其中有照明器在所述网格中的地址;
图9示出根据本发明的在执行用于自动调试照明器的第一算法之后的具有孤立的故障照明器和照明器地址的图8的照明系统;
图10示出根据本发明的在执行用于自动调试照明器的第二算法之后的具有孤立的故障照明器和照明器地址的图8的照明系统;
图11示出根据本发明的在执行用于自动调试照明器的第二算法之后的具有行中的若干故障照明器和照明器地址的图8的照明系统;
图12和13示出根据本发明的具有若干故障照明器的图8的照明系统以及按照用于自动调试照明器的第二算法调试消息通过网格的传播;
图14示出具有行中的若干故障照明器的图8的照明系统以及在具有地址[2,6]的照明器处开始的调试消息的路由;
图15示出根据本发明的具有行中的若干故障照明器的图8的照明系统和用于调试消息的多播路由算法的实例;以及
图16示出根据本发明的具有行中的若干故障照明器的图8的照明系统和用于调试消息的广播路由算法的实例。
具体实施例方式在下文中,功能相似或相同的元件可以具有相同的附图标记。即使下文描述的本发明的实施例涉及照明系统,本发明通常适用于联网的控制系统,其包括待调试的若干设备。在专业环境中,在单独的和局部的基础上控制灯变得越来越令人感兴趣。这样的环境的实例是温室、厂房、体育馆、办公楼和室外(矩阵)光显示器。取代接通或关断所有照明器,优选的是控制单个照明器或照明器组以便在某些区域局部地创建光效果,例如以便照亮办公楼中的某些区域或产生仅用于温室中某个地方的一些植物的光。而且,经常需要利用例如照明系统的中央控制器来单独控制照明系统的照明器,这只有在下述情况下是可能的照明系统的所有照明器被调试,即和它们在照明装置(installation)中的至少相对位置一起被记录在计算机的数据库中,以使得操作者可以决定激活哪一个照明器。复杂的照明系统通常被组织成联网的控制系统,这意味着该系统的设备(例如照明器或照明器组) 是网络的一部分并且可以由例如控制消息单独寻址和控制。控制消息可以例如由诸如被提供用于控制例如室外(矩阵)光显示器的照明器的计算机之类的中央控制器在中心生成,但是例如在用于温室或办公室的照明系统中也可以基于局部的传感器发现。典型地,这种联网的照明系统中照明器的单独控制是通过将通信节点(例如镇流器)附接到需要受控制的每个照明器来完成的。该节点可以集成在照明器中或作为单独设备被附接。可寻址节点形成联网的控制系统的设备。节点可以控制单个照明器或若干照明器。在联网的照明系统中,每一个节点具有唯一的网络地址,使得来自中央控制器的消息可以被直接寻址并路由到它。消息是指用于控制附接到被寻址的节点的设备的任何控制命令,例如“对连接到具有地址xyz的节点的所有照明器调光”或“激活在具有地址xyz的节点处的照明器”。这些消息或控制命令被发送到建筑物或环境内给定位置处的节点或节点组以调节其位置处的照明。为了能够控制多个位置处的照明器,节点的网络地址需要被映射到它们的物理位置。在不知道哪些灯在哪里以及哪些灯靠近某个位置的情况下,单独的或局部的控制是不可能的。对联网的照明系统的节点或设备的网络地址的映射在本文中被称为调试。由于调试是麻烦的而易出错的过程(典型地手动执行),自动调试(自动-调试) 过程是期望的,以便不仅避免在调试期间的任何错误而且节省时间和成本。在专业环境中,照明系统的照明器经常组织在矩形网格中。照明器的方位且因此节点的方位在网格上有效地表示节点的物理位置并且可以用于控制消息传递 (messaging).以此方式,在照明器的物理位置与其控制地址之间存在内在映射。以网格点表达的位置可以容易地通过沿着网格路径用电线连接节点来确定。网格中照明器之间的连接可以制成有线的或无线的,例如经由RF (射频)或顶(红外线)或可见光进行连接。当网格方案中的照明器通过电线连接时,大多数照明器需要4条线来连接到邻近照明器,而不是例如在诸如经常用于室外矩阵光显示器的应用最多的标准DALI或DMX之类的总线结构的情况下只需要一条电线。网格方案中的这个复杂布线显然增加了安装者在控制电线的连接方面犯错误的机会。因此,本发明提出重新使用每个照明器中光源(一个或多个)的光以执行自动调试。在一个实施例中,该光还用于传播控制或调试消息。
图1示出包括布置在矩形网格中的照明器的照明系统20的一个实例。图1还示出由矩形框描绘的矩形网格中的照明器如何通过由双箭头表示的光锥互连。网格中的每个照明器连接到其直接相邻的照明器,例如照明器10连接到在向上的方向上相同列中的照明器12,连接到在向下的方向上相同列中的照明器16,连接到在向右的方向上相同行中的照明器14以及连接到在向左的方向上相同行中的照明器18。连接是指通信连接,通过该通信连接,照明器或节点可以向另一个直接相邻的照明器或节点传送消息或命令。从第一照明器发送到第二照明器的消息可以在预定方向上被转发到网格中的第三照明器等等,直到该消息被在预定方向上没有直接邻居的照明器接收。该消息可以在某些情况下由每个接收照明器更新,因此允许确定网格中照明器的方位。例如,通过向网格中的上边邻居或右边邻居发送消息,照明器的物理位置可以以自动方式确定,这将在下文详细描述。通过在例如包含在消息或命令中的目的地说明符(specifier)中表达照明器或节点的位置而将消息或命令发送到所述照明器或节点。路由算法计算消息应如何在网格中被转发,这也将在下文中更详细地说明。如上所提及,照明器经由光(特别是通过每个照明器的主光源产生的光)通信。为了产生光锥,可以使用光准直器,如图2中例示。可替代地,透镜也可以被应用来产生定向光。照明器之间的光互连可以用编码的光(用于经由可见光通信而进行数据传送的技术)实现。照明器中的灯发射数据流,其依赖于光源类型范围从几IAps到几百Icbps。在邻近照明器处,光在具有狭窄的开口角(例如10°的开口角)的锥中被接收。在一个实施例中,由照明器传送的光可以是非定向的,使得它可以被所有的邻近照明器接收。对自动调试而言必需的定位过程可以仅基于用于光通信的接收器的方向性。在可替代实施例中,所发射的光也可以是定向的。在该实施例中,必需的是,不同数据在网格中向所述4个不同方向传送。 这可以通过馈送(feeding)来自主光源的光的准直器实现。为了能够向照明器的不同侧发送独立消息,管(tube)可以装配有快门,其仅在1/4的时间打开。这些快门应当与由照明器中的主灯传送的数据同步,即当数据应被发射至那一侧时,该快门应当打开。接收器可以放置于相同的管中以实现定向接收。可替代地,光互连可以借助于增添到用于数据通信的照明器的附加光源实现。例如,这个额外光源可以是顶LED (红外线发光二极管)。这具有以下优点这个方案也可以在主光源完全关断时使用。而且,不同的光源可独立于主光源而被调制,不需要上述方案中的快门。适用于本发明的编码的光技术可以应用对来自可见光源的光的调制。这允许在光本身中嵌入数据。该调制可以被设计成使得它对人眼而言是不可见的。这种特征对于消费应用而言是特别重要的,因为不用忍受光干扰。然而,对于如调试的专业应用,产生一定级别(level)的可见闪烁的数据调制也可能是可接受的。不同类型的光源可以使用不同的调制方案。作为实例,不同的调制方案可以应用于固态光(SSL)源和荧光光源。诸如荧光、HID 和卤素之类的其他光源的调制也是可能的。图3示出针对SSL源的光调制方案的一个实施例。驱动SSL源的便利方式是使用由一串(train)矩形脉冲构成的脉冲电流。通过调节脉冲的长度且因此调节电流的占空比, 可以改变光水平。通过产生脉冲长度的小变化,数据调制是可能的。在足够短且足够频繁时,这些变化是人眼察觉不到的。
图4示出用于荧光光源的光调制方案的实例。驱动荧光光源的便利方式是使用经由半桥注入灯中的高频交变电流。半桥起低通滤波器的作用,因此该电流的频率对交付给灯的电功率有影响并且因此对光水平有影响。通过产生光水平的小变化,数据调制是可能的。在足够小且足够频繁时,这些变化是人眼察觉不到的。如上文已经提及,也可以添加额外的光源以允许照明器间的互连。例如可以使用 IR LED。在下文中,简要地将根据本发明的调试方案与DALI进行比较。DALI命令经由I/O 控制单元经由总线系统传递到照明器。该分级方法引入了图1的有线网格中示出的通信方案中不需要的额外控制单元。DALI寻址方案每个装置具有有限数量的地址(16个64节点组总共10M),同时有线网格中的寻址更加灵活并且被预见覆盖至少一百行和一百列,其产生最小值10000。而且,DALI标准不易于顺从于自动调试。取而代之,根据本发明的有线网格特别地被开发用于网格上的调试目的。一个特殊方案可以是将网格连接添加到DALI控制。该网格连接然后可以执行调试,而DALI架构可以用于实际地控制照明器。接下来,参照图5解释用于自动调试如图1中所示的诸如照明器之类的设备的矩形网格中的设备的方法的第一实施例,图5示出实现该方法的算法的流程图。在第一步骤 S10,第一设备(例如图1的照明系统20的照明器16)在预定方向(例如图1中的向上方向) 上经由如上所述的编码的光技术将调试消息传送到第二设备(例如图1的照明器10)。在步骤S12中该消息被第二设备或照明器16接收,并被解码以便读取所接收的消息中包含的跳计数器。然后,在步骤S14中,更新跳计数器,例如针对网格中消息从第一设备到第二设备的一跳,跳计数器增加1,并且第二设备中所存储的位置计数器也被更新,典型地被设置为消息的增量跳计数器。在下述步骤S16中,由第二设备将具有更新的跳计数器的调试消息传送到至少一个第三设备,例如图1的照明器12。继续该过程,直到到达预定方向上的最后一个设备,即图5中所示的流程图典型地是用于调试网格中所有设备的更复杂方法的一部分。图6详细示出图1的步骤S14的一个实施例在步骤S1412中,调试消息的跳计数器增加1,且在随后的步骤S1416中,第二设备的位置计数器被设置为实际跳计数器和位置计数器的最大值。例如,当图1中所示的照明系统的照明器16在作为预定方向的向上方向上将对于跳计数器具有值0的调试消息传送到作为第二设备的照明器10时,照明器10将跳计数器值0增加到1并将针对其列位置的其位置计数器设置为1,因为用于其列位置的其初始位置计数器为0。图7示出图1的步骤S14的另一个实施例,其与图6的实施例的不同之处在于如果包含在所接收的调试消息中的跳计数器不是似乎可取的,则所接收的调试消息也可以被拒绝,因为这可能在故障节点或设备存在于设备的网格中时发生。稍后,更详细地讨论故障设备的情况及其对根据本发明的调试方法的影响。图7的实施例包括步骤S1410,其用于检查所接收的调试消息的跳计数器是否等于或大于正在接收的(receiving)第二设备的实际位置计数器。如果跳计数器较小,则在步骤S1414中拒绝所接收的调试消息,这意味着该消息未被更新并未被传递给第三设备,因此显著减少了所传送的消息的数量。例如当调试消息由于故障设备的原因而具有不正确的跳计数器时或当它由网格中间的设备或节点发起时,情况正是这样。然而,如果跳计数器等于或大于第二设备的实际位置计数器,则在步骤S1412中跳计数器增加1,并且在随后的步骤S1416中,第二设备的位置计数器也通过将它设置为更新的跳计数器和实际位置计数器的最大值而被更新。接下来,借助于如图8中所示具有布置在矩形网格中的照明器的照明系统更详细地阐释根据本发明的调试算法的若干实施例。如上文已经阐释,调试算法用于将以列和行表达的方位分配给网格中每个节点。 在下文中,节点是照明器,即使节点也可以控制若干照明器。算法的复杂性依赖于故障假设和光束的范围。X-邻居是X方向上的邻居,其中X在{向上,向下,向左,向右}中。孤立的故障节点是指该节点有故障但是其所有邻居是正确的。最主要的假设是所有节点在执行算法之前被接通。最后,看到接通的顺序的结果。算法1
第一算法1是最简单的算法并对应于具有图5中所示的流程图的方法。假设网格的节点中没有一个是有故障的,即每个节点都能够向邻近节点传送调试消息。每个节点具有作为位置计数器的对或元组[列计数器(columrucoimter),行计数器(r0W_C0imter)],其初始化为(0,0)。在执行调试算法之后,该位置计数器确定网格中节点的相对方位。列消息 (column-message)和行消息(row-message)作为调试消息是有区别的。根据第一算法1,每个节点在向上的方向上发送具有被初始化为0的项目(entry)行跳(row_hop)的行消息ms, 例如在图8中,节点或照明器
在预定的向上方向上向节点[1,0]发送行消息ms。所述项目行跳是消息的跳计数器的一部分。在节点从向下的方向接收到行消息ms时,ms.行跳的值增加1,并且行计数器的值被设置为等于MAX (ms.行跳,行计数器)。具有增加的值的消息在向上的方向上被转送,直到到达列中的最后一个节点为止。重复相同的过程以计算列计数器值。每个节点在向右的方向上发送具有被初始化为0的项目列跳(columruhop) 的列消息ms。同样,项目列跳是消息的跳计数器的一部分。在从向左的方向接收到列消息时,ms.列跳的值增加1,并且列计数器的值被设置为等于MAX( ms.列跳,列计数器)。图 8中示出了调试过程的最后结果。绿色点表示节点和位置计数器,即[x,y]对、所计算的行数和列数。现在,每个节点的位置计数器确定网格中节点的相对方位,即
是网格的左下角并且W,6]是右上角。在另一种情形中,调试消息的范围是一跳,网格现在包含孤立的故障节点,例如缺陷(defect)照明器,并且该算法在没有调试消息损失的情况下工作。这种情况与上文所述在网格中不存在故障节点的情形相比更加困难。当执行算法1的列部分和行部分时, 然后调试消息将开始并且不仅在网格的结束点而且在故障节点处停止。在图9中,关于在执行算法1之后标记的结果示出从故障节点向前,行编号和列编号再次从零开始。故障节点用星表示。因此,算法1在没有故障节点的网格中工作良好,但是如果网格中存在故障节点,则不会交付正确的调试结果。算法2
在故障节点是孤立的,即它们没有故障的一跳邻居节点的假设下,可以使该算法对付更多消息。根据第二算法2,每个节点在向上的方向上发送具有被初始化为0的项目行跳的行消息ms。在从向下的方向接收到行消息ms时,接收节点现在检查是否ms.行跳 < 行计数器;如果情况是这样,则所接收的行消息被接收节点拒绝。如果ms.行跳 >=行计数器, 则ms.行跳的值增加1并且行计数器的值被设置为等于MAX (ms.行跳,行计数器)。这对
11应于如图7中所示的且如上所述的过程。具有增加的值的行消息ms然后在向左、向上和向右的方向上被转送,这不同于第一算法1,第一算法1仅允许在预定方向上发送消息。在从向左(向右)的方向接收到行消息ms时,将ms.行跳的值与行计数器的值进行比较。当 ms.行跳 > 行计数器时,行计数器被设置为等于ms.行跳,并且具有增加的ms.行跳的消息在预定方向上再次被转送,即在向上的方向上被发送。重复相同的过程以找到列计数器值。每个节点在向右的方向上发送具有被初始化为0的项目列跳的列消息。在从向左的方向接收到列消息ms时,接收节点检查是否ms.列跳 < 列计数器;如果情况是这样,则拒绝该消息。如果ms.列跳 >=列计数器,则ms.列跳的值增加1并且列计数器的值被设置为等于MAX(ms.列跳,列计数器)。具有增加的值的消息在向上、向右和向下的方向上被转送。 在从向上(向下)的方向接收到列消息ms时,将ms.列跳的值与列计数器的值进行比较。当 ms.列跳 > 列计数器时,列计数器被设置为等于ms.列跳,并且具有增加的ms.列跳的消息在向右的方向上被转送。从图10可以看到,第二算法2在大多数情况下工作。例如节点[2,2]被第一算法1错误地用
标记,如图9中所示。在这个改进的第二算法2中,从下面到达[2,3] 的消息将会向左和向右发送列值2并且因此将列值2发送到[2,2]。节点[2,2]将用2重写0并且被正确地标记。该节点向上发送该消息,其中先前被错误地标记为[1,0]的节点 [2,3]将会把标记改变为[1,3]。等等。在下一个阶段,行号也将被校正。当消息中的跳值低于节点中所计算的值时,拒绝该消息,以减少业务量和延迟。然而,当成群的若干节点(例如一行、一列或二者中的若干邻近节点)是有故障的,则算法2不能交付正确的调试结果。图 11示出当一行中的若干节点是有故障的时第二算法2的不想要的结果。例如节点[4,3]被错误地用[4,0]标记,因为具有列号3的行消息经由节点[2,3]到达节点[3,3],但是不被传递到节点[4,3]。节点[4,4]的列号从节点[3,4]被更新。相同的情况针对节点
和[1,6]发生,这两个节点不是从节点[2,6]更新的。算法3
可以通过在行或列方向上发送更多的消息使得第二算法2更具鲁棒性。该扩展导致第三算法3,其也对付非孤立的故障节点。图12和13中分别示出一个列消息和一个行消息的流程。标记R=X和C=X示出在消息中被输送的列号或行号。可以看到C=I的单个列消息或R=I的行消息的起源在几乎整个网络上渗透(percolate)。拒绝具有低值的消息的节点中的测试,如图7中所概括描绘,防止了网络充满太多的消息。算法3工作如下每个节点在向上的方向上发送具有被初始化为0的项目行跳的行消息ms。在从向下的方向接收到行消息ms并且ms.行跳〈行计数器时,则拒绝该消息。如果ms.行跳 >=行计数器,则ms.行跳的值增加1并且行计数器的值被设置为等于MAX (ms. 行跳,行计数器)。具有增加的值的消息在向右、向上和向左的方向上被转送,如同这是在第二算法2中完成的。在从向右(向左)的方向上接收到行消息ms时,将ms.行跳的值与行计数器的值进行比较。当ms.行跳〉行计数器时,行计数器被设置为等于ms.行跳,并且具有增加的ms.列跳的消息在向右和向左的方向上以及向上的方向上被转送。这不同于第二算法2,第二算法2仅允许在预定方向上转送。重复相同的过程以找到列计数器值。每个节点在向右的方向上发送具有被设置为0的项目列跳的列消息ms。在从向左的方向接收到列消息ms且ms.列跳 < 列计数器时,拒绝该消息。如果ms.列跳 >=列计数器,则ms.列跳的值增加1并且列计数器的值被设置为等于MAX (ms.列跳,列计数器)。具有增加的值的消息在向上、向右和向下的方向上被转送。在从向上(向下)的方向上接收到列消息ms时,将ms.列跳的值与列计数器进行比较。当ms.列跳 > 列计数器时,列计数器被设置为等于ms.列跳,并且具有增加的ms.列跳的消息在向上和向下的方向上以及在向右的方向上被转送。当邻近故障节点存在于行或列中时,该算法完美地工作(假设不存在网络分离)。由于算法中并行性的原因,总调试时间通过在所有行上传递消息且随后在所有列上传递消息来确定。算法中消息的冗余快速消失,因为关于计数器的测试将针对大多数冗余消息迫使消息的拒绝。在很少消息损失的情况下,运行该算法两次足以执行网格中的完整调试ο检测邻近节点
在消息的路由期间,可能令人感兴趣的是表示(signify)在四个方向中任意一个处是否存在邻居。提出下面的算法以执行之每个方向可以具有连接变量{上,下,右,左}, 其具有三个值连接、未知、断开。所有连接变量最初都被设置为连接。在规则的间隔处节点在给定方向上发送“存在?”-消息并且在值为连接和否则为断开时将连接设置为未知。 接收“存在? ”-消息的节点返回“存在!”-消息。当节点接收“存在! ”-消息时,它将对应的连接变量设置为连接。因此,当方向具有值为断开的连接变量时,所述路由不需要在该方向上发送任何消息,因为不存在正在工作的邻居。为了避免一跳远的邻居可以回答“存在?”-消息,“存在!”-消息可以包含回答节点的源地址。然后,目的地节点可以比较该地址并且拒绝不想要的消息。这假设所述调试已经正确地完成了它的工作。节点开关的顺序
接下来,讨论节点开关的顺序。可以辨别照明器的接通的两个阶段。在第一阶段中,照明器被连接到市电电源。在此刻,节点被接通并且驱动器被加电。在第二阶段中,DALI命令通过网络被发送到所述节点以接通照明器的光。节点开关不能同时进行,因为驱动器在接通时间汲取大量的电流。因此,下面详细讨论根据本发明的接通多个节点的顺序的两种方法,以便证实调试是否将正确终止。第一发明方法开关的顺序
首先,假定一整行的节点同时被接通,但是这些列以给定的顺序被接通。根据本发明的调试算法将针对该一整行正确工作,但是在列部分开始时将停止执行。不失一般性地,行中的行为在节点以给定顺序接通时可被考虑。假设,首先最左边的节点被接通,随后是其右邻居,随后是其右邻居。在节点
处,调试消息向右发送,其没有到达W,1]。从这时开始,没有更多的调试消息从W,0]向前发送。当节点
接通时,它将不会从
接收到调试消息,并且其列号没有增加。相同的推理适用于所有右边的邻居,并且可以断定所有列号保持为零。为了避免这种情况,本发明建议从右到左接通节点。当节点
被接通时,节点
到[Ο,η]都被接通。来自节点
的消息将通过该行渗透并且增加列号。一旦节点
被接通,则该行算法运行结束并且只要没有节点有故障则该行中所有节点具有正确的列号。可以以接通首先从具有最高号的行接通的行的顺序进行相同的操作。当一行正被接通时,由最后一个接通的节点生成的具有较低列号的消息将被上面和下面邻居拒绝,因为消息中的列号低于该节点中的列号。
第二发明方法连接检查和节点重置
根据该第二方法,节点通过其下和左信道发送“节点-上”消息。当节点通过其右信道接收节点-上消息时,它通过其右信道发送列消息。当节点通过其上信道接收“节点-上” 消息时,它通过上信道发送行消息。容易明白,当左边最下的节点接通时,所有直接连接的节点的列和行计数器具有正确的值。下面考虑不是直接邻居回答而是一跳远的邻居响应的情况。假设完整的行被断开。在此情况下,网络将表现为好像该断开的行不存在。然后,考虑仅该行中节点的子集被断开。对于算法3而言,这正是所考虑的情况。因此所有连接的节点将使用它们接收的最高行和列号。接下来,详细解释根据本发明的消息路由算法的实施方式。由于列和行中简单的寻址,没有缺陷节点的路由可以十分简单。根据本发明的路由协议的一个实施例可以首先将节点的列号与目的地的列号进行比较。当该节点的列小于 (大于)目的地的列时,该消息向右(左)被路由。当列相等且节点的行号小于(大于)目的地的行号时,消息被向上(向下)路由。当存在故障节点时,路由变得更加复杂。下面给出根据本发明的算法的两个实施例(1)当发送器开始发送时执行,和⑵当接收器接收消息时执行。给(调试)消息ms四个布尔值以指示它在遇到障碍之后在给定方向上移动。ML:在左信道中遇到的障碍 MR:在右信道中遇到的障碍
MU:在上信道中遇到的障碍
MD:在下信道中遇到的障碍
消息ms具有五个属性
ms.禾Pms.列_8代表示源地址。ms.禾口 ms.列_dst表示目的地地址。ms.htl 表示留存的跳(hops to live)。在发送器处,所述包以它们的路线被发送。在ms 中设置{MD,MU, MR, ML}为假。将ms. htl初始化为等于3*abs (行计数器-ms.行_dst) + 3*abs (列计数器-ms.列 _dst)。如果行计数器< ms.行_(1计并且上=连接的,那么向上发送包否则如果行计数器> ms.行_(1计并且下=连接的,那么向下发送包否则如果列计数器> ms.列_(1计并且左=连接的,那么向左发送包否则如果列计数器< ms.列_(1计并且右=连接的,那么向右发送包否则如果列计数器O ms.列_dst,那么{
如果列计数器< ms.列_(1计,那么ms.MR :=真
否贝丨Jms. ML :=真
如果上=连接的,那么向上发送包
否则如果下=连接的,那么向下发送包}
否则如果ms.行_(1计O行计数器,那么{
如果行计数器< ms.行_(1计,那么ms.MU :=真否则ms. MD :=真
如果右=连接的,那么向右发送包
否则如果左=连接的,那么向左发送包}
所接收的包已经到达目的地或必须被继续路由。在接收到包时,ms.htl减少1。当ms.行_dst =行计数器且ms.列_dst =列计数器时它已经到达目的地。当所述条件为假且ms.htl >0时,包继续被路由。包的继续路由当MD,MR, ML和MU为假时,使用发送器算法。在另一种情况下,该发送依赖于接收信道。%%首先测试障碍是否已经离去。如果ms. MD和下=连接的,那么ms. MD :=假否则如果ms. MU和上=连接的,那么ms. MU :=假否则如果ms. MR和右=连接的,那么ms.MR :=假否则如果ms. ML和左=连接的,那么ms. ML 假 %%障碍仍然存在否则如果接收为右{ 如果左=连接的,那么向左发送包,否则向右发送包} 否则如果接收为左{
如果右=连接的,那么向右发送包,否则向左发送包} 否则如果接收为上{
如果下=连接的,那么向下发送包,否则向上发送包} 否则如果接收为下{
如果上=连接的,那么向上发送包,否则向下发送包} 否则拒绝消息。在图14中,示出从节点[2,6]到节点
的路由。起初,行计数器小于ms.行 _dst,并且包被向下路由。在节点
处,左不是连接的,且ms. ML被设置为真。只有上是连接的并且包被向上路由。到达节点[3,6],左是连接的,且ms. ML被设置为假。在节点[3,4]处,下是连接的且包被向下路由直到节点
为止。它可以从
向左被路接下来,详细解释根据本发明的多播消息路由算法的实施方式。在列或行模式中,灯将被接通或关断。有可能的是,相同的命令被发送到整行或整列的节点。基本思想是消息将在到目的地行(列)的方向上和垂直于该方向的方向上被复制,使得该消息尽可能快地到达该列(行)中的所有节点。为了效率的原因,有必要保持每个节点中已经接收到的消息的列表。一旦到达消息较早被接收,则该消息不被接收节点转送。 唯一标识符存储在包含原始行和列号以及从始发者发送的多播消息的数量的消息中。该算法工作如下。假设消息被发送到整列。行的处理是相同的。始发者在列的方向上并且在两个方向上平行于列发送消息。接收器检查该广播是否较早被接收到。如果否, 则对于来自相同行中邻居的消息,该消息在平行于列的两个方向上被发送。如果目的地列号不同于接收节点列,则该消息沿着该行被发送。图15中示出一个实例。箭头表示广播消
向下发送包向上发送包向右发送包向左发送包息的发送并且直接相邻的箭头的号表示消息的跳计数。节点[1,0]发送多播到列3(即所有节点[X,3])。第一跳上的消息被发送到节点
, [2,0]和[1,1]。在第二跳之后,到达[2,1]和
。尽管消息到达多次,但是它仅被转送一次。沿着列0发送的消息最终被丢失。在四跳之后到达节点[2,3]和
。因此,在6跳之内到达列3中的所有节点。假设如图16中所示,节点[3,3]是有故障的。利用该算法,将不会到达节点[4,3], 尽管节点[4,3]连接到网络。甚至更坏地,假设始发者在列3内且列3中的一个节点是有故障的。再次,仅该列的一部分将接收多播。为了具有鲁棒性,想要广播到达包括目的地行或列的所有连接的节点。对于该广播,每个消息用源地址和源处的广播号唯一地标识。在接收到广播消息时,将标识符与已经存在的标识符进行比较。当该标识符存在于节点中时,什么也不做。否则,存储该标识符并且在除了消息通过其到达的信道以外的所有三个方向上转送消息。始发者发送该消息到所有四个方向中。当消息中的目的地地址与节点地址对应时,该消息被传递到应用(application)。图16中示出了所述行为,其不同于图15,图 16具有故障节点[3,3]。图16示出广播消息在跳8之后到达连接的节点W,3],而不管所述多个故障节点。缺点在于,利用广播消息,发送更多的消息且到达更多的节点。本发明可以应用在任何联网的控制系统中,例如具有多个光源的复杂照明系统, 例如在家、商店和办公室应用中安装的照明系统。本发明特别适用于专业环境的自动调试 /配置,其中光源放置于近似矩形的网格中。这样的环境的实例是温室、厂房、体育馆、办公楼和室外(矩阵)光显示器。本发明的至少一些功能可以由硬件或软件执行。在以软件实现的情况下,单个或多个标准微处理器或微控制器可以用于处理实现本发明的单个或多个算法。应当注意,词语“包括”不排除其他元件或步骤,且词语“一”或“一个”不排除多个。而且,权利要求中的任何附图标记不应当被解释为限制本发明的范围。
权利要求
1.一种用于自动调试联网的控制系统的设备(10,12,14,16,18)的方法,该联网的控制系统包括布置在网格(20)中的若干设备,其中每个设备适于经由光将从网格中的直接相邻的设备接收的消息路由到网格中的直接相邻的设备,其中该调试包括动作-由第一设备(10)将包括跳计数器的调试消息传送到在网格中在预定方向(22)上邻近第一设备的第二设备(12) (S10),-由第二设备接收来自第一设备的调试消息(S12);-由第二设备更新跳计数器以及更新第二设备的位置计数器(S14),以及-将具有更新的跳计数器的调试消息传送到一个或多个第三设备(S16)。
2.权利要求1的方法,其中-由第二设备更新跳计数器的动作包括将跳计数器增加1 (S1412),以及-更新第二设备的位置计数器的动作包括将位置计数器设置为更新的跳计数器和实际的位置计数器的最大值(S1416)。
3.权利要求2的方法,其中由第二设备更新跳计数器的动作还包括-将所接收的调试消息的跳计数器与第二设备的实际位置计数器进行比较(S1410),以及-如果比较结果是跳计数器大于或等于第二设备的实际位置计数器,则将跳计数器仅增加 1 (S1412)。
4.权利要求3的方法,其中由第二设备更新跳计数器的动作进一步包括如果比较结果是跳计数器小于第二设备的实际位置计数器,则拒绝所接收的调试消息(S1414)。
5.权利要求1、2、3或4的方法,其中将具有更新的跳计数器的调试消息传送到一个或多个第三设备包括将具有更新的跳计数器的调试消息传送到-一个第三设备,其在网格中在预定方向上邻近第二设备,或者传送到-多个第三设备,它们在网格中在预定方向上以及在两个另外的不同方向上邻近第二设备,所述两个另外的不同方向中的每个方向不同于所述预定方向。
6.权利要求5的方法,其中在不同于预定方向的方向上邻近第二设备的第三设备在网格中在预定方向上传送调试消息。
7.权利要求5的方法,其中在不同于预定方向的方向上邻近第二设备的第三设备在网格中在预定方向上以及在两个另外的不同方向上传送调试消息,所述两个另外的不同方向中的每个方向不同于所述预定方向。
8.前述权利要求中任一项的方法,其中若干调试消息在一个或多个预定方向上通过网格而并行地被路由。
9.一种使得处理器能够实现根据前述权利要求中任一项的方法的计算机程序。
10.一种存储根据权利要求9的计算机程序的记录载体。
11.一种被编程为执行根据权利要求1-8中任一项的方法的计算机。
12.一种用于自动调试联网的控制系统的设备的系统,该联网的控制系统包括布置在网格中的若干设备,其中每个设备适于经由光将从网格中的直接相邻的设备接收的消息路由到网格中的直接相邻的设备,其中该系统被配置成通过执行以下动作调试设备-由第一设备将包括跳计数器的调试消息传送到在网格中在预定方向上邻近第一设备的第二设备,-由第二设备接收来自第一设备的调试消息; -由第二设备更新跳计数器以及更新第二设备的位置计数器,以及 -将具有更新的跳计数器的调试消息传送到一个或多个第三设备。
13.权利要求12的系统,适于执行权利要求2-8中任一项的方法。
14.一种适合在权利要求12或13的系统中应用的设备,特别地为照明器,并且进一步适于传达定向光消息。
15.权利要求14的设备,包括下述特征中至少一个-该设备是照明器并且被调适成照明器的主光源的光用于借助于定向光消息的通-该设备包括准直器和/或透镜,其应用于用于传达定向光消息的光源和/或应用于用于接收来自其他设备的定向光消息的光传感器; -该定向光消息对人眼而言是不可见的; -该设备适于在四个不同的方向上传达定向光消息;-该设备适于在四个不同的方向上传达定向光消息,其中这些不同的方向以90°度角分隔。
全文摘要
本发明涉及联网的控制系统的设备的自动调试,特别地涉及照明系统的光源的自动调试(自动-调试),其中需要在单独的和局部的基础上的光源控制。本发明的基本思想是通过网格路由调试消息,特别是设备的近似矩形的网格,其中每个设备能够经由光从网格中的直接相邻的设备接收调试消息并且能够经由光将调试消息传送到网格中的直接相邻的设备。本发明的一个实施例涉及一种用于自动调试联网的控制系统的设备(10,12,14,16,18)的方法,该联网的控制系统包括布置在网格(20)中的若干设备,其中每个设备适于经由光将从网格中的直接相邻的设备接收的消息路由到网格中的直接相邻的设备,其中该调试包括动作-由第一设备(10)将包括跳计数器的调试消息传送到第二设备(12)(S10),第二设备在网格中在预定方向(22)上邻近第一设备;-由第二设备接收来自第一设备的调试消息(S12);-由第二设备更新跳计数器以及更新第二设备的位置计数器(S14);以及-将具有更新的跳计数器的调试消息传送到一个或多个第三设备(S16)。
文档编号H05B37/02GK102334386SQ201080009511
公开日2012年1月25日 申请日期2010年2月19日 优先权日2009年2月26日
发明者L.费里, P.D.V.范德斯托克, T.C.W.申克, W.F.帕斯维尔 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1