專利名稱:編程處理系統(tǒng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種處理系統(tǒng)和對該處理系統(tǒng)進行編程的方法。
背景技術(shù):
數(shù)據(jù)處理在許多不同的制造業(yè)和商業(yè)相關(guān)的應(yīng)用中被用于完成幾乎無限多種的 任務(wù)。數(shù)據(jù)處理系統(tǒng)的一個應(yīng)用領(lǐng)域是在自動化、控制、數(shù)據(jù)采集和儀器使用的領(lǐng)域中。實 際的儀器或執(zhí)行機構(gòu)(例如測壓元件、液壓閥或伺服電機)實時地產(chǎn)生數(shù)據(jù)流或者要求實 時的命令流。包含數(shù)據(jù)處理系統(tǒng)的計算機與這些儀器連接,以采集和分析數(shù)據(jù)并產(chǎn)生適當 的命令。實現(xiàn)完成數(shù)據(jù)采集以及各種其它任務(wù)的現(xiàn)有技術(shù)數(shù)據(jù)處理系統(tǒng)采用了不同的設(shè)計 配置,并且通常被組織成網(wǎng)絡(luò)的形式。網(wǎng)絡(luò)可以布置成例如總線或線形拓撲、星形拓撲、環(huán) 形拓撲等各種配置。網(wǎng)絡(luò)內(nèi)部通常有多個節(jié)點以及與每個節(jié)點相互連接的通信鏈路。節(jié)點 是處理系統(tǒng)的一部分,其被連接到每一個儀器以分別采集由這些儀器輸出的數(shù)據(jù)。節(jié)點還 可能是計算機、終端、工作站、其它的執(zhí)行機構(gòu)、額外的數(shù)據(jù)采集器、傳感器、或類似裝置。節(jié) 點通常具有處理器、存儲器和各種其它的硬件和軟件組件。節(jié)點在網(wǎng)絡(luò)中的通信鏈路上相 互通信以獲得和發(fā)送信息。在一個典型的應(yīng)用系統(tǒng)中,可能存在許多在多種不同路徑上通 信的節(jié)點。處理系統(tǒng)的用戶經(jīng)常開發(fā)和要求物理系統(tǒng)的概念模型,以幫助用戶編程和使用該 處理系統(tǒng)。對這類采用節(jié)點的數(shù)據(jù)處理系統(tǒng)進行編程可能是令人畏縮的任務(wù),甚至對專業(yè) 的程序員來說也是如此。在程序員能夠?qū)σ粋€現(xiàn)有技術(shù)的處理系統(tǒng)進行編程之前,必須精 通許多微妙的復雜情況。使用數(shù)學公式、數(shù)學步驟或其它類似過程對處理系統(tǒng)進行編程的 任務(wù)使編程過程更加復雜。用于控制處理系統(tǒng)的計算機程序通常是用傳統(tǒng)的文本編程語言 例如機器代碼、C、c++或Pascal來編寫的。響應(yīng)式的實時性能通常要求程序員學習并使用 多線程、實時操作系統(tǒng)。這些編程語言和操作系統(tǒng)并不直觀,也不能很好地用來采集和分析 數(shù)據(jù)處理系統(tǒng)所要求的數(shù)據(jù)。更經(jīng)常的情況是處理系統(tǒng)的用戶和程序員并不是專業(yè)程序員,因此經(jīng)常要求更易 懂更直觀的高級編程技術(shù)。在計算機編程方面沒有受到良好訓練的用戶對計算機和數(shù)據(jù)處 理系統(tǒng)的使用日益增加,因而需要編程比當前系統(tǒng)更易于使用和實現(xiàn)的數(shù)據(jù)處理系統(tǒng)。現(xiàn)有技術(shù)已經(jīng)試圖在上述編程語言之上來改進數(shù)據(jù)處理系統(tǒng)的編程,參見美國專 利第4,901,221號、第4,914,568號和第5,301,301號。這些現(xiàn)有技術(shù)文檔中公開的編程 技術(shù)試圖以圖形化的方式來幫助用戶對數(shù)據(jù)處理系統(tǒng)進行編程。然而,這些編程技術(shù)有許 多缺陷。具體而言,這些方法以個人電腦為中心,而原本不能用來處理分布式多進程節(jié)點的 系統(tǒng)。完成編程配置所需的步驟的數(shù)目混亂,而且有許多特征仍然不直觀。此外,存在許多 對處理系統(tǒng)的用戶或程序員的不必要的限制。最后,在編程過程中或處理系統(tǒng)的操作過程
5中,處理系統(tǒng)不能動態(tài)地變化。因此,需要開發(fā)一種相對容易且直觀的對處理系統(tǒng)進行編程的方法。進一步地,該 編程方法應(yīng)該是通用的,且約束有限,以允許用戶充分定制處理系統(tǒng)。該編程方法最好應(yīng)該 適用于多進程分布式系統(tǒng)。最后,該編程方法應(yīng)該本質(zhì)上是圖形化的,以幫助用戶可視化地 對編程步驟進行概念化,而且應(yīng)該能夠在編程過程和操作過程中動態(tài)改變。
發(fā)明內(nèi)容
本發(fā)明包括一種對處理系統(tǒng)進行編程的方法,其使用一具有配置畫布、儀器畫布 和臨時窗格的計算機。該處理系統(tǒng)包括至少一個處理器,多個功能對象,和至少一個可視化 儀器,其中每個功能對象包括執(zhí)行特定功能的命令。該方法包括將與第一批功能對象相關(guān) 聯(lián)的第一批對象圖標放置到配置畫布的多個不同位置的步驟。當?shù)谝慌鷮ο髨D標被放置到 配置畫布上以定義一個處理配置時,多個執(zhí)行路徑在第一批對象圖標中的每個對象圖標之 間自動地路由或確定路徑(route)。在配置畫布上的對象圖標之間創(chuàng)建數(shù)據(jù)流路徑。至少 一個可視化儀器被放置在儀器畫布上。關(guān)聯(lián)到該可視化儀器的儀器圖標被自動放置到臨時 窗格上。該儀器圖標被從臨時窗格移動并放置到配置畫布。該方法包括如下步驟創(chuàng)建所 述儀器圖標與所述配置畫布的處理配置內(nèi)的至少一個對象圖標之間數(shù)據(jù)流路徑,使得儀器 畫布上的可視化儀器可操作地連接到配置畫布上的處理配置。替代性地,至少一個儀器圖 標能夠被首先放置在配置畫布上,然后,與儀器圖標相關(guān)聯(lián)的可視化儀器被自動地放置在 臨時窗格上。創(chuàng)建所述儀器圖標與所述配置畫布上處理配置中的至少一個對象圖標之間的 數(shù)據(jù)流路徑。替代性方法包括如下步驟將可視化儀器從臨時窗格移動并放置到儀器畫布, 儀器畫布上的可視化儀器可操作地連接到配置畫布的處理配置。因此,本發(fā)明包括一種改進的對處理系統(tǒng)進行編程的方法,其創(chuàng)建一種非常通用 且直觀的圖形化編程技術(shù)。如下文更詳細地說明的,該編程方法本質(zhì)上是動態(tài)的,且在編程 過程和操作過程中都是可更改的。
通過參考下文的詳細描述并結(jié)合附圖一起考慮,隨著本發(fā)明的其它優(yōu)點被更好地 理解,這些優(yōu)點將很容易地被認識到,附圖中圖1是對處理系統(tǒng)的一個預期應(yīng)用的示意性圖解說明;圖2示出了連接到本發(fā)明處理系統(tǒng)的計算機監(jiān)視器的空白啟動屏幕;圖3示出了啟動屏幕的File (文件)菜單;圖4示出了啟動屏幕的View (視圖)菜單;圖5示出了啟動屏幕的Tools (工具)菜單;圖6示出了啟動屏幕上打開的System Setup (系統(tǒng)設(shè)置)窗格,Project Explorer (項目瀏覽)窗格,Toolbox (工具箱)窗格,Properties (屬性)窗格,和 Unassigned (未指定)窗格;圖7是System Setup窗格的細節(jié);圖8是Toolbox窗格的細節(jié);圖9是Toolbox窗格的進一步細節(jié);
6
圖10示出了在啟動屏幕上打開的并處于啟動屏幕邊緣的System Setup窗格、 Project Explorer 窗格、Toolbox 窗格,禾口 Properties 窗格;圖11示出了 File菜單并選中Project (項目)命令;圖12示出了啟動屏幕的Create New Project (創(chuàng)建新項目)窗口;圖13示出了空白配置畫布,以及沿其邊緣打開的System Setup窗格、Project Explorer 窗格、Toolbox 窗格,禾口 Properties 窗格;圖14示出了配置畫布的Edit (編輯)菜單;圖15示出了配置畫布的Insert (插入)菜單;圖16示出了配置畫布的Control (控制)菜單;圖17示出了創(chuàng)建一個處理配置的典型的第一步驟,其中處理器圖標被放置到配 置畫布上;圖18示出了處理配置的下一步驟,其將形式為Sine Wave Generator (正弦波發(fā) 生器)的對象圖標放置到配置畫布上;圖19是與Float Add (浮點加法)功能對象相關(guān)的Properties窗格的細節(jié);圖20是該Properties窗格的另一細節(jié);圖21是該Properties窗格的再一細節(jié);圖22是該Properties窗格的另一細節(jié);圖23示出了將另一個形式為Random Number Generator (隨機數(shù)發(fā)生器)的對象 圖標放置到配置畫布上的步驟;圖24示出了將再一個形式為Float Multiply (浮點乘法)的對象圖標放置到配 置畫布上;圖25示出了 Float Multiply圖標在配置畫布上的替代性的放置;圖 26 示出了 Random Number Generator 圖標相對于 Sine Wave Generator 圖標 的移動;圖27示出了配置畫布上的部分完成的處理配置,其中所有的執(zhí)行路徑均被路由;圖27A是圖27配置畫布上某些對象圖標的細節(jié),其說明了 Float Multiply圖標 的文本描述符;圖27B是圖27配置畫布上某些對象圖標的另一細節(jié),說明了 Float Multiply圖 標的符號;圖28是圖24配置畫布上對象圖標的細節(jié),其說明了單個數(shù)據(jù)流路徑,其獨立于被 路由的執(zhí)行路徑;圖29示出了已完成的配置畫布上的處理配置,其中所有的執(zhí)行路徑已被路由,且 所有的數(shù)據(jù)流路徑已被連接;圖30示出了圖29的已完成的處理配置以及System Setup窗格、Project Explorer 窗格、Toolbox 窗格,禾口 Properties 窗格;圖31示出了在其操作過程中圖30的已完成的處理配置;圖32示出了同一配置畫布上三個已完成的處理配置;圖33示出了圖32的三個已完成的處 配置,其中某些對象圖標已被移動到不同 的位置;
圖34示出了圖32的三個已完成的處理配置,其中一個對象圖標已被移動到不同 的位置;圖35示出了圖32的三個已完成的處理配置,其中一個對象圖標已被移動到不同 的處理配置;圖36示出了圖32的三個已完成的處理配置,其中一個對象圖標已被移動到不同 的處理配置;圖36A示出了圖32的三個已完成的處理配置,其中兩個對象圖標已被同步;圖37示出了配置畫布上打開的儀器畫布;圖38是Toolbox窗格的另一個細節(jié);圖39示出了組裝有許多可視化儀器的儀器畫布;圖40示出了部分創(chuàng)建的處理配置與Unassigned窗格的細節(jié);圖41示出了部分創(chuàng)建的處理配置與Unassigned窗格的細節(jié)另一視圖;圖42示出了另一已完成的處理配置;圖43示出了疊置在圖42的已完成的處理配置之上的圖39的儀器畫布;圖44示出了部分創(chuàng)建的處理配置與Unassigned窗格的細節(jié);圖45示出了疊置在組裝有若干可視化儀器的儀器畫布之上的Unassigned窗格;圖46示出了疊置在圖45的儀器畫布上的Unassigned窗格的另一視圖,其中可視 化儀器從Unassigned窗格移動到儀器畫布;圖47示出了已完成的處理配置的另一個例子;圖48示出了圖47的已完成的處理配置和Properties窗格的細節(jié);圖49示出了圖47的已完成的處理配置和Properties窗格的細節(jié),同時通過相對 于FloatAdd圖標移動Float Subtract圖標,證明了本發(fā)明的動態(tài)性質(zhì);圖50示出了已完成的處理配置的再一個例子;圖51是圖50的已完成的處理配置的第一 User Object (用戶對象)的細節(jié);圖52是圖51的第一 User Object中的第二 User Object的細節(jié);圖53示出了圖50的已完成的處理配置和Project Explorer窗格的細節(jié);以及圖54是已完成的處理配置的另一個例子。
具體實施例方式參見附圖,其中在這若干個附圖中,相同的數(shù)字指示相同或相應(yīng)的部件,處理系統(tǒng) 的一個預期應(yīng)用的示意性說明被總體地顯示在圖1中的10處。特別地,處理系統(tǒng)10被配 置成具有多個節(jié)點的分布式多進程系統(tǒng)10。分布式多進程系統(tǒng)10的一個預期應(yīng)用是用于 編譯和分析數(shù)據(jù),例如在測試交通工具的過程中。本領(lǐng)域技術(shù)人員應(yīng)意識到,本發(fā)明的處理 系統(tǒng)10有許多應(yīng)用,而后續(xù)的關(guān)于數(shù)據(jù)采集和交通工具測試的討論僅僅出于說明性目的, 決不是為了限定本發(fā)明的范圍。如圖1所示,示意性地示出了液壓執(zhí)行機構(gòu)12和伺服閥門14。液壓執(zhí)行機構(gòu)12 作用在試樣16 (例如交通工具)上。測壓元件18和位移功能變換器20被連接到執(zhí)行機構(gòu) 12,以向接口 22提供諸如力和位移的信號。接口 22也被連接到伺服閥門14以提供必要的 控制信號。接口 22優(yōu)選是伺服控制器(servo-controller)節(jié)點的一部分,所述伺服控制
8點1標示出。節(jié)點1還包含一個或多個處理器和通信接口 24。優(yōu)選地, 節(jié)點1的處理器(一個或多個)是數(shù)字信號處理器(DSP)。節(jié)點1又經(jīng)由通信鏈路26被連 接到路由集線器28。如圖所示,其他節(jié)點和主機節(jié)點也連接到集線器28??梢杂腥我鈹?shù)量 的節(jié)點連接到集線器28,這些節(jié)點有任意適當數(shù)量和類型的處理器。主機節(jié)點優(yōu)選是帶有 PC處理器30和監(jiān)視器32、鍵盤24、鼠標36和任何其它適當外設(shè)的計算機。主機節(jié)點包含 DSP卡,其有總線接口 38、一個或多個DSP處理器和通信接口 40。類似節(jié)點1,主機節(jié)點的 通信接口 40通過通信鏈路26將主機節(jié)點連接到集線器28。與節(jié)點1 一樣,對主機節(jié)點的 處理器的類型和數(shù)量沒有限制。集線器28的具體獨特的結(jié)構(gòu)和節(jié)點配置以及節(jié)點自身的 具體結(jié)構(gòu),在共同待決的美國專利申請第09/692,852號和第09/982,601號中公開,其公開 內(nèi)容在此以引用方式并入本文。正如在上文“背景技術(shù)”一節(jié)中所討論的,現(xiàn)有技術(shù)處理系統(tǒng)對于編程而言可能很 難且不直觀。圖1所示的分布式多進程系統(tǒng)的邏輯擴展可能也是很難編程的。因此,本發(fā) 明旨在處理這些需求。在以下的詳細討論中,本發(fā)明包括多種改進的對分布式多進程系統(tǒng) 進行編程的方法,其本質(zhì)上是圖形化的,具有很好的通用性,而且使用起來很直觀。該編程 方法本質(zhì)上還是動態(tài)的,能在編程過程和操作過程中更改。轉(zhuǎn)向圖2-10,其中示出了本編程方法使用的許多基本組件。圖2示出了計算機監(jiān) 視器的空白啟動屏幕。該屏幕或窗口被標記為Visual Configuration Editor(可視配置 編輯器,VCE)。VCE或啟動屏幕所示的許多特征是有代表性的基于窗口的系統(tǒng)。VCE是用戶 所應(yīng)用的用于創(chuàng)建、編輯、運行和監(jiān)視項目操作的環(huán)境。需要注意的是,術(shù)語REDGRID 是向美國專利局注冊的注冊商標,本專利申請中任何對該術(shù)語的使用決不降低該標記可用 的力度和/或保護。進一步的,本專利申請中使用得術(shù)語Visual Configuration Editor 和VCE以及REDGRID 標記旁邊的圖形說明,都絕不降低這些商標可用的力度和/或保 護。圖3示出了啟動屏幕的File菜單,其包含用于創(chuàng)建新項目、打開項目文件和保存 項目的命令。圖4示出了啟動屏幕的View菜單,圖5示出了 Tools菜單。View菜單允許用 戶有選擇地打開各種窗格,如圖6所示。參見圖6,在啟動屏幕上打開了 System Setup窗 格、Project Explorer 窗格、Toolbox 窗格、Properties 窗格,以及 Unassigned 窗格。這些 窗格可以是浮動的或是可??康模铱梢园凑招枰{(diào)整大小。當用戶創(chuàng)建、修改或執(zhí)行項目 時,這些窗格中的每一個都有具體的用途,下文將作詳細討論。圖5的Tools菜單,包含了 設(shè)計用于執(zhí)行特殊復雜任務(wù)的高級軟件特征。這些軟件特征可能是專門設(shè)計用來幫助用戶 的計算程序等等。因此,這些軟件特征都是有效的節(jié)省工作量的裝置。圖7中更加詳細地示出了 System Setup窗格或處理器窗格。System Setup窗格 顯示了當前用戶可用的所有處理器的樹狀圖。處理器被安排在節(jié)點之下。在本例中,有兩 個可用的節(jié)點。一個節(jié)點是Local Node(本地節(jié)點),這是上文討論的主機節(jié)點的另一個 名稱。也就是說,Local Node是計算機的一部分。Local Node包括一個PC處理器,標記為 386,帶有五個(5個)不同的事件,這些事件在處理器窗格中被識別。如下文中更詳細討論 的,通過PC處理器識別的事件可以在處理系統(tǒng)中分別使用,以初始化執(zhí)行路徑。另一個可 用的節(jié)點是REDgrid DSP Card (REDgrid DSP卡),這是上文討論的節(jié)點1或Node 1的專 用名稱。如上文所述,REDgrid 是一個注冊商標,在本專利申請中僅用來幫助說明預期
9的實施例。節(jié)點1包含兩個標記為“1”和“2”的處理器。處理器優(yōu)選為DSP,且每個包含 三個可由用戶選定的事件。然而,在處理系統(tǒng)的這個具體實施方式
中,DSP被設(shè)計成使節(jié)點 1之下的這些處理器在處理系統(tǒng)中僅可以被使用一次,但這決不是限制本發(fā)明,將DSP實現(xiàn) 成使每個事件可以被獨立地選取也是可能的。上文所討論的事件區(qū)分出用于處理器的各種不同的執(zhí)行速率。在實時處理系統(tǒng) 中,用戶通常要求以特定速率周期性地重復執(zhí)行路徑。換句話說,將在下文更詳細討論的執(zhí) 行路徑可以是重復的和連續(xù)的。用戶可以根據(jù)受控裝置的需要選擇這些參數(shù),然后選擇相 應(yīng)的處理器事件和速率。除了周期性的事件,還可能得到以非周期方式能夠?qū)?zhí)行進行初 始化的事件。圖8和圖9中更詳細地示出了 Toolbox窗格。依據(jù)任何特定應(yīng)用的需要,Toolbox 窗格可能有實際上任何數(shù)量的條目。文件夾的實例可以包括Drawing Objects(繪 圖對象)、Non-Iterated Objects (非迭代對象)、Primitives (基元)和 Visual Instruments (可視化儀器)。Drawing Objects是幫助用戶創(chuàng)建符合邏輯的可理解的項 目配置的可視元素。Drawing Objects通常是不可執(zhí)行的對象。下文將詳細討論Visual Instruments ο如圖9所示,Primitives文件夾包括一大類子文件夾、子文件夾的子文件夾或?qū)O 文件夾(sub-sub-folder)等等。在Primitives文件夾內(nèi)有多個功能對象或基元。功能對 象的實例顯示在Instrument (儀器)孫文件夾下和Sources (源)孫文件夾下。功能對象 包括已經(jīng)預編程的基本的可執(zhí)行代碼或命令,所述預編程使得每個功能對象都能執(zhí)行某種 特定功能。如下文所討論的,功能對象是可以組合和連接以執(zhí)行更復雜任務(wù)的基本元素或 單元或者構(gòu)建塊。功能對象可以被寫成具體地運行于某種處理器或處理器系列上。在圖8 的例子中,有兩類功能對象,Host和SHARC。Host功能對象被設(shè)計成只能在PC或Host (主 機)處理器上執(zhí)行。SHARC功能對象被設(shè)計成只能在SHARC DSP上執(zhí)行。下文將更詳細地 討論User Objects (用戶對象),User Objects是功能對象的集合。圖10示出了在啟動屏幕上打開并可??吭趩悠聊贿吘壍腟ystem Setup窗 格、Project Explorer窗格、Toolbox窗格,以及Properties窗格。如清楚地顯示的, Properties窗格和Project Explorer窗格目前是空的。而且,Unassigned窗格或臨時窗 格(它們目前也是空的)是不可見的。轉(zhuǎn)到圖11-16,其示出了本編程方法中使用的額外的基礎(chǔ)組件和項目的初始化。 如圖11所示,用戶通過打開File菜單并選中New/Project命令來開始。圖12示出了在 啟動屏幕內(nèi)的Create New Project的窗口,以及用戶為項目指定一個名稱,例如“Simple Project (簡單項目)”。如圖13所示,當前出現(xiàn)了空白配置畫布,且System Setup窗格、 Project Explorer窗格、Toolbox窗格,以及Properties窗格沿著畫布的邊緣保持打開。 目前,Project Explorer示出了樹的起點,其將追蹤畫布上的項目。一旦項目被初始化,三個新的菜單選項將出現(xiàn)。如圖14所示,配置畫布的Edit 菜單包含了常見的窗口編輯控件。如圖15所示,配置畫布的Insert菜單為用戶提供了一 個繪圖對象的列表,其可以被插入到配置畫布中。上文討論的Toolbox窗格中的Drawing Objects文件夾包含了同樣的繪圖對象列表。圖16示出了配置畫布的Control菜單,其包 括了用于控制已完成的項目的執(zhí)行的選擇。為了輔助用戶,執(zhí)行控件還放置在屏幕上的工具條上。轉(zhuǎn)到圖17-31,現(xiàn)在詳細討論為處理系統(tǒng)編寫一個基礎(chǔ)項目的方法,如上文初始化 的“Simple Project”,還將詳細討論許多其它特征。如圖17所示,一個關(guān)聯(lián)到處理器之一 的處理器圖標被放置到畫布上。具體說來,來自處理器窗格的一個事件通過拖放選擇的方 式被移到畫布上,以產(chǎn)生畫布上的處理器圖標。在本例中,REDgrid DSP Card節(jié)點下的編 號為“1”的DSP被移到畫布上。用戶具體選定了 IRQ2事件,且該事件在處理器的標簽中被 標識出來。IRQ2事件是個重復性事件,其每秒鐘執(zhí)行20,480次執(zhí)行路徑?,F(xiàn)在,這個處理 器中的所有事件都被加上陰影,表明該處理器不可再用于本項目中。應(yīng)該再次注意到,一旦 一個事件被選中所有事件都不可用是處理系統(tǒng)的特定實施例的屬性。進一步地,沒有必要 以一個處理器來開始一個項目,用戶可以采用任何所需的順序來構(gòu)建處理配置。如圖18所示,用戶瀏覽Toolbox窗格尋找所需的功能對象,然后將關(guān)聯(lián)到第一 功能對象的第一對象圖標放置到畫布上的第一位置處。具體說來,來自Toolbox窗格的 關(guān)聯(lián)的符號被復制到畫布上,其定義了第一對象圖標。在本例中,第一對象圖標關(guān)聯(lián)到 Sine Wave Generator功能對象,其被從Toolbox窗格上的Sources文件夾下的Sine Wave Generator符號拖放到畫布上。Project Explorer窗格自動地在樹中指示Sine Wave Generator,并將在每次項目被修改時自動更新。該Sine Wave Generator被加亮或高亮, 且Properties窗格裝入關(guān)于該Sine Wave Generator的各種信息。轉(zhuǎn)到圖19-22,其更詳細地說明了 Properties窗格。在本例中,F(xiàn)loat Add功能對 象被放置在畫布上并被加亮。Properties窗格顯示為浮動在該功能對象旁邊。Properties 窗格被用于檢查和修改該項目中的所有功能對象的幾乎所有屬性。例如,數(shù)據(jù)信號的屬 性,連接符(數(shù)據(jù)端口),以及功能對象的可視化外觀都可以被檢查和/或修改。在圖19 的例子中,用戶可以鍵入Input 1和Input 2的值,該值允許用戶為輸入信號設(shè)置初始條 件。Properties窗格在小工具條里還有標簽用于選擇不同的視圖,如Signals (信號)、 Connections (連接)、Info (信息),及Visuals (可視化)。圖19示出了 Signals視圖。圖 20示出了 Connections視圖,在其中用戶可以選擇顯示或隱藏任何數(shù)據(jù)連接符。這對非常 復雜的功能對象是有用的,其具有多個用戶可用的輸入和輸出,但僅有一些是需要的,從而 消除了視覺混亂。圖21示出了 Info視圖,以及圖22示出了 Visuals視圖。在Visuals視 圖中,關(guān)于圖形符號如何顯示和表現(xiàn)的每個方面都可被檢查和修改?;氐奖粍?chuàng)建的基礎(chǔ)項目,圖23示出了被放置在畫布上的第二位置處的第二對象 圖標,其關(guān)聯(lián)到第二功能對象。第二圖標的第二位置與第一圖標的第一位置不同。在本 例中,第二個圖標關(guān)聯(lián)到Random Number Generator(隨機數(shù)發(fā)生器)功能對象。如圖24 和25所示,第三對象圖標接著被放置在畫布的第三位置處,所述第三對象圖標關(guān)聯(lián)到第三 功能對象。另一方面,第三位置與第一和第二位置不同。本例中,第三圖標關(guān)聯(lián)到Float Multiply (浮點乘法器)功能對象。由于圖標和處理器是被放置在畫布上的,因此本發(fā)明的一個特征涉及執(zhí)行路徑的 路由和再路由。如圖24和25所示,執(zhí)行路徑以如下方式自動路由基于畫布上第三對象圖 標的第三位置相對于第一對象圖標的第一位置和第二對象圖標的第二位置的方位,從第一 和第二對象圖標中的一個到第三對象圖標路由。換種方式來說,執(zhí)行路徑被自動路由其從 第一對象圖標和第三對象圖標中的一個到第二個對象圖標路由,這基于畫布上第三對象圖標的第三位置相對于第一對象圖標的第一位置和第二對象圖標的第二位置的方位。在圖24的例子中,路由一條執(zhí)行路徑,其從第二對象圖標到第三對象圖標,這是 因為當在畫布上從左到右看時,第二對象圖標的第二位置在第一對象圖標的第一位置和第 三對象圖標的第三位置之間。當?shù)诙ο髨D標被放置在畫布上時,自動地從位于第一位置 的第一對象圖標路由一條執(zhí)行路徑到位于第二位置的第二對象圖標。也就是說,如圖23所 示,根據(jù)第二圖標的相對方位,直接并自動地從第一對象圖標路由一個條執(zhí)行路徑到第二 對象圖標。替代性地,如圖25中所示的,可從第一對象圖標自動路由一條執(zhí)行路徑到第三對 像圖標,因為當在畫布上從左到右看時,畫布上第三對象圖標的第三位置處于第一對象圖 標的第一位置和第二對象圖標的第二位置之間。在這個替代性的例子中,從第一個對象圖 標自動且無縫地再路由一條執(zhí)行路徑,從圖23中所示的可以看出,作為對第三個對象圖標 的方位的響應(yīng),所以該執(zhí)行路徑被再路由到第三對象圖標。進一步地,作為對第三對象圖標 方位的響應(yīng),執(zhí)行路徑會自動從第三位置處的第三對象圖標路由到第二位置處的第二對象 圖標。因此,在這個替代的例子中,執(zhí)行路徑從第一圖標路由到第三圖標,然后到第二圖標。根據(jù)圖標的方位,一個執(zhí)行路徑也可以自動地從處理器圖標路由到第一、第二和 第三對象圖標中的一個。根據(jù)畫布上從左到右看,基于第一、第二和第三對象圖標中最左邊 位置,該執(zhí)行路徑從處理器圖標自動路由到第一、第二和第三對象圖標中的一個。在如圖17 和18所示的例子中,處理器首先被放置在畫布上,然后第一圖標放置在畫布上。如圖18所 示的執(zhí)行路徑自動路由到第一圖標,這是因為第一圖標在最左邊位置處。應(yīng)該意識到,不必 要求處理器被首先放置在畫布上,進一步地,不必要求處理器沿著畫布的最左邊放置。執(zhí)行路徑可以由著色的箭頭或唯一配置的箭頭所標識。如下文很詳細地闡明的, 從不同的處理器到不同配置的對象圖標群之間可能有許多不同的執(zhí)行路徑。在這些類型的 多進程配置中,需要有不同著色或不同配置的箭頭來標識不同的處理配置,其路由自不同 的處理器。當前被檢查或修改的執(zhí)行路徑在工具條上被標識。對比圖24和25,其示出了本發(fā)明的動態(tài)特性。對象圖標可以一開始按圖24所示 的方位被放置在畫布上。接著對象圖標中的一個(本例中的第三對象圖標)可被移動到不 同的位置。在圖25的例子中,F(xiàn)loat multiply(第三對象圖標)被移到第一個和第三圖標 之間的位置。如上述討論的,根據(jù)第三對象圖標相對于畫布上的其它圖標的移動的方位,執(zhí) 行路徑自動且無縫地再路由。當圖標從一個方位拖向另一個方位的同時,執(zhí)行路徑的產(chǎn)生 以及重畫過程被實時執(zhí)行且將繼續(xù)進行下去。對比圖24和26,示出了本發(fā)明的動態(tài)特性的另一例子。處理器和對象圖標可 以一開始按圖24所示的方位被放置到畫布上。如圖26所示,接下來Random Number Generator (第二對象圖標)可被移動到處理器和第一對象圖標之間。第二對象圖標現(xiàn)在是 最左邊的圖標,這使得執(zhí)行路徑從處理器自動和無縫地再路由到該第二對象圖標(參見圖 26)。如圖27所示,作為響應(yīng),剩余的執(zhí)行路徑也被再路由,使得現(xiàn)在執(zhí)行路徑從處理器路 由到第二對象圖標,再到第一對象圖標,以及再到第三對象圖標。還是如圖27所示,關(guān)聯(lián)到第四功能對象的第四對象圖標被放置到畫布上的第四 位置,該第四位置與第一、第二和第三位置不同。在本例中,第四圖標被關(guān)聯(lián)到Scope (示波 器)功能對象。當?shù)谒膶ο髨D標被放置在畫布上時,執(zhí)行路徑被自動地從位于第三位置的
12第三對象圖標路由到該位于第四位置的第四對象圖標。應(yīng)該認識到可能有任意數(shù)量的、被 放置在畫布上的、關(guān)聯(lián)到相同或不同功能對象的額外的圖標。在本例中,還有一個額外的圖 標被放置到畫布上,其也關(guān)聯(lián)到Scope。每個功能對象和相關(guān)聯(lián)的對象圖標包括至少一個輸入和/或至少一個輸出。輸入 和輸出被設(shè)計成用于接收和傳輸數(shù)據(jù)的數(shù)據(jù)端口。圖27A示出了 Float Multiply圖標,其 具有兩個輸入和單個輸出。應(yīng)該認識到功能對象和對象圖標可能根據(jù)需要具有任意適當?shù)?數(shù)量的輸入和/或輸出。參見圖27A和27B,示出了關(guān)聯(lián)到每一個對象圖標的另一種特性。具體地說,第 一、第二和第三對象圖標中的每一個都包含多個符號,例如數(shù)學或工程符號,以及包含諸如 文本的描述符。因為畫布空間所限,對用戶有優(yōu)勢的做法是具有多個符號和描述符,其在有 需要時可以動態(tài)變化的。有時候僅是符號就足夠讓用戶明白功能或功能對象的操作。其它 時候,用戶想要看到輸入和輸出的更多細節(jié)和描述,例如,圖27A示出了 Flora Multiply圖 標,其具有用戶可見的文本描述符。具體來說,輸入和輸出數(shù)據(jù)端口是可見的。輸入和輸出 的標簽是可以被用戶配置的。在所示的例子中,只有輸入和輸出的名字的第一個字符被顯 示,以節(jié)約空間。因為優(yōu)選的執(zhí)行路徑是以從左到右的方式進行處理的,因此輸入顯示在左 邊緣,而輸出顯示在右邊緣。圖27B示出了同樣的Float Multiply圖標,該圖標目前具有 用戶可見的符號。如果用戶指向一個具體的輸入或輸出,該輸入或輸出的名字將會是可見 的。在優(yōu)選實施例中,每個對象圖標包括圖形符號和文本描述符,且任何時刻只有符號和描 述符中的一個是可見的。更優(yōu)選的是,用戶將在對象上放置光標以動態(tài)地改變視圖。在我們的示例項目的這一點上,如圖27所示,執(zhí)行路徑已經(jīng)全部被建立了。然而, 在優(yōu)選實施例中,執(zhí)行路徑獨立于數(shù)據(jù)流路徑。參見圖28和29,現(xiàn)在畫布上第一、第二、第 三和第四對象圖標之間的數(shù)據(jù)流路徑已獨立于畫布上的執(zhí)行路徑的路由而被創(chuàng)建了。具體 地,對象圖標之間的數(shù)據(jù)流路徑的創(chuàng)建是這樣執(zhí)行的在畫布上手動地將來自對象圖標之 一的輸出連接到另一個對象圖標的輸入。更具體地,用戶點擊輸入或輸出,并將畫布上的指 針拖向相反的輸入或輸出。如果獲得一個可允許的數(shù)據(jù)連接,則畫一條實線指示已連接的 數(shù)據(jù)流路徑。在圖28所示的例子中,通過連接數(shù)據(jù)端口之間的數(shù)據(jù)流路徑,Random Number Generator的輸出被連接到Float Multiply的輸入。執(zhí)行路徑不受數(shù)據(jù)流路徑連接的影 響。圖29示出了各種對象圖標之間的已完成的數(shù)據(jù)流路徑。當一個或多個對象圖標 要求多個輸入時,數(shù)據(jù)流路徑可以自動地分布到多于一個的輸入,由此在數(shù)據(jù)流路徑上創(chuàng) 建了分布點。數(shù)據(jù)流路徑的分布決不會影響數(shù)據(jù)的實際值。經(jīng)過數(shù)據(jù)流路徑的數(shù)據(jù)值僅僅 是傳遞給多于一個的對象圖標。在所示例子中,F(xiàn)loat Multiply和Scope 2都要求多個輸 入,因此,Sine Wave Generator禾口 Random Number Generator的輸出被分布開,且分布點 被放置在數(shù)據(jù)流路徑的這個區(qū)域。優(yōu)選地,關(guān)聯(lián)到另一個功能對象的分布圖標在數(shù)據(jù)流路 徑上的分布點處自動被創(chuàng)建。進一步的,執(zhí)行路徑自動地被再路由以根據(jù)圖標的相對方位 而將分布點處的分布圖標包含進來。替代性地,當一個或多個圖標要求多于一個輸入時,關(guān) 聯(lián)到另一個功能對象的分布圖標可以被手動地放置在數(shù)據(jù)流路徑上以分布數(shù)據(jù)流路徑。參見圖30和31,項目現(xiàn)在已經(jīng)完成。處理系統(tǒng)可以按如下方式被操作功能對象 按照對象圖標之間的執(zhí)行路徑的順序執(zhí)行關(guān)聯(lián)的功能,并且數(shù)據(jù)沿著圖標之間的數(shù)據(jù)流路
13徑被傳送。處理系統(tǒng)的操作進一步定義為按照畫布上從左至右的順序操作圖標之間的執(zhí)行 路徑。因此,最左邊的對象圖標最先執(zhí)行,緊挨著它右邊的對象第二個執(zhí)行,依此類推,直到 某一特定執(zhí)行路徑上所有的對象圖標都已被執(zhí)行為止。如上文所提及的,典型的處理系統(tǒng) 將是重復性的,因此,一旦關(guān)聯(lián)到最右邊的對象圖標的功能對象已被執(zhí)行,整個操作將持續(xù) 地重復。在優(yōu)選例中,沿著數(shù)據(jù)流路徑傳送的數(shù)值將在執(zhí)行路徑的每一次傳遞之間被保存。 因此,上一次執(zhí)行產(chǎn)生的數(shù)值可以用作下一次執(zhí)行的輸入。應(yīng)該意識到,操作順序可以改 變,而這并不偏離本發(fā)明的整體范圍。項目的操作通過工具條上的命令來控制,例如停止、暫停和運行。在如圖31所示 的目標例子,Scope 2 顯不來自 Sine Wave Generator 禾口 Random Number Generator 的初 始信號。Scopel顯示這些信號的實時乘積。本發(fā)明的另一個特征是對象圖標之一可以被移動到不同的位置,并基于畫布上該 對象圖標相對于彼此移動后的方位自動地再路由執(zhí)行路徑,與此同時正在操作處理系統(tǒng), 因此執(zhí)行路徑是實時地被再路由的。換句話說,在處理系統(tǒng)執(zhí)行的同時,也可以執(zhí)行上文所 詳細討論的在編程處理系統(tǒng)時圖標的移動和執(zhí)行路徑的再路由,因此這極大地增強了本發(fā) 明的通用性。轉(zhuǎn)到圖32-36,其示出了另一個已完成的項目。這個項目的配置畫布較大,這是 因為 System Setup 窗格、Project Explorer 窗格、Toolbox 窗格、Properties 窗格,以及 Unassigned窗格都??吭谄聊坏挠沂诌?。如上文所提及的,窗格可以以任何適當?shù)男问讲?置在屏幕上。圖32所示的特定配置在允許對所有窗格進行訪問的同時,最大化配置畫布的 空間。圖32-36所示的項目是多進程的,即畫布上放置有多于一個的處理器。為了生成 圖32所示的配置,關(guān)聯(lián)到第一處理器的第一處理器圖標被放置在畫布上,每個都關(guān)聯(lián)到第 一批功能對象的第一批對象圖標被放置在畫布上的多個不同位置。當?shù)谝慌鷮ο髨D標被放 置在畫布上以定義第一處理配置時,第一批執(zhí)行路徑從第一處理器圖標自動路由到第一批 對象圖標中的每一個。類似地,第二處理器圖標被放置在畫布上,每個都關(guān)聯(lián)到第二批功能 對象的第二批對象圖標被放置在畫布上的多個不同位置。當?shù)诙鷮ο髨D標被放置在畫布 上以定義第二處理配置時,第二批執(zhí)行路徑從第二處理器圖標自動路由到第二批對象圖標 中的每一個。如所示出的,第二處理配置大多是第一個處理配置的復制,以在系統(tǒng)中制造冗 余。最后,第三處理器圖標被放置在畫布上,每個都關(guān)聯(lián)到第三批功能對象的第三批對象圖 標被放置在畫布上的多個不同位置。當?shù)谌鷮ο髨D標被放置在畫布上以定義第三處理配 置時,第三批執(zhí)行路徑從第三處理器圖標自動路由到第三批對象圖標中的每一個。為了區(qū) 分第一、第二和第三批執(zhí)行路徑,這些執(zhí)行路徑都被唯一地加標簽了。優(yōu)選地,第一、第二和 第三批執(zhí)行路徑可以通過對每個執(zhí)行路徑使用唯一的顏色來區(qū)分。第一數(shù)據(jù)流路徑在畫布上的第一批對象圖標之間創(chuàng)建,其獨立于畫布上來自第一 處理器圖標的執(zhí)行路徑的路由。在本例中,第一數(shù)據(jù)流路徑在Signal Generator 1(信號發(fā) 生器 1)、Signal Generator 2 (信號發(fā)生器 2)、Float Subtract 1 (浮點減法器 1)、Power 1(冪運算器1),以及Mean 1 (平均值器1)之間生成。類似地,第二數(shù)據(jù)流路徑在畫布上的 第二批對象圖標之間生成,其獨立于畫布上來自第二處理器圖標的執(zhí)行路徑的路由。在本 例中,第二數(shù)據(jù)流路徑在一對分布圖標、Float Subtract 、Power 2,以及Mean 2之間生成。因為數(shù)據(jù)流路徑的分布,Signal Generator 1和Signal Generator 2將數(shù)據(jù)發(fā)送到 第一和第二數(shù)據(jù)流路徑。最后,第三數(shù)據(jù)流路徑在畫布上的第三批對象圖標之間生成,其獨 立于畫布上來自第三處理器圖標的執(zhí)行路徑的路由。在本例中,第三數(shù)據(jù)流路徑在第一數(shù) 據(jù)流路徑的Mean 1、第二數(shù)據(jù)流路徑的Mean 2、Float Subtract 3、Float Absolute value 1(浮點絕對值器1),以及Meter 1(儀表1)之間生成。正如已清楚說明的,數(shù)據(jù)流路徑可 以在畫布上任意對象圖標之間生成以使數(shù)據(jù)流動。具體而言,第一、第二和第三數(shù)據(jù)流路徑 中至少一個被路由,以在至少一個的第一批、第二批和第三批對象圖標之間流動,以使得數(shù) 據(jù)傳送經(jīng)過第一個、第二個和第三處理配置以及在它們之間傳送。如果必要,數(shù)據(jù)流路徑也 可以根據(jù)上面所描述的程序來分布。這些處理配置的創(chuàng)建(現(xiàn)在已經(jīng)完成)是按照上文所 描述的方法來執(zhí)行的。如圖33所示,對象圖標可以被移到畫布上的不同方位。當圖標被移動時,數(shù)據(jù)流 路徑不被修改。該數(shù)據(jù)流路徑僅僅是根據(jù)新的方位而被重畫。每個處理配置的執(zhí)行路徑?jīng)] 有與其它處理配置的執(zhí)行路徑自動地交互。因此,如圖33所示,第三處理配置的對象圖標 已被移動到畫布的上端。來自第三處理配置的處理器的執(zhí)行路徑自動地跟隨第三處理配置 的最左邊的對象圖標,且沒有與第一和第二處理配置的其它執(zhí)行路徑自動地交互。圖34是在畫布之內(nèi)的對象圖標改變方位的另一個例子。具體而言,第二處理配置 的對象圖標(Float Subtract 2)被移到了畫布上的一個不同的方位處。另一方面,數(shù)據(jù) 流路徑?jīng)]有改變,而僅僅是基于對象圖標的新方位而被重畫了。本圖清楚地說明了數(shù)據(jù)流 路徑可以從左到右、從右到左、從上到下等等傳送數(shù)據(jù)。然而,從右到左傳送數(shù)據(jù)的數(shù)據(jù)流 路徑有一個影響如上文所提及的,執(zhí)行路徑是從左到右進行處理的。因此,當數(shù)據(jù)連接是 從位于執(zhí)行路徑后面的對象圖標發(fā)起時,將會產(chǎn)生延遲。因此,將對象圖標移動以迫使數(shù)據(jù) 流路徑從右到左傳送數(shù)據(jù)可以是初始化數(shù)據(jù)通道中的延遲的一種方法。在圖34所示的目 標例子中,由于Float Subtract 2圖標的方位位于第二處理配置的執(zhí)行路徑中的后面位置 處,因此發(fā)給Power 2圖標的數(shù)據(jù)就沒有被接收到,從而在處理系統(tǒng)的重復執(zhí)行中將產(chǎn)生 一個單獨的延遲。如上文詳細討論的,第二處理配置的執(zhí)行路徑將被再路由,這是由于對象圖標被 移動之前是最左邊的圖標。因此,第二處理配置的處理器的執(zhí)行路徑被再路由到新的最左 邊的對象圖標(Power 2)。到被移動的對象圖標的執(zhí)行路徑也被再路由,現(xiàn)在是從被移動的 對象圖標(Float Subtract 2)的左邊的對象圖標(Mean 2)開始路由的。另一方面,第一 和第三處理配置的執(zhí)行路徑不受影響。圖35示出了本發(fā)明的再一個特征,其中,多進程環(huán)境中的執(zhí)行路徑可以被手動地 再路由。具體來說,通過自動移走關(guān)聯(lián)到被再路由的對象圖標的第一批執(zhí)行路徑和自動將 第二批執(zhí)行路徑路由到被再路由的對象圖標,來自第一處理配置的第一批對象圖標之一被 再路由到第二處理配置。在圖35所示的例子中,之前是第一處理配置的執(zhí)行路徑的一部分 的Signal Generator 1已被移動,成為了第二處理配置的執(zhí)行路徑的一部分。這項操作是 通過加亮要被移動的對象圖標(本例中的Signal Generator 1)來執(zhí)行的。接著,通過使 用工具條改變執(zhí)行路徑。舊配置(第一處理配置)和新配置(第二處理配置)的執(zhí)行路徑 都被自動地再路由。數(shù)據(jù)流路徑不受影響。這種類型的改變可能對用戶有實際的好處。具 體地說,計算負擔可以更平均地分配在兩個DSP上。
15
圖36示出了與圖35所示的類似的本發(fā)明的一個特征。然而對象圖標是從第一處 理配置移動到第三處理配置的。因此,關(guān)聯(lián)到被再路由的對象圖標的第一批執(zhí)行路徑被自 動移走,而第三批執(zhí)行路徑被自動路由到被再路由的對象圖標。在圖36所示的例子中,之 前是第一處理配置的執(zhí)行路徑的一部分的Signal Generator 1,現(xiàn)在被移動為第三處理配 置的執(zhí)行路徑的一部分。另一方面,數(shù)據(jù)流路徑?jīng)]有受影響。對象圖標移入和移出各種處理配置的動作是極其通用的工具,且不被處理器的機 器語言所約束。具體地說,第一處理器可能包含第一機器語言,而第二處理器可能包含與該 第一機器語言不同的第二機器語言。在不同機器語言下操作的處理配置的對象圖標的再路 由是無縫的,且不受不同機器語言的影響。參見圖36A,一個同步對象可以被插入到第一處理配置圖標之間的執(zhí)行路徑和第 二處理配置圖標之間的執(zhí)行路徑中,以便在插入點處同步這些執(zhí)行路徑。因此,這些執(zhí)行配 置中每一個上對數(shù)據(jù)的處理都將在插入點處實時地同步。同步對象提供簡單、圖形化的方 法來排列多進程環(huán)境中功能對象的執(zhí)行。如所意識到的,不同處理器和/或不同事件可以 不同的速率執(zhí)行。同步對象允許用戶具體地在多處理器的多個執(zhí)行路徑中強制添加同步 點。當具體的執(zhí)行路徑的執(zhí)行到達同步對象時,執(zhí)行將等待直到所有的同步化執(zhí)行路徑都 到達它們各自的同步對象。此時,所有的執(zhí)行路徑都被允許繼續(xù)進行。轉(zhuǎn)到圖37-46,將詳細討論本發(fā)明的可視化儀器特征??梢暬瘍x器允許用戶創(chuàng)建控 件和指示符,其將出現(xiàn)在計算機的監(jiān)視器上,并將允許用戶在操作過程中與處理系統(tǒng)交互 影響。如圖37所示,計算機還包括儀器畫布。儀器畫布被放置在配置畫布之上。應(yīng)該意識 到,可能同一時刻有多個打開的儀器畫布。如圖38所示,處理系統(tǒng)包括至少一個可視化儀 器。優(yōu)選地,可視化儀器是在Toolbox窗格中的Visual Instrument (可視化儀器)文件夾 下找到。如圖39所示,至少一個可視化儀器被放置到儀器畫布上。具體說來,可視化儀器 的符號被放在Toolbox窗格內(nèi),其拷貝被拖放到儀器畫布之內(nèi)以定義可視化儀器??梢暬?儀器可以被放置在儀器畫布內(nèi)并還可按照需要隨意調(diào)整大小。在所示例子中,儀器畫布包 括Knob (旋鈕)和Meter (儀表)。圖40示出了另一種配置畫布,其中至少一個關(guān)聯(lián)到功能對象的對象圖標被放置 在配置畫布上。關(guān)聯(lián)到處理器的一個或多個處理器圖標也被放置在畫布上。當對象圖標被 放置在配置畫布上以定義一個處理配置時,處理器圖標和對象圖標(一個或多個)之間的 一個或多個執(zhí)行路徑被自動路由。配置畫布上的處理器圖標和對象圖標之間的數(shù)據(jù)流路徑 也被創(chuàng)建。參見圖39-41,當可視化儀器被放置到儀器畫布上時,關(guān)聯(lián)到可視化儀器的儀器圖 標被自動放置在Unassigned窗格或臨時窗格。接著,儀器圖標被從臨時窗格移動,以放置 該儀器圖標到配置畫布上面。在本例中,當Knob和Meter被放置在儀器畫布之上時,關(guān)聯(lián) 到Knob和Meter的儀器圖標將被自動放置在Unassigned窗格或臨時窗格。如圖40所示, Knob已經(jīng)被移動到配置畫布而Meter仍留在Unassigned窗格或臨時窗格內(nèi)。具體地,Knob 已經(jīng)被從Unassigned窗格拖放到配置畫布。圖41示出了 Knob和Meter都已被移動到配 置畫布,使得Unassigned窗格或臨時窗格再次變空。如圖42所示,在儀器圖標和配置畫布上的處理配置之內(nèi)的至少一個對象圖標之
16間生成數(shù)據(jù)流路徑,使得儀器畫布上的可視化儀器被可操作地連接到配置畫布上的處理配 置。處理配置現(xiàn)在已完成。如圖43所示,處理配置以如下方式被操作功能對象按照圖標之間的執(zhí)行路徑的 順序執(zhí)行關(guān)聯(lián)的功能,并且數(shù)據(jù)沿著圖標之間的數(shù)據(jù)流路徑傳送??梢暬瘍x器可以被操縱 以自動地實時改變沿著數(shù)據(jù)流路徑傳送的數(shù)據(jù)值??梢暬瘍x器優(yōu)選地被鏈接到儀器圖標,用于在儀器畫板上的可視化儀器和配置畫 板上的儀器圖標之間切換的命令可被初始化。該命令特征是導航幫助,用于輔助用戶在各 個視圖和處理配置的各個部分之間快速地移動。當配置變得龐大而復雜時,難于追蹤儀器 和它們的連接特性。同樣的,該命令特征對用戶而言是生產(chǎn)力和質(zhì)量的極大幫助,其使得用 戶可以從儀器圖標快速地定位可視化儀器,反之亦然。轉(zhuǎn)到圖44-46,其示出了在配置畫布上放置儀器圖標和在儀器畫布上放置可視化 儀器的可替換的方式。處理配置的生成與上文討論以及與圖42所示出的一樣。不同之處 在于儀器圖標和可視化儀器的放置,以及Unassigned窗格的相反性質(zhì)。在本實施例中,最 少一個儀器圖標被首先放置在配置畫布上。具體地說,關(guān)聯(lián)到該儀器圖標的符號從Toolbox 窗格被直接拖到配置畫布上。見圖45,當儀器圖標被放置到配置畫布時,關(guān)聯(lián)到該儀器圖標 的可視化儀器接下來被自動放置到Unassigned窗格或臨時窗格。在儀器圖標和配置畫布 上的處理配置內(nèi)的至少一個對象圖標之間生成數(shù)據(jù)流路徑。如圖46所示,接下來可視化儀 器被從Unassigned窗格或臨時窗格移動開,以將可視化儀器放置在儀器畫布上,其中儀器 畫布上的可視化儀器操作地被連接到配置畫布上的處理配置。本實施例的可視化儀器還被 鏈接到儀器圖標,從而提供命令,該命令用于在儀器畫布的可視化儀器與配置畫布的儀器 圖標之間切換。用戶可以自由使用任何一種在各自的畫布上放置儀器圖標和可視化儀器的 方法。圖47-49示出了另一種已完成的處理配置。該處理配置用上面討論的同樣方式產(chǎn) 生。對比圖48和49,其示出了將一個對象圖標相對于另一個對象圖標定位的另一種例子, 其中在再定位過程中,執(zhí)行路徑動態(tài)變化。本例中,F(xiàn)loat Add圖標相對于Float Subtract 圖標和Float Multiply圖標移動。在處理配置旁邊還示出了 Properties窗格。當Float Add被移動時,Outputs被自動更新。具體說來,Next Code從Float Subtract (圖48)變 為 Float Multiply (圖 49)。類似地,Next Data 從 Float Subtract (圖 48)變?yōu)?Float Multiply (圖49)。這些輸出是已知的代碼和數(shù)據(jù)指針,其更具體的描述參見共同待決的美 國專利申請第09/692,852號和第09/982,601號,其公開的內(nèi)容在此以引用方式并入本文。圖50-53示出了本發(fā)明的進一步的額外的特征。圖50中使用用戶對象創(chuàng)建了 處理配置。用戶對象是一種特殊類型的功能對象,且被設(shè)計以允許用戶創(chuàng)建導航層次 (navigation hierarchy)。具體說來,用戶對象是其它對象圖標的集合??梢愿鶕?jù)需要保存 和重用用戶對象。雙擊圖50中的User Object 1將展現(xiàn)如圖51所示的子配置。輸入和輸出 符號被用于指示數(shù)據(jù)流的方向。在圖51的子配置內(nèi)是User Object 2。雙擊User Object 2將展現(xiàn)如圖52所示的子配置。這是層次的最低級別。User Object的數(shù)目被列在工具條 中。如圖35所示,挨著處理配置打開Project Explorer窗格。該Project Explorer窗格 示出了當前配置的輔助用戶的各種層次。如上所提及的,每次圖標被添加、移動、替換、刪除 等等時,Project Explorer窗格自動重新產(chǎn)生。Project Explorer窗格是項目配置的重要導航工具或索引。用戶可以點擊在整個配置范圍內(nèi)的圖標,而Project Explorer將反映在 層次中圖標的位置。同樣,用戶可點擊Project Explorer樹上的某個符號或其它對象,則 畫布會自動切換以顯示該被選中的對象圖標。圖54示出了處理系統(tǒng)的液壓伺服控制器實施方式。特別地,已經(jīng)為閉環(huán)伺服控制 器創(chuàng)建了一個項目配置。應(yīng)該意識到,處理配置的創(chuàng)建可能極其復雜,而使用本發(fā)明將極大 地輔助這些配置的編程和操作。本發(fā)明已經(jīng)通過示例的方式進行了描述,且應(yīng)該理解,所用術(shù)語具有字面上描述 的本意,而不是限制性的。對于本領(lǐng)域技術(shù)人員顯而易見的是,按照上述教導,對本發(fā)明的 修改和變形都是可能的。因此可以理解,在所附權(quán)利要求的范圍內(nèi),本發(fā)明可以不同于具體 描述的方式來實施。
權(quán)利要求
一種對處理系統(tǒng)進行編程的方法,所述處理系統(tǒng)包括一個或多個節(jié)點,具有配置畫布、儀器畫布和臨時窗格的計算機,多個功能對象,以及至少一個可視化儀器;其中所述節(jié)點與所述計算機連接,并且所述節(jié)點包括一個或多個處理器,所述方法包括以下步驟將關(guān)聯(lián)到所述處理器的一個或多個處理器圖標放置到所述配置畫布上;將均關(guān)聯(lián)到多個功能對象的多個對象圖標放置到所述配置畫布的多個不同位置上,所述多個功能對象的每一個包括執(zhí)行特定功能的命令并且所述功能對象被寫成運行于所述處理器上;當所述多個對象圖標被放置在所述配置畫布上以定義處理配置時,在所述多個對象圖標的每一個之間以及在所述處理器圖標和一個或多個所述對象圖標之間自動路由多個執(zhí)行路徑;在所述配置畫布上的所述對象圖標之間創(chuàng)建數(shù)據(jù)流路徑,其中該創(chuàng)建獨立于在所述配置畫布上所述執(zhí)行路徑的路由,以使所述執(zhí)行路徑和所述數(shù)據(jù)流路徑彼此獨立;將至少一個可視化儀器放置到所述儀器畫布上;當所述可視化儀器被放置在所述儀器畫布上時,自動將與所述可視化儀器相關(guān)聯(lián)的儀器圖標放置到所述臨時窗格上;從所述臨時窗格將所述儀器圖標移動并放置到所述配置畫布上;以及在所述儀器圖標與所述配置畫布上所述處理配置內(nèi)至少一個對象圖標之間創(chuàng)建數(shù)據(jù)流路徑,以使位于所述儀器畫布上的所述可視化儀器與所述配置畫布上的所述處理配置可操作地相連;操作所述處理配置,以使所述處理系統(tǒng)可以按如下方式被操作所述功能對象按照所述對象圖標之間的執(zhí)行路徑的順序執(zhí)行關(guān)聯(lián)的功能,并且數(shù)據(jù)沿著所述圖標之間的數(shù)據(jù)流路徑被傳送。
2.根據(jù)權(quán)利要求1所述的方法,進一步包括如下步驟在所述處理系統(tǒng)操作的同時,將 至少一個所述對象圖標移動到不同的位置,并且基于所述畫布上的所述對象圖標移動的方 位自動再路由所述執(zhí)行路徑,以使所述執(zhí)行路徑被實時地再路由。
3.根據(jù)權(quán)利要求2所述的方法,其中所述操作所述處理系統(tǒng)的步驟被進一步定義為 以從所述畫布上從左至右看的順序,在所述圖標之間操作所述執(zhí)行路徑。
4.根據(jù)權(quán)利要求1所述的方法,其中所述在多個所述對象圖標之間自動路由所述多個 執(zhí)行路徑的步驟被進一步定義為基于所述對象圖標的相對方位,在所述多個對象圖標之 間自動路由所述多個執(zhí)行路徑。
5.根據(jù)權(quán)利要求4所述的方法,其中在所述多個對象圖標之間自動路由所述多個執(zhí)行 路徑的步驟被進一步定義為基于所述對象圖標的相對從左至右的方位,以從所述畫布上 從左至右看的順序,在所述多個對象圖標之間自動路由所述多個執(zhí)行路徑。
6.根據(jù)權(quán)利要求4所述的方法,進一步包括如下步驟將至少一個所述對象圖標移動 到不同位置,并且基于所述畫布上所述對象圖標的被移動的方位,來自動地再路由所述執(zhí) 行路徑。
7.根據(jù)權(quán)利要求1所述的方法,進一步包括如下步驟操縱所述可視化儀器,以實時自 動地改變沿所述數(shù)據(jù)流路徑傳送的數(shù)據(jù)值。
8.根據(jù)權(quán)利要求1所述的方法,進一步包括如下步驟將所述可視化儀器鏈接到所述 儀器圖標,并且進一步包括如下步驟提供命令,該命令用于在所述儀器畫布上的所述可視化儀器與所述配置畫布上的所述儀器圖標之間切換。
9.根據(jù)權(quán)利要求1所述的方法,其中,將所述執(zhí)行路徑從所述處理器圖標路由到所述 對象圖標中一個的步驟被進一步定義為基于在所述畫布上從左至右看的所述對象圖標的 最左邊的位置,將所述執(zhí)行路徑從所述處理器圖標自動地路由到所述對象圖標中的一個。
10.一種處理系統(tǒng)進行編程的方法,所述處理系統(tǒng)包括一個或多個節(jié)點,具有配置畫 布、儀器畫布和臨時窗格的計算機,多個功能對象,以及至少一個可視化儀器;其中所述節(jié) 點與所述計算機連接,并且所述節(jié)點包括一個或多個處理器,所述方法包括以下步驟將關(guān)聯(lián)到所述處理器的一個或多個處理器圖標放置到所述配置畫布上;將均關(guān)聯(lián)到多個功能對象的多個對象圖標放置到所述配置畫布的多個不同位置上,所 述多個功能對象的每一個包括執(zhí)行特定功能的命令并且所述功能對象被寫成運行于所述 處理器上;當所述多個對象圖標被放置在所述配置畫布上以定義處理配置時,在所述多個對象 圖標的每一個之間以及所述處理器圖標和一個或多個所述對象圖標之間自動路由多個執(zhí) 行路徑,其中所述執(zhí)行路徑可基于所述對象圖標相對于彼此移動后的方位自動地實時再路 由;在所述配置畫布上的所述對象圖標之間創(chuàng)建數(shù)據(jù)流路徑,其中該創(chuàng)建獨立于在所述配 置畫布上所述執(zhí)行路徑的路由,以使所述執(zhí)行路徑和所述數(shù)據(jù)流路徑彼此獨立;將至少一個儀器圖標放置到所述配置畫布上;當所述儀器圖標被放置在所述配置畫布上時,將與所述儀器圖標相關(guān)聯(lián)的可視化儀器 自動放置到所述臨時窗格上;在所述儀器圖標與所述配置畫布上所述處理配置內(nèi)的至少一個所述對象圖標之間創(chuàng) 建數(shù)據(jù)流路徑,操作所述處理配置,以使所述處理系統(tǒng)可以按如下方式被操作所述功能對 象按照所述對象圖標之間的執(zhí)行路徑的順序執(zhí)行關(guān)聯(lián)的功能,并且數(shù)據(jù)沿著所述圖標之間 的數(shù)據(jù)流路徑被傳送;以及從所述臨時窗格將所述可視化儀器移動并放置到所述儀器畫布上,所述儀器畫布上的 可視化儀器被可操作地連接到所述配置畫布上的所述處理配置。
11.根據(jù)權(quán)利要求10所述的方法,進一步包括如下步驟在所述處理系統(tǒng)操作的同時, 將至少一個所述對象圖標移動到不同的位置,并且基于所述畫布上所述對象圖標移動的方 位自動地對所述執(zhí)行路徑進行再路由,以使所述執(zhí)行路徑被實時地再路由。
12.根據(jù)權(quán)利要求11所述的方法,其中所述操作所述處理系統(tǒng)的步驟被進一步定義 為以從所述畫布上從左至右看的順序,在所述圖標之間操作所述執(zhí)行路徑。
13.根據(jù)權(quán)利要求12所述的方法,其中所述在多個所述對象圖標之間自動路由所述多 個執(zhí)行路徑的步驟被進一步定義為基于所述對象圖標的相對方位,在所述多個對象圖標 之間自動路由所述多個執(zhí)行路徑。
14.根據(jù)權(quán)利要求13所述的方法,其中在所述多個對象圖標之間自動路由所述多個執(zhí) 行路徑的步驟被進一步定義為基于所述對象圖標的相對從左至右的方位,以從所述畫布 上從左至右看的順序,在所述多個對象圖標之間自動路由所述多個執(zhí)行路徑。
15.根據(jù)權(quán)利要求13所述的方法,進一步包括如下步驟將至少一個所述對象圖標移 動到不同位置,并且基于所述畫布上所述對象圖標移動的方位,來自動地再路由所述執(zhí)行路徑。
16.根據(jù)權(quán)利要求10所述的方法,進一步包括如下步驟操縱所述可視化儀器,以實時 自動地改變沿所述數(shù)據(jù)流路徑傳送的數(shù)據(jù)值。
17.根據(jù)權(quán)利要求10所述的方法,進一步包括如下步驟將所述可視化儀器鏈接到所 述儀器圖標,并且進一步包括如下步驟提供命令,該命令用于在所述儀器畫布上的所述可 視化儀器和所述配置畫布上的所述儀器圖標之間切換。
18.根據(jù)權(quán)利要求10所述的方法,其中,將所述執(zhí)行路徑從所述處理器圖標路由到所 述對象圖標之一的步驟被進一步定義為基于在所述畫布上從左至右看的所述對象圖標的 最左邊的位置,將所述執(zhí)行路徑從所述處理器圖標自動地路由到所述對象圖標中的一個。
全文摘要
一種使用具有配置畫布和儀器畫布的計算機對處理系統(tǒng)進行編程的方法。所述方法包括以下步驟將每個都關(guān)聯(lián)到功能對象的對象圖標放置到所述配置畫布上;在所述對象圖標之間自動路由執(zhí)行路徑;在所述對象圖標之間還創(chuàng)建數(shù)據(jù)流路徑;將至少一個可視化儀器放置到所述儀器畫布上;自動將與所述可視化儀器相關(guān)聯(lián)的儀器圖標放置到臨時窗格上;從所述臨時窗格將所述儀器圖標移動并放置到所述配置畫布上;在所述儀器圖標和所述對象圖標中的一個之間創(chuàng)建數(shù)據(jù)流路徑,以使得位于所述儀器畫布之上的所述可視化儀器操作地與所述配置畫布上的所述處理配置相連。替代性地,至少一個儀器圖標可首先放置在所述配置畫布上。然后,與所述儀器圖標相關(guān)聯(lián)的所述可視化儀器可自動地放置在所述臨時窗格上。然后,將所述可視化儀器從所述臨時窗格上移動到所述儀器畫布上。
文檔編號G05B19/042GK101976051SQ20101050399
公開日2011年2月16日 申請日期2005年2月25日 優(yōu)先權(quán)日2004年2月25日
發(fā)明者A·R·奧斯本, A·紐森, C·考哈姆, K·M·羅得斯, S·H·布賴爾斯, S·伯吉斯, S·布朗 申請人:Bep技術(shù)公司