利用定義的組件來動態配置和實現設備固件的工具和方法
【專利摘要】公開了用于配置諸如建筑物自動化設備之類的用在自動化系統中的設備的工具、方法和設備。所述方法包括定義與所述設備的功能有關的配置文件,使得配置文件標識在與所述設備的通信中存儲的一個或多個標準化組件,將配置文件傳遞到可操作在所述設備內的動態配置器工具,根據動態配置器工具和配置文件初始化所述設備,使得動態配置器工具檢索由配置文件標識的一個或多個標準化組件,基于由配置文件標識的一個或多個標準化組件生成用于所述設備的可執行文件,以及利用所生成的可執行文件來操作設備。
【專利說明】利用定義的組件來動態配置和實現設備固件的工具和方法
【技術領域】
[0001]本專利文檔總體上涉及建筑物自動化系統和設備,并且更加具體地涉及用于對適配于在建筑物自動化系統內的操作的一個或多個建筑物自動化設備進行配置、升級和與其交互的工具和方法。
【背景技術】
[0002]已知建筑物自動化系統典型地被設計成監視、報告和控制結構內的環境和/或安全條件。例如,為了將溫度維持在期望的設定點處,建筑物自動化系統可以將一個或多個環境控制設備驅動到集中在設定點上的穩定狀態條件。為了執行這項任務,一個或多個建筑物自動化設備可以被編程和/或配置有提供對實現期望的功能必須的指令和參數的固件。
[0003]建筑物自動化系統通常采用大量這些建筑物自動化設備以便針對結構和/或一組結構而執行所需要的監視和控制功能。這些單獨的建筑物自動化設備中的每一個或建筑物自動化設備類繼而需要用以確保操作并提供期望的功能的固件和配置。被這些建筑物自動化設備所利用的固件被配置為指令的單個互連塊,使得難以修改任何給定部分。例如,為了添加或改變建筑物自動化設備之一的功能,通常必須修改和上傳整個固件封裝。操作在建筑物自動化系統內的大量設備使這種限制進一步惡化。因此,為了實現任何期望的固件定制,固件的許多變形必須被用戶追蹤和維護以解決設備廠商或能力上的差異。
【發明內容】
[0004]在一個實施例中,公開了設備的動態配置的方法。所述方法包括:定義與設備的功能有關的配置文件,其中所述配置文件標識在與設備的通信中存儲的一個或多個標準化組件;將配置文件傳遞到在設備內可操作的動態配置器工具;根據動態配置器工具和配置文件來初始化所述設備,其中所述動態配置器工具檢索由配置文件所標識的一個或多個標準化組件;基于由所述配置文件所標識的一個或多個標準化組件而生成用于所述設備的可執行文件;以及利用所生成的可執行文件來操作所述設備。
[0005]在另一個實施例中,公開了一種被配置成實現動態配置的用戶應用以操作用在建筑物自動化系統中的建筑物自動化設備的控制器。所述控制器包括處理器和與所述處理器通信的存儲器。所述存儲器被配置成存儲處理器可執行指令,其繼而被配置成:在建筑物自動化設備處接收標識在與建筑物自動化設備的通信中存儲的葉組件的配置文件;發起動態配置工具,其中所述動態配置工具從可訪問的存儲位置檢索由配置文件所標識的葉組件并且將所述葉組件配置用于根據提供在配置文件中的定義來操作;基于至少葉組件而生成可執行文件以供建筑物自動化設備實現;以及利用所生成的可執行文件來運行建筑物自動化設備。
[0006]在又另一個實施例中,公開了一種配置用在建筑物自動化系統中的建筑物自動化設備的方法。所述方法包括:在建筑物自動化設備中存儲定義的配置文件,其中所述配置文件是由動態配置器工具可訪問的;激活所述動態配置器工具,其中所述動態配置器工具檢索并配置由配置文件所定義的至少一個標準化組件;生成用戶應用以供建筑物自動化設備來運行,其中所述用戶應用基于所述至少一個標準化組件;以及利用所生成的用戶應用來操作建筑物自動化設備。
[0007]公開了其它實施例,并且每一個實施例可以被單獨或組合一起使用。所公開的實施例的附加特征和優勢描述在下文的【具體實施方式】和附圖中,并且將從中顯而易見。
【專利附圖】
【附圖說明】
[0008]圖1圖示被配置成利用本公開的教導的示例性建筑物自動化系統;
圖2圖示在圖1中示出的建筑物自動化系統內可操作的示例性設備;
圖3圖示被配置成實現本公開的教導的示例性控制器;
圖4圖示利用示例性動態配置工具裝配的示例性應用;以及 圖5圖示利用示例性動態配置工具裝配的另一個示例性應用;以及 圖6是表示動態配置器工具和系統的操作的流程圖。
【具體實施方式】
[0009]所公開的用于對建筑物自動化系統內的自動化設備進行動態配置和升級的工具、方法和系統提供了超出上文所描述的已知系統的解決方案和能力。例如,所公開的工具、方法和系統提供了用于更新運行在一個或多個自動化設備上的固件和軟件的流程。特別地,利用所公開的動態配置器工具允許在不需要生成(和維護)整個塊的固件和軟件的情況下固件和軟件的離散更新以包括故障(bug)修正、附加特征或任何其他期望的升級。由所公開的動態配置器工具給予的靈活性提供了通過其可以支持和配置廣范圍的設備的機制和方法。此外,所公開的動態配置器工具是在不妥協固有提供的靈活性和可維護性的情況下跨變化尺寸和復雜性的系統可縮放的。
[0010]所公開的用于配置和升級自動化設備的方法和系統利用定義明確的組件,其具有同樣定義明確的接口。在其之下構造這些組件的嚴格定義允許動態配置工具基于由配置文件所提供的定義和結構而對單獨的組件進行選擇、配置并與之交互。配置文件的結構提供了單獨的組件通過其能夠被裝配和結合以創建一個或多個新的復合或組合組件的機制。在由動態配置工具所裝配的情況下,組件形成要被自動化設備所運行的指令和固件。
[0011]圖1圖示了可以合并和實現用于本文所公開的動態配置的工具和方法的示例性建筑物控制系統100。不例性控制系統100可以是由Siemens Industry Inc.的建筑物技術部門(“Siemens”)提供的APOGEE?建筑物管理系統。控制系統100包括與自動化級網絡(ALN) 104和外圍或現場級網絡(FLN) 106 二者通信的管理級網絡(MLN) 102。在本示例中,現場級網絡106進一步包括多個有線外圍總線106a到106η。
[0012]示例性管理級網絡102被示出與一個或多個工作站或終端108通信。工作站108可以是由Siemens提供的INSIGHT?高級工作站,并且可以被配置成與建筑物控制系統100對接并為其提供用戶控制。工作站108還可以提供耦合到建筑物控制系統100的各種機械和電學裝置的調度和操作控制。遍及建筑物控制系統100生成的信息、數據和警告可以經由網絡102到106傳送以供在工作站108處的編譯和分析。附加的工作站可以訪問并且共享由工作站108接收和存儲的信息以得到更大的靈活性。[0013]建筑物控制系統100還可以經由諸如由Siemens提供的用于INSIGHT?的APOGEEGO?接口之類的web (網絡)接口 110而被訪問。web接口 110提供了訪問和查看由建筑物控制系統100所收集的關鍵信息的無客戶端手段。在一個或多個實施例中,web接口 110可以通過內網或互聯網而實時或近實時地遠程控制建筑物控制系統100的設備和元件。由web接口 110提供的功能包括但不限于監視警報、覆蓋和建立命令設定點和其它控制參數、創建和編輯操作調度以及報告功能。
[0014]還可以利用無線接口 112來提供對建筑物控制系統100和工作站108的訪問。在一個示例性實施例中,無線接口 112可以利用IEEE 802.11 (WiFi)協議來與自動化級網絡102通信和對接。無線接口 112通過消除提供物理網絡基礎設施以訪問自動化級網絡102或建筑物控制系統100的其它元件的需要而給建筑物控制系統100提供附加的配置和設置靈活性。
[0015]還可以利用其它人機接口(HMI) 114和精簡功能的人機接口 116來提供對建筑物控制系統100的一個或多個功能的訪問和控制。這些接口 114、116可以被配置成提供對在建筑物控制系統100內操作的特定機械和/或電學系統的訪問。在另一個實施例中,這些接口 114、116可以直接地或通過工作站108和/或web接口 110提供對整個建筑物控制系統100的訪問。
[0016]自動化級網絡104耦合到多個現場面板或自動化設備118a到118η并且與之通信。現場面板可以是由Siemens提供的PXC Compact (緊密)和/或PXC Modular (模塊化)現場面板。自動化設備118a到118η可以被配置成接收和組織在有線現場設備122a到122η之間交換的信號并且將那些信號轉換成數據以供例如傳送到工作站108。示例性有線現場設備122a到122η可以是傳感器、致動器、驅動、裝置控制器和其它建筑物控制設備或傳感器。在該配置中,來自這些現場設備122a到122η的數據在工作站108處和/或經由web接口 110可以是即時可查看的、可編程的和可行動的。
[0017]自動化級網絡104還包括被布置成與一個或多個無線現場設備124a到124η進行無線通信的無線現場面板120或者與之通信。類似于有線現場設備122a到122η,無線現場設備124a到124η可以是傳感器、致動器、驅動、裝置控制器和其它建筑物控制設備或傳感器。在該示例性實施例中,自動化設備118b包括允許其充當自動化級網絡104的有線基礎設施與一個或多個無線現場設備124a到124η之間的無線橋的無線收發器126。
[0018]無線現場面板120和/或自動化設備118b可以協作以建立現場級網絡106的無線現場級網絡128部分。在一個實施例中,無線現場級網絡128可以是與自動化級網絡104和管理級網絡102通信的獨立網絡。在又另一個實施例中,無線現場級網絡128可以是現場級網絡106的子網絡和集成部分。
[0019]無線現場級網絡128可以被建立為包含經由獨立于無線現場面板120的無線鏈路彼此通信的無線現場設備124a到124η的一個或多個節點或群組的無線網狀(mesh)網絡。網狀配置提供了無線現場級網絡128,其通過使得信息或信號能夠在到達無線現場面板120或自動化設備118b之前在無線現場設備124a到124η之間的不同路徑之中跳躍而提供了增強的靈活性和冗余。冗余的通信路徑通過允許網絡128適應于潛在通信鏈路中斷來實現高可靠性級別。無線現場設備124a到124η可以是例如IEEE 802.15.4 (ZIGBEE?)依從設備。[0020]在本文中,短語“與其耦合”、“與其通信”和“連接到”被定義為意指被布置成直接地或通過一個或多個中間組件間接地交換信息、數據和命令的組件。中間組件可以包括基于硬件和軟件的組件二者。類似地,短語“操作耦合”被定義為意指被配置成直接地或間接通過一個或多個中間組件而共享資源或信息的兩個或更多設備。
[0021]圖2圖示了被配置成實現和利用本文所公開的動態配置工具和原理的自動化設備118a的放大視圖。在該示例性實施例中,自動化設備118a(以下簡單稱作為自動化設備118)包括控制器200。控制器200包括處理器202,諸如中央處理單元(CPU)、圖形處理單元(GPU)或這二者。處理器硬件可以包含一個或多個通用處理器、數字信號處理器、專用集成電路、現場可編程門陣列、服務器、網絡、數字電路、模擬電路、其組合、或者用于分析和處理數據的任何現在已知的或稍后開發的設備。
[0022]控制器200包括耦合到處理器202和/或與之通信的存儲器204。存儲器204可以被劃分或分割成例如主存儲器、靜態存儲器和動態存儲器。存儲器204包括但可以不限于是計算機可讀存儲介質和各種類型的易失性和非易失性存儲介質,諸如隨機存取存儲器(RAM)204a ;只讀存儲器(R0M)204b ;可編程只讀存儲器;電可編程只讀存儲器;電可擦除只讀存儲器;閃速存儲器;磁帶或盤;光學介質等等(共同由附圖標記204c所標識)。在一種配置中,存儲器204包括用于處理器202的高速緩存或隨機存取存儲器。可替換地,或者附加地,存儲器204可以是與處理器202分離和/或不同的系統存儲器。
[0023]存儲器204可以是用于存儲數據的外部存儲設備或數據庫。示例包括硬驅動器、壓縮盤(“⑶”)、數字視頻盤(“DVD”)、存儲卡、存儲棒、軟盤、通用串行總線(“USB”)存儲器設備、或可操作來存儲數據的任何其它設備。存儲器204被配置成存儲處理器202可利用的處理器可執行指令。在本文所公開的一個或多個實施例中,所描述的功能、動作或任務可以由運行存儲在存儲器204中的指令的處理器202執行。功能、動作或任務可以與特定類型的指令集、存儲介質、處理器或處理策略無關并且可以由單獨或組合操作的軟件、硬件、集成電路、固件、微代碼等等執行。同樣地,處理策略可以包括多處理、多任務、并行處理等
坐寸ο
[0024]控制器200還可以與本地HMI連接206通信。本地HMI連接206繼而被配置成連接到并耦合于諸如液晶顯示器(IXD)、有機發光二極管(0LED)、平板顯示器、固態顯示器、陰極射線管(CRT)、投影儀、打印機或其它現在已知或稍后開發的顯示設備之類的顯示器(未示出)以用于輸出所確定的信息。本地HMI連接206還可以耦合到諸如鍵盤、觸摸屏、觸摸板等等之類的輸入設備(未示出)并且與之通信。顯示器充當視覺接口以供用戶看見處理器202的運轉并且與包括存儲在存儲器204中的處理器可執行指令的軟件進行交互。輸入設備提供一種方式,用戶能夠通過所述方式而基于對包括存儲在存儲器204中的處理器可執行指令的軟件的命令而與處理器202交互并且對其運轉進行控制。
[0025]控制器200還可以與關聯于一個或更多的多個有線外圍總線106a到106η的有線外圍總線連接208a到208η通信。這些連接208a到208η可以對于有線外圍總線106a到106η中的每一個提供一對一連接。在另一個實施例中,每個連接208a到208η可以被復用以提供去往多個有線外圍總線106a到106η的連接。網絡連接210進一步耦合到控制器200并且與之通信以允許自動化設備118與管理級網絡102和/或自動化級網絡104交換信息和數據。[0026]圖3圖示了被配置成實現和利用本文所公開的動態配置工具和原理的控制器200的放大視圖。如先前所討論的,示例性控制器200包括處理器202和被布置成與處理器202通信的存儲器204。存儲器204存儲處理器可執行指令和包括庫300的軟件,所述庫300包含向一個或多個已存儲的用戶應用302a到302η提供服務的代碼、指令和數據。已存儲的用戶應用302a到302η包括或被配置成生成例如,被配置成允許控制器200與自動化設備118的控制和用戶交互的web服務器302a。在另一個實施例中,已存儲的用戶應用302b可以是采暖、通風和空氣調節(HVAC)過程,其控制可操作在建筑物內的物理設備元件和其它機械裝置的操作。
[0027]已存儲的應用還可以包括監督應用304,其被配置成傳送、控制、監視和裝配用戶應用302a到302η。例如,監督應用304可以被配置成協調由已存儲的用戶應用302a到302η中的每一個執行的活動和操作。由監督應用提供的協調可以包括但不限于差錯處理、信息和數據管理、運行時間命令執行和對于使控制器200的操作平滑必要的其它任務。在可替換的實施例和配置中,其它用戶應用302a到302η可以關于有線現場設備122和/或無線現場設備124而被存儲或利用。
[0028]在所圖示的實施例中,用戶應用302b包括與配置文件450通信的動態配置工具450 (參見圖4)。配置文件450標識、定義和組織一個或多個葉組件480 (單獨地標識為葉組件480a到480η),所述一個或多個葉組件480被存儲在定義在存儲器204內且被處理器202和動態配置工具450可訪問的庫300中。可替換地,葉組件480可以被存儲在控制器200外部在例如網絡102和104之一上的可訪問存儲位置中。動態配置工具450訪問和讀取包含在配置文件460內的信息、變量和設置信息并且取出或以其他方式訪問存儲在庫300中的一個或多個葉組件480。動態配置工具450還利用由配置文件460提供的設置信息來構造和裝配用戶應用302b。
[0029]存儲器204還包括一個或多個示例性系統應用306。一個或多個系統應用306包括提供和控制可操作在建筑物控制系統100內的自動化設備118的基線功能的一個或多個工具和算法。例如,系統應用306可以操作為事件記錄器、運行時間時鐘或定時器,或者提供對自動化設備118的操作共同的任何其它功能。
[0030]存儲器204還支持和存儲處理器可執行指令和定義操作系統內核或核308和抽象層與接口 310的軟件。抽象層與接口 310提供了應用302到306與操作系統內核或核308之間的結構化通信和訪問。操作系統內核或核308繼而建立應用302到306與在處理器202處完成的實際數據處理之間的橋。
[0031]類似地,在存儲器204中存儲和支持硬件接口和驅動器312集合。硬件抽象層314提供了硬件驅動器312與應用302到306之間的結構化通信和訪問。硬件驅動器312提供了諸如例如有線設備122a到122η、無線現場設備124a到124η等等之類的一個或多個外部硬件設備的交互和控制。
[0032]圖4圖示了如由配置文件460所定義和動態配置工具450所裝配的用戶應用302b的示例性配置。在該示例性實施例中,用戶應用302b表示HVAC過程。然而,在其他實施例中,用戶應用302b (以下稱作為用戶應用302)可以是在自動化設備的操作中利用的任何過程或應用。在該實施例中,用戶應用302包括網絡連接端口 410,其建立可以被訪問以直接與自動化設備118的其它元件和/或經由網絡連接210與管理級網絡102和自動化級網絡104交換信息和數據的虛擬/邏輯數據連接。類似地,用戶應用302包括用以經由本地HMI連接206交換信息的本地HMI端口 406。用于經由連接208a到208η與對應的有線外圍總線106a到106η通信的一個或多個有線外圍總線端口 408a到408η可以定義在用戶應用302的該配置中。
[0033]在操作中,配置文件460定義用戶應用302的結構和元件,其繼而被動態配置工具450用于裝配該應用。例如,動態配置工具450在初始化自動化設備118和控制器200的情況下激活并且讀取或者以其他方式處理包含在配置文件460內的信息。響應于自動化設備118和控制器200的加電和/或激活,配置文件460和動態配置工具450可以繼而被監督用戶應用304所提供的監督文件所標識。監督用戶應用304的運行可以涉及讀取諸如附錄A中示出的那個之類的示例性監督文件。示例性監督文件確定要被開啟的用戶應用是否是HVAC用戶應用302b (HVAC_APP)并且為用戶應用302分配唯一的標識(DEVICE_ID)。示例性監督文件還確定是否已經指定定制配置文件(即圖3和4中的配置文件460)或者是否應當利用默認配置。
[0034]一旦監督文件標識用戶應用302和配置文件460以供激活和運行,配置工具450就讀取包含在配置文件460內的設置和定義信息。配置文件460可以一般地是任何結構化的數據文件,諸如例如可擴展標記語言(XML)文件,其提供對定義用戶應用302必要的組件、元件或其間的交互的詳細描述。例如,配置文件460可以標識和定義提供用戶應用302所需的基本功能或功能性的存儲在庫300中的一個或多個特定葉組件480。配置文件460還可以定義和指定從單獨的葉組件480和其它工具或功能中構造或裝配的一個或多個組合組件490。
[0035]組合組件490構建在葉組件480的基本功能上以創建具有增加的復雜性和能力的元件和工具。動態配置工具450和配置文件460還與驗證每個組合組件490的指定設置和配置的組件注冊器470通信。一旦葉組件480被注冊器470注冊和驗證,其對于由動態配置工具450的使用準備就緒。
[0036]單獨的葉組件480可以使用諸如例如C++或其它已知或稍后開發的編程語言之類的任何本機編程語言來定義和生成。如先前所討論的,每個葉組件480可以被設計和編程為提供諸如以下各項之類的特定功能:提供或建立輸入-輸出(IO)通道;定義觀察或監視元件,建立消息生成元件或任何其它可編程元件以用于控制和監視用戶應用302。
[0037]返回到圖4,配置文件460描述了葉組件480以及可以在其它基本組件480和/或組合組件490之間建立的互連(輸入和輸出二者)。例如,所圖示的示例性葉組件480包括定義和建立在配置文件460的結構內的一對所提供的變量或值482和484以及一對所需變量或輸入486和488。所需變量或輸入486和488表示必須可供組件480使用以便初始化和/或操作的數據和/或信息。在該示例中,葉組件480的所需變量488被示出與所提供的變量492 (組合組件490的兩個所提供的變量492和494中的一個)通信。
[0038]配置文件460的一個示例布局了名為IOCommon的葉組件的元件并且將名為Debugmask的參數定義為具有零值。示例性配置文件聲明:
【權利要求】
1.一種動態配置用在自動化系統中的設備的方法,所述方法包括: 定義與所述設備的功能有關的配置文件,其中所述配置文件標識在與所述設備的通信中所存儲的一個或多個標準化組件; 將所述配置文件傳遞到所述設備,以使得所述配置文件由動態配置工具可訪問; 根據所述動態配置工具和配置文件來初始化所述設備,其中所述動態配置工具檢索由所述配置文件標識的一個或多個標準化組件; 基于由所述配置文件標識的所述一個或多個標準化組件而生成用于所述設備的可執行文件;以及 利用所生成的可執行文件來操作設備。
2.權利要求1的方法,其中初始化所述設備進一步包括訪問遠程于所述設備的存儲位置,其中遠程存儲位置被配置成存儲多個標準化組件。
3.權利要求1的方法,其中初始化所述設備進一步包括在不訪問駐留在建筑物自動化設備中的可執行文件的情況下初始化所述設備。
4.權利要求1的方法,其中所述配置文件是定義所述一個或多個標準化組件的一個或多個屬性的結構化數據文件。
5.權利要求4的方法,其中所述配置文件是可擴展標記語言文件。
6.權利要求1的方法,其中所述配置文件包括定義組合組件的第二配置文件。
7.權利要求6的方法,其中所述組合組件包括至少兩個標準化組件。
8.—種被配置成實現動態配置的用戶應用以操作用在建筑物自動化系統中的建筑物自動化設備的控制器,所述控制器包括: 處理器; 與所述處理器通信的存儲器,其中所述存儲器被配置成存儲處理器可執行指令,其被配置成: 在建筑物自動化設備處接收標識在與所述建筑物自動化設備的通信中所存儲的葉組件的配置文件; 發起動態配置工具,其中所述動態配置工具從可訪問的存儲位置檢索由所述配置文件標識的葉組件并且配置所述葉組件以用于根據在所述配置文件中所提供的定義的操作; 基于至少葉組件而生成用于由所述建筑物自動化設備的實現的可執行文件;以及 利用所生成的可執行文件來運行建筑物自動化設備。
9.權利要求8的控制器,其中所述可訪問的存儲位置是定義在所述控制器的存儲器內的庫。
10.權利要求8的控制器,其中所述配置文件定義包括兩個或更多葉組件的組合組件。
11.權利要求10的控制器,其中所述配置文件包括定義組合組件的第二配置文件。
12.權利要求8的控制器,其中所述配置文件是定義所述葉組件的一個或多個屬性的結構化數據文件。
13.權利要求8的控制器,其中所述可執行文件是被配置成控制所述建筑物自動化設備的固件文件。
14.權利要求13的控制器,其中所述可執行文件包括包含至少葉組件的至少一個用戶應用。
15.一種配置用在建筑物自動化系統中的建筑物自動化設備的方法,所述方法包括: 在建筑物自動化設備中存儲定義的配置文件,其中所述配置文件由動態配置器工具可訪問; 激活所述動態配置器工具,其中所述動態配置器工具檢索和配置由所述配置文件定義的至少一個標準化組件; 生成用于由所述建筑物自動化設備運行的用戶應用,其中所述用戶應用是基于所述至少一個標準化組件的;以及 利用所生成的用戶應用來操作建筑物自動化設備。
16.權利要求15的方法,進一步包括: 定義配置文件,其標識被配置成控制所述建筑物自動化設備的至少一個標準化組件。
17.權利要 求15的方法,其中所述至少一個標準化組件是存儲在所述動態配置工具可訪問的存儲器中的葉組件。
18.權利要求17的方法,其中所述至少一個標準化組件是包括或者兩個或者更多葉組件的組合組件。
19.權利要求18的方法,其中所述配置文件包括與所述組合組件有關的第二配置文件。
20.權利要求15的方法,其中存儲定義的配置文件包括定義配置所述一個或多個標準化組件的一個或多個屬性的結構化數據文件。
【文檔編號】H04L12/24GK103959709SQ201180075203
【公開日】2014年7月30日 申請日期:2011年9月30日 優先權日:2011年9月30日
【發明者】H.韋爾利 申請人:西門子公司