控制環(huán)境變化傳達(dá)的制作方法
【專利摘要】提供了一種自動控制系統(tǒng),該自動控制系統(tǒng)包括存儲自動控制系統(tǒng)的對象的狀態(tài)信息的第一部件。另外,第一部件生成對所存儲的狀態(tài)信息的一個或更多個變化進(jìn)行描述的一個或更多個增量腳本。此外,第一部件將一個或多個增量腳本發(fā)送到控制系統(tǒng)的一個或更多個其他部件,且一個或更多個其他部件基于一個或更多個變化應(yīng)用該一個或更多個增量腳本以更新存儲在一個或更多個其他部件上的狀態(tài)信息。
【專利說明】控制環(huán)境變化傳達(dá)
[0001]本申請是2011 年 11 月 11 日提交的題為 “Control EnvironmentChangeCommunication”的美國臨時專利申請N0.61/559,003和于2011年11月11日提交的題為“Automation Control System Change” 的美國臨時專利申請 N0.61/558,987 的非臨時申請,通過引用將其合并到本文中。
【技術(shù)領(lǐng)域】
[0002]本公開內(nèi)容的實施方式總體上涉及自動控制與監(jiān)視系統(tǒng)的領(lǐng)域。更具體地,本公開內(nèi)容的實施方式涉及自動控制系統(tǒng)的部件之間的狀態(tài)變化傳達(dá)。
【背景技術(shù)】
[0003]對于自動控制與監(jiān)視系統(tǒng)存在廣范圍的應(yīng)用,尤其在工業(yè)設(shè)置中。這樣的應(yīng)用可以包括廣范圍的致動器諸如閥、電動機(jī)等的供電以及經(jīng)由傳感器的數(shù)據(jù)收集。典型的自動控制與監(jiān)視系統(tǒng)可以包括一個或更多個部件,例如:編程終端、自動控制器、輸入/輸出(I/0)模塊和/或人機(jī)接口(HMI)終端。
[0004]人機(jī)接口或者“HMI”通常用于監(jiān)視或者控制各種處理。HMI可以從具體的寄存器讀取或者寫入具體的寄存器以使得它們可以反映各種機(jī)器、傳感器、處理等的操作狀態(tài)。接口還可以寫入寄存器以及存儲器以使得它們在一定程度上可以控制處理的功能。單獨在監(jiān)視功能中,執(zhí)行很少或不執(zhí)行實際的控制。在許多其他設(shè)置中,采用類似的設(shè)備,例如在汽車、飛機(jī)、商業(yè)設(shè)置以及許多其他應(yīng)用中。在許多應(yīng)用中,接口可以不與遠(yuǎn)程設(shè)備或者處理通信,而是可以以獨立的方式被操作。
[0005]在這些接口設(shè)備中,用在接口中的對象可以與工業(yè)自動化設(shè)備的不同的控制、監(jiān)視或者任何其他參數(shù)相關(guān)聯(lián)。這些對象中的一些對象可能在接口設(shè)備上具有視覺表示,而其他對象可能不能被視覺上表示然而可以易于通過用戶來配置和編程。用戶可能期望例如通過創(chuàng)建新的對象、復(fù)制對象、編輯對象等來操作這些對象以創(chuàng)建并且定制接口。
[0006]自動控制與監(jiān)視系統(tǒng)中的各部件可以利用控制與監(jiān)視系統(tǒng)的一個或更多個對象(例如,控制程序、標(biāo)簽、模塊配置以及HMI屏幕)的狀態(tài)信息。有時,部件可以被用于修改對象的狀態(tài)信息。因此,部件可能需要將狀態(tài)的變化傳達(dá)給控制與監(jiān)視系統(tǒng),以使得其他部件可以獲悉控制與監(jiān)視系統(tǒng)的對象的狀態(tài)變化。實際上有時候狀態(tài)的變化可以包括添加或者刪除控制與監(jiān)視系統(tǒng)內(nèi)的特定對象。例如,傳達(dá)控制與監(jiān)視系統(tǒng)對象的狀態(tài)的傳統(tǒng)方法包括了將對象的整個狀態(tài)提供給控制與監(jiān)視系統(tǒng)?,F(xiàn)在認(rèn)識到這樣的方法往往效率低,提供了比描述控制與監(jiān)視系統(tǒng)內(nèi)的對象的變化狀態(tài)所需更多的信息。提供對象的整個狀態(tài)可能導(dǎo)致傳達(dá)狀態(tài)數(shù)據(jù)中的帶寬低效率以及消耗和使用數(shù)據(jù)中的處理低效率。此外,現(xiàn)在認(rèn)識到這樣的提供全部狀態(tài)數(shù)據(jù)的方法有時可能增加因疏忽而對設(shè)置在控制與監(jiān)視系統(tǒng)中的其他狀態(tài)變化進(jìn)行了覆寫的可能性。
[0007]此外,傳統(tǒng)方法依靠集中控制與監(jiān)視。例如,傳統(tǒng)的控制與監(jiān)視系統(tǒng)依靠描述控制系統(tǒng)的集中式數(shù)據(jù)模型。對集中式數(shù)據(jù)模型的依賴可能導(dǎo)致處理低效率以及增加的對托管集中式數(shù)據(jù)模型的部件(例如,控制器)的依賴。
【發(fā)明內(nèi)容】
[0008]以下概述與最初要求保護(hù)的發(fā)明范圍相當(dāng)?shù)哪承嵤┓绞健_@些實施方式不意圖限制要求保護(hù)的發(fā)明的范圍,相反地這些實施方式僅意圖提供本發(fā)明的可能的形式的簡要摘要。實際上,本發(fā)明可以包含可以與以下陳述的實施方式類似或者不同的各種形式。
[0009]本實施方式提供在自動控制與監(jiān)視系統(tǒng)中的部件之間傳達(dá)對象的狀態(tài)變化的新穎的方法。由于狀態(tài)變化發(fā)生在控制與監(jiān)視系統(tǒng)內(nèi),所以只是改變的數(shù)據(jù)被傳達(dá)給控制與監(jiān)視系統(tǒng)內(nèi)的其他部件。例如,控制與監(jiān)視系統(tǒng)對象可以包括控制程序、標(biāo)簽、模塊控制以及用于HMI屏幕的圖形。當(dāng)這些對象的要素變化時,變化的要素可以被以數(shù)據(jù)驅(qū)動的方式提供給存儲對象的狀態(tài)信息的部件。通過僅提供變化的要素,而不是提供對象的全套的要素,可以顯著地減少傳遞到部件的數(shù)據(jù)量。此外,當(dāng)對象被刪除時,可以不需要對象的整個狀態(tài)。反而,可以僅提供刪除的對象的指示,由此在對象被刪除的情況下減少要傳遞的數(shù)據(jù)量。此外,以數(shù)據(jù)驅(qū)動的方式提供變化可能使得傳達(dá)是不可知的,或者不取決于具體的編程技術(shù)。
[0010]此外,本發(fā)明提供使用遍及控制與監(jiān)視系統(tǒng)分布的執(zhí)行引擎來施加傳達(dá)的變化和/或分布的命令以基于變化來異步執(zhí)行命令的新穎的方法。例如,控制與監(jiān)視系統(tǒng)的部件中的一個或更多個部件(例如,智能I/o設(shè)備、編程終端、PLC以及HMI等)可以各自包括嵌入式執(zhí)行引擎。執(zhí)行引擎可以被存儲在部件的有形的、非暫時的、計算機(jī)可讀取的介質(zhì)上。當(dāng)被觸發(fā)時(例如,通過接收改變的狀態(tài)信息),在控制與監(jiān)視系統(tǒng)的各種部件上的嵌入式執(zhí)行引擎可以基于觸發(fā)器或者安排的執(zhí)行時間來異步地響應(yīng)。例如,分布的命令可以是用戶和/或系統(tǒng)定義的以一種或更多種方式對狀態(tài)變化起反應(yīng)的命令腳本。通過借助于嵌入在控制與監(jiān)視系統(tǒng)的部件上的執(zhí)行引擎使能夠執(zhí)行控制邏輯,可以產(chǎn)生更有效的處理。例如,這樣的執(zhí)行方案可以通過將邏輯分布遍及控制與監(jiān)視系統(tǒng)來更好地利用多個中央處理單元(CPU)核。
【專利附圖】
【附圖說明】
[0011]當(dāng)參照附圖閱讀以下詳細(xì)說明時本實施方式的這些以及其他特征、方面和優(yōu)勢將變得更好理解,在全部附圖中同樣的標(biāo)記代表同樣的部分,在附圖中:
[0012]圖1是根據(jù)本發(fā)明的某些方面的自動控制與監(jiān)視系統(tǒng)的部分的框架的總體概觀圖;
[0013]圖2是根據(jù)本發(fā)明的實施方式的自動控制與監(jiān)視系統(tǒng)的圖解概觀圖;
[0014]圖3是根據(jù)本發(fā)明的實施方式的接口和編程終端中的某些功能部件的概觀圖;
[0015]圖4是根據(jù)本發(fā)明的實施方式的設(shè)備要素的某些視圖或者容器的概觀圖;
[0016]圖5是圖1的控制與監(jiān)視系統(tǒng)的圖,示出了根據(jù)實施方式的用于傳達(dá)狀態(tài)變化的持久化對象模型的使用;
[0017]圖6示出了根據(jù)實施方式的變化的儀器、變化的仲裁器以及受眾成員之間的狀態(tài)變化傳達(dá)的進(jìn)程;
[0018]圖7示出了根據(jù)實施方式的狀態(tài)變化被撤銷的處理;[0019]圖8示出了根據(jù)實施方式的在未定編輯期間做出外部變化的處理;
[0020]圖9示出了根據(jù)實施方式的用于中止未定變化的處理;
[0021]圖10示出了根據(jù)實施方式的用于把未定變化壓縮成一組變化的處理;
[0022]圖11示出了根據(jù)實施方式的使用分布式執(zhí)行引擎來執(zhí)行控制命令的自動控制與監(jiān)視系統(tǒng);
[0023]圖12示出了根據(jù)實施方式的通過執(zhí)行引擎執(zhí)行的處理循環(huán);以及
[0024]圖13示出了根據(jù)實施方式的用于調(diào)度命令的處理。
【具體實施方式】
[0025]通常,當(dāng)狀態(tài)變化被傳達(dá)時,控制與監(jiān)視系統(tǒng)嚴(yán)重地依賴自動控制器,例如可編程邏輯控制器(PLC)以及自動控制器編程(例如,PLC編程)來影響控制與監(jiān)視系統(tǒng)。自動控制器編程嚴(yán)重地依賴于任務(wù)和/或邏輯的基于事件和/或基于進(jìn)度表的執(zhí)行(例如,用編程語言寫的機(jī)器可讀的指令,例如繼電器梯形邏輯)來影響控制與監(jiān)視系統(tǒng)的變化。自動控制器經(jīng)常被用于消耗所有的輸入數(shù)據(jù)、計算并且分布輸出數(shù)據(jù)、處理數(shù)據(jù)的變化以及將數(shù)據(jù)分布到控制與監(jiān)視系統(tǒng)的部件。不幸地,這樣的對由控制與監(jiān)視系統(tǒng)的部件(例如,自動控制器和自動控制器編程)影響和托管的集中式數(shù)據(jù)模型的嚴(yán)重依賴提供了一些低效率。例如,隨著用于集中式模型的預(yù)定的和基于事件的任務(wù)的數(shù)目增加,由于可能導(dǎo)致單個模型的許多附加的變化所以可能出現(xiàn)退化的性能。此外,集中式模型的大量使用(例如,經(jīng)由自動控制器)產(chǎn)生了處理控制邏輯的更加集中的方法,導(dǎo)致控制邏輯的低效率的執(zhí)行、單節(jié)點故障(例如,當(dāng)自動控制器發(fā)生故障時,整個控制與監(jiān)視系統(tǒng)可能發(fā)生故障),并且可能造成對自動控制器的處理壓力(processing strain)。
[0026]根據(jù)本實施方式,通過利用分布式數(shù)據(jù)模型、分布式狀態(tài)變化傳達(dá)以及分布式命令執(zhí)行,控制與監(jiān)視系統(tǒng)可以變得更加靈活。例如,通過在整個控制與監(jiān)視系統(tǒng)提供增加的協(xié)作能力、增加的數(shù)據(jù)冗余以及處理負(fù)載平衡,本實施方式展示了更加魯棒及靈活的自動控制與監(jiān)視環(huán)境。
[0027]魯棒控制與監(jiān)視系統(tǒng)
[0028]將通過以下討論來描述許多方面、部件以及處理。通過引言,總體系統(tǒng)綜述目的在于將這些創(chuàng)新置于文中。圖1是根據(jù)本公開內(nèi)容的實施方式的用于接口的控制與監(jiān)視軟件框架10的圖解表示。框架10有利于通過利用基于模塊的互連機(jī)構(gòu)12來構(gòu)建功能軟件,該互連機(jī)構(gòu)12內(nèi)在地支持動態(tài)操作和配置。該動態(tài)操作和配置能力利于有效地為可配置的接口提供特征豐富的配置環(huán)境。也就是說,如下所述,單個設(shè)備要素被設(shè)置成可以被單獨地編程的獨立操作的代碼,在庫中時預(yù)寫以便使用,在其功能以及在屏幕中的外觀方面被自定義,并且互相連接以提供信息給用戶以及控制與監(jiān)視功能。
[0029]框架10包括可以屬于單個系統(tǒng)(例如,計算機(jī))的兩個相關(guān)的軟件環(huán)境。具體地,運行時環(huán)境14使操作者(例如,個人用戶)能夠與應(yīng)用交互,例如在運行期間(例如,在使用接口期間,通常在與操作中的處理交互期間或者在觀察操作中的處理期間)的處理。設(shè)計時環(huán)境16允許設(shè)計者配置接口及其部件。例如,系統(tǒng)可以以圖形的方式經(jīng)由運行時環(huán)境14在顯示器(例如,計算機(jī)或者接口設(shè)備屏幕)上將運行信息呈現(xiàn)給操作者。此外,系統(tǒng)可以包括用于接受可以經(jīng)由運行時環(huán)境14來檢測和管理的操作者輸入的裝置(例如,小鍵盤)。環(huán)境如以下詳細(xì)描述的那樣相互作用,以創(chuàng)新的方式來提供非常增強的接口的使用以及編程。
[0030]運行時環(huán)境14包括或提供對設(shè)備要素18的訪問。設(shè)備要素18為軟件部件,可以包括任何在軟件環(huán)境中可訪問或者可配置的要素。例如,設(shè)備要素18包括通過運行時環(huán)境14來管理的軟件部件,例如“ActiveX”控制或者NET”部件?!癆ctiveX”和NET”指的是面向?qū)ο蟮母拍?、技術(shù)和工具。通常本領(lǐng)域的技術(shù)人員將非常熟悉這樣的編程方法。在本文中,這樣的標(biāo)準(zhǔn)應(yīng)該僅被當(dāng)作是示例,并且“設(shè)備要素”應(yīng)該被理解為包括可以作為擬獨立的要素運行的任何大體上類似的部件或者自足的(self-sufficient)程序,有時稱之為“對象”。針對這樣的要素存在其他標(biāo)準(zhǔn)和平臺,通常被不同的公司或者工業(yè)群體所擁護(hù)。[0031 ] 因為這樣的設(shè)備要素對本文中陳述的概念中的某些概念來說是基本的,所以準(zhǔn)備了一些介紹。設(shè)備要素通常包括四個特征:性質(zhì)、方法、連接(或者連接點)以及通信接口。在本文中,性質(zhì)是可以被調(diào)整的屬性,例如用于定義要素在屏幕視圖中的表示或者圖像,以及要素在屏幕上的位置等。在本文中,方法是可執(zhí)行的函數(shù)(有時本文中稱作要素“功能性”或者“狀態(tài)引擎”),并且定義通過執(zhí)行要素所進(jìn)行的操作。在本文中,連接是要素之間的鏈接,并且可以被用于使數(shù)據(jù)(從存儲器讀取或者寫入存儲器)被發(fā)送到另一個要素。
[0032]設(shè)備要素18的具體示例可以包括軟件按鈕、計時器、計量表、PLC通信服務(wù)器、可視化(例如示出在自動控制與監(jiān)視系統(tǒng)內(nèi)的部件的狀態(tài)的屏幕)以及應(yīng)用。通常,實質(zhì)上任何可識別的功能都可以被配置為這樣的要素。此外,如以下所討論的那樣,這樣的要素可以互相通信以進(jìn)行各種各樣的顯示、監(jiān)視操作和控制功能。應(yīng)注意,設(shè)備要素18不需要用于支持設(shè)計模式的特殊限制。而且,雖然與圖像關(guān)聯(lián)的要素非常有用,尤其是用于可視化,但是許多要素可以不具有視覺表示,而是可以執(zhí)行HMI內(nèi)的功能,例如計算,或者甚至管理以及在其他要素之間的數(shù)據(jù)交換。
[0033]運行時環(huán)境14通常使用通信子系統(tǒng)20來進(jìn)行操作。通信子系統(tǒng)20適于與設(shè)備要素18互相連接。實際上,通信子系統(tǒng)20可以被視為包括設(shè)備要素18的連接。然而,通信子系統(tǒng)20可以包括發(fā)送數(shù)據(jù)到外部電路以及從外部電路接收數(shù)據(jù)的一系列軟件、硬件以及固件,例如自動控制器、其他計算機(jī)、網(wǎng)絡(luò)、衛(wèi)星、傳感器、致動器等。
[0034]運行時環(huán)境14通常使用行為子系統(tǒng)22來進(jìn)行操作,該行為子系統(tǒng)22適于管理設(shè)備要素18的行為。例如,行為子系統(tǒng)22的職責(zé)可以包括如下:放置和移動設(shè)備要素、修改設(shè)備要素、在可交換屏幕上集合設(shè)備要素、保存并且恢復(fù)屏幕布局、管理安全性、保存并且恢復(fù)連接列表,以及提供遠(yuǎn)程訪問給運行時環(huán)境14。實際上,在此再次地該行為可以被定義為每個設(shè)備要素的輪廓(profile)(即,“方法”或者“狀態(tài)引擎”)的一部分。
[0035]設(shè)計時環(huán)境16包括行為子系統(tǒng)22的高等的實現(xiàn),該行為子系統(tǒng)22的高等的實現(xiàn)利于在不妨礙或者損害運行時環(huán)境16的行為的情況下直接或者間接地操作運行時環(huán)境
14。也就是說,即使在接口工作的情況下也可以設(shè)計和重新配置設(shè)備要素18。在某些實施例中,行為子系統(tǒng)22可以經(jīng)由設(shè)計時環(huán)境16的遠(yuǎn)程供應(yīng)來擴(kuò)展對運行時環(huán)境14的訪問,例如在常規(guī)的瀏覽器中。行為子系統(tǒng)22允許設(shè)計者經(jīng)由遠(yuǎn)程編程終端通過將設(shè)計時環(huán)境16或者設(shè)計時環(huán)境16的方面從HMI提供到編程終端來與HMI的運行時環(huán)境14的方面交互以及改變HMI的運行時環(huán)境14的方面。例如,經(jīng)由網(wǎng)絡(luò)耦接到膝上型電腦的HMI可以通過經(jīng)由網(wǎng)絡(luò)將具體的設(shè)計時環(huán)境16提供給膝上型電腦來給用戶提供配置權(quán)能。
[0036]以下提供如何完成該操作的細(xì)節(jié)和示例。在當(dāng)前實施方式中,設(shè)計時環(huán)境16可以是結(jié)合動態(tài)超文本標(biāo)記語言(DHTML)和動態(tài)服務(wù)器頁面(ASP)服務(wù)器腳本來將動態(tài)內(nèi)容提供給瀏覽器的產(chǎn)物。ASP腳本是專門編寫的代碼,包括在頁面被發(fā)送到用戶之前在服務(wù)器(例如,網(wǎng)絡(luò)服務(wù)器)上處理的一個或更多個腳本(即,小的嵌入式程序)。通常,在常規(guī)應(yīng)用中,這樣的腳本提示服務(wù)器從數(shù)據(jù)庫訪問數(shù)據(jù)以及在數(shù)據(jù)庫中做出改變。接下來,在將頁面發(fā)送給請求者之前腳本通常建立或者自定義頁面。如以下所討論的那樣,這樣的腳本非常不同地用在本框架中,例如在沒有設(shè)備要素的功能性或其相互關(guān)系的先前知識的情況下來建立可視化。
[0037]通過促進(jìn)設(shè)備要素的變化,設(shè)計時環(huán)境16允許設(shè)計者進(jìn)行行為子系統(tǒng)22的專門實現(xiàn)或作出可交換的設(shè)計時模型。行為子系統(tǒng)22的設(shè)計時實現(xiàn)的具體示例包括基于網(wǎng)絡(luò)的設(shè)計時環(huán)境16,該基于網(wǎng)絡(luò)的設(shè)計時環(huán)境16經(jīng)由HMI與遠(yuǎn)程設(shè)備之間的TCP/IP連接來擴(kuò)展對HMI上的運行時環(huán)境14的訪問?;诰W(wǎng)絡(luò)的設(shè)計時環(huán)境16有助于在不危害運行時性能或者安全的情況下管理設(shè)備要素。在一個專門的實現(xiàn)中,行為子系統(tǒng)22給予設(shè)計者能力以使用能夠訪問相關(guān)接口或者HMI的網(wǎng)絡(luò)瀏覽器來操作運行時環(huán)境14的方面。如上所述,以及如以下詳細(xì)描述的那樣,這通過使用動態(tài)內(nèi)容、腳本以及設(shè)備要素性質(zhì)的配置的組合來實現(xiàn)。
[0038]圖2是根據(jù)本公開內(nèi)容的實施方式的實現(xiàn)上述框架的例如用于工業(yè)自動化的控制與監(jiān)視系統(tǒng)24的圖解表示。系統(tǒng)24包括HMI 26,該HMI26適于與網(wǎng)絡(luò)部件及配置裝備連接。系統(tǒng)24示出為包括適于通過控制/監(jiān)視設(shè)備30(例如,遠(yuǎn)程計算機(jī)、自動控制器,例如可編程邏輯控制器(PLC),或者其他控制器)來與處理28的部件合作的HMI 26。HMI 26可以物理地類似現(xiàn)有的硬件,例如面板、監(jiān)視器或者單機(jī)設(shè)備。
[0039]可以通過使用任何適當(dāng)?shù)木W(wǎng)絡(luò)策略來促進(jìn)HMI 26與處理28的部件之間的合作。實際上,可以采用產(chǎn)業(yè)標(biāo)準(zhǔn)網(wǎng)絡(luò),例如DeviceNet,以使能夠進(jìn)行數(shù)據(jù)轉(zhuǎn)移。這樣的網(wǎng)絡(luò)允許根據(jù)預(yù)定義的協(xié)議來進(jìn)行數(shù)據(jù)交換,并且可以提供用于操作網(wǎng)絡(luò)要素的能力。如上所述,雖然在當(dāng)前討論中參考了網(wǎng)絡(luò)系統(tǒng)以及包括控制器和其他裝備的系統(tǒng),所描述的HMI 26和編程技術(shù)可以同樣適用于非網(wǎng)絡(luò)部件(例如,GPS顯示器、游戲顯示器、手機(jī)顯示器、平板顯示器等)以及適用于在工業(yè)自動化領(lǐng)域之外的網(wǎng)絡(luò)系統(tǒng)。例如,設(shè)施管理中可以使用以下描述的布置和處理:汽車和車輛的接口、計算機(jī)數(shù)控(CNC)機(jī)器、銷售點(POS)系統(tǒng)、用于商業(yè)市場(例如,電梯、入門系統(tǒng))的控制接口等,以上僅列舉一些。
[0040]由相應(yīng)的行為子系統(tǒng)管理和構(gòu)造的運行或者操作環(huán)境14被存儲并且駐留在HMI26上。例如,這樣的行為子系統(tǒng)可以適于例如在HMI 26的初始制造或者設(shè)置期間從存儲位置加載應(yīng)用程序配置框架(例如,10)。當(dāng)被加載時,存儲的應(yīng)用程序框架可以適于創(chuàng)建屏幕以及在屏幕中定位用戶接口設(shè)備要素(與要素對應(yīng)的實際的圖像或者圖片表示)。這些應(yīng)用程序、屏幕以及用戶接口要素每個都是設(shè)備要素的類型。如以下所描述的那樣,HMI 26包括指定布局和設(shè)備要素的交互的所存儲的應(yīng)用程序?;谶\行時引擎的基于網(wǎng)絡(luò)的設(shè)計時環(huán)境16也被加載且駐留在HMI 26上。設(shè)計時環(huán)境16可以適于為設(shè)計時環(huán)境和運行時環(huán)境兩者來處理高等的特征(例如,安全管理)。
[0041]HMI 26可以適于允許用戶與幾乎任何處理交互。例如,處理可以包括:壓縮機(jī)站、煉油廠、用于制造食物項目(food items)的成批操作、機(jī)械化的裝配線等。因此,處理28可以包括各種操作部件,例如電動機(jī)、閥、致動器、傳感器,或者無數(shù)的制造、加工、原料處理及其他應(yīng)用。此外,處理28可以包括用于通過自動化和/或觀察來調(diào)節(jié)處理變量的控制與監(jiān)視裝備。示出的處理28包括傳感器34和致動器36。傳感器34可以包括適于提供關(guān)于處理條件的信息的任何數(shù)目的設(shè)備。致動器36可以類似地包括適于響應(yīng)于輸入信號來進(jìn)行機(jī)械動作的任何數(shù)目的設(shè)備。
[0042]如所示出的那樣,這些傳感器34和致動器36與控制/監(jiān)視設(shè)備30(例如,自動控制器)通信并且可以被分配以可由HMI 26訪問的控制/監(jiān)視設(shè)備30中的特定地址。傳感器34和致動器36可以與HMI 26直接進(jìn)行通信。這些設(shè)備可以被用于操作處理裝備。實際上,他們可以用在處理循環(huán)中,該處理循環(huán)由控制/監(jiān)視設(shè)備30和/或HMI 26所控制與監(jiān)視??梢曰谶^程輸入(例如,從傳感器34的輸入)或者直接輸入(例如,通過HMI 26接收的操作者輸入)來激活這樣的處理循環(huán)。
[0043]接口上的服務(wù)器軟件允許查看開發(fā)環(huán)境,并且直接重新配置接口(尤其是設(shè)備要素及其關(guān)聯(lián)的外觀和功能),而不需要專門查看或者配置軟件。該益處來自于下述事實,該事實為設(shè)備要素和設(shè)計時環(huán)境自身駐留在HMI 26中,并且通過HMI 26 “提供”給編程終端46上的瀏覽器或者其他通用的查看器。換句話說,可以降低或者消除對外部計算機(jī)工作站(例如,膝上型電腦和臺式電腦)的必要的支持。應(yīng)指出,對用于查看和修改接口的配置的“瀏覽器”的提及不限于網(wǎng)絡(luò)瀏覽器或者任何具體的瀏覽器。對瀏覽器的提及意圖是示例性的。一般說來,術(shù)語“瀏覽器”被用在本文中來指代包括任何通用的查看器的軟件。
[0044]通過如以下所描述的那樣對設(shè)備要素編程,HMI 26可以被認(rèn)為包括用于呈現(xiàn)一個或更多個屏幕視圖或者可視化的指令,和在通過參考屏幕視圖(例如,按下按鈕、觸摸屏幕的位置等)來與HMI 26進(jìn)行交互時執(zhí)行的設(shè)備要素。可以通過任何期望的軟件或者軟件包來定義屏幕視圖和設(shè)備要素。例如,屏幕視圖和設(shè)備要素可以被操作系統(tǒng)38調(diào)用或執(zhí)行。如上所述,根據(jù)本實施方式的設(shè)備要素可以是符合NET”或者“ActiveX”標(biāo)準(zhǔn)的對象。操作系統(tǒng)本身可以基于任何適當(dāng)?shù)钠脚_,例如Window CE、OS-X等。如本文中所引用的,設(shè)備要素和工具支持用于在網(wǎng)絡(luò)(例如,因特網(wǎng))上發(fā)送數(shù)據(jù)的網(wǎng)絡(luò)服務(wù)或者技術(shù)。因此如以下所描述的那樣,這些設(shè)備要素遵循關(guān)于信息共享的一套規(guī)則并且被改適以與各種腳本和編程語言一起使用。這樣的設(shè)備要素使能夠?qū)⒔换?nèi)容供應(yīng)給外部應(yīng)用程序,例如LAN、WAN、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)乃至萬維網(wǎng)。因此,操作系統(tǒng)38和各種設(shè)備要素利于借助于瀏覽器48通過允許對到瀏覽器48的配置訪問(access)(例如,對其提供)來動態(tài)地配置HMI 26。
[0045]例如,這樣的配置入口包括用于例示設(shè)備要素的入口。換句話說,實際上可以從瀏覽器48來創(chuàng)建并且執(zhí)行新設(shè)備要素。此外,應(yīng)指出,瀏覽器48不需要實際的功能入口。實際上,在一個實施方式中,經(jīng)由瀏覽器48的請求導(dǎo)致基于數(shù)據(jù)功能性和容器中設(shè)備要素的內(nèi)容的操作的“繪制(draw)”序列,由此在實際上沒有提供功能方面的情況下允許設(shè)備要素表示的示出和對其配置的訪問。這允許在不需要對遠(yuǎn)程工作站的技術(shù)支持的情況下經(jīng)由遠(yuǎn)程工作站進(jìn)行配置。
[0046]除了如上所述(并且如以下更詳細(xì)地描述的那樣)的操作系統(tǒng)38和設(shè)備要素之外,HMI 26包括應(yīng)用或者應(yīng)用層40。可以自身包括設(shè)備要素的應(yīng)用利于訪問并且從HMI 26的各種設(shè)備要素獲取信息。具體地,應(yīng)用40表示可以是可針對執(zhí)行被枚舉的多級設(shè)備要素中的第一級。在實際實現(xiàn)中應(yīng)用40可以包括以XML頁面形式的用戶應(yīng)用。然后用戶應(yīng)用與用戶或者操作者、以及與設(shè)計者交互,如以下更詳細(xì)地描述的那樣。[0047]屏幕視圖和設(shè)備要素可以被描述為獨立的可執(zhí)行的軟件。在本實現(xiàn)中,通過用標(biāo)記語言(例如,超文本標(biāo)記語言或者HTML)編寫的適當(dāng)?shù)拇a來定義屏幕視圖。因此,可以在不使用轉(zhuǎn)換程序的情況下進(jìn)行HMI26的圖形接口屏幕的配置。此外,通過對設(shè)備要素進(jìn)行編程,可以經(jīng)由下述駐留的服務(wù)器軟件(稱為服務(wù)器42)來直接地在HMI 26上開發(fā)屏幕視圖,該駐留的服務(wù)器軟件使駐留的開發(fā)環(huán)境可用于遠(yuǎn)程訪問。具體地,在一個實施方式中,某些設(shè)備要素的表示(例如,ActiveX控制)被提供給瀏覽器48而沒有提供軟件部件自身。因為可以經(jīng)由瀏覽器48來訪問開發(fā)或者設(shè)計時環(huán)境,因此可以消除將變化下載到屏幕以及更新遠(yuǎn)程配置軟件應(yīng)用的需要。
[0048]如上所述,設(shè)備要素可以包括功能性,通過該功能性他們從通常在其他設(shè)備中(但是也可以在HMI內(nèi))的具體存儲器或者存儲寄存器讀取或者寫入。例如,具體的功能可以對應(yīng)于寫入控制/監(jiān)視設(shè)備30的寄存器32或者從控制/監(jiān)視設(shè)備30的寄存器32讀取。在簡單的情況下,例如,對象訪問一段數(shù)據(jù)(例如,如由傳感器確定的部件的狀態(tài)),并且生成輸出信號用于編寫對應(yīng)于不同的網(wǎng)絡(luò)設(shè)備的狀態(tài)的值。如以下將更加詳細(xì)地討論的那樣,這樣的狀態(tài)信息可以經(jīng)由狀態(tài)增量(delta,Δ )43來傳達(dá)。例如,在圖2中描述的實施方式中,控制/監(jiān)視設(shè)備30和HMI 26可以使用狀態(tài)增量43來傳達(dá)狀態(tài)信息。此外,編程終端46也可以使用狀態(tài)增量43來與控制/監(jiān)視設(shè)備30和HMI 26進(jìn)行狀態(tài)信息的傳達(dá)。
[0049]當(dāng)然可以配置更加復(fù)雜的功能。例如,在工業(yè)控制與監(jiān)視環(huán)境中,這樣的設(shè)備要素可以對一系列物理部件的操作進(jìn)行仿真,例如瞬時接觸按鈕、具有延遲輸出的按鈕、開關(guān)等。許多預(yù)編程的設(shè)備要素可以供HMI 26使用。這樣的功能模塊可以是可經(jīng)由網(wǎng)絡(luò)訪問的,或者可以駐留在HMI 26上,或者駐留在直接鏈接到HMI 26的單獨的設(shè)備上。用這種方法,HMI供應(yīng)者或者軟件供應(yīng)者可以提供許多可能的構(gòu)建塊,根據(jù)上述構(gòu)建塊可以對屏幕以及復(fù)雜的控制與監(jiān)視功能進(jìn)行編程。實際上,可利用的設(shè)備要素的庫44可以駐留在HMI 26上以利于配置HMI 26,如以下描述的那樣。屏幕指令可以基于操作者輸入來調(diào)用用于執(zhí)行期望的功能的設(shè)備要素,并且這些指令可以被編程為預(yù)編程要素的版本。例如,操作者可以通過觸摸觸摸屏上的位置或者壓下鍵盤上的鍵來提供初始輸入。然后基于屏幕指令和與指令關(guān)聯(lián)的設(shè)備要素(例如,具有具體的位置觸發(fā)調(diào)用或者執(zhí)行預(yù)配置的設(shè)備要素)可以執(zhí)行期望的功能。因此,操作者能夠與處理進(jìn)行交互,通常用以改變屏幕視圖、寫入寄存器或者命令生成其他輸出或者控制信號。在單機(jī)實現(xiàn)中,交互可以是簡單的再調(diào)用或者存儲數(shù)據(jù)、改變屏眷等。
[0050]在一些HMI具有許多這樣的屏幕和大量的設(shè)備要素的情況下,可以采用一個或更多個單獨的接口屏幕。每個設(shè)備要素進(jìn)而可以被唯一地編程以考慮具體的輸入,執(zhí)行具體的功能以及生成用于具體輸出的信號。如以下所描述的那樣,多個這樣的設(shè)備要素可以被加載并且被托管在單個軟件“容器”(例如,ActiveX容器)中。
[0051]可以通過直接地與HMI 26本身(如果存在一個)上的屏幕或者面板進(jìn)行交互來配置HMI 26,但是在許多情況下將從遠(yuǎn)程編程終端46來執(zhí)行配置。例如,經(jīng)由瀏覽器48或者類似的應(yīng)用來直接地提供對駐留庫44和/或操作系統(tǒng)30及應(yīng)用40的訪問。在本實現(xiàn)中,在編程終端46處不需要其他專門的軟件。實際上,駐留在HMI 26上的服務(wù)器42可以提供對庫44中的設(shè)備要素的訪問。通過直接地在HMI 26上存儲庫44中的設(shè)備要素,消除或者降低了版本沖突等的風(fēng)險。另外,HMI 26可以直接地連接到編程終端46,或者通過參考分配給HMI 26的IP地址(互聯(lián)網(wǎng)協(xié)議地址)被訪問。
[0052]訪問控制方案可用于限制改變屏幕和設(shè)備要素的能力。例如,可能需要密碼或者用戶訪問狀態(tài)來獲得該訪問。此外,在目前構(gòu)思的實施方式中,編程終端自動地識別HMI 26或者下述終端,在該終端上HMI 26作為耦接到編程終端46 (例如,類似于外部存儲器或者驅(qū)動)的設(shè)備駐留。因此,一旦連接到編程終端,HMI 26可以簡單地被“識別”為可以被訪問的設(shè)備(提供下述的配置屏幕和工具)。
[0053]一旦駐留在HMI 26上的設(shè)備要素是編程終端46可訪問的,那么可以經(jīng)由來自編程終端46的通信鏈路直接地在HMI 26上修改或者更新HMI 26的方面。例如,用戶可能希望更新具體的HMI圖形以提供數(shù)據(jù),例如歷史數(shù)據(jù)或者與從重新安裝的傳感器34接收的信息相關(guān)的趨勢。因此,用戶可能發(fā)現(xiàn)在以離線模式(例如,不立即執(zhí)行變化)的情況下更新用于表示這樣的數(shù)據(jù)的HMI圖形是期望的或者便利的。在這種情況下,用戶可以經(jīng)由編程終端46鏈接到可利用的設(shè)備要素的庫44并且使用其來在開發(fā)環(huán)境中修改HMI圖形或者功倉泛。
[0054]應(yīng)指出,附加的設(shè)備要素可以被增加到庫44。例如,如果趨勢設(shè)備要素沒有駐留在HMI 26上,用戶可以從駐留在編程終端46上的配置庫50將這樣的元素下載到HMI 26。或者,用戶可以從可經(jīng)由網(wǎng)絡(luò)(例如,因特網(wǎng))訪問的資源庫52直接地到HMI 26或者通過編程終端46來訪問趨勢設(shè)備要素。這可以特別有益,這是因為新的且改進(jìn)的設(shè)備要素可以單獨地并且在定期的基礎(chǔ)上被下載到HMI 26,由此在不需要定期釋放新的轉(zhuǎn)換程序或HMI操作系統(tǒng),或者運行時或設(shè)計時環(huán)境軟件的情況下增加新的功能。開發(fā)環(huán)境可以提供到這樣的庫的鏈接。此外,在使用嵌入代碼的實施方式中(例如,操作系統(tǒng)、服務(wù)器軟件、設(shè)備對象等),由于嵌入代碼駐留在HMI 26上,所以可以避免與嵌入代碼的版本沖突并且可以消除編程終端軟件升級的必要性。
[0055]為了追蹤控制與監(jiān)視系統(tǒng)24的一個或更多個部件的狀態(tài)信息,控制與監(jiān)視系統(tǒng)24的部件可以使用代表控制與監(jiān)視系統(tǒng)24的各個方面的分布式數(shù)據(jù)模型。例如,分布式數(shù)據(jù)模型可以使代表控制與監(jiān)視系統(tǒng)24的數(shù)據(jù)模型的多重高速緩存的副本能夠存在于控制與監(jiān)視系統(tǒng)24內(nèi)(例如,在控制與監(jiān)視系統(tǒng)24的部件中的一個或更多個部件處)。如以下將更詳細(xì)地描述的那樣,分布式數(shù)據(jù)模型可以結(jié)合增量(delta)腳本和分布式命令處理來工作。增量腳本可以使控制與監(jiān)視系統(tǒng)24的一個或更多個部件能夠確定數(shù)據(jù)模型的狀態(tài)變化,生成只包含數(shù)據(jù)模型的變化和/或整個數(shù)據(jù)模型的增量腳本并且將增量腳本提供給控制與監(jiān)視系統(tǒng)24的其他部件。其他部件可以消耗增量腳本并且將包含在增量腳本內(nèi)的數(shù)據(jù)施加到數(shù)據(jù)模型的本地高速緩存的副本(例如,包含在控制與監(jiān)視系統(tǒng)24的部件之一處的分布式副本)。此外,如以下將更詳細(xì)地討論的那樣,控制與監(jiān)視系統(tǒng)24的某些部件可以利用使能夠進(jìn)行分布式命令處理的分布式執(zhí)行引擎。這樣的分布式命令處理使控制與監(jiān)視系統(tǒng)24的分布式部件能夠基于提供給分布式部件的事件或者進(jìn)度表來處理命令執(zhí)行。
[0056]通過使用分布式的數(shù)據(jù)模型、分布式增量傳達(dá)(例如,經(jīng)由增量腳本)以及分布式命令執(zhí)行,作為結(jié)果的控制與監(jiān)視系統(tǒng)24可以更加魯棒且靈活。例如,不是依賴于集中式控制/監(jiān)視設(shè)備30處的集中式數(shù)據(jù)模型,可以使用數(shù)據(jù)模型的分布式副本以影響在控制與監(jiān)視系統(tǒng)24內(nèi)的變化。例如,不是依賴于在控制/監(jiān)視設(shè)備30處的集中式數(shù)據(jù)模型來影響HMI 26的變化,HMI 26可以包括分布式數(shù)據(jù)模式的副本,其依賴于該副本來影響HMI 26之內(nèi)的變化。此外,HMI 26可以接收下述狀態(tài)增量43 (例如,經(jīng)由增量腳本),該狀態(tài)增量43由HMI 26所消耗并且通過HMI 26施加到HMI的數(shù)據(jù)模型的本地副本。此外,如將在以下更詳細(xì)地描述的那樣,HMI 26可以包括下述本地執(zhí)行引擎(例如,分布在HMI 26的執(zhí)行引擎),該本地執(zhí)行引擎用于在HMI 26處執(zhí)行提供至HMI 26的命令。
[0057]此外,這種功能使同步的數(shù)據(jù)存儲能夠跨控制與監(jiān)視系統(tǒng)24而存在。這些同步的數(shù)據(jù)存儲可以通過使多個用戶能夠?qū)⒁c其他的數(shù)據(jù)存儲中的每一個數(shù)據(jù)存儲同步的單個數(shù)據(jù)存儲做出改變而使能夠協(xié)作。此外,由于數(shù)據(jù)存儲可以高速緩存控制與監(jiān)視系統(tǒng)24的數(shù)據(jù)的單個副本,所以可以進(jìn)行離線修改。例如,即使當(dāng)控制器不可用時,通過使用在數(shù)據(jù)存儲之一中高速緩存的數(shù)據(jù),用戶可以對控制與監(jiān)視系統(tǒng)24進(jìn)行修改。當(dāng)用戶恢復(fù)在線(例如,可以訪問處理器)時,由用戶在離線情況下所做的修改可以與其他的數(shù)據(jù)存儲同步。因此,用戶能夠以更一致且可靠的方式將變化提供給控制與監(jiān)視系統(tǒng)24。
[0058]例如,一個用戶可以在設(shè)計軟件中對標(biāo)簽定義、元數(shù)據(jù)定義進(jìn)行改變,可以對設(shè)計的要素重命名,可以修改報警設(shè)置、改變數(shù)據(jù)類型和/或修改數(shù)據(jù)記錄情況,例如Rockwell自動控制股份有限公司的RSLogix 5000TM。可以對本地數(shù)據(jù)存儲進(jìn)行這些由用戶提交的改變。在線時,這些變化可以被傳遞至在控制與監(jiān)視系統(tǒng)24內(nèi)的其他數(shù)據(jù)存儲,從而跨系統(tǒng)24來應(yīng)用該變化。離線時,這些變化可以保留在本地數(shù)據(jù)存儲中并且當(dāng)返回在線時(例如,重新連接到控制與監(jiān)視系統(tǒng)24的控制器)可以被同步。通過變化的自動傳遞,可以避免冗余的變化進(jìn)入而節(jié)約研發(fā)工作。此外,基于通過系統(tǒng)24進(jìn)行的自動重命名傳遞,可以減少調(diào)試和初始化。此外,由于這些變化可以起源于整個系統(tǒng),所以當(dāng)不同用戶開發(fā)控制器和HMI時可以允許靈活的工作流。
[0059]如上所述,通過分布數(shù)據(jù)模型、經(jīng)由增量腳本將變化傳遞至分布式數(shù)據(jù)模型以及分布命令執(zhí)行,相對于傳統(tǒng)控制與監(jiān)視系統(tǒng)可以極大地改進(jìn)控制與監(jiān)視系統(tǒng)24。例如,可以由控制與監(jiān)視系統(tǒng)24內(nèi)分布的數(shù)據(jù)模型的多份副本中的任何一個副本來服務(wù)控制與監(jiān)視系統(tǒng)24的客戶端(例如,請求控制與監(jiān)視系統(tǒng)24的數(shù)據(jù)模型中的數(shù)據(jù)的部件)。控制與監(jiān)視系統(tǒng)24可以從基于許多判定因素中的一個因素確定哪一個副本來服務(wù)客戶端。例如,可以選擇具體的分布式數(shù)據(jù)模型副本以基于性能效率例如高效網(wǎng)絡(luò)通路(例如,哪個副本最靠近客戶端、在本地或在網(wǎng)絡(luò)上、或哪個網(wǎng)絡(luò)通路具有最大帶寬等)將數(shù)據(jù)提供至客戶端。此外,在該判定中也可以納入處理考慮這一因素。例如,這種魯棒的控制與監(jiān)視系統(tǒng)24可以使數(shù)據(jù)能夠被提供至使用負(fù)載均衡技術(shù)的客戶端。在一個實施方式中,可以從包含已知或可能比控制與監(jiān)視系統(tǒng)24的其他部件提供較少請求的數(shù)據(jù)模型的分布式副本的部件向客戶端提供數(shù)據(jù)。在一個示例中,控制與監(jiān)視系統(tǒng)24可以包括兩個控制/監(jiān)視設(shè)備30(例如,2個自動控制器)??刂婆c監(jiān)視系統(tǒng)24可以預(yù)測或觀察到第一控制/監(jiān)視設(shè)備30比第二控制/監(jiān)視設(shè)備30接收更多的關(guān)于數(shù)據(jù)的請求。因此,控制與監(jiān)視系統(tǒng)24可以確定從第二控制/監(jiān)視設(shè)備30服務(wù)客戶端以避免過度利用第一控制/監(jiān)視設(shè)備30。因而,控制與監(jiān)視系統(tǒng)24可以通過基于控制與監(jiān)視系統(tǒng)24內(nèi)的部件的負(fù)載來均衡請求以避免控制/監(jiān)視設(shè)備30的溢流。在某些實施方式中,這可以包括從單個部件將請求提供至請求的閾值數(shù)或數(shù)據(jù)的量并且當(dāng)達(dá)到閾值時移動至溢流源處。在一些實施方式中,這可以包括在提供數(shù)據(jù)時基本上均勻分?jǐn)傉埱筘?fù)載或數(shù)據(jù)量。
[0060]除可以提供分布式數(shù)據(jù)模型、增量腳本以及執(zhí)行引擎的負(fù)載均衡性能之外,這些性能還可以有益于控制與監(jiān)視系統(tǒng)24中的數(shù)據(jù)冗余。例如,控制與監(jiān)視系統(tǒng)24內(nèi)的一個或多個部件可以監(jiān)視數(shù)據(jù)模型的一個或多個分布式副本。在檢測到副本不穩(wěn)定時(例如,沒有準(zhǔn)確地表示分布式模型的副本),不穩(wěn)定的副本可以由穩(wěn)定的副本代替(例如,準(zhǔn)確地表示分布式模型的副本)??梢詮姆植荚诒淮_定為具有準(zhǔn)確地表示數(shù)據(jù)模型的副本的控制與監(jiān)視系統(tǒng)24中的數(shù)據(jù)模型的其他副本中的任何一個副本而獲得穩(wěn)定的副本。
[0061]在一些實施方式中,控制與監(jiān)視系統(tǒng)24的部件可以訪問下述冗余池,所述冗余池給分布式數(shù)據(jù)模型的有效副本或給存儲分布式數(shù)據(jù)模型的有效副本的控制與監(jiān)視系統(tǒng)24的部件提供指向器。例如,當(dāng)客戶端部件請求數(shù)據(jù)模型中的數(shù)據(jù)時,其可以訪問傳達(dá)哪里可以獲得數(shù)據(jù)的冗余池。如上所述,控制與監(jiān)視系統(tǒng)24的一個或多個部件可以監(jiān)視數(shù)據(jù)模型的副本以確定不穩(wěn)定的副本。當(dāng)檢測到一個或多個不穩(wěn)定的副本時,控制與監(jiān)視系統(tǒng)24的部件可以將指向器移動至不穩(wěn)定的副本或存儲不穩(wěn)定的副本的控制與監(jiān)視系統(tǒng)24的部件。因此,不可經(jīng)由冗余池訪問該不穩(wěn)定副本。
[0062]在某些實施方式中,如上所述,在從冗余池移除不穩(wěn)定的副本(或存儲不穩(wěn)定的副本的部件)之后,控制與監(jiān)視系統(tǒng)24的部件可以用穩(wěn)定的版本代替不穩(wěn)定的副本。在不穩(wěn)定的副本被代替之后,控制與監(jiān)視系統(tǒng)24的部件可以將替換穩(wěn)定版本(或存儲替換穩(wěn)定版本的部件)重新增加回冗余池以用于將來使用。
[0063]為了更好的示出設(shè)計時環(huán)境與運行時環(huán)境之間的關(guān)系,圖3提供了表示HMI 26與編程終端46之間的交互作用的高級流程圖。以下提供了關(guān)于該處理的更多細(xì)節(jié)。通常,用于HMI 26與編程終端46的平臺包括操作系統(tǒng)或執(zhí)行的軟件38、應(yīng)用軟件40、以及任何通信軟件、微處理器、網(wǎng)絡(luò)接口、輸入/輸出硬件、一般軟件庫、數(shù)據(jù)庫管理、用戶界面軟件等(圖3中未具體表示)。在示出的實施方式中,設(shè)計時平臺和運行時平臺在HMI 26之內(nèi)交互作用。設(shè)計時平臺將用作設(shè)計時環(huán)境16的視圖提供給臺式個人計算機(jī)平臺(例如運行合適的操作系統(tǒng)38諸如Windows XP、Windows Vista或Linux),而運行時平臺經(jīng)由操作系統(tǒng)(例如WindowsCE、Linux)與設(shè)計時平臺合作。設(shè)計時平臺提供動態(tài)服務(wù)器內(nèi)容54,而運行時平臺顯示關(guān)于HMI 26自身的視圖(如果在HMI 26上提供顯示屏)。設(shè)計時環(huán)境16在瀏覽器48 (例如網(wǎng)絡(luò)瀏覽器或其他的通用瀏覽器)中顯示。
[0064]圖3在非常高層面示出設(shè)計時環(huán)境16如何與操作系統(tǒng)38、應(yīng)用40和運行時環(huán)境14交互作用。箭頭56表示HMI 26與編程終端46之間內(nèi)容的動態(tài)交換。通常,與設(shè)計時環(huán)境16的交互作用是最初配置HMI屏或可視化、設(shè)備要素及它們的功能和相互作用,或者重新配置該軟件的設(shè)計者58的任務(wù)。通常由操作者60直接在HMI 26上與運行時環(huán)境14進(jìn)行交互作用。應(yīng)該注意的是,當(dāng)設(shè)計時環(huán)境16具有特殊需要時,在本實施方式中,這很大程度上依賴于操作系統(tǒng)38、應(yīng)用軟件40和運行時環(huán)境14。設(shè)計時環(huán)境16和運行時環(huán)境14可以利用某些基準(zhǔn)技術(shù)(例如DHTML、HTML、HTTP、動態(tài)服務(wù)器內(nèi)容,JavaScript、Web瀏覽器)以分別在設(shè)計時平臺和運行時平臺中操作。雖然,在所示出的實施方式中運行時環(huán)境14和設(shè)計時環(huán)境16駐留在分離的平臺上,但是在一些實施方式中,運行時環(huán)境14和設(shè)計時環(huán)境16可以駐留在同一平臺上。例如,設(shè)計時平臺和運行時平臺可以被配置為或被認(rèn)為是單個
T D O
[0065]在本發(fā)明的一種實施方式中,利用了設(shè)計時網(wǎng)絡(luò)實施。如由圖3中的動態(tài)服務(wù)器內(nèi)容54所標(biāo)注以及如下所述,該設(shè)計時網(wǎng)絡(luò)實施通過使用具有來自HMI的DHTML支持的網(wǎng)絡(luò)瀏覽器(如,48),來提供運行在設(shè)計時平臺上的軟件的速度和靈活性。DHTML用于對設(shè)計時環(huán)境16中的網(wǎng)絡(luò)內(nèi)容進(jìn)行動態(tài)操作。此外,在HMI中使用動態(tài)服務(wù)器內(nèi)容54以將動態(tài)網(wǎng)絡(luò)內(nèi)容提供給設(shè)計時環(huán)境16。該動態(tài)的客戶端-服務(wù)器環(huán)境使得網(wǎng)絡(luò)瀏覽器能夠在不需要針對相關(guān)處理器編譯的軟件的情況下模擬運行在設(shè)計時平臺上的應(yīng)用。
[0066]圖4是示出了根據(jù)本技術(shù)實施方式的設(shè)計時環(huán)境中的一個或更多個設(shè)備要素的圖。該圖包括通過顯示器100 (如,用于瀏覽器顯示的屏幕)、屬性編輯器102和HMI 26之間的關(guān)系示出的交互。
[0067]用配置屏幕或顯示器100表示的設(shè)計時環(huán)境包括靜態(tài)內(nèi)容104和動態(tài)內(nèi)容。動態(tài)內(nèi)容包括與任何所顯示或表示的設(shè)備要素106對應(yīng)的圖像(如,虛擬的開/關(guān)按鈕、測量儀器)。在本技術(shù)的一種實施方式中,圖像由HTML中的圖像標(biāo)簽指定并且是由如以下所描述的HMI創(chuàng)建的JPEG文件的一部分。靜態(tài)內(nèi)容104可以由動態(tài)服務(wù)器頁面(ASP)服務(wù)器來創(chuàng)建或它可以預(yù)先存在于HTML文件中。應(yīng)當(dāng)注意,在一些實施方式中,只有指定的設(shè)計者才能夠?qū)o態(tài)內(nèi)容104進(jìn)行編輯。
[0068]由配置屏幕或顯示器100表示的設(shè)計時環(huán)境包括靜態(tài)內(nèi)容104和動態(tài)內(nèi)容。動態(tài)內(nèi)容包括與任何所顯示或表示的設(shè)備要素106對應(yīng)的圖像(如,虛擬的開/關(guān)按鈕、測量儀器)。在本技術(shù)的一種實施方式中,圖像是由HTML中的圖像標(biāo)簽來指定并且是由如以下所描述的HMI創(chuàng)建的JPEG文件的一部分。靜態(tài)內(nèi)容104可以由ASP服務(wù)器來創(chuàng)建或它可以預(yù)先存在于HTML文件中。應(yīng)當(dāng)注意,在一些實施方式中,指定的設(shè)計者僅能夠?qū)o態(tài)內(nèi)容104進(jìn)行編輯。
[0069]在圖4的表示中,設(shè)備要素表示106包括在視圖容器108中。如本領(lǐng)域技術(shù)人員所理解的,容器一般定義特定設(shè)備要素被打開且準(zhǔn)備好使用的處理空間的一部分。因此,容器108可以與僅包括可在當(dāng)前屏幕內(nèi)查看的要素的第一視圖容器對應(yīng)。如上面所討論的,在HMI中可以設(shè)置許多這樣的屏幕。其他屏幕如替代的控制或接口屏幕可以設(shè)置在其他視圖容器如容器110中。一般地,為了加速HMI的操作(如,屏幕視圖之間的改變),通過限定與其相關(guān)聯(lián)或在其中設(shè)置有設(shè)備要素的表示的各個設(shè)備要素來預(yù)限定這些視圖容器以及將其彼此關(guān)聯(lián)。可以將全局容器112限定為包括各種視圖容器所必需的所有設(shè)備要素以及可在任何視圖容器中不表示出的其他要素。如在圖4中示出的,因此,視圖容器108包括執(zhí)行“輕推”功能、并且由第一屏幕中的表示來顯示的虛擬按鈕106。新容器110包括若干部件如“開始”按鈕114、“停止”按鈕116、虛擬儀表118和數(shù)字讀出裝置120等。全局容器112則包括用于各種視圖容器的所有這些設(shè)備要素,以及操作可見設(shè)備要素所需要的、然而其自身不是可見的任何設(shè)備要素122。這些設(shè)備要素可以包括執(zhí)行計算、使趨向、通信和許多其他功能的要素。
[0070]圖4還示出了在其中用戶可以訪問要素106的各種屬性的屬性編輯器102。如上所討論的,要素106還可以包括與要素106相關(guān)聯(lián)的連接和文本,其還可以由用戶通過與屬性編輯器102類似的編輯器來配置。
[0071]在一種實施方式中,屬性編輯器102可以通過從瀏覽器(如,圖2的瀏覽器48)到駐留在HMI 26中的服務(wù)器96 (如,HTTP服務(wù)器)的查詢字符串來與HMI 26進(jìn)行交互。月艮務(wù)器96與包括有如動態(tài)鏈接庫(DLL)等基于模塊的互連機(jī)構(gòu)12的ASP服務(wù)器98進(jìn)行協(xié)作以接收并響應(yīng)查詢。DLL允許將可執(zhí)行例程存儲為單獨的文件,當(dāng)程序需要或引用時,這些單獨的文件能夠被加載。在上述示例中,當(dāng)接收呼叫時,由ASP服務(wù)器98重載該頁面并且對查詢字符串進(jìn)行初始解析,這導(dǎo)致對移動命令的評估。服務(wù)器側(cè)腳本則對由圖像106表示的設(shè)備要素18進(jìn)行訪問以更新其位置屬性。然后在網(wǎng)頁上對新的屬性信息進(jìn)行更新并且將該頁面?zhèn)魉偷綖g覽器48。
[0072]傳達(dá)狀態(tài)變化
[0073]現(xiàn)已經(jīng)討論了結(jié)合通過增量腳本和分布式命令執(zhí)行的分布式狀態(tài)變化通知使用分布式數(shù)據(jù)模型的益處,下面將更加詳細(xì)地對分布式狀態(tài)變化通知進(jìn)行討論。如上所討論的,圖2是根據(jù)本技術(shù)實施方式的適于使用增量腳本來提供部件狀態(tài)信息的示例性控制與監(jiān)視系統(tǒng)24的概略表示。如所示出的,控制與監(jiān)視系統(tǒng)24可以包括一個或更多個人機(jī)接口(HMI) 26和適于與處理28的部件進(jìn)行連接的一個或更多個控制/監(jiān)視設(shè)備30。控制/監(jiān)視設(shè)備30可以包括有助于在控制與監(jiān)視系統(tǒng)24上執(zhí)行任務(wù)(如,處理控制、遠(yuǎn)程裝備監(jiān)視、數(shù)據(jù)獲取等)的一個或更多個處理器以及數(shù)據(jù)存儲設(shè)備。此外,編程終端46可以使得一個或更多個用戶能夠?qū)MI 26和/或控制/監(jiān)視設(shè)備30的屬性進(jìn)行配置。
[0074]在控制環(huán)境中,控制與監(jiān)視系統(tǒng)24的各種對象(如,控制程序、標(biāo)簽、模塊配置和HMI屏幕)的狀態(tài)可以存儲在控制與監(jiān)視系統(tǒng)24的各個部件(如,編程終端46、控制/監(jiān)視設(shè)備30、I/O模塊和/或HMI終端26)的存儲器(如,硬盤驅(qū)動器、只讀存儲器、和/或隨機(jī)存取存儲器)中??刂婆c監(jiān)視系統(tǒng)24的部件中的每一個可以以松耦合、異步的方式獨立地來操作。此外,部件可以以不同的編程技術(shù)(如,C++、Java和/或C#)來實施。由于對控制環(huán)境對象的狀態(tài)信息做出了改變,可能需要將該狀態(tài)信息與駐留在其他部件上的狀態(tài)信息進(jìn)行同步,以使得部件可以連續(xù)地獲知控制與監(jiān)視系統(tǒng)24內(nèi)的對象的狀態(tài)。根據(jù)本實施方式,為了保持被告知以狀態(tài)信息,存儲有狀態(tài)信息的自動部件可以接收稱為狀態(tài)增量43的數(shù)據(jù)(如,已經(jīng)改變的狀態(tài)要素),而不接收還沒有改變且因而已經(jīng)出現(xiàn)在存儲有狀態(tài)信息的各個部件上的所存儲的狀態(tài)信息中的狀態(tài)要素。例如,狀態(tài)增量43可以包括因控制與監(jiān)視系統(tǒng)24內(nèi)的動作而已經(jīng)改變的任何數(shù)據(jù)。通過提供狀態(tài)增量43而不提供未改變的狀態(tài)信息,可以觀測到提高了的效率。例如,在具有100個狀態(tài)要素的傳統(tǒng)的控制與監(jiān)視系統(tǒng)24中,可以將100個狀態(tài)要素中的每一個狀態(tài)要素提供給存儲那個對象的狀態(tài)信息的每個部件。通過僅提供狀態(tài)增量43,控制與監(jiān)視系統(tǒng)24的部件可以只傳輸針對已經(jīng)改變的要素的數(shù)據(jù)。因此,如果100個狀態(tài)要素中僅有一個狀態(tài)要素改變,則不會傳輸其他99個要素,從而減小了關(guān)于傳統(tǒng)系統(tǒng)的網(wǎng)絡(luò)流量。此外,僅提供狀態(tài)增量43可以減小因疏忽而覆寫了在控制與監(jiān)視系統(tǒng)24內(nèi)其他地方生成的狀態(tài)變化信息的可能性。例如,在上面提到的100個狀態(tài)要素的情況下,如果將所有100個狀態(tài)要素傳輸?shù)狡渌考?,則99個未改變的要素可能導(dǎo)致對其他地方這些99個要素之一做出的變化的覆寫。通過僅提供改變的要素(如,狀態(tài)增量43),上述99個未改變的要素將不被已改變且被傳達(dá)到其他部件的一個要素影響。
[0075]現(xiàn)已經(jīng)討論了狀態(tài)增量24的使用,圖5示出了包括有用于對控制與監(jiān)視系統(tǒng)24的部件之間的狀態(tài)變化進(jìn)行傳達(dá)的持久化對象模型的控制與監(jiān)視系統(tǒng)24。例如,上述部件可以包括控制/監(jiān)視設(shè)備30 (如,PLC)、提供有項目文件150的編程終端和如托管持久化對象模型152和協(xié)作會話154的控制/監(jiān)視設(shè)備30和客戶端156等部件。如先前所討論的,控制/監(jiān)視設(shè)備30可以適于與處理28 (圖1)的部件進(jìn)行連接。項目文件150可以是對控制與監(jiān)視系統(tǒng)24的限定并且存儲在編程終端46 (圖1)的存儲器(如,硬盤驅(qū)動器)中的各種屬性進(jìn)行表示的計算機(jī)文件輸出。持久化對象模型152可以是控制與監(jiān)視系統(tǒng)24中的一個或更多個部件的狀態(tài)數(shù)據(jù)的計算機(jī)模型,其以持久的方式(如,通過將狀態(tài)數(shù)據(jù)存儲在如硬盤驅(qū)動器的非易失性存儲介質(zhì)中)對控制與監(jiān)視系統(tǒng)24中的狀態(tài)數(shù)據(jù)的變化保持跟蹤。持久化對象模型152可以用作變化傳達(dá)權(quán)威,以使得所有對對象的狀態(tài)做出的已提交變化都是通過持久化對象模型152來存儲和傳達(dá)的。如在以下所更加詳細(xì)地討論的,協(xié)作會話154可以是控制與監(jiān)視系統(tǒng)24的部件之間的交互性信息交換接口,其為進(jìn)行未定的變化提供了環(huán)境(如,在用戶選擇提交一些變化后,可以僅將這些變化應(yīng)用于和傳輸?shù)娇刂婆c監(jiān)視系統(tǒng)24的其他部件中)??蛻舳?56可以是控制與監(jiān)視系統(tǒng)24的將對象的狀態(tài)信息保存在存儲器中的任何其他部件,諸如提供了對象的表示視圖的部件。
[0076]在所示出的實施方式中,所示出的部件(提供了協(xié)作會話數(shù)據(jù)154的控制/監(jiān)視設(shè)備30、提供了更新的項目文件150的編程終端46、提供了持久化對象模型152和協(xié)作會話154的控制/監(jiān)視設(shè)備30和客戶端156)中的每一個部件都包括有數(shù)據(jù)容器158 (如為數(shù)據(jù)預(yù)留的存儲器)。數(shù)據(jù)容器158包括對控制與監(jiān)視系統(tǒng)24的一個或更多個對象的狀態(tài)進(jìn)行定義的狀態(tài)要素160。狀態(tài)要素160可以以數(shù)據(jù)驅(qū)動方式來定義以使得不同的技術(shù)(如,C++、Java、和/或C#)可以使用由狀態(tài)要素160表示的數(shù)據(jù)。如先前所討論的,可能期望對存儲在控制與監(jiān)視系統(tǒng)24的各個部件中的狀態(tài)信息進(jìn)行有效地同步。因為存儲在數(shù)據(jù)容器158中的狀態(tài)要素160中的一個或更多個發(fā)生變化,所以可能需要對存儲在其他部件中的數(shù)據(jù)要素160進(jìn)行同步。
[0077]如上所討論的,持久化對象模型152可以是控制與監(jiān)視系統(tǒng)24中的各個部件中應(yīng)用狀態(tài)變化時的所指定的機(jī)構(gòu)。持久化對象模型152可以在其數(shù)據(jù)容器158中包括:其被稱為對于一個或更多個對象的狀態(tài)信息的黃金副本162 (如由交叉影線所示出的)。黃金副本162包括控制與監(jiān)視系統(tǒng)24總是認(rèn)為正確的狀態(tài)信息的副本。換言之,黃金副本162是狀態(tài)信息的權(quán)威副本。每個狀態(tài)信息具有它自己的黃金副本162,其可以或可以不與其他的狀態(tài)信息的黃金副本162 —起駐留在控制與監(jiān)視系統(tǒng)24 (如,在相同的計算機(jī)系統(tǒng)上)內(nèi)。如果提交了一個或更多個狀態(tài)要素變化,則以增量腳本170的形式將變化的要素提供給黃金副本162,增量腳本170基于狀態(tài)要素變化來更新。然后通過增量腳本170將狀態(tài)要素變化從黃金副本提供給控制與監(jiān)視系統(tǒng)24內(nèi)的其他部件。
[0078]為了實現(xiàn)數(shù)據(jù)容器158內(nèi)的狀態(tài)變化,控制與監(jiān)視系統(tǒng)24的部件可以扮演不同的角色,這些角色可以包括變化手段164、變化仲裁器166和受眾168。變化手段164 (如,通過當(dāng)前實施方式中的編輯器提供修改的項目文件150的客戶端)給變化仲裁器166發(fā)送變化請求。變化手段164可以通過接收關(guān)于變化請求的異步的變化響應(yīng)和/或錯誤響應(yīng)來驗證變化的成功。變化仲裁器166 (如,托管持久化對象模型42的服務(wù)器)對到來的變化進(jìn)行排隊,通過執(zhí)行所請求的變化來處理變化,基于請求來做出其他副作用變化或放棄該變化。變化仲裁器166可以提供對變化手段164的變化響應(yīng),當(dāng)變化出現(xiàn)時將變化通知公布給受眾168 (如,在協(xié)作會話154中涉及的客戶端156和/或控制/監(jiān)視設(shè)備30),和/或?qū)⒆兓瘜懭朦S金副本162。受眾168接收變化通知并且使用上述通知來對狀態(tài)信息的存儲在其數(shù)據(jù)容器158中的本地副本進(jìn)行更新。
[0079]如先前所討論的,在控制與監(jiān)視系統(tǒng)24的各個部件中使用的編程技術(shù)可能不是統(tǒng)一的。例如,一些部件可以使用C++,而其他部件可以使用C#或Java。因此,圖1的設(shè)置在變化手段164、變化仲裁器166和受眾168之間的狀態(tài)增量43可以設(shè)置在不依賴于具體技術(shù)的數(shù)據(jù)驅(qū)動增量腳本170中。增量腳本170可以以創(chuàng)建、更新和/或刪除(CRUD)數(shù)據(jù)的形式來描述對象狀態(tài)變化。創(chuàng)建數(shù)據(jù)可以包括有助于對象的創(chuàng)建的一些或所有數(shù)據(jù)(如對于矩形,矩形的空間位置、寬度和高度)。對于任何沒有提供創(chuàng)建請求的數(shù)據(jù)可以使用默認(rèn)值。更新數(shù)據(jù)可以包括已經(jīng)在對象中更新了的數(shù)據(jù)(如,對于具有更新了的空間位置的矩形圖形,更新數(shù)據(jù)可以僅包括新的空間位置)。刪除數(shù)據(jù)可以標(biāo)識(如,描述其標(biāo)識符)已經(jīng)移除的對象狀態(tài)數(shù)據(jù)(如,對于已經(jīng)移除了的矩形,刪除數(shù)據(jù)可以包括待刪除的矩形的名稱)。在一個示例中,如果使用以下C#偽碼產(chǎn)生變化:
[0080]變化管理器cm=新建變化管理器();
[0081]產(chǎn)生變化Cl=變化.復(fù)合() [0082]創(chuàng)建(〃矩形〃).處于(模式).設(shè)置("X",〃10〃).設(shè)置("Y",〃10〃).設(shè)置(〃寬度 〃,"100").設(shè)置(〃高度 〃,"200").[0083]創(chuàng)建(〃圓形〃).處于(模式).設(shè)置("X",〃10〃).設(shè)置("Y",〃10〃).設(shè)置("半徑 〃,〃100〃);
[0084]cm.執(zhí)行(Cl);
[0085](ChangeManager cm=new GetChangeManager O ;
[0086]CreateChange cl=Changes.Composite ().[0087]Create ("Rectangle").Under (mode I).Set ("X", "10").Set ("Y", "10").Set("Width", "100").Set("Height", "200").[0088]Create ("Circle").Under (model).SetC'X", "10").SetC'Y", "10").Set("Radius", "100");
[0089]cm.Do (c I);)
[0090]在一些實施方式中,數(shù)據(jù)驅(qū)動增量腳本可能與以下偽XML示例相似:
[0091]
【權(quán)利要求】
1.一種自動控制部件,被配置成: 通過處理器接收或創(chuàng)建被配置成對自動控制系統(tǒng)的對象的狀態(tài)信息的一個或更多個變化進(jìn)行描述的一個或更多個增量腳本,其中,所述變化可涉及對所述對象的修改、添加和/或刪除;以及 通過處理器來將所述一個或更多個增量腳本傳輸?shù)剿鲎詣涌刂葡到y(tǒng)的一個或更多個其他自動控制部件。
2.根據(jù)權(quán)利要求1所述的自動控制部件,其中,所述一個或更多個其他自動控制部件被配置成應(yīng)用所述一個或更多個增量腳本,以基于所述一個或更多個變化對存儲在所述一個或更多個其他自動控制部件上的狀態(tài)信息進(jìn)行更新。
3.根據(jù)權(quán)利要求1所述的自動控制部件,其中,所述第一自動控制部件被配置成: 識別所述一個或更多個變化;以及 至少部分地基于所識別的所述一個或更多個變化來創(chuàng)建所述一個或更多個增量腳本。
4.根據(jù)權(quán)利要求1所述的自動控制部件,其中,所述自動控制部件包括編程終端、可編程邏輯控制器、輸入/輸出I/O模塊或人機(jī)接口 HMI終端中的至少一種。
5.根據(jù)權(quán)利要求1所述的自動控制部件,其中,所述對象包括控制程序、標(biāo)簽、模塊配置或人機(jī)接口屏幕中的至少一種。
6.根據(jù)權(quán)利要求1所述的自動控制部件,被配置成創(chuàng)建和/或傳輸能夠與特定的編程技術(shù)無關(guān)地被解釋的 增量腳本。
7.根據(jù)權(quán)利要求1所述的自動控制部件,被配置成基于數(shù)據(jù)處理和/或數(shù)據(jù)通信效率創(chuàng)建和/或傳輸以下增量腳本:該增量腳本選擇性地對對象的全部狀態(tài)信息或僅對所述對象的已經(jīng)改變了的狀態(tài)信息進(jìn)行描述。
8.根據(jù)權(quán)利要求8所述的自動控制部件,被配置成:當(dāng)全部狀態(tài)信息的閾值量變化時,創(chuàng)建描述對象的全部狀態(tài)信息的增量腳本,否則創(chuàng)建僅描述所述對象的已經(jīng)改變了的狀態(tài)信息的增量腳本。
9.根據(jù)權(quán)利要求1所述的自動控制部件,包括持久化對象模型,其中,所述持久化對象模型被配置成:當(dāng)所述一個或更多個其他自動控制部件離線時存儲所述一個或更多個變化,并且當(dāng)所述一個或更多個其他自動控制部件返回在線時通過所述增量腳本將所述變化傳達(dá)給所述一個或更多個其他自動控制部件。
10.根據(jù)權(quán)利要求1所述的自動控制部件,被配置成創(chuàng)建和/或傳輸包括有以下中的至少一種的增量腳本:所述對象的標(biāo)識符、所述對象的已經(jīng)改變了的要素、與所述要素的變化有關(guān)的數(shù)據(jù)或所述變化的環(huán)境的屬性。
11.根據(jù)權(quán)利要求1所述的自動控制部件,被配置成創(chuàng)建和/或傳輸包括修訂版本號的增量腳本,以使得被配置成應(yīng)用所述一個或更多個增量腳本的一個或更多個部件能夠:基于所述對象的狀態(tài)的本地副本的當(dāng)前修訂版本號與所述一個或更多個增量腳本的修訂版本號的比較,來對是否應(yīng)該將所述一個或更多個增量腳本應(yīng)用到所述本地副本進(jìn)行認(rèn)證。
12.根據(jù)權(quán)利要求1所述的自動控制部件,其中,所述一個或更多個增量腳本包括能夠用于區(qū)分對于所存儲的狀態(tài)信息的不同的修訂版本的唯一標(biāo)識符。
13.一種自動控制部件,被配置成: 通過處理器接收包括以下數(shù)據(jù)的一個或更多個增量腳本:所述數(shù)據(jù)描述自動控制系統(tǒng)的對象的狀態(tài)信息的一個或更多個變化,其中,所述變化可涉及對所述對象的修改、添加和/或刪除; 從所述增量腳本提取描述所述一個或更多個變化的所述數(shù)據(jù);以及 至少部分地基于所提取的所述數(shù)據(jù)來確定所述對象的狀態(tài)。
14. 根據(jù)權(quán)利要求13所述的自動控制系統(tǒng),被配置成: 從所述增量腳本提取生成所述一個或更多個變化的用戶的標(biāo)識符;以及 基于所述標(biāo)識符對所述變化的源進(jìn)行認(rèn)證。
15.根據(jù)權(quán)利要求13所述的自動控制部件,被配置成: 將所述狀態(tài)信息的所述一個或更多個變化應(yīng)用到描述所述對象的狀態(tài)的所述自動控制部件本地的數(shù)據(jù)。
16.根據(jù)權(quán)利要求15所述的自動控制部件,被配置成: 以全或無的方式來應(yīng)用所述一個或更多個變化,使得應(yīng)用所述增量腳本中的所有變化或不應(yīng)用所述增量腳本中的任何變化。
17.根據(jù)權(quán)利要求13所述的自動控制部件,其中,所述增量腳本包括修訂版本號,并且所述自動控制部件被配置成:僅當(dāng)所述修訂版本號能應(yīng)用于與存儲在所述自動控制部件本地的數(shù)據(jù)中的所述狀態(tài)信息相關(guān)聯(lián)的當(dāng)前修訂版本號時,才應(yīng)用所述一個或更多個增量腳本。
18.根據(jù)權(quán)利要求13所述的自動控制系統(tǒng),其中,所述增量腳本包括能用于區(qū)分對于所存儲的所述狀態(tài)信息的不同的修訂版本的唯一標(biāo)識符,并且所述自動控制部件被配置成基于所述唯一標(biāo)識符來應(yīng)用所述一個或更多個增量腳本。
19.一種用于傳達(dá)自動控制系統(tǒng)的對象的狀態(tài)變化的方法,所述方法包括: 通過處理器來生成以下一個或更多個增量腳本:該一個或更多個增量腳本代表由變化手段做出的、所述自動控制系統(tǒng)中的一個或更多個對象的狀態(tài)的一個或更多個變化;以及 通過變化仲裁器來將所述增量腳本公布給訂閱了所述一個或更多個對象的所述狀態(tài)的變化的通知的受眾。
20.根據(jù)權(quán)利要求19所述的方法,包括將所述自動控制系統(tǒng)中的所述對象的所述狀態(tài)的黃金副本中的變化存儲在數(shù)據(jù)存儲器中,其中,所述黃金副本被所述自動控制系統(tǒng)認(rèn)為是正確的,且用作所述對象的所述狀態(tài)的權(quán)威參考副本。
21.根據(jù)權(quán)利要求19所述的方法,包括: 檢測請求訂閱所述變化的新受眾成員;以及 將關(guān)于所述變化將所述新受眾成員帶至最新所需的所有增量腳本公布給所述新受眾成員。
22.根據(jù)權(quán)利要求21所述的方法,包括: 基于所述受眾所請求的訂閱,通過所述變化仲裁器來確定代表存儲在所述受眾上的狀態(tài)信息的當(dāng)前修訂版本的受眾修訂版本號; 通過所述變化仲裁器來確定代表存儲在所述對象的所述狀態(tài)的權(quán)威參考副本上的狀態(tài)信息的當(dāng)前修訂版本的參考修訂版本號;以及 通過所述變化仲裁器僅提供將所述受眾修訂版本號更新到所述參考修訂版本號所需的所述增量腳本,如被配置成存儲與所述一個或更多個對象的狀態(tài)的每個變化相關(guān)聯(lián)的增量腳本的持久化對象模型所指示的。
23.根據(jù)權(quán)利要求19所述的方法,包括: 生成多于一個的增量腳本; 將所述多于一個的增量腳本聚集成復(fù)合增量腳本;以及 通過所述變化仲裁器將所述復(fù)合增量腳本公布給訂閱了所述一個或更多個對象的所述狀態(tài)的變化的通知的受眾。
24.—種方法,包括: 通過處理器確定自動控制系統(tǒng)中對象的狀態(tài)信息的要素的由變化儀器做出的一個或更多個未定變化,其中,還沒有將所述變化提交到所述自動控制系統(tǒng); 利用至少一個處理器來生成表示未定變化的一個或更多個增量腳本,其中,所述增量腳本是數(shù)據(jù)驅(qū)動的,不需要耗用特定的編程技術(shù),且被配置成對所述對象的狀態(tài)信息的所述要素的變化進(jìn)行描述; 將所述增量腳本和代表會將所述增量腳本中的變化反向的變化的一個或更多個反向增量腳本存儲在存儲器中; 使用所述至少一個處理器來應(yīng)用所述增量腳本,以生成所述對象的狀態(tài)信息的新的修訂版本;以及 僅當(dāng)提交所述未定變化時,才利用所述至少一個處理器來將所述數(shù)據(jù)驅(qū)動的增量腳本提供給訂閱的受眾成員。
25.根據(jù)權(quán)利要求24所述的方法,包括: 利用所述至少一個處理器來對以下進(jìn)行檢測:所述未定變化的取消,以及通過應(yīng)用所述反向增量腳本對用于所述未定變化的所述增量腳本的應(yīng)用的撤銷。
26.根據(jù)權(quán)利要求24所述的方法,包括: 檢測在對所述自動控制系統(tǒng)提交所述未定變化之前對所述自動控制系統(tǒng)提交的、所述對象的狀態(tài)信息的第二變化; 使用一個或更多個反向增量腳本收回所述未定變化; 應(yīng)用所述第二變化;以及 在首先應(yīng)用所述第二變化的情況下將用于所述未定變化的所述增量腳本重新應(yīng)用到所述對象的狀態(tài)信息的修訂版本。
27.根據(jù)權(quán)利要求24所述的方法,包括: 以所述至少一個處理器確定一個或更多個增量腳本改變了相同元素的值,其中,所述一個或更多個增量腳本將所述元素改變到中間值,并且所述增量腳本之一將所述元素改變到最終值;以及 通過生成將所述值改變?yōu)樗鲎罱K值的單一增量腳本來壓縮改變所述相同元素的值的所述增量腳本,而不考慮所述中間值。
【文檔編號】G05B19/05GK103543684SQ201210452149
【公開日】2014年1月29日 申請日期:2012年11月12日 優(yōu)先權(quán)日:2011年11月11日
【發(fā)明者】道格拉斯·W·里德, 約瑟夫·布羅尼科夫斯基, 蘇比安·戈文達(dá)拉杰, 塔里爾·賈斯珀, 邁克爾·D·卡蘭恩, 史蒂文·約翰·科瓦爾, 肯尼斯·S·普拉赫, 道格拉斯·J·賴夏德, 查爾斯·M·里斯查爾, 克里斯多佛·E·施塔內(nèi)克, 雷·J·斯塔龍, 大衛(wèi)·E·托馬斯, 蒂莫西·P·博普雷, 羅納德·E·布利斯, 戈登·代利 申請人:洛克威爾自動控制技術(shù)股份有限公司