CN101606129A - 用于联网的控制系统的设备 - Google Patents
用于联网的控制系统的设备 Download PDFInfo
- Publication number
- CN101606129A CN101606129A CNA2008800047157A CN200880004715A CN101606129A CN 101606129 A CN101606129 A CN 101606129A CN A2008800047157 A CNA2008800047157 A CN A2008800047157A CN 200880004715 A CN200880004715 A CN 200880004715A CN 101606129 A CN101606129 A CN 101606129A
- Authority
- CN
- China
- Prior art keywords
- control logic
- devices
- logic
- code
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2814—Exchanging control software or macros for controlling appliance services in a home automation network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种联网的控制系统,其包括多个设备(100a,100b,100c)、以及用于收集多个设备(100a,100b,100c)的设备逻辑并且基于与多个设备中的至少一个设备(100b)相对应的设备逻辑来指定该至少一个设备(100b)的运行时间行为的部件(332),其中通过对应的设备逻辑指定每个设备(100a,100b,100c)。该联网的控制系统还包括用于生成定义该至少一个设备(100b)的运行时间行为的至少一个不依赖设备的控制逻辑程序的部件(334)、以及用于将该至少一个不依赖设备的控制逻辑程序转换为被分配给所选择设备(100c)的设备专用控制逻辑代码的装置。
Description
技术领域
本发明总地涉及诸如复合照明系统之类的联网的控制系统,并且具体地涉及这样的联网的控制系统中的通信。
背景技术
在商业、工业以及机构企业市场中、以及在消费者市场中,联网的控制系统是普遍存在的趋势。联网的控制系统的示例是例如用于照明、供暖、通风或者安全的建筑物自动化系统。联网的控制系统可以由像光镇流器、开关、日光或占用传感器(occupancy sensor)、致动器或者测量计那样的设备构成。所述设备优选地以无线方式、即经由RF(射频)模块连接。联网的控制系统的功能典型地通过由设备的状态和功能构成的设备逻辑、以及由与设备逻辑交互的控制应用来限定。设备的状态和功能可以是卖方定义的并且经常是标准化的。控制应用可以是卖方定义的,而有时是用户定义的。控制应用通常通过将命令发给不同的设备或者通过将多个设备的信息或者来自多个设备的信息当作输入来与所述多个设备交互。总的来说,在考虑设备以及被分配给所述设备的一个控制应用软件时,控制与设备逻辑之间的某些交互对于所述设备是本地的,而其它交互需要依赖通过本领域已知的通信协议或者其它机制进行的设备之间的信息通信。
US 2003/0040813A1涉及用于提供家庭自动化系统的分布式控制的方法和装置,并且描述了用于分布式控制应用的操作原理。在US 2003/0040813A1中,为各个设备定义逻辑片段(piece),并且为所述逻辑片段分配标识符(场景标识符),可以通过将所述标识符发送到所有有关的设备来使用所述标识符以同时激活所述逻辑片段。由于在所述设备之间仅传送标识符,因此可能的功能是有限的。
发明内容
本发明的一个目的是提供一种用于联网的控制系统的改进设备,其特别允许改进联网的控制系统中的通信。
所述目的通过独立权利要求解决。另外的实施例通过从属权利要求示出。
本发明的基本思想是对控制应用透明地执行联网的控制系统中的与控制有关的信息的通信。这允许联网的控制系统的用户或者逻辑设计者对于目标系统中特定的或者所有的设备的集合定义控制逻辑,而不指定执行有关运行时间代码的一个或者多个设备,由此不需要用户来指定任何通信方面(communication aspects)。控制逻辑及其设计过程显著地变得更简单、更紧凑,并且例如在添加新的功能时允许更大的灵活性。另外,由于本发明允许将控制逻辑分配给目标系统的任何设备,因此可以使目标控制系统能够对例如设备能力或者资源进行计算机控制的优化以及自动的优化。
根据本发明的实施例,使得能够不依赖分发方面来开发和建立控制应用,这允许减少用户看到的控制逻辑的复杂程度、以及逻辑设计过程的复杂程度。另外,可以使得能够将控制逻辑自由地分派给设备,其允许应用开发后的计算机控制的和自动的系统优化。由于本发明,非技术熟练用户同样可以容易地且以最佳方式定义和设置控制逻辑。此外,为运行的系统添加新的控制功能变得更加容易。
下面解释这里使用的一些重要术语。
术语“联网的控制系统”意味着包括多个连接着的节点或者设备的系统。可以通过通信系统、例如无线通信系统连接所述设备。联网的控制系统可以是具有占用和日光传感器以及预定义规则(例如用于平日和周末、工作时间和下班时间)的复合照明控制系统、建筑物自动化系统、家庭控制系统、气氛(atmosphere)照明系统、或者包括工业、零售、机构以及住宅的任何其它的控制和自动化环境。
术语“设备”意味着“联网的控制系统”的任意节点。设备逻辑可以包括关于对应设备的能力和资源的信息。取决于系统的类型,设备可以包括光镇流器、开关、日光或占用传感器、致动器或者测量计。可以经由射频模块连接所述设备。可以通过对应的设备逻辑指定每个设备。
术语“设备逻辑”意味着由设备提供的可能的控制参数和功能。设备逻辑可以表示对应设备的硬件或者软件状态的属性,并且定义设备状态和本地设备功能。可以通过表示设备硬件和软件状态的属性的设备“状态变量”来表示设备逻辑。
术语设备的“运行时间行为”意味着联网的控制系统正常操作期间设备的功能。
术语“控制逻辑程序”指不依赖设备的程序,其描述一个或多个设备的运行时间行为。控制逻辑程序(除设备状态变量之外)还可以包括用户定义的“系统”状态变量。控制逻辑程序可以基本上由关于以编程语言表达的状态变量的操作组成。
术语“控制逻辑代码”指作为对应控制逻辑程序的转换的设备专用软件程序。将控制逻辑代码分配给所选择的设备。可以优化控制逻辑代码,以便在所选择的设备上执行,而不在其它设备上运行。控制逻辑代码可以是可解释的字节代码。
根据本发明的一个实施例,提供一种设备,其用于包括多个设备的联网的控制系统,该设备包括:
-接收器,用于接收允许控制多个设备中的至少一个设备的运行时间行为的控制逻辑代码;
-运行时间环境,用于执行控制逻辑代码;以及
-支持逻辑,其可适配于控制逻辑代码,其中支持逻辑提供用于交换执行控制逻辑代码所必需的状态变量的通信链路。
可以将控制联网的控制系统的多个设备中的至少一个设备的运行时间行为的控制逻辑代码分配给联网的控制系统的任何所选择的设备,并且在该设备上执行该控制逻辑代码。
根据本发明的一个实施例,该至少一个设备可以包括所选择的执行控制逻辑代码的设备。这意味着,所选择的设备可以通过执行控制逻辑代码来控制其自身的运行时间行为。
根据一个替代实施例,该至少一个设备可以不包括所选择的设备。
根据本发明的一个实施例,该至少一个设备除了包括执行控制逻辑的设备之外、还可以包括至少另外一个设备,并且控制逻辑可以包括用于存储来自并非所选择设备的设备的状态变量的存储器。该存储器具有以下优点:在控制逻辑执行期间,控制逻辑代码所需要的状态变量不一定从外部设备传送,而是可以从内部存储器读取。
根据本发明的一个实施例,通信链路可以允许读取定义所述至少一个设备的实际状态的实际状态变量,并且可以允许将改变后的状态变量传送到所述至少一个设备,从而执行控制逻辑代码。根据本发明的另一个实施例,通信链路对于控制逻辑代码可以是透明的。
根据本发明的另一实施例,支持逻辑可以包括用于接收实例化(instantiation)消息的装置,并且可以将该支持逻辑配置为基于实例化消息使其自身适配控制逻辑代码。
根据本发明的另一个实施例,可以将接收器配置为接收另外的控制逻辑代码,该代码允许控制所述多个设备中的至少一个第二设备的运行时间行为,其中可以将运行时间环境配置为执行该另外的控制逻辑代码,并且其中支持逻辑可适配于该另外的控制逻辑代码。
根据本发明的一个实施例,可以将接收器配置为经由通信链路接收控制逻辑代码。
根据本发明的另一实施例,运行时间环境可以是虚拟机。
根据本发明的一个实施例,提供用于初始化根据本发明的具有多个设备的联网的控制系统的装置,其包括:
-用于将定义所述多个设备中至少一个设备的运行时间行为的、不依赖设备的控制逻辑程序转换为可在多个设备中所选择的设备上执行的控制逻辑代码的部件;
-用于将控制逻辑代码传送到所选择的设备的部件;以及
-用于适配所选择设备的支持逻辑以及具有在控制逻辑程序中使用的状态变量的所有设备的支持逻辑的部件,其中支持逻辑提供用于交换控制所述至少一个设备的运行时间行为所必需的状态变量的通信链路。
具有在控制逻辑程序中使用的状态变量的所有设备可以为控制逻辑程序提供输入状态变量。对于被分配给一个所选择设备的控制逻辑代码,不仅必须适配所选择的设备的支持逻辑,而且必须适配利用在控制程序中使用的状态变量输入的所有(主)设备的支持逻辑。具体地,适配预订表条目。
根据本发明的一个实施例,可以通过对应的设备逻辑指定所述多个设备中的每个设备,并且可以配置用于转换的部件以考虑与所选择的设备相对应的设备逻辑,使得转换后的控制逻辑代码适于所选择的设备。这允许将控制逻辑代码适配于所选择的设备。
根据本发明的另一实施例,可以将用于转换的部件配置为基于与所选择的设备相对应的设备逻辑选择所选择的设备。这允许选择联网的控制系统的所述多个设备中最适于执行控制逻辑代码的设备。
设备逻辑可以包括有关根据本发明实施例的所选择设备的能力和资源的信息。
根据本发明的另一实施例,可以将用于转换的部件配置为:将定义所述多个设备中至少一个另外的设备的运行时间行为的、另外的不依赖设备的控制逻辑程序转换为可在所述多个设备中的另外所选择的设备上执行的另外的控制逻辑程序代码。
可以将用于传送的部件配置为将该另外的控制逻辑代码传送到该另外所选择的设备的运行时间环境,以便执行该另外的控制逻辑代码,并且
可以将用于适配的部件配置为适配该另外所选择的设备的支持逻辑。
根据本发明的另一实施例,可以将用于转换的部件配置为从定义联网的控制系统的所述多个设备的运行时间行为的控制逻辑程序的池(pool)中接收不依赖设备的控制逻辑程序以及另外的不依赖设备的控制逻辑程序。
根据本发明的实施例,可以将所述装置配置为转换并且传送该另外的控制逻辑代码,以便在操作期间更新联网的控制系统。
根据本发明的另一实施例,该另外所选择的设备可以是该所选择的设备,该另外的不依赖设备的控制逻辑程序可以是在该所选择的设备上执行的控制逻辑程序的替代者。
根据本发明的另一实施例,提供联网的控制系统,其包括:
-根据本发明的多个设备,其中通过对应的设备逻辑指定每个设备;
-用于收集所述多个设备的设备逻辑、并且基于与所述多个设备中至少一个设备相对应的设备逻辑来指定该至少一个设备的运行时间行为的部件;
-用于生成定义该至少一个设备的运行时间行为的、至少一个不依赖设备的控制逻辑程序的部件;以及
-根据本发明的用于初始化的装置。
根据本发明的实施例,设备逻辑表示对应设备的硬件或者软件状态的属性。
根据本发明的另一实施例,用于收集的部件可以包括允许用户指定该至少一个设备的运行时间行为的接口。
根据本发明的实施例,该接口可以允许用户定义所选择的设备。根据本发明的实施例,该接口可以是图形接口。
根据本发明的另一实施例,可以将用于收集的部件配置为:基于与该至少一个设备的运行时间行为所依赖的另外的设备相对应的另外的设备逻辑来指定该至少一个设备的运行时间行为。
根据本发明的另一实施例,可以将用于收集的部件配置为基于所有设备逻辑指定所述多个设备中所有设备的运行时间行为,并且可以将用于生成的部件配置为提供多个不依赖设备的控制逻辑程序以定义所述多个设备中所有设备的运行时间行为。
根据本发明的实施例,联网的控制系统还可以包括至少一个应用,该应用用于通过对于设备组的共同状态变量或者对于设备组的值的集合的操作来控制设备组。组是逻辑设计和维护的基本概念,并且允许对于设备集合的共同状态变量的操作、例如“将所有灯的明暗等级设置为值X”,或者对于值的集合的操作、例如“对通过传感器组测量的日光值求平均”。可以从抽象设计(abstract design)、例如“客厅中的所有灯”中获得组,其导致类型组、例如类型灯的组。还可以在直接设计中通过对物理设备、例如房间中的所有灯任意地分组(“任意组”不具有类型)来手动地定义组。
根据本发明的另一实施例,提供了用于初始化根据本发明的具有多个设备的联网的控制系统的方法,其包括:
-将定义多个设备中至少一个设备的运行时间行为的、不依赖设备的控制逻辑程序转换为在该多个设备中所选择的设备上可执行的控制逻辑代码;
-将控制逻辑代码传送到所选择的设备;以及
-适配所选择设备的支持逻辑以及具有被用作控制逻辑程序中的输入的状态变量的、所有设备的支持逻辑,其中支持逻辑提供用于交换执行控制逻辑代码所必需的状态变量的通信链路。
根据一个实施例,还可以有在控制逻辑程序中使用作为输出的状态变量,即,通过控制逻辑程序改变的状态变量。这些设备的(外部)主设备的支持逻辑不需要改变,这是因为与例如预订相比较,这些设备将仅接收作为所有设备的固有支持逻辑的、针对那些(输出)状态变量的改变通知。
根据本发明的另一实施例,提供用于建立联网的控制系统的方法,其包括:
-提供根据本发明的多个设备,其中通过设备逻辑指定每个设备;
-收集该多个设备的设备逻辑,并且基于与该多个设备中至少一个设备相对应的设备逻辑指定该至少一个设备的运行时间行为;
-生成定义该至少一个设备的运行时间行为的、至少一个不依赖设备的控制逻辑程序;以及
-初始化根据本发明的联网的控制系统。
根据实施例,用于建立联网的控制系统的方法还包括:生成定义该至少一个设备的运行时间行为的、至少一个新的不依赖设备的控制逻辑程序的步骤,将该至少一个新的不依赖设备的控制逻辑程序转换为在所述多个设备中所选择的设备上可执行的新的控制逻辑代码,将该新的控制逻辑代码传送到所选择的设备的步骤,以及适配所选择设备的支持逻辑、以及具有被用作该至少一个新的不依赖设备的控制逻辑程序中的输入的状态变量的、所有设备的支持逻辑的步骤,其在此情况下是增量操作。
增量操作可以意味着将信息添加到现有的支持逻辑。
另外,在执行涉及该至少一个新的不依赖设备的控制逻辑程序的步骤时,联网的控制系统可以处于操作中。
根据本发明的另一实施例,提供用于将新的功能添加到根据本发明实施例的联网的控制系统的方法,其包括:
-生成定义该至少一个设备的运行时间行为的、至少一个新的不依赖设备的控制逻辑程序;
-将该至少一个新的不依赖设备的控制逻辑程序转换为在所述多个设备中所选择的设备上可执行的新的控制逻辑代码;
-将该新的控制逻辑代码传送到所选择的设备;以及
-适配所选择设备的支持逻辑、以及具有被用作该至少一个新的不依赖设备的控制逻辑程序中的输入的状态变量的、所有设备的支持逻辑,其在此情况下是增量操作。
增量操作可以意味着将信息添加到现有的支持逻辑。
在执行用于添加新功能的方法的同时,联网的控制系统可以处于操作中。
根据本发明的实施例,可以提供计算机程序,该计算机程序在被计算机执行时能够执行根据本发明的上述方法。
根据本发明的另一实施例,可以提供存储根据本发明的计算机程序的记录载体,例如CD-ROM、DVD、存储卡、磁盘、或者适于存储计算机程序以便电子存取的类似数据载体。
参照下文中描述的一个或多个实施例,本发明的这些方面以及其它方面将显而易见且得到阐明。
在下文中将参照示例实施例更具体地描述本发明。然而,本发明不限于这些示例实施例。
附图说明
图1示出了根据本发明的设备;
图2示出了用于初始化根据本发明的联网的控制系统的装置;以及
图3示出了根据本发明的联网的控制系统。
具体实施方式
下文中,功能类似或者相同的元件可以具有相同的参考标号。
图1示出了根据本发明一个实施例的设备100。该设备适合用于由多个设备构成的联网的控制系统。该设备100包括接收器102、运行时间环境104、支持逻辑106以及设备逻辑108。
将设备100配置为经由接收器102接收控制逻辑代码。将所接收的控制逻辑代码分配给特定的设备100。将接收器102配置为向运行时间环境104提供控制逻辑代码。将运行时间环境104配置为执行控制逻辑代码(执行器)。控制逻辑代码的执行允许控制联网的控制系统的该多个设备中至少一个设备的运行时间行为。该至少一个设备可以是执行控制逻辑代码的设备100,或者可以是联网的控制系统的任何其它设备。控制逻辑代码可以控制联网的控制系统的多个设备的运行时间行为。在此情况下,执行控制逻辑代码的设备100可以是或者不是由控制逻辑代码控制的设备的部分。换言之,控制逻辑代码可以控制联网的控制系统的任何设备(包括执行该控制逻辑代码的设备100)的运行时间行为。
为了控制运行时间行为,控制逻辑代码需要接收要被控制的设备的实际状态变量,并且需要将改变后的状态变量传送到要被控制的设备。状态变量可以是执行控制逻辑代码所必需的。通过支持逻辑106执行在运行时间环境104中执行的控制逻辑代码与要被控制的设备之间的状态变量的传送。支持逻辑106可适配于控制逻辑代码,并且被配置为提供用于交换状态变量的通信链路。
根据本发明的实施例,支持逻辑106可以包括用于接收实例化消息的部件。可以从外部与控制逻辑代码一起接收实例化消息,或者可以在接收到控制逻辑代码之后在内部生成实例化消息。实例化消息可以使支持逻辑106适配控制逻辑代码的要求,并且具体地建立通信链路,使得可以从将由控制逻辑代码控制的设备接收状态变量,以及将状态变量传送到该设备。
可以将设备100配置为多于一个控制逻辑代码的主机。由此,可以将接收器102配置为接收另外的控制逻辑代码,该代码允许控制另外设备的运行时间行为。可以将运行时间环境104配置为执行该另外的控制逻辑代码,以及支持逻辑106可适配为支持该另外的控制逻辑代码。
联网的控制系统由通过通信子系统连接的节点或者设备构成(图3中所示)。联网的控制系统的节点或者设备100通过其设备逻辑108容易地描述。设备逻辑108定义设备状态以及本地设备功能。可以通过表示设备100的硬件和软件状态的属性的设备状态变量(例如灯的明暗等级)来专门地表示由设备100容易地提供的设备逻辑108、即可能的控制参数和功能。由此,状态变量属于目标系统中的一个并且仅仅一个设备100。换言之,特定的状态变量属于该特定状态变量表示其状态的特定设备100。该设备100被称为状态变量的主设备。状态变量值的改变反映了主设备硬件或者软件中属性值的改变,反之亦然。
设备100配备有用于执行控制逻辑代码的运行时间环境104。联网的控制系统中的控制应用通常对于一个或者典型的多个设备的设备逻辑进行操作。运行时间环境104可以是解释字节代码的虚拟机,所述字节代码包括对内部设备逻辑108以及内部状态变量的存取机制。
设备100还包括负责传输与控制有关的信息的支持逻辑106,这允许仅仅基于设备逻辑以及与控制有关信息的透明通信的控制应用设计。支持逻辑106的实现取决于运行时间联网的控制系统的实施。支持逻辑确保即使状态变量值为外部的情况下支持逻辑也以正确的状态变量值运行。如果状态变量属于与执行控制逻辑代码的设备100不同的设备,则该状态变量是外部的。将设备100的支持逻辑106配置为处理外部的输入状态变量以及外部的输出状态变量。外部的输入状态变量是设备100经由通信链路接收并且提供给运行时间环境104的状态变量。外部输出状态变量是所执行的控制逻辑代码产生的状态变量,该状态变量将被传送到其运行时间行为被所执行的控制逻辑代码控制的外部设备。
根据一个实施例,持有(host)控制逻辑代码的设备100存储了持有的控制逻辑代码所需的所有或者特定的外部输入状态变量的本地副本。可以将该本地副本存储在像设备100的存储器那样的存储部件(在附图中未示出)中。在执行期间,控制逻辑代码可以使用所存储的本地状态变量值来代替外部状态变量。为了确保所存储的外部状态变量副本的值是最新的,支持逻辑106可以实现预订机制。可以通过使用每个主设备中的预订表来将该预订机制添加到系统。主设备是状态变量所属的设备。主设备存储具有每内部状态变量的条目的预订表。每个条目列出设置有控制逻辑代码的、联网的控制系统的所有设备,该控制逻辑代码把此状态变量作为输入状态变量。如果在主设备处内部状态变量的值改变,例如由于硬件状态已经改变,则检查预订表并且将改变通知发送到此状态变量的条目中列出的所有设备。在接收到改变通知时,如果已经为控制逻辑代码指定了有关的定义,意味着该状态变量是“触发状态变量”,则可以触发控制逻辑代码。
处理外部输出状态变量,使得持有控制逻辑代码的设备100为所有持有的控制逻辑代码的所有外部输出状态变量存储主设备地址。在控制逻辑代码改变外部状态变量的值时,改变通知被发送到主设备。
根据此实施例,在操作阶段中联网的控制系统的设备之间的整个通信由状态变量改变通知的交换构成,其使得有关的支持逻辑非常紧凑,并且允许非常有效的、不依赖应用控制逻辑的实施。
在要将新的控制功能添加到已经在操作中的联网的控制系统的情况下,不新定义预定表,而是添加新功能所需的条目,以防由于已经存在的控制功能,在联网的控制系统中尚未有所述条目。
在联网的控制系统的初始化之前,可以通过不依赖设备的控制逻辑程序来定义联网的控制系统的所述多个设备的运行时间行为。在联网的控制系统的初始化期间,将不依赖设备的控制逻辑程序转换为设备专用的控制逻辑代码,并且将其分配给所选择的设备。可以通过用于初始化的装置来执行逻辑程序的转换以及控制逻辑代码到所选择的设备的分配。
图2示出了根据本发明实施例的、用于初始化具有多个设备的联网的控制系统的装置200。将装置200配置为接收不依赖设备的控制逻辑程序作为输入,并且将装置200配置为输出可被分配给所选择的设备并且由其执行的控制逻辑代码。所选择的设备可以是图1中所描述的设备100。装置200还可以输出可适配所选择设备的支持逻辑的实例化消息。
装置200包括用于转换不依赖设备的控制逻辑程序的部件222,该不依赖设备的控制逻辑程序定义联网的控制系统的所述多个设备中至少一个设备的运行时间行为。将用于转换的部件222配置为接收不依赖设备的控制逻辑程序并且将控制逻辑程序转换为可在所指定的或者所选择的设备上执行的设备专用的控制逻辑程序代码。将用于转换的部件222配置为将控制逻辑程序提供给用于传送的部件224。将用于传送的部件224配置为将控制逻辑代码传送给所选择的设备。装置200还包括用于适配所选择设备的支持逻辑的部件226。可以将用于适配的部件226配置为将实例化消息提供给所选择的设备,以实例化所选择设备的支持逻辑。
用于转换的部件222可以考虑所选择设备的设备逻辑,从而鉴于分配有控制逻辑代码的所选择设备来优化控制逻辑代码。因此,可以将装置200配置为接收所选择设备的设备逻辑。另外,可以将用于转换的部件222配置为基于与所选择设备相对应的设备逻辑来选择所选择的设备。因此,用于转换的部件222可以包括另外的用于选择的部件,其定义用于执行控制逻辑代码的所选择设备。优选地在控制逻辑程序的转换之前或者期间执行选择所选择的设备,从而允许将控制逻辑代码适配于所选择的设备。
可以通过多个控制逻辑程序来控制联网的控制系统的所述多个设备的运行时间行为。由此,可以将装置200配置为接收并且转换所述多个控制逻辑程序,并且输出该多个控制逻辑代码。可以将该多个控制逻辑代码分配给联网的控制系统的多个设备中的不同设备。或者,可以将该多个控制逻辑代码或者许多控制逻辑代码分配给相同的设备。用于转换的部件222可以在选择用于特定的逻辑程序代码的所选择设备时考虑不同的控制逻辑程序。将用于适配的部件226配置为对分配有控制逻辑代码的不同设备的支持逻辑进行适配。
根据实施例,可以将装置200配置为在联网的控制系统的初始化之后接收并且转换另外的控制逻辑程序、或者输出另外的控制逻辑代码。由此,在操作期间该另外的控制逻辑代码可以更新联网的控制系统。该另外的控制逻辑代码可以替换已经在所选择的设备上执行的控制逻辑代码。
在要将新的控制功能添加到已经在操作中的联网的控制系统的情况下,逻辑设计可以是如上所述的那样。然后,编译器功能将新的控制逻辑转换为运行时间代码。为了将新的逻辑分配给设备,可以考虑现有的逻辑的分发。此外,实例化支持逻辑可以是对已经在系统中的支持逻辑的添加。
根据一个实施例,设计控制逻辑并且初始化或者设置联网的控制系统的过程可以包括逻辑设计、编译、系统设置和维护的步骤。
可以由联网的控制系统的用户或者设计者执行逻辑设计,并且该逻辑设计包括对于联网的控制系统中的所有设备逻辑的集合来开发控制逻辑程序。在运行时间系统中,在不指定将执行有关的运行时间控制逻辑代码的设备的情况下执行此“设计视图”。在优选的实施例中,使用图形工具来进行逻辑设计。
可以自动地执行在逻辑设计中创建的控制逻辑程序的编译。对于运行时间系统,将控制逻辑程序转换为可执行的控制逻辑代码(例如字节代码)包括在操作期间将控制逻辑代码分配给将执行控制逻辑代码的设备。编译步骤还包括支持逻辑的实例化,该支持逻辑实现运行控制逻辑代码所必需的信息的通信。
系统设置除了典型的网络和应用配置步骤之外,还包括将控制逻辑代码上传到所分配的设备。
系统维护允许通过利用新的逻辑来简单地重复上述步骤并且相应地下载新的逻辑,在启动之后将新的控制逻辑容易地添加到联网的控制系统,而不需要改变已经在系统中的控制逻辑。
在运行时间,通过在所分配的设备上执行控制逻辑代码,来实现定义设备的运行时间行为以及设备之间关系的控制应用,所述所分配的设备在需要时为设备之间的信息通信部署(deploy)支持逻辑。
通过重复从逻辑设计到执行器上传和支持逻辑实例化的步骤,在稍后添加控制功能是容易的,而不需要改变已经在系统中的控制逻辑。
根据实施例,编译过程步骤包含将控制逻辑程序转换为可执行的控制逻辑代码的步骤、将所选择的执行设备分配给控制逻辑的步骤、将主设备分配给系统状态变量的步骤、以及自动实例化支持逻辑的步骤。
可以如在本领域已知的那样、取决于编程语言的详情而对于运行时间系统进行将控制逻辑程序转换为可执行控制逻辑代码、例如字节代码的步骤。
将执行设备分配给控制逻辑的步骤包括将每一份控制逻辑代码分配给将要(即,通过设备的处理单元)执行控制逻辑的目标系统的设备。可以例如按照用户将控制逻辑程序分配给将最终运行有关控制逻辑代码的设备的方式、手动地进行控制逻辑代码的分配。为了帮助此过程,可以指定默认规则,例如,默认执行设备是控制逻辑代码的一个或多个输出状态变量的主设备。
在优选的实施例中,控制逻辑的分配是计算机控制的或者通过编译器程序自动地进行。可以通过分析控制逻辑程序中设备的参与以及在考虑设备的能力或者资源的情况下执行分配。例如,可以将从控制逻辑“通过开关Y调节灯X明暗”产生的控制逻辑代码分配给灯X,如果灯X关闭,则该开关Y不具有非易失性存储器。存储器仅为可被逻辑分配过程考虑的设备能力或资源的一个示例。在运行时间,将在所分配设备的运行时间环境中执行可执行的控制逻辑代码。
将主设备分配给系统状态变量的步骤包括将任意用户定义的系统状态变量分配给目标系统的设备。此设备则是与设备状态变量相似的此状态变量的主设备,这意味着在运行时间系统中此设备保持状态变量的实例,并且此实例的值将被视为该状态变量的“主”值。可以由用户手动地将系统状态变量分配给主设备。在优选实施例中,此分配是计算机控制的,或者通过在考虑设备的能力或者资源的情况下通过分析控制逻辑程序中设备的参与来自动进行。
实现运行控制逻辑代码所必需的信息通信的支持逻辑的自动实例化的步骤允许设计不依赖执行设备的控制逻辑。根据本发明,在一个自由可选的、所分配的设备处执行每个控制逻辑代码。
如果状态变量被控制逻辑代码读取或者状态变量被控制逻辑代码改变,则该状态变量被称为在控制逻辑代码中“参与”。通过控制逻辑读取的状态变量是还包含在与控制逻辑代码有关的例如启动或者停止的事件中使用的状态变量的输入状态变量。通过控制逻辑代码改变的状态变量是输出状态变量。状态变量可以是控制逻辑代码的输入和输出状态变量两者。每个状态变量属于一个并且仅仅一个主设备。
考虑一个控制逻辑代码,在该设备是针对此状态变量的主设备的情况下,每个参与的状态变量是设备内部的,或者在另一个设备是针对此状态变量的主设备的情况下是设备外部的。如果状态变量是内部的,则可以将状态变量的当前值直接通过设备的硬件或者软件容易地提供给控制逻辑代码的运行时间环境。对于所有外部的状态变量,支持逻辑被实例化,其确保总是利用正确的状态变量值执行控制逻辑代码。
例如,在将从控制逻辑“通过开关Y调节灯X明暗”产生的控制逻辑代码分配给灯X之后,支持逻辑必须保证在运行时间开关Y设置的明暗等级对于灯X可用。
图3示出了根据本发明实施例的联网的控制系统。该联网的控制系统包括多个设备100a、100b、100c、用于收集的部件332、用于生成的部件334、以及装置200。通过通信系统连接联网的控制系统的设备100a、100b、100c以及部件332、334、200。
设备100a、100b、100c可以是图1所描述的类型。通过对应的设备逻辑指定每个设备。设备逻辑表示对应设备的硬件或者软件状态的属性。
将用于收集的部件332配置为收集多个设备100a、100b、100c的设备逻辑。另外,将部件332配置为指定多个设备100a、100b、100c中至少一个设备100b的运行时间行为。通过考虑对应于该至少一个设备100b的设备逻辑来指定该至少一个设备100b的运行时间行为。将用于收集的部件332配置为将所指定的运行时间行为提供给用于生成的部件334。将用于生成的部件334配置为创建至少一个不依赖设备的控制逻辑程序,该程序表示用于收集的部件332提供的运行时间行为。该至少一个不依赖设备的控制逻辑程序定义该至少一个设备100b的运行时间行为。将用于生成的部件334配置为将该至少一个不依赖设备的控制逻辑程序提供给装置200。
装置200可以是如图2所描述的装置。将装置200配置为接收该至少一个不依赖设备的控制逻辑程序并且将该至少一个不依赖设备的控制逻辑程序转换为至少一个设备专用的控制逻辑代码。根据此实施例,装置200将控制逻辑代码分配给第三设备100c。将第三设备100c配置为执行控制第二设备100b的运行时间行为的控制逻辑代码。
选择第三设备100c作为用于执行控制逻辑代码的设备以及选择第二设备100b作为其运行时间行为被控制逻辑代码控制的设备仅为示例性的。
根据实施例,用于收集的部件332包括允许用户指定至少一个设备100b的运行时间行为的接口。该接口还可以允许用户定义所选择的设备100c。该接口可以是图形接口。
可以将用于收集的部件332配置为基于另外的设备逻辑(其对应于至少一个设备的运行时间行为所依赖的另外设备)来指定至少一个设备100b的运行时间行为。例如,如果第二设备100b的运行时间行为依赖于第一设备100a的状态,则用于收集的部件332可以考虑第一和第二设备100a、100b的设备逻辑,以便指定第二设备100b的运行时间行为。
可以将用于收集的部件332配置为基于所有设备逻辑指定所有设备100a、100b、100c的运行时间行为。为了定义所有设备100a、100b、100c的运行时间行为,可以将用于生成的部件334配置为提供多个不同的不依赖设备的控制逻辑程序。
逻辑设计是根据本发明的联网的控制系统的实例化的第一步骤。逻辑设计包括对于联网的控制系统中所有设备逻辑的集合(“设计视图”)开发控制逻辑。
可以对物理设备的表征直接指定控制逻辑。或者,可以不对物理设备的表征指定控制逻辑。逻辑设计过程可以覆盖若干抽象层。覆盖若干抽象层的示例是如下定义:“在所有房间中,通过房间中的开关使调节房间中的所有灯明暗”。逻辑设计过程可以包括图形工具的使用。
根据优选实施例,根据本发明的设计过程将总是考虑不依赖设备的控制逻辑,在运行时间系统中,将在该设备上执行该控制逻辑。例如,用户通常仅对于指定像“通过开关Y调节灯X明暗”这样的控制逻辑感兴趣。在运行时间系统中,可以取决于设备能力或者资源,在灯X上、在开关Y上、或者在系统中的任何其它设备上执行此份逻辑,而不改变对于用户可见的设备X和Y的行为。
通过由许多可编译的逻辑程序构成的可编译逻辑来表示对于联网的控制系统的设计视图。根据优选的实施例,通过人类可读的脚本来表示可编译的逻辑程序。该可编译的逻辑程序是逻辑设计过程的输出。可以以多种方式生成此输出,例如对于所有或者一些物理设备的设备逻辑的集合直接指定、或者在从标准化类型的虚拟设备上的抽象逻辑通过这些虚拟设备的分配到目标系统中真实的物理设备的转换过程中生成此输出。
对于属于目标系统的所有设备的设备逻辑的统一表征、即对于属于联网的控制系统的设备的所有设备状态变量来定义可编译的逻辑程序。此外,用户可以定义不依赖设备的、表示全局状态信息的系统状态变量,例如平均值或者总值、或者表示像“没人在家”这样的全局系统状态的状态变量。控制逻辑则将基本上由对于以某种编程语言表达的状态变量的操作构成。控制逻辑程序的语法可以是如用于最新脚本语言的语法那样的语法。
控制逻辑程序规范还包含事件的定义。事件可以是触发或者停止某一控制逻辑程序的方式。
在优选的实施例中,默认地在由控制逻辑程序表示的控制逻辑中所涉及的状态变量中任何状态变量发生任何改变时触发此控制逻辑程序。用户或者逻辑设计者还可以通过以下方式对此进行改进:即,通过在触发控制逻辑程序的状态变量的值改变的情况下限制或者扩展该状态变量的集合,或者通过在触发控制逻辑程序之前需要满足的状态变量值的条件。绝对或者相对时间可以是考虑的触发器之一。
默认地,某一控制逻辑程序将在已经执行此控制逻辑程序中的所有指令之后停止。但是用户也可以定义在状态变量值改变的情况下触发停止运行的控制逻辑程序的状态变量。可以定义与用于开始触发类似的可选的改进。
所公开的发明的若干扩展实施例是可能的。例如,用户可以在设计视图中指定针对事件的条件。可以将这些条件包括在实施预订机制的支持逻辑中。此包括可以是以下方式:如果满足有关的条件,则仅发送改变通知和/或仅触发执行器。所述条件可以例如与绝对或者相对状态变量值改变有关,和/或与改变通知的最小或者最大频率有关。
上面描述了一种系统,其使得能够开发和建立不依赖分发方面的控制应用,由此减少控制逻辑(如用户看到的)以及逻辑设计过程的复杂程度,并且使得能够将控制逻辑自由地分派给设备,这允许在应用开发之后的计算机控制的/自动的系统优化。最后,这样的系统也将允许非技术用户容易地并且以最佳方式定义和设置控制逻辑。
根据本发明,可以在以下步骤中进行设计控制逻辑以及设置联网的控制系统的过程:
●(用户/设计者的)逻辑设计:对于目标系统中的所有设备逻辑的集合(“设计视图”)开发控制逻辑,而不指定在运行时间系统中将执行有关的运行时间代码的设备。在一个实施例中,可以使用图形工具进行逻辑设计。
●(自动的)编译:将控制逻辑程序转换为用于运行时间系统的可执行(控制逻辑)代码(被称为执行器)(例如,字节代码),包括将执行器分配给在操作期间将执行该执行器的设备。对实现运行执行器所必需的信息通信的支持逻辑进行实例化。
●系统设置:除了网络和应用配置的典型步骤之外,此步骤还可以包括将执行器上传到所分配的设备。
●系统维护:在启动后还可以通过利用新的逻辑简单地重复上述步骤并且相应地下载新的控制逻辑,将新的控制逻辑容易地添加到目标系统,而不需要改变已经在系统中的控制逻辑。
根据本发明的系统的灵活性可以通过用于定义被称为控制逻辑程序(CLP)的应用逻辑的部件的定制的限制来具体地实现。对于所有设备的设备逻辑的统一表征-设备状态变量(SV)来定义CLP。另外,用户可以定义表征(不依赖设备的)全局状态信息的“系统状态变量”。则控制逻辑可以基本上由对以(具有例如如对于现代技术的正本语言的语法那样的语法的)某种编程语言表达的状态变量的操作构成。
用于更复杂应用的专用概念、例如控制和管理设备组可以有另外的优点,特别是在用于逻辑编程的受限制的部件连同像小占位面积、低带宽实施那样的针对控制系统的典型要求的情况下。下面,描述本发明的另一个实施例,其使得能够有效实现联网的控制系统中的组功能。所述目标系统是如上所述的联网的控制系统,其可以包含控制设备组的应用。组是用于逻辑设计和维护的基本概念。在设计视图中,设备组允许对设备集合的共同状态变量的操作(例如“将所有灯的明暗等级设置为值X”)进行定义或者对值的集合的操作(例如“对传感器组测量的日光值求平均”)进行定义。
可以从抽象设计(例如“客厅中的所有灯”)中获得组,其导致类型组、例如类型灯的组。还可以在直接设计中通过对物理设备、例如房间中的所有灯任意地分组(“任意组”不具有类型)来手动地定义组。
设计视图
设计视图中组的定义可以包含属于该组的成员设备的列表,并且还可以具有类似于以下设备定义的元素:
●组ID:组的唯一标识符。
●组状态变量(SV):组SV表示相同类型(名称)的成组设备的设备SV的集合。在设计视图中,组SV被称为组-ID.SV-名称。
○示例:组SV“组.明暗等级”指属于该组的所有设备的设备SV“设备X.明暗等级”的集合。
○可以指定对于组SV的命令的语义、即含义,但是其将是简单明了的。例如,改变组.SVx将导致改变每个成员设备处有关的设备SVx。除了命令之外,组SV还将允许像(对组.SVx)求平均那样的设计视图操作,其返回所有成员设备的所有有关的设备SVx值的平均值。
○在类型组中,可以通过有关设备类型的设备SV来给出组SV。
注意:仅在CLP中使用的那些组SV可能是相关的。
○在任意组中,可以通过组中设备的所有设备SV给出组SV。继而对于任意组的组SV的命令仅指(组SV类型的)有关的设备SV的集合。
●组位置:可选地,组可以具有位置信息,其意味着组中的所有设备具有相同的位置信息。
编译
编译器可以将地址分配给组(类似于设备地址)以及在CLP中使用的每组SV,编译器生成上至2个系统SV(取决于在系统中使用哪种类型的组逻辑):
●G.SV-ID表示赋予组G(的设备的有关状态变量)的值。
此SV用于将命令(即,改变对应的设备SV)给予组中的所有设备。对于此用途,在CLP语句G.SVk:=<值>中使用G.SV-ID,其将导致将所有的成员SV的D.SV-ID设置为<值>。注意:此SV是一种“标称值”SV,因为其包含改变成组的设备SV的最后请求,而所述成组的设备SV的实际值也可以独立地改变(例如通过真实世界事件)。
●G.SV-ID.tab表示所有有关的设备SV的列表。此SV用于实现像对成组的设备SV的集合的读取和估计“求平均”那样的功能。
然后,编译器将这些系统SV分配给如上所述的主设备。在下一步骤中,编译器(除由CLP生成的执行器之外)还生成支持执行器,作为上面定义和描述的支持逻辑的部分。
改变组SV值:如果存在包含语句G.SVk:=<值>的CLP(该语句将导致所有的成员SV的D.SV-ID被设置为<值>),则以以下方式实现这点:
○组G(具有相同类型的有关的设备SV)的每个设备D得到(编译器生成的)执行器,该执行器具有作为触发SV(仅触发,不需要复制)的G.SV-ID,以及逻辑:D.SV-ID:=G.SV-ID(即,如果G.SV-ID改变,则D.SV-ID相应改变)。
○G.SV-ID的主设备得到相关的预订信息。在实施例中,组IA地址G(仅)用作预订目的地。所有的成员设备存储地址并且(还)监听以组地址作为目的地的消息。在此情况下,网络抽象层将发送改变通知作为广播或者多播消息。或者,G.SV-ID的主设备以成员设备的列表作为预订者。
此方法的优点是稍后可以将设备添加到组,而不改变现有的执行器(参见下文)。在任意组中,仅具有有关的兼容SV的设备将得到支持执行器。
●组SV的替换的(非优选的)处理:
○G.SV-ID的主设备得到针对所有成员设备的(编译器生成的)执行器,该执行器具有作为触发SV的G.SV-ID以及逻辑语句D.SV-ID:=G.SV-ID,即具有输出状态变量D.SV-ID。
○为此,G.SV-ID的主设备得到有关的参考信息。
可以通过编译器进行选项之间的选择。
●用于(作为输入)的组SV的读取/估计功能:如果CLP包含对于所有成员值的操作(例如“求平均”),则定义系统SV G.SV-ID.tab并将其分配给主设备。
○G.SV-ID.tab是具有所有的成员设备SV(实际上是分发的SV储存库中的一份)的值的动态表{(Di,Di.SV-ID),i=1..n}。
○组G的每个设备D得到针对G.SV-ID.tab的主参考信息以及具有作为触发因素SV的G.SV-ID以及以下逻辑的(编译器生成的)支持执行器:
○G.SV-ID.tab:={(D,D.SV-ID)}(具有一个元素[D,D.SV-ID]的表)。
○在G.SV-ID.tab的主设备处,将新的值解释如下:如果D已经在表中,则:改写值;否则:添加到表。
然后,可以将像average(G.SV-ID)那样的函数转换为以G.SV-ID.tab作为输入的执行器代码。
○扩展:G.SV-ID.tab也可以仅为被用于按需得到(抽出)D.SV-ID值的、成员设备的参考列表。
再次注意:仅建立被用于CLP中的那些组SV。如果例如不存在像对所有成员值求平均那样的CLP部署函数,则将不生成G.SV-ID.tab SV。
设置和维护
如上所述,所公开的组逻辑的实现还具有像向组添加设备或者从组移除设备那样的维护过程的优点。
●添加仅由组逻辑控制的设备(例如将灯添加到已经存在的灯组)。
为了将设备D添加到组,组定义必须(例如,从系统储存库)已知。
○如果存在组SV G.SV-ID,则在新的设备上安装此SV的有关的外部实例以及如上所述的支持执行器(D.SV-ID:=G.SV-ID)。此外,将组地址G添加到设备D所监听的地址的列表。
○如果G.SV-ID的主设备使用预订者列表,则新的设备必须宣告其作为成员存在。
○如果存在组SV G.SV-ID.tab以及有关的逻辑,则新的设备需要建立主参考(主设备的地址)并且安装支持执行器(G.SV-ID.tab:={(D,D.SV-ID)})。
较大的优点是可以在新的设备上进行集成新设备的所有步骤,即,不需要改变已经存在的设备上的任何东西。
●移除仅具有组逻辑的设备
可以简单地移除仅具有组逻辑的设备,而不需要改变系统剩余部分中的任何东西(系统仍然全部起作用)。
在另一实施例中,可以应用垃圾收集机制以移除G.SV-ID.tab表中已不用的条目。
作为总结,本发明描述了:
一种联网的控制系统,其中
-由用户在关于系统的特定或者所有设备逻辑的集合的“设计视图”中指定定义设备的运行时间行为以及设备之间关系的控制逻辑程序,而不指示要在那些设备中的哪一个上运行最终可执行的代码,因此不依赖任何与通信有关的方面;
-编译器程序自动将所指定的控制逻辑程序转换为可执行代码,例如通过考虑设备能力或者资源而将可执行代码以优选方式分配给在运行时间执行该可执行代码的设备,并且自动实例化设备处的支持逻辑,使得在运行时间此支持逻辑提供在控制逻辑中所涉及的设备之间的所有必需的信息通信。
-准备所有的设备以运行从编译器功能上传的可执行控制逻辑代码并且持有支持逻辑,该支持逻辑例如在通过编译器程序的适当实例化之后、以对于控制逻辑透明的方式提供对于被持有的控制逻辑必需的所有信息通信。
一种联网的控制系统的设备,其
-实施运行时间环境,以执行从“设计视图”中指定的控制逻辑获得的可执行代码。
-实施控制逻辑,该支持逻辑例如在通过编译器程序的适当实例化之后、以对于控制逻辑透明的方式提供对于所有被持有的控制逻辑必需的所有信息通信。
一种用于联网的控制系统的编译器程序,其
-将提供系统的所有设备逻辑的集合的“设计视图”中指定的控制逻辑程序转换为可执行代码,
-例如通过考虑设备能力或者资源,以优化的方式将可执行代码分配给在运行时间执行该可执行代码的设备,并且
-自动配置设备的支持逻辑,使得在运行时间,此支持逻辑提供在控制逻辑中所涉及的设备之间的所有必需的信息通信。
一种如上所述的联网的控制系统,通过重复从逻辑设计到控制逻辑代码(执行器)上传以及支持逻辑实例化的相同步骤,在系统启动后也可以对该联网的控制系统添加控制逻辑,而不需要改变已经在系统中的控制逻辑。
一种用于将新的功能添加到操作中的联网的控制系统的方法,包括:
-生成根据本发明的至少一个新的不依赖设备的控制逻辑程序;
-将新的控制逻辑程序转换为在多个设备中所选择的设备上可执行的控制逻辑代码;
-将控制逻辑代码传送到所选择的设备;以及
-适配所选择设备的支持逻辑以及具有状态变量(该状态变量被用作根据本发明的控制逻辑程序的输入)的所有设备的支持逻辑,其在此情况下是增量操作,即,将信息添加到现有的支持逻辑的手段。
一种联网的控制系统,其中对于组状态变量定义组逻辑。
一种联网的控制系统,其中,编译器程序自动地将组逻辑转换为状态变量G.SV-ID和G.SV-ID.tab以及如上所述的支持执行器。
其中将组SV设置为值的联网的控制系统导致通过以下方式将所有有关的成员设备SV设置为相同的值:
将组SV的主实例改变为该值;
发送组SV的所有预订者的有关改变通知;
所有的预订者具有将有关的设备SV改变为组SV的新值的执行器。
一种如上所述的联网的控制系统,其中改变通知使用组地址作为目的地,并且所有的组成员也监听去往此地址的消息。
一种联网的控制系统,其中可以在不对已经属于该系统的设备执行任何改变的情况下进行添加仅通过组逻辑控制的设备。
一种联网的控制系统,其中通过将组地址添加到设备必须监听的地址的列表并且建立组SV实例以及如上所述的支持执行器,来进行将设备添加到系统。
可以通过硬件或者软件来执行本发明的功能中的至少一些功能。在以软件实施的情况下,可以使用单个或者多个标准微处理器或者微控制器以处理实施本发明的单个或者多个算法。
应注意:词语“包括”不排除其它元件或者步骤,词语“一”或“一个”不排除多个。此外,权利要求中的任何参考标记不应被解释为限制本发明的范围。
Claims (13)
1.一种用于包括多个设备的联网的控制系统的设备(100;100a,100b,100c),其包括:
-接收器(102),用于接收允许控制多个设备中的至少一个设备的运行时间行为的控制逻辑代码;
-运行时间环境(104),用于执行该控制逻辑代码;以及
-支持逻辑(106),可适配于该控制逻辑代码,其中该支持逻辑提供用于交换执行该控制逻辑代码所必需的状态变量的通信链路。
2.根据权利要求1所述的设备,其中该支持逻辑(106)包括用于接收使该支持逻辑适配于该控制逻辑代码的实例化消息的部件。
3.根据权利要求1或2所述的设备,其中该接收器(102)被配置为接收另外的控制逻辑代码,该代码允许控制所述多个设备中至少一个第二设备的运行时间行为,其中该运行时间环境(104)被配置为执行所述另外的控制逻辑代码,并且其中该支持逻辑(106)可适配于所述另外的控制逻辑代码。
4.一种用于初始化具有根据上述权利要求中任一项所述的多个设备(100a,100b,100c)的联网的控制系统的装置(200),其包括:
-用于将定义所述多个设备中至少一个设备(100b)的运行时间行为的、不依赖设备的控制逻辑程序转换为在所述多个设备中所选择的设备(100c)上可执行的控制逻辑代码的部件(222);
-用于将该控制逻辑代码传送到该所选择的设备的部件(224);以及
-用于适配该所选择的设备的支持逻辑以及具有被用作该控制逻辑程序的输入的状态变量的所有设备的支持逻辑的部件(226),其中支持逻辑提供用于交换执行该控制逻辑代码所必需的状态变量的通信链路。
5.一种联网的控制系统,包括:
-根据权利要求1到3之一所述的多个设备(100a,100b,100c),其中每个设备由对应的设备逻辑指定;
-用于收集所述多个设备的设备逻辑、并且基于与所述多个设备中至少一个设备(100b)相对应的设备逻辑来指定该至少一个设备的运行时间行为的部件(332);
-用于生成定义该至少一个设备的运行时间行为的、至少一个不依赖设备的控制逻辑程序的部件(334);以及
-根据权利要求4的用于初始化的装置(200)。
6.根据权利要求5所述的联网的控制系统,其中用于收集的部件(332)被配置为基于所有的设备逻辑来指定所述多个设备(100a,100b,100c)中所有设备的运行时间行为,并且其中用于生成的部件(334)被配置为提供多个不依赖设备的控制逻辑程序。
7.根据权利要求5或6所述的联网的控制系统,还包括至少一个应用,该应用被适配为通过对于设备组的共同状态变量或者对于设备组的值的集合的操作来控制该设备组。
8.一种用于初始化具有根据权利要求1到3之一所述的多个设备的联网的控制系统的方法,包括:
-将定义所述多个设备中至少一个设备的运行时间行为的、不依赖设备的控制逻辑程序转换为在多个设备中所选择的设备上可执行的控制逻辑代码;
-将该控制逻辑代码传送到所选择的设备;以及
-适配该所选择的设备的支持逻辑以及具有被用作控制逻辑程序中的输入的状态变量的所有设备的支持逻辑,其中支持逻辑提供用于交换执行该控制逻辑代码所必需的状态变量的通信链路。
9.一种用于建立联网的控制系统的方法,包括:
-提供根据权利要求1到3之一所述的多个设备(100a,100b,100c),其中通过设备逻辑指定每个设备;
-收集所述多个设备的设备逻辑,并且基于与所述多个设备中至少一个设备(100b)相对应的设备逻辑来指定该至少一个设备的运行时间行为;
-生成定义该至少一个设备的运行时间行为的、至少一个不依赖设备的控制逻辑程序;以及
-初始化根据权利要求5所述的联网的控制系统。
10.根据权利要求9所述的用于建立联网的控制系统的方法,还包括:
-生成定义该至少一个设备的运行时间行为的、至少一个新的不依赖设备的控制逻辑程序;
-将该至少一个新的、不依赖设备的控制逻辑程序转换为在所述多个设备中所选择的设备上可执行的、新的控制逻辑代码;
-将该新的控制逻辑代码传送到所选择的设备;以及
-适配所选择的设备的支持逻辑以及具有被用作该至少一个新的不依赖设备的控制逻辑程序的输入的状态变量的、所有设备的支持逻辑,其在此情况下是增量操作。
11.一种用于将新功能添加到根据权利要求5到7之一所述的联网的控制系统的方法,包括:
-生成定义该至少一个设备的运行时间行为的、至少一个新的不依赖设备的控制逻辑程序;
-将该至少一个新的不依赖设备的控制逻辑程序转换为在所述多个设备中所选择的设备上可执行的新的控制逻辑代码;
-将该新的控制逻辑代码传送到所选择的设备;以及
-适配所选择的设备的支持逻辑以及具有被用作该至少一个新的不依赖设备的控制逻辑程序的输入的状态变量的、所有设备的支持逻辑,其在此情况下是增量操作。
12.一种在被计算机执行时、能够执行根据权利要求8到11所述方法的计算机程序。
13.一种存储根据权利要求12所述的计算机程序的记录载体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP07102125 | 2007-02-12 | ||
| EP07102125.7 | 2007-02-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101606129A true CN101606129A (zh) | 2009-12-16 |
Family
ID=39523790
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2008800047157A Pending CN101606129A (zh) | 2007-02-12 | 2008-02-07 | 用于联网的控制系统的设备 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20100106262A1 (zh) |
| EP (1) | EP2111580A1 (zh) |
| JP (1) | JP2010518502A (zh) |
| CN (1) | CN101606129A (zh) |
| TW (1) | TW200847025A (zh) |
| WO (1) | WO2008099307A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115004189A (zh) * | 2020-01-20 | 2022-09-02 | 西门子工业软件有限公司 | 用于促进多个机器人任务的并发模拟的方法和系统 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5389778B2 (ja) | 2007-03-29 | 2014-01-15 | コーニンクレッカ フィリップス エヌ ヴェ | 論理的アドレスを用いるネットワーク化された制御システム |
| US20120047223A1 (en) * | 2010-08-20 | 2012-02-23 | Nokia Corporation | Method and apparatus for distributed storage |
| US8760103B2 (en) | 2011-09-30 | 2014-06-24 | Honeywell International Inc. | Actuator power control circuit having fail-safe bypass switching |
| US9981529B2 (en) | 2011-10-21 | 2018-05-29 | Honeywell International Inc. | Actuator having a test mode |
| US8749182B2 (en) | 2011-11-08 | 2014-06-10 | Honeywell International Inc. | Actuator having an adjustable auxiliary output |
| US10113762B2 (en) | 2011-11-09 | 2018-10-30 | Honeywell International Inc. | Actuator having an adjustable running time |
| US9041319B2 (en) | 2011-11-09 | 2015-05-26 | Honeywell International Inc. | Actuator having an address selector |
| US8922140B2 (en) | 2011-11-09 | 2014-12-30 | Honeywell International Inc. | Dual potentiometer address and direction selection for an actuator |
| US8588983B2 (en) | 2011-11-09 | 2013-11-19 | Honeywell International Inc. | Actuator with diagnostics |
| US9106171B2 (en) | 2013-05-17 | 2015-08-11 | Honeywell International Inc. | Power supply compensation for an actuator |
| CN109074266A (zh) * | 2016-04-21 | 2018-12-21 | 飞利浦照明控股有限公司 | 用于对物理环境进行监测的计算云 |
| US10437609B1 (en) * | 2017-03-09 | 2019-10-08 | Devicebook Inc. | Intelligent platform |
| WO2018165492A1 (en) * | 2017-03-09 | 2018-09-13 | Devicebook Inc. | Intelligent platform |
| US10686622B2 (en) * | 2018-07-31 | 2020-06-16 | Johnson Controls Technology Company | Building management system with data sharing based on use identifiers |
| CN113406891B (zh) * | 2021-06-18 | 2023-04-21 | 杭州深渡科技有限公司 | 物联网设备联动控制方法、系统、装置及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6686838B1 (en) * | 2000-09-06 | 2004-02-03 | Xanboo Inc. | Systems and methods for the automatic registration of devices |
| US20040184431A1 (en) * | 2003-03-19 | 2004-09-23 | Samsung Electronics Co., Ltd. | Apparatus and method for managing device information through networks |
| CN1799219A (zh) * | 2003-05-30 | 2006-07-05 | Lg电子株式会社 | 家庭网络系统 |
| EP1686747A1 (en) * | 2005-01-31 | 2006-08-02 | Sharp Kabushiki Kaisha | System and method for remotely controlling an instant messaging client through UPnP |
Family Cites Families (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3634662A (en) * | 1968-07-12 | 1972-01-11 | Houdaille Industries Inc | Numerical control system and method |
| FR2359563A1 (fr) * | 1976-07-22 | 1978-02-17 | Lannionnais Electronique | Central de telecommunication temporel |
| US4245300A (en) * | 1978-06-05 | 1981-01-13 | Computer Automation | Integrated and distributed input/output system for a computer |
| US5278974A (en) * | 1989-12-04 | 1994-01-11 | Digital Equipment Corporation | Method and apparatus for the dynamic adjustment of data transfer timing to equalize the bandwidths of two buses in a computer system having different bandwidths |
| US5519878A (en) * | 1992-03-18 | 1996-05-21 | Echelon Corporation | System for installing and configuring (grouping and node address assignment) household devices in an automated environment |
| US5751915A (en) * | 1993-07-13 | 1998-05-12 | Werbos; Paul J. | Elastic fuzzy logic system |
| JP4251669B2 (ja) * | 1995-07-14 | 2009-04-08 | ソニー株式会社 | データ処理方法および装置 |
| JPH10177495A (ja) * | 1996-12-18 | 1998-06-30 | Toshiba Corp | 分散形制御ネットワークシステム |
| ES2235340T3 (es) * | 1997-06-25 | 2005-07-01 | Samsung Electronics Co. Ltd. | Generacion de guia de progrmas para redes domesticas. |
| US6198822B1 (en) * | 1998-02-11 | 2001-03-06 | Ictv, Inc. | Enhanced scrambling of slowly changing video signals |
| JPH11328138A (ja) * | 1998-05-20 | 1999-11-30 | Hitachi Ltd | 分散型コンピュータシステム |
| US6760758B1 (en) * | 1999-08-31 | 2004-07-06 | Qwest Communications International, Inc. | System and method for coordinating network access |
| US6850808B2 (en) * | 1999-09-24 | 2005-02-01 | Rockwell Software Inc. | Method and system for developing a software program using compound templates |
| US6445963B1 (en) * | 1999-10-04 | 2002-09-03 | Fisher Rosemount Systems, Inc. | Integrated advanced control blocks in process control systems |
| AU2295101A (en) | 1999-12-30 | 2001-07-16 | C-Smart Llc | Method and apparatus for providing distributed control of a home automation system |
| JP2002124392A (ja) * | 2000-10-13 | 2002-04-26 | Matsushita Electric Works Ltd | 照明装置 |
| US20020078161A1 (en) * | 2000-12-19 | 2002-06-20 | Philips Electronics North America Corporation | UPnP enabling device for heterogeneous networks of slave devices |
| US6801813B2 (en) * | 2001-07-30 | 2004-10-05 | Rockwell Automation Technologies, Inc. | Method for consistent storage of data in an industrial controller |
| US20040044739A1 (en) * | 2002-09-04 | 2004-03-04 | Robert Ziegler | System and methods for processing PIN-authenticated transactions |
| US20080313282A1 (en) * | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
| US6882889B2 (en) * | 2002-12-02 | 2005-04-19 | United Technologies Corporation | Constrained dynamic inversion control algorithm |
| US20040210664A1 (en) * | 2003-04-17 | 2004-10-21 | Schneider Automation Inc. | System and method for transmitting data |
| US7103704B2 (en) * | 2003-10-24 | 2006-09-05 | Sun Microsystems, Inc. | Exporting 12C controller interfaces for 12C slave devices using IPMI micro-controller |
| US7126291B2 (en) * | 2003-11-06 | 2006-10-24 | Lutron Electronics Co., Inc. | Radio frequency lighting control system programming device and method |
| JP2005157419A (ja) * | 2003-11-20 | 2005-06-16 | Sony Corp | 情報処理システム、情報処理装置および方法、並びにプログラム |
| US7154862B2 (en) * | 2003-12-31 | 2006-12-26 | Openpeak Inc. | Device control system, method, and apparatus for server-based or peer-to-peer network environments |
| US20100131077A1 (en) * | 2004-02-25 | 2010-05-27 | Brown David W | Data Collection Systems and Methods for Motion Control |
| US8473844B2 (en) * | 2004-03-26 | 2013-06-25 | Harman International Industries, Incorporated | Audio related system link management |
| RU2417391C2 (ru) * | 2006-08-24 | 2011-04-27 | Сименс Энерджи Энд Отомейшн, Инк. | Устройства, системы и способы конфигурирования программируемого логического контроллера |
| US20080065616A1 (en) * | 2006-09-13 | 2008-03-13 | Brown Abby H | Metadata integration tool, systems and methods for managing enterprise metadata for the runtime environment |
| CN101611614A (zh) * | 2007-02-12 | 2009-12-23 | 皇家飞利浦电子股份有限公司 | 网络化控制系统和用于网络化控制系统的设备 |
-
2008
- 2008-02-07 EP EP08702596A patent/EP2111580A1/en not_active Ceased
- 2008-02-07 CN CNA2008800047157A patent/CN101606129A/zh active Pending
- 2008-02-07 US US12/525,853 patent/US20100106262A1/en not_active Abandoned
- 2008-02-07 WO PCT/IB2008/050445 patent/WO2008099307A1/en not_active Ceased
- 2008-02-07 JP JP2009548785A patent/JP2010518502A/ja active Pending
- 2008-02-12 TW TW097104865A patent/TW200847025A/zh unknown
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6686838B1 (en) * | 2000-09-06 | 2004-02-03 | Xanboo Inc. | Systems and methods for the automatic registration of devices |
| US20040184431A1 (en) * | 2003-03-19 | 2004-09-23 | Samsung Electronics Co., Ltd. | Apparatus and method for managing device information through networks |
| CN1799219A (zh) * | 2003-05-30 | 2006-07-05 | Lg电子株式会社 | 家庭网络系统 |
| EP1686747A1 (en) * | 2005-01-31 | 2006-08-02 | Sharp Kabushiki Kaisha | System and method for remotely controlling an instant messaging client through UPnP |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115004189A (zh) * | 2020-01-20 | 2022-09-02 | 西门子工业软件有限公司 | 用于促进多个机器人任务的并发模拟的方法和系统 |
| US12162146B2 (en) | 2020-01-20 | 2024-12-10 | Siemens Industry Software Ltd. | Method and system for facilitating a concurrent simulation of multiple robotic tasks |
| CN115004189B (zh) * | 2020-01-20 | 2024-12-31 | 西门子工业软件有限公司 | 用于促进多个机器人任务的并发模拟的方法和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW200847025A (en) | 2008-12-01 |
| WO2008099307A1 (en) | 2008-08-21 |
| US20100106262A1 (en) | 2010-04-29 |
| JP2010518502A (ja) | 2010-05-27 |
| EP2111580A1 (en) | 2009-10-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101606129A (zh) | 用于联网的控制系统的设备 | |
| JP5389778B2 (ja) | 論理的アドレスを用いるネットワーク化された制御システム | |
| US8316343B2 (en) | Self-describing device module and system and computer-readable medium for the production thereof | |
| CN101681266B (zh) | 用于包括多个设备的联网控制系统的编译器和编译方法 | |
| CN101554092A (zh) | 用于替换网络中的设备的方法和装置 | |
| CN115335807A (zh) | 用于管理工业自动化平台的自动化程序的方法和装置 | |
| CN103167041A (zh) | 一种支持云环境应用集群自动化部署的系统及方法 | |
| JP5954635B2 (ja) | ソフトウェアコンポーネントをインストールする方法、システム、端末、およびデバイス管理サーバ | |
| US20080256225A1 (en) | Osgi-Based Dynamic Service Management Method for Context-Aware Systems | |
| CN114285698B (zh) | 一种嵌入式操作系统上基于K3s的DDS通信中间件的构建方法 | |
| JP5095934B2 (ja) | アーキテクチャ非依存プログラミング及びネットワークアプリケーション合成システム及び方法 | |
| CN111641667A (zh) | 网络中心过程控制 | |
| CN116743795A (zh) | 一种物联网应用功能配置的部署方法 | |
| Padilla | Self-adaptation for Internet of things applications | |
| CN111641668A (zh) | 网络中心进程控制系统中的异构执行引擎 | |
| US20110161844A1 (en) | Changeable bacnet interface | |
| CN113900385A (zh) | 一种分布式物联网设备控制系统及其控制方法 | |
| BACCELLI et al. | Francisco Javier Acosta Padilla |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C12 | Rejection of a patent application after its publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20091216 |