專利名稱:用于針對(duì)自動(dòng)化過程創(chuàng)建hmi應(yīng)用的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于針對(duì)自動(dòng)化過程開發(fā)人機(jī)接口(HMI)的工具。
背景技術(shù):
自動(dòng)化過程中的HMI是向操作者提供關(guān)于過程的狀態(tài)的信息以及接受并且實(shí)施 操作者的控制指令的軟件應(yīng)用(通常是圖形用戶接口或⑶I)。HMI還可以解釋過程信息, 以及引導(dǎo)操作者與用于使過程自動(dòng)化并且控制該過程的系統(tǒng)進(jìn)行交互。HMI向用戶提供了很多好處。從人的因素方面來說,這些好處包括但不限于,HMI 容易學(xué)習(xí)和記憶,產(chǎn)生錯(cuò)誤的可能性較小,在實(shí)現(xiàn)目標(biāo)時(shí)更為有效以及在使用中更令人滿 意。隨著計(jì)算機(jī)技術(shù)的進(jìn)步,HMI已經(jīng)成為了產(chǎn)品、過程或系統(tǒng)的可用性中必不可少的部分。HMI開發(fā)系統(tǒng)包括兩部分,存在于開發(fā)計(jì)算機(jī)中的開發(fā)環(huán)境以及存在于目標(biāo)計(jì)算 機(jī)中的運(yùn)行時(shí)(runtime)環(huán)境。開發(fā)者通常使用開發(fā)計(jì)算機(jī)上的開發(fā)環(huán)境來創(chuàng)建HMI應(yīng)用, 該HMI應(yīng)用繼而被下載到目標(biāo)計(jì)算機(jī)以供執(zhí)行?,F(xiàn)有的以過程自動(dòng)化工業(yè)中的非程序設(shè)計(jì)人員為對(duì)象的HMI開發(fā)工具是專有軟 件。目前在市場(chǎng)上針對(duì)這個(gè)行業(yè)的商業(yè)HMI開發(fā)產(chǎn)品,例如出自Rockwell Automation的 RSView、出自 Siemens 的 Simatic,和出自 hvensys Systems 的 WonderWare 屬于這種類型。 如圖1中的系統(tǒng)100中所示,專有HMI工具在開發(fā)計(jì)算機(jī)101上提供了其自身的開發(fā)環(huán)境 104以及可能地提供其自身的簡(jiǎn)單程序設(shè)計(jì)語言(通常指宏指令或腳本)。此外,由于HMI 應(yīng)用103大多通常都會(huì)具有專有的格式,因而需要有專有運(yùn)行時(shí)環(huán)境105以在目標(biāo)計(jì)算機(jī) 102上執(zhí)行被創(chuàng)建的HMI應(yīng)用103。明顯地,這種類型的工具會(huì)遇到高成本,以及缺少開放 性和靈活性的問題。由于通用⑶I工具已經(jīng)進(jìn)步到當(dāng)前可以免費(fèi)獲得的通用.NET Framework軟件開 發(fā)工具包(SDK)和Java SDK的級(jí)別,所以這種方式不再是必要的。大多數(shù)在HMI開發(fā)環(huán)境 中所需要的組件都存在于這些通用SDK中。此外,當(dāng)前的通用SDK產(chǎn)品提供了定制機(jī)會(huì)。即 使具有了這個(gè)功能,這些通用SDK仍不能容易地供自動(dòng)化工業(yè)中的非程序設(shè)計(jì)人員(例如 操作者)使用以開發(fā)新的GUI或?qū)ΜF(xiàn)有的GUI進(jìn)行改變。因此,非常需要一種HMI開發(fā)工具,其利用通用SDK但具有低成本,易于非程序設(shè) 計(jì)人員使用,且具有開放性和靈活性。
發(fā)明內(nèi)容
一種用于針對(duì)自動(dòng)化過程開發(fā)具有用戶接口對(duì)象的可視界面的系統(tǒng)。該自動(dòng)化過 程具有可供在該系統(tǒng)中使用的一組數(shù)據(jù)對(duì)象。該系統(tǒng)具有一組公用設(shè)計(jì)時(shí)間組件,來自具有數(shù)據(jù)綁定設(shè)備的通用軟件開發(fā)工具包;以及一組定制組件,具有自動(dòng)化過程對(duì)象接口,其允許訪問可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象,以及過程對(duì)象選擇器,充當(dāng)通向數(shù)據(jù)綁定設(shè)備的用戶接口,以允許
瀏覽可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的子集,以及選擇該子集中的一個(gè)或多個(gè)對(duì)象,用于通過數(shù)據(jù)綁定設(shè)備而綁定到用戶接口對(duì)象 的一個(gè)或多個(gè)成員、一個(gè)或多個(gè)用戶接口對(duì)象或者一個(gè)或多個(gè)成員和一個(gè)或多個(gè)用戶接口 對(duì)象的組合,該一個(gè)或多個(gè)子集數(shù)據(jù)對(duì)象中的每一個(gè)都在被如此綁定后影響界面的外觀和 行為二者。一種在有形計(jì)算機(jī)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,用于針對(duì)自動(dòng)化過程開發(fā)具有用戶 接口對(duì)象的可視界面。該自動(dòng)化過程具有可供在所述計(jì)算機(jī)程序產(chǎn)品中使用的一組數(shù)據(jù)對(duì) 象。該計(jì)算機(jī)程序產(chǎn)品具有計(jì)算機(jī)可用程序代碼,配置用于提供來自通用軟件開發(fā)工具包一組公用設(shè)計(jì)時(shí)間 組件,所述公用設(shè)計(jì)時(shí)間組件具有數(shù)據(jù)綁定設(shè)備;以及計(jì)算機(jī)可用程序代碼,配置用于提供一組定制組件,具有計(jì)算機(jī)可用程序代碼,配置用于提供自動(dòng)化過程對(duì)象接口,其允許訪問可供使用 的自動(dòng)化過程數(shù)據(jù)對(duì)象,以及計(jì)算機(jī)可用程序代碼,配置用于提供過程對(duì)象選擇器,其充當(dāng)通向數(shù)據(jù)綁定設(shè)備 的用戶接口,以允許瀏覽可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的子集,以及選擇該子集中的一個(gè)或多個(gè)對(duì)象,用于通過數(shù)據(jù)綁定設(shè)備而綁定到用戶接口對(duì)象 的一個(gè)或多個(gè)成員、一個(gè)或多個(gè)用戶接口對(duì)象,或者一個(gè)或多個(gè)成員和一個(gè)或多個(gè)用戶接 口對(duì)象的組合,一個(gè)或多個(gè)子集數(shù)據(jù)對(duì)象中的每一個(gè)都在被如此綁定后影響界面的外觀和 行為二者。一種用于針對(duì)自動(dòng)化過程開發(fā)具有用戶接口對(duì)象的可視界面的系統(tǒng)。該自動(dòng)化過 程具有在該系統(tǒng)中可供使用的一組數(shù)據(jù)對(duì)象。該系統(tǒng)具有計(jì)算設(shè)備,其中具有可由該計(jì)算設(shè)備使用的程序代碼,該程序代碼具有代碼,配置用于從通用軟件開發(fā)工具包提供一組公用設(shè)計(jì)時(shí)間組件,該公用設(shè)計(jì) 時(shí)間組件包括數(shù)據(jù)綁定設(shè)備;以及代碼,配置用于提供一組定制組件,具有代碼,配置用于提供自動(dòng)化過程對(duì)象接口,其允許訪問可供使用的自動(dòng)化過程數(shù) 據(jù)對(duì)象,以及代碼,配置用于提供過程對(duì)象選擇器,其充當(dāng)通向數(shù)據(jù)綁定設(shè)備的用戶接口,以允 許瀏覽可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的子集,以及選擇該子集中的一個(gè)或多個(gè)對(duì)象,用于通過數(shù)據(jù)綁定設(shè)備而綁定到用戶接口對(duì)象 的一個(gè)或多個(gè)成員、一個(gè)或多個(gè)用戶接口對(duì)象,或者一個(gè)或多個(gè)成員和一個(gè)或多個(gè)用戶接 口對(duì)象的組合,一個(gè)或多個(gè)子集數(shù)據(jù)對(duì)象中的每一個(gè)都在如此綁定后影響界面的外觀和行
為二者。
圖1示出了以供非程序設(shè)計(jì)人員使用為目標(biāo)的現(xiàn)有技術(shù)中的專有HMI開發(fā)系統(tǒng)的結(jié)構(gòu)。
圖2示出了本發(fā)明中的HMI開發(fā)系統(tǒng)的結(jié)構(gòu)。圖3針對(duì)圖2中的HMI開發(fā)系統(tǒng)以組件圖的形式示出了 HMI開發(fā)環(huán)境的架構(gòu)的一 個(gè)示例。圖3a針對(duì)本發(fā)明中的HMI開發(fā)系統(tǒng)示出了用于示例性自動(dòng)化過程的示例性HMI 開發(fā)系統(tǒng)實(shí)現(xiàn)。圖3b針對(duì)本發(fā)明中的HMI開發(fā)系統(tǒng)示出了示例性自動(dòng)化過程對(duì)象瀏覽器。圖3c針對(duì)本發(fā)明中的HMI開發(fā)系統(tǒng)示出了自動(dòng)化過程對(duì)象選擇器的示例性實(shí)現(xiàn)。圖4示出了針對(duì)圖3中所示的開發(fā)系統(tǒng)的示例性工作流程。圖5示出了在過程類型和UI類型之間轉(zhuǎn)換的多種方式。
具體實(shí)施例方式本發(fā)明是一種供自動(dòng)化工業(yè)中的非程序設(shè)計(jì)人員使用的開放性HMI開發(fā)系統(tǒng)。在 下述描述中,為了對(duì)本發(fā)明提供更為徹底的描述而闡明了許多特定的細(xì)節(jié)。然而,對(duì)本領(lǐng)域 技術(shù)人員來說,很明顯可以在沒有這些特定細(xì)節(jié)的情況下實(shí)施本發(fā)明。在其他示例中,為了 不使本發(fā)明變得難以理解,并沒有對(duì)眾所周知的特征進(jìn)行詳細(xì)地描述。正如可以被本領(lǐng)域技術(shù)人員領(lǐng)會(huì)的一樣,本發(fā)明可以采取在有形的、計(jì)算機(jī)可用 或者計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式,其具有被包含在該介質(zhì)中的計(jì)算機(jī)可用 程序代碼。該有形的、計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何有形的介質(zhì),例如但不限 于便攜式計(jì)算機(jī)軟盤,閃速驅(qū)動(dòng)器(flash drive),硬盤,隨機(jī)存取存儲(chǔ)器(RAM),只讀存 儲(chǔ)器(ROM),可擦除可編程只讀存儲(chǔ)器(EPR0M或閃存),便攜式光盤只讀存儲(chǔ)器(CD-ROM), 光存儲(chǔ)器設(shè)備,或磁存儲(chǔ)器設(shè)備。用于實(shí)現(xiàn)本發(fā)明中的操作的計(jì)算機(jī)程序代碼可以使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語言 進(jìn)行編寫,例如使用Java,Smalltalk, C++等等,或者也可以使用例如“C”程序設(shè)計(jì)語言的 常規(guī)的過程程序設(shè)計(jì)語言進(jìn)行編寫。程序代碼可以全部在用戶的計(jì)算機(jī)上執(zhí)行,部分地在 用戶的計(jì)算機(jī)上執(zhí)行,作為獨(dú)立的軟件包執(zhí)行,一部分在用戶的計(jì)算機(jī)上執(zhí)行且一部分在 遠(yuǎn)程計(jì)算機(jī)上執(zhí)行,或者全部在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后者的情形中,可以通過局 域網(wǎng)(LAN)或廣域網(wǎng)(WAN)將遠(yuǎn)程計(jì)算機(jī)連接到用戶的計(jì)算機(jī),或者該連接可以連接到外 部計(jì)算機(jī)(例如,使用因特網(wǎng)服務(wù)提供方通過因特網(wǎng)來連接)。圖2示出了本發(fā)明中的HMI開發(fā)系統(tǒng)200的結(jié)構(gòu)。和現(xiàn)有技術(shù)的系統(tǒng)100 —樣,系 統(tǒng)200包括具有HMI開發(fā)環(huán)境204的開發(fā)計(jì)算機(jī)201,目標(biāo)計(jì)算機(jī)202以及HMI應(yīng)用203。 本發(fā)明中的系統(tǒng)200和現(xiàn)有技術(shù)的系統(tǒng)100之間的區(qū)別在于駐留在HMI開發(fā)環(huán)境204和目 標(biāo)計(jì)算機(jī)202中的是什么。如圖2中所示,在HMI開發(fā)環(huán)境204中,駐留有過程依賴定制設(shè)計(jì)時(shí)間組件206和 來自通用SDK的一組公用設(shè)計(jì)時(shí)間組件207 二者。仍如圖2中所示,在目標(biāo)計(jì)算機(jī)202中 駐留了定制運(yùn)行時(shí)組件208和通用運(yùn)行時(shí)環(huán)境209。HMI開發(fā)環(huán)境204被用于創(chuàng)建可以在 目標(biāo)計(jì)算機(jī)202中執(zhí)行的HMI應(yīng)用203。由于通用運(yùn)行時(shí)環(huán)境209是用于執(zhí)行HMI應(yīng)用203的主機(jī),因而這些應(yīng)用必須具 有該環(huán)境所要求的格式。截止到針對(duì)本發(fā)明所遞交的第一次美國(guó)專利申請(qǐng)的申請(qǐng)日,最常 用的通用 SDK 是來自 Microsoft 的.NET Framework 和來自 Sun Microsystems 的 Java SDK。它們二者都具有作為虛擬機(jī)的運(yùn)行時(shí)環(huán)境,并且使用字節(jié)代碼作為可執(zhí)行的格式。當(dāng)目標(biāo)計(jì)算機(jī)202和開發(fā)計(jì)算機(jī)201的架構(gòu)不同時(shí),如果需要,定制運(yùn)行時(shí)組件 208可以是針對(duì)不同類型的CPU進(jìn)行編譯和優(yōu)化的它們的過程依賴對(duì)應(yīng)定制設(shè)計(jì)時(shí)間組件 206的子集。從功能上來說,公用設(shè)計(jì)時(shí)間組件207提供HMI開發(fā)環(huán)境204的架構(gòu)支持和基 本構(gòu)件塊。定制組件206為非程序設(shè)計(jì)人員用戶屏蔽了 SDK的復(fù)雜性。非程序設(shè)計(jì)人員用 戶熟悉自動(dòng)化過程工件,而該組件206將這些工件向該用戶公開。圖3示出了用于針對(duì)自動(dòng)化過程301開發(fā)HMI應(yīng)用的環(huán)境204的架構(gòu)的一個(gè)示例。 應(yīng)當(dāng)領(lǐng)會(huì)的是,自動(dòng)化過程301以及由此目標(biāo)計(jì)算機(jī)202可以與開發(fā)計(jì)算機(jī)201相隔很遠(yuǎn)。圖4中的流程圖示出了針對(duì)該環(huán)境的工作流程。圖3a的屏幕截圖示出了針對(duì)圖 3中的環(huán)境的實(shí)現(xiàn)的一個(gè)示例。參考圖3,虛線框207示出了來自通用SDK的公用設(shè)計(jì)時(shí)間組件,而虛線框206示 出了過程依賴定制設(shè)計(jì)時(shí)間組件。公用設(shè)計(jì)時(shí)間組件207在下文中進(jìn)行描述,而后則是對(duì) 過程依賴組件206的描述。UI (用戶接口)組件工具箱302容納可以用于構(gòu)成HMI界面的所有UI組件。UI組 件的典型示例在圖3a中名為“ScreenMaker”的工具箱中示出,并且在該圖中通過附圖標(biāo)記 302 標(biāo)示,為 “Label”、“Button” 和 “PictureBox” 等。UI 組件的另一示例是“CheckBox”, 其并未在工具箱302中示出。再次參考圖3,界面設(shè)計(jì)表面303起到畫布的作用,從而用于繪制圖片。其以非常 類似于該界面的運(yùn)行時(shí)外觀的方式,可視地示出了界面上的所有UI組件。此外,設(shè)計(jì)表面 303提供了布局能力,從而使得開發(fā)者可以使用簡(jiǎn)單的鼠標(biāo)點(diǎn)擊和/或鍵盤來容易地定位 UI組件、調(diào)整UI組件的大小以及排列UI組件。在大多數(shù)實(shí)現(xiàn)中,為了把新的UI組件添加 到界面中,開發(fā)者可以將這個(gè)UI組件從工具箱302拖拽到設(shè)計(jì)表面303上。UI配置窗口 307被用于進(jìn)一步對(duì)界面上的UI組件進(jìn)行配置。例如正如在圖3a中 所示的,窗口 307可以被用于針對(duì)按鈕改變文本的字體和顏色。圖3中的數(shù)據(jù)源窗口 305 是用來容納和瀏覽HMI可獲得的所有有關(guān)的應(yīng)用數(shù)據(jù)對(duì)象的地方。針對(duì)以自動(dòng)化過程作為 對(duì)象的HMI,數(shù)據(jù)源窗口列出了在自動(dòng)化過程301上的所有有關(guān)的數(shù)據(jù)對(duì)象。這一點(diǎn)在下文 中進(jìn)行了更詳細(xì)的描述。繼續(xù)參考圖3,數(shù)據(jù)綁定設(shè)備306提供了如下機(jī)制和用戶接口,該機(jī)制和用戶接口 把一個(gè)或多個(gè)可供使用的應(yīng)用數(shù)據(jù)對(duì)象的子集綁定到用戶接口對(duì)象的一個(gè)或多個(gè)公共成 員(典型但不限于它的屬性)、一個(gè)或多個(gè)用戶接口對(duì)象、或者一個(gè)或多個(gè)成員和一個(gè)或多 個(gè)用戶接口對(duì)象的組合。在.NET Framework中,用戶接口對(duì)象的公共成員包括域、屬性、方 法和事件。數(shù)據(jù)綁定是現(xiàn)代通用SDK中的UI程序設(shè)計(jì)模型的公用內(nèi)置特征。在運(yùn)行時(shí)期間,數(shù)據(jù)綁定機(jī)制維持一個(gè)或多個(gè)可供使用的應(yīng)用數(shù)據(jù)對(duì)象的子集與 一個(gè)或多個(gè)用戶接口對(duì)象或者這樣的對(duì)象中的一個(gè)或多個(gè)公共成員或者互相綁定的它們 的組合之間的同步邏輯連接。每當(dāng)一個(gè)或多個(gè)可供使用的應(yīng)用數(shù)據(jù)對(duì)象變化時(shí),被綁定的 一個(gè)或多個(gè)用戶接口對(duì)象,或者這樣的對(duì)象的一個(gè)或多個(gè)公共成員,或者它們的組合也相 應(yīng)地變化,并且反之亦然。這個(gè)同步由該連接任何一側(cè)上的變化自動(dòng)地觸發(fā)。在開發(fā)時(shí)間期間,UI開發(fā)者有責(zé)任指定哪個(gè)用戶接口對(duì)象或者這樣的對(duì)象的哪個(gè) 公共成員或者它們的哪個(gè)組合連接到可供使用的應(yīng)用數(shù)據(jù)對(duì)象中的哪一個(gè)或哪幾個(gè)。針對(duì)
7一個(gè)或多個(gè)可供使用的應(yīng)用數(shù)據(jù)對(duì)象的子集到用戶接口對(duì)象的一個(gè)或多個(gè)公共成員、或者 一個(gè)或多個(gè)用戶接口對(duì)象、或者它們的組合的這一綁定,數(shù)據(jù)綁定設(shè)備306提供用戶接口, 并且還允許用戶指定這些對(duì)象之間的連接。數(shù)據(jù)綁定還允許UI開發(fā)者從數(shù)據(jù)源窗口 305直接把數(shù)據(jù)對(duì)象拖放到設(shè)計(jì)表面303 上。將數(shù)據(jù)對(duì)象直接拖放到設(shè)計(jì)表面303上的這一能力需要針對(duì)數(shù)據(jù)源窗口 305中的每種 對(duì)象類型配置可應(yīng)用的UI組件。每當(dāng)數(shù)據(jù)對(duì)象被拖放到設(shè)計(jì)表面303上時(shí),它的默認(rèn)UI 組件繼而被創(chuàng)建并被放置在設(shè)計(jì)表面上。此外,被拖拽的數(shù)據(jù)對(duì)象自動(dòng)地綁定到被創(chuàng)建的 UI組件。正如可以領(lǐng)會(huì)的一樣,數(shù)據(jù)綁定使得非程序設(shè)計(jì)人員可以直觀且容易地開發(fā)HMI 而不必編寫程序代碼。由于UI組件和數(shù)據(jù)對(duì)象之間的同步邏輯連接,數(shù)據(jù)綁定允許HMI應(yīng)用中的UI外 形與過程邏輯分離。UI僅僅負(fù)責(zé)圖形外觀,并且不了解它所控制或顯示的自動(dòng)化過程。這 個(gè)分離使它可以使用任何具有相同通用SDK的UI組件。因此與現(xiàn)有技術(shù)中的UI與過程邏 輯相混合的HMI開發(fā)系統(tǒng)相比,本發(fā)明實(shí)現(xiàn)了更高的開放性。正如以下詳細(xì)描述的,對(duì)數(shù)據(jù) 綁定設(shè)備306定制使得本發(fā)明中的HMI開發(fā)系統(tǒng)可以更加實(shí)用,并且與現(xiàn)有技術(shù)的HMI開 發(fā)系統(tǒng)相比具有更多的功能。代碼生成和構(gòu)建引擎304負(fù)責(zé)在用戶對(duì)界面上的UI組件完成布局、配置和數(shù)據(jù)綁 定之后生成和構(gòu)建源代碼。通用SDK,例如.NET Framework,具有這個(gè)引擎,該SDK例如可 以針對(duì)Windows視窗設(shè)計(jì)表面生成C#或VB. NET源代碼,并將其編譯和構(gòu)建(build)成能 在安裝有.NET Framework的任何目標(biāo)計(jì)算機(jī)上運(yùn)行的可執(zhí)行代碼。以上所描述的組件要么可以直接在例如.NET Framework的通用SDK中獲得,要么 可以由其來構(gòu)造。這些SDK為所有HMI開發(fā)系統(tǒng)提供了公用的功能部件。因此以上所描述 的組件就像來自圖3中的通用SDK塊207中的公用設(shè)計(jì)時(shí)間組件一樣被分組在一起。虛線框206容納依賴于過程的組件。依照本發(fā)明,針對(duì)PLC程序設(shè)計(jì)人員的HMI 開發(fā)系統(tǒng)與針對(duì)工業(yè)機(jī)器人程序設(shè)計(jì)人員具有的HMI開發(fā)系統(tǒng)具有相同分組的組件207, 但是與用于針對(duì)工業(yè)機(jī)器人程序設(shè)計(jì)人員的HMI開發(fā)系統(tǒng)的分組的組件相比,具有分組的 組件206的不同實(shí)現(xiàn)。對(duì)于以自動(dòng)化過程為對(duì)象的HMI開發(fā)系統(tǒng),定制組件206包括但不限于自動(dòng)化過 程對(duì)象訪問接口 310,自動(dòng)化過程對(duì)象瀏覽器308以及過程對(duì)象選擇器309。自動(dòng)化過程對(duì) 象訪問接口 310提供訪問在自動(dòng)化過程301中可使用的對(duì)象的一種手段,該對(duì)象可以位于 或臨近于或遠(yuǎn)離開發(fā)計(jì)算機(jī)201的位置。自動(dòng)化過程對(duì)象瀏覽器308列出在自動(dòng)化過程中所有可以通過訪問接口 310獲得 的對(duì)象。瀏覽器308充當(dāng)通往數(shù)據(jù)源窗口 305的輸入,并且特別地,任何數(shù)據(jù)對(duì)象都可以被 直接拖放到界面設(shè)計(jì)表面303上。在圖北中,針對(duì)機(jī)器人自動(dòng)化過程示出了對(duì)象瀏覽器 308的示例性實(shí)現(xiàn)。工具箱323列出了可以綁定到名為“UI_UnldWP”As Proc的被加亮數(shù) 據(jù)對(duì)象的全部可適用的UI組件。過程對(duì)象選擇器309充當(dāng)被定制的數(shù)據(jù)綁定用戶接口從而使得用戶可以容易地 瀏覽來自自動(dòng)化過程301的可適用的數(shù)據(jù)對(duì)象,以及確定過程對(duì)象是否可以作為用戶接口 對(duì)象的成員使用,以及將兼容的自動(dòng)化過程對(duì)象綁定到用戶接口對(duì)象。在圖3c中,針對(duì)機(jī) 器人自動(dòng)化過程示出了過程對(duì)象選擇器309的示例性實(shí)現(xiàn)。圖3c中所示出的針對(duì)數(shù)據(jù)選擇器309的實(shí)施方式列出了所有可適用的對(duì)象,S卩,在機(jī)器人控制器中可以綁定到用戶接 口中的選擇框的所有布爾變量。布爾變量是在圖3c中名為“Variable”的下拉框中示出的 變量。圖3c還示出了名為“Module”的選擇框和名為“Routine”的選擇框?!癡ariable”框 在圖3c中示出了名為“testBooll”的布爾變量。在模塊選擇框中的“ProcessBuilder”被 加亮?xí)r,在模塊級(jí)定義該變量。腳本引擎311允許用戶創(chuàng)建用于與用戶接口進(jìn)行綁定的臨 時(shí)變量和函數(shù)。在通用SDK中,數(shù)據(jù)選擇器可以只列出在UI側(cè)上具有相同類型系統(tǒng)的數(shù)據(jù)對(duì)象。 在UI側(cè)使用的程序設(shè)計(jì)語言經(jīng)常與在過程側(cè)使用的程序設(shè)計(jì)語言不同。在UI側(cè),通常使 用面向?qū)ο蟮?、基于組件的通用程序設(shè)計(jì)語言,例如c#和Java ;然而,在過程側(cè),經(jīng)常使用 簡(jiǎn)單地基于過程的專用程序設(shè)計(jì)語言,例如來自ABB的PLC梯形邏輯和機(jī)器人程序設(shè)計(jì)語 言RAPID。因此,在通用SDK中,過程側(cè)數(shù)據(jù)對(duì)象在被顯示在數(shù)據(jù)選擇器中之前必須首先轉(zhuǎn) 換到UI側(cè)。這個(gè)方式不適合熟悉過程側(cè)但對(duì)UI內(nèi)部結(jié)構(gòu)缺少經(jīng)驗(yàn)的HMI開發(fā)者。因此, 定制數(shù)據(jù)綁定設(shè)備306,從而直接在選擇器309中列出過程側(cè)對(duì)象而不是來自UI側(cè)的等同 對(duì)象,以及從而自動(dòng)過濾針對(duì)用戶接口對(duì)象的給定成員的不適用的過程對(duì)象,這對(duì)于對(duì)使 用這樣的開發(fā)工具方面缺乏經(jīng)驗(yàn)的HMI開發(fā)者來說屏蔽了 HMI開發(fā)環(huán)境204的復(fù)雜性。這 個(gè)定制給予了缺乏經(jīng)驗(yàn)的HMI開發(fā)者他/她僅僅正在處理過程側(cè)的假象。因而實(shí)現(xiàn)了更高 級(jí)別的可用性。針對(duì)自動(dòng)化過程設(shè)計(jì)智能對(duì)象轉(zhuǎn)換器因而對(duì)數(shù)據(jù)選擇器309非常重要。對(duì)象轉(zhuǎn)換 器確定過程對(duì)象是否可以被用于用戶接口對(duì)象的成員,以及如果可以的話能夠如何對(duì)其進(jìn) 行轉(zhuǎn)換。這意味著對(duì)象轉(zhuǎn)換器還充當(dāng)過濾器。圖5在非限定的情況下示出了直接轉(zhuǎn)換器和 索引轉(zhuǎn)換器,其作為可以與本發(fā)明一起使用的對(duì)象轉(zhuǎn)換器的兩個(gè)示例。當(dāng)在過程側(cè)上和在UI側(cè)上的對(duì)象的性質(zhì)或類的類型相同但表示和存儲(chǔ)可能不同 時(shí),進(jìn)行直接轉(zhuǎn)換。這樣的類型的典型示例是數(shù)字類型。不同的程序設(shè)計(jì)語言具有不同的 方法用來表示和存儲(chǔ)數(shù)值,但是它們是可轉(zhuǎn)換的。在任何一側(cè),都有某些類型不能被直接轉(zhuǎn)換成另一側(cè)的任何類型。典型的示例是 經(jīng)常在面向?qū)ο蟪绦蛟O(shè)計(jì)語言中使用但幾乎不存在于過程語言中的對(duì)象或類的類型。執(zhí)行 轉(zhuǎn)換的一種簡(jiǎn)單方式是通過索引編制。索引變量具有來自第一種類的類型,通常是數(shù)字型。 它的值充當(dāng)通至預(yù)定義的一組值的索引,不可轉(zhuǎn)換類型的變量可以在給定的文本中具有該 預(yù)定義的一組值。例如,假設(shè)UI的顏色需要依照過程的狀態(tài)進(jìn)行變化。過程狀態(tài)是值為0、 1或2的整數(shù)。該顏色可以被預(yù)定義為當(dāng)狀態(tài)值為0時(shí)是紅色,值為1時(shí)是綠色以及值為2 時(shí)是黃色。正如可以看到的,過程狀態(tài)在本質(zhì)上充當(dāng)索引變量。對(duì)具有一種數(shù)據(jù)類型的用 戶接口對(duì)象的一個(gè)或多個(gè)成員或者一個(gè)或多個(gè)用戶接口對(duì)象與具有另一種數(shù)據(jù)類型的可 供使用的數(shù)據(jù)對(duì)象的子集進(jìn)行索引綁定,這可以通過在數(shù)據(jù)綁定設(shè)備中具有被稱作哈希表 的查找表而得以實(shí)現(xiàn)。該查找表具有至少兩欄以及需要數(shù)量的行。兩欄中的被稱作索引的 一欄具有一種數(shù)據(jù)類型,而兩欄中的被稱作表示(expression)的另一欄具有另一種數(shù)據(jù) 類型,并且因而每一行都具有索引和表示。數(shù)據(jù)綁定設(shè)備使用該表對(duì)可供使用的數(shù)據(jù)對(duì)象 的子集中的一個(gè)或多個(gè)對(duì)象與一個(gè)或多個(gè)用戶接口對(duì)象或者用戶接口對(duì)象的一個(gè)或多個(gè) 成員進(jìn)行綁定。在用于索引綁定的表的一種使用中,選擇可供使用的應(yīng)用數(shù)據(jù)對(duì)象,從而使其具有與表的索引變量相同的數(shù)據(jù)類型。因此,這個(gè)應(yīng)用數(shù)據(jù)類型充當(dāng)表索引,并且針對(duì)表中所 選擇的行,來獲得相關(guān)聯(lián)的表示值。由于用戶接口對(duì)象或者它的成員具有與該表示相同的 數(shù)據(jù)類型,所選擇的表示值可以被分配到應(yīng)用數(shù)據(jù)對(duì)象。在用于索引綁定的表格的另一種使用中,選擇用戶接口對(duì)象或者它的成員以使其 具有與表的索引變量相同的數(shù)據(jù)類型。因此,這個(gè)用戶接口對(duì)象或者它的成員充當(dāng)表索引, 并且針對(duì)表中所選擇的行,獲得相關(guān)聯(lián)的表示值。由于可供使用的應(yīng)用數(shù)據(jù)對(duì)象具有與表 示相同的數(shù)據(jù)類型,所選擇的表示值可以被分配到用戶接口對(duì)象或者它的成員。應(yīng)當(dāng)領(lǐng)會(huì)的是,該表可以通過任何任意選擇的數(shù)據(jù)類型的變量來編制索引。圖3中所示的組件示出了 HMI開發(fā)環(huán)境204的架構(gòu)的一個(gè)示例??梢詫?duì)這些組件 進(jìn)行變化、合并以及拆分??梢蕴砑痈嗟慕M件來促進(jìn)更多的功能,如圖3a中的示例性實(shí) 現(xiàn)所示,其中組件321提供項(xiàng)目管理及組件322是布局工具欄。應(yīng)當(dāng)理解的是,前述的示例性實(shí)施方式的描述僅僅意在對(duì)本發(fā)明進(jìn)行說明,而不 是窮舉。普通技術(shù)人員能夠?qū)λ_的主題的實(shí)施方式進(jìn)行某些添加、刪除,和/或改變, 而不會(huì)背離本發(fā)明的精神或由附加的權(quán)利要求所定義的本發(fā)明的范圍。
權(quán)利要求
1.一種用于針對(duì)自動(dòng)化過程開發(fā)具有用戶接口對(duì)象的可視界面的系統(tǒng),所述自動(dòng)化過 程具有可供在所述系統(tǒng)中使用的一組數(shù)據(jù)對(duì)象,所述系統(tǒng)包括一組公用設(shè)計(jì)時(shí)間組件,來自包括數(shù)據(jù)綁定設(shè)備的通用軟件開發(fā)工具包;以及 一組定制組件,其包括自動(dòng)化過程對(duì)象接口,其允許訪問所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象,以及 過程對(duì)象選擇器,其充當(dāng)通向所述數(shù)據(jù)綁定設(shè)備的用戶接口,以允許 瀏覽所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的子集,以及選擇所述子集中的一個(gè)或多個(gè)所述對(duì)象,用于通過所述數(shù)據(jù)綁定設(shè)備而綁定到所述用 戶接口對(duì)象的一個(gè)或多個(gè)成員,一個(gè)或多個(gè)所述用戶接口對(duì)象,或者一個(gè)或多個(gè)所述成員 和一個(gè)或多個(gè)所述用戶接口對(duì)象的組合,所述一個(gè)或多個(gè)子集數(shù)據(jù)對(duì)象中的每一個(gè)都在被 如此綁定后影響所述界面的外觀和行為二者。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述一組定制組件還包括自動(dòng)化過程對(duì)象瀏覽 器,其列出所有所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述一個(gè)或多個(gè)用戶接口對(duì)象或者所述用戶接口 對(duì)象的所述一個(gè)或多個(gè)成員具有預(yù)定的數(shù)據(jù)類型,并且所述可供使用的數(shù)據(jù)對(duì)象的所述子 集具有所述預(yù)定的數(shù)據(jù)類型。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述一個(gè)或多個(gè)用戶接口對(duì)象或者所述用戶接口 對(duì)象的所述一個(gè)或多個(gè)成員具有一種數(shù)據(jù)類型,并且所述可供使用的數(shù)據(jù)對(duì)象的所述子集 具有另一種數(shù)據(jù)類型,所述數(shù)據(jù)綁定設(shè)備包括具有至少兩欄的查找表,從而使得所述兩欄 中的一欄具有所述一種數(shù)據(jù)類型,并且所述兩欄中的另一欄具有所述另一種數(shù)據(jù)類型,所 述數(shù)據(jù)綁定設(shè)備使用所述查找表來綁定所述可供使用的數(shù)據(jù)對(duì)象的所述子集中一個(gè)或多 個(gè)所述對(duì)象與一個(gè)或多個(gè)所述用戶接口對(duì)象或者所述用戶接口對(duì)象的所述一個(gè)或多個(gè)成 員O
5.一種在有形計(jì)算機(jī)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,用于針對(duì)自動(dòng)化過程開發(fā)具有用戶接 口對(duì)象的可視界面,所述自動(dòng)化過程具有可供在所述計(jì)算機(jī)程序產(chǎn)品中使用的一組數(shù)據(jù)對(duì) 象,所述計(jì)算機(jī)程序產(chǎn)品包括配置用于提供來自通用軟件開發(fā)工具包的一組公用設(shè)計(jì)時(shí)間組件的計(jì)算機(jī)可用的程 序代碼,所述公用設(shè)計(jì)時(shí)間組件包括數(shù)據(jù)綁定設(shè)備;以及配置用于提供一組定制組件的計(jì)算機(jī)可用的程序代碼,其包括 配置用于提供自動(dòng)化過程對(duì)象接口,其允許訪問所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象 的計(jì)算機(jī)可用的程序代碼,以及配置用于提供過程對(duì)象選擇器,以充當(dāng)通向所述數(shù)據(jù)綁定設(shè)備的用戶接口的計(jì)算機(jī)可 用的程序代碼,以允許瀏覽所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的子集,以及選擇所述子集中的一個(gè)或多個(gè)所述對(duì)象,用于通過所述數(shù)據(jù)綁定設(shè)備綁定到所述用戶 接口對(duì)象的一個(gè)或多個(gè)成員,一個(gè)或多個(gè)所述用戶接口對(duì)象,或者一個(gè)或多個(gè)所述成員和 一個(gè)或多個(gè)所述用戶接口對(duì)象的組合,所述一個(gè)或多個(gè)子集數(shù)據(jù)對(duì)象中的每一個(gè)都在被如 此綁定后影響所述界面的外觀和行為二者。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)程序產(chǎn)品,其中所述一組定制組件還包括這樣的計(jì)算機(jī)可用程序代碼,其配置用于提供自動(dòng)化過程對(duì)象瀏覽器,以列出所有所述可供使用的自 動(dòng)化過程數(shù)據(jù)對(duì)象。
7.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)程序產(chǎn)品,其中所述一個(gè)或多個(gè)用戶接口對(duì)象或者所 述用戶接口對(duì)象的所述一個(gè)或多個(gè)成員具有預(yù)定的數(shù)據(jù)類型,并且所述可供使用的數(shù)據(jù)對(duì) 象的所述子集具有所述預(yù)定的數(shù)據(jù)類型。
8.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)程序產(chǎn)品,其中所述一個(gè)或多個(gè)用戶接口對(duì)象或者所 述用戶接口對(duì)象的所述一個(gè)或多個(gè)成員具有一種數(shù)據(jù)類型,并且所述可供使用的數(shù)據(jù)對(duì)象 的所述子集具有另一種數(shù)據(jù)類型,所述數(shù)據(jù)綁定設(shè)備包括具有至少兩欄的查找表,從而使 得所述兩欄中的一欄具有所述一種數(shù)據(jù)類型,并且所述兩欄中的另一欄具有所述另一種數(shù) 據(jù)類型,所述數(shù)據(jù)綁定設(shè)備使用所述查找表來綁定所述可供使用的數(shù)據(jù)對(duì)象的所述子集中 一個(gè)或多個(gè)所述對(duì)象與一個(gè)或多個(gè)所述用戶接口對(duì)象或者所述用戶接口對(duì)象的所述一個(gè) 或多個(gè)成員。
9.一種用于針對(duì)自動(dòng)化過程開發(fā)具有用戶接口對(duì)象的可視界面的系統(tǒng),所述自動(dòng)化過 程具有可供在所述系統(tǒng)中使用的一組數(shù)據(jù)對(duì)象,所述系統(tǒng)包括計(jì)算設(shè)備,其中具有可由所述計(jì)算設(shè)備使用的程序代碼,所述程序代碼包括配置用于提供來自通用軟件開發(fā)工具包的一組公用設(shè)計(jì)時(shí)間組件的代碼,所述公用設(shè) 計(jì)時(shí)間組件包括數(shù)據(jù)綁定設(shè)備;以及配置用于提供一組定制組件的代碼,其包括配置用于提供自動(dòng)化過程對(duì)象接口,其允許訪問所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象 的代碼,以及配置用于提供過程對(duì)象選擇器,其充當(dāng)通向所述數(shù)據(jù)綁定設(shè)備的用戶接口的代碼,以 允許瀏覽所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的子集,以及選擇所述子集中的一個(gè)或多個(gè)所述對(duì)象,用于通過所述數(shù)據(jù)綁定設(shè)備而綁定到所述用 戶接口對(duì)象的一個(gè)或多個(gè)成員,一個(gè)或多個(gè)所述用戶接口對(duì)象,或者一個(gè)或多個(gè)所述成員 和一個(gè)或多個(gè)所述用戶接口對(duì)象的組合,所述一個(gè)或多個(gè)子集數(shù)據(jù)對(duì)象中的每一個(gè)都在被 如此綁定后影響所述界面的外觀和行為二者。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述一組定制組件還包括配置用于提供自動(dòng)化 過程對(duì)象瀏覽器,以列出所有所述可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的程序代碼。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述一個(gè)或多個(gè)用戶接口對(duì)象或者所述用戶接 口對(duì)象的所述一個(gè)或多個(gè)成員具有預(yù)定的數(shù)據(jù)類型,并且所述可供使用的數(shù)據(jù)對(duì)象的所述 子集具有所述預(yù)定的數(shù)據(jù)類型。
12.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述一個(gè)或多個(gè)用戶接口對(duì)象或者所述用戶接 口對(duì)象的所述一個(gè)或多個(gè)成員具有一種數(shù)據(jù)類型,并且所述可供使用的數(shù)據(jù)對(duì)象的所述子 集具有另一種數(shù)據(jù)類型,所述數(shù)據(jù)綁定設(shè)備包括具有至少兩欄的查找表,從而使得所述兩 欄中的一欄具有所述一種數(shù)據(jù)類型,并且所述兩欄中的另一欄具有所述另一種數(shù)據(jù)類型, 所述數(shù)據(jù)綁定設(shè)備使用所述查找表來綁定所述可供使用的數(shù)據(jù)對(duì)象的所述子集中一個(gè)或 多個(gè)所述對(duì)象與一個(gè)或多個(gè)所述用戶接口對(duì)象或者所述用戶接口對(duì)象的所述一個(gè)或多個(gè) 成員。
全文摘要
本發(fā)明描述了一種用于針對(duì)自動(dòng)化過程開發(fā)具有用戶接口對(duì)象的、在目標(biāo)計(jì)算機(jī)上可視的界面的系統(tǒng)和方法。開發(fā)計(jì)算機(jī)具有來自還具有數(shù)據(jù)綁定設(shè)備的通用軟件開發(fā)工具包的一組公用設(shè)計(jì)時(shí)間組件以及一組定制組件。這些組件具有允許訪問可供使用的自動(dòng)化過程數(shù)據(jù)對(duì)象的接口,以及作為通向數(shù)據(jù)綁定設(shè)備的用戶接口的過程對(duì)象選擇器,從而允許瀏覽可供使用的數(shù)據(jù)對(duì)象的子集以及選擇該子集中的一個(gè)或多個(gè)對(duì)象,用于通過數(shù)據(jù)綁定設(shè)備而綁定到用戶接口對(duì)象的一個(gè)或多個(gè)成員,或者一個(gè)或多個(gè)用戶接口對(duì)象,或者它們的組合。
文檔編號(hào)G06F9/44GK102124445SQ200980129591
公開日2011年7月13日 申請(qǐng)日期2009年7月15日 優(yōu)先權(quán)日2008年7月28日
發(fā)明者C·馬爾蒂內(nèi)茨, T·富爾布里格, 李雄姿, 汪建軍 申請(qǐng)人:Abb研究有限公司