專利名稱:用于測試批量配置的方法、裝置和制造品的制作方法
技術領域:
本公開一般涉及批量配置,更具體地,涉及用于測試批量配置的示例性方法、裝置和制造品。
背景技術:
批量(batch)是一種可用于運行重復性和/或順序性操作來制造產(chǎn)品的過程控制系統(tǒng)配置。在過程工廠的生命周期期間,過程控制系統(tǒng)可能需要替換、修改、打補丁、升級等。然而,過程控制系統(tǒng)的任何改變有可能中斷過程工廠和/或批量配置的運行
發(fā)明內(nèi)容
公開了用于測試批量配置的示例性方法、裝置和產(chǎn)品。一種公開的示例性方法包括使用處理器識別執(zhí)行路徑,所述執(zhí)行路徑貫穿過程控制系統(tǒng)的批量配置;生成用于所述執(zhí)行路徑的測試計劃;激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃;以及記錄所述測試計劃的結(jié)果。一種公開的示例性裝置包括路徑發(fā)現(xiàn)器,其用于識別執(zhí)行路徑,所述執(zhí)行路徑貫穿過程控制系統(tǒng)的批量配置;測試計劃產(chǎn)生器,其用于生成用于所述執(zhí)行路徑的測試計劃;以及測試計劃執(zhí)行器,其用于激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃并用于記錄所述測試計劃的結(jié)果。
圖I是用于測試過程控制系統(tǒng)的批量配置的示例性系統(tǒng)的示意圖。圖2示出實現(xiàn)圖I的示例性批量測試器的示例性方式。圖3示出示例性批量層級。圖4示出示例性順序功能圖(SFC),其表示批量的一部分。圖5是對應于在圖4中聞売的不例性路徑的交互表。圖6是用于在圖4中高亮的示例性路徑的示例性測試計劃。圖7是示例性交互映射表。圖8是圖6的示例性測試計劃的示例性結(jié)果。圖9是表示示例性過程的流程圖,可使用圖I和2的示例性批量測試器執(zhí)行該示例性過程來測試批量配置。圖10和11是表示示例性過程的流程圖,可執(zhí)行該示例性過程來實現(xiàn)圖I和2的示例性批量測試器和/或測試過程控制系統(tǒng)的批量配置。圖12是示例性偽碼,其可被實現(xiàn)來識別貫穿批量配置的路徑。圖13A-E是示例性偽碼,其可被實現(xiàn)來合并貫穿批量配置的分叉和匯聚的路徑。圖14是示例性偽碼,其可被實現(xiàn)來生成人可讀和/或機器可讀的批量交互表。圖15A-J是示例性偽碼,其可被實現(xiàn)來生成批量測試計劃。
圖16是能夠用于限定SFC和/或為SFC導向的示例性規(guī)則集。圖17是示例性處理器平臺的示意圖,可使用該示例性處理器平臺和/或?qū)ζ渚幊虂韴?zhí)行圖10和/或11的示例性過程、圖12、13A-E、14和/或15A-J的示例性偽碼,和/或?qū)嵤┡颗渲玫臏y試。
具體實施例方式由于現(xiàn)代過程控制系統(tǒng)的復雜性以及過程工廠配置和/或批量配置的無限制數(shù)量,因此,在發(fā)布過程控制系統(tǒng)和/或批量配置的修改、補丁、升級等之前檢測到可能出現(xiàn)的任何缺陷是困難的。例如,這些未檢測到的缺陷可能僅在該過程控制系統(tǒng)和/或批量配置結(jié)合實際的過程工廠運行之后和/或之時才變得明顯。為緩解替換、修改、修補、更新和/或升級其一個或多個過程控制系統(tǒng)和/或批量配置的需要,一些客戶替代地選擇將其過程控制系統(tǒng)與其他設備和/或網(wǎng)絡隔離。雖然這些舉措可能降低中斷的可能性,但是卻阻止 了過程工程師利用過程控制系統(tǒng)和/或批量配置的更新版本中的可用的特點和/或性能??偠灾?,在此公開的示例性裝置、方法和制造品可用于測試批量配置。特別地,在此公開的示例性裝置、方法和制造品可用于自動地識別貫穿批量配置的所有可能的執(zhí)行路徑,自動地生成用于那些可能的執(zhí)行路徑中的任何一個或全部的測試計劃,和/或自動測試那些可能的執(zhí)行路徑中的任何一個或全部。在將新的和/或更新后的過程控制系統(tǒng)用于控制客戶的過程工廠之前,可與該新的和/或更新后的過程控制系統(tǒng)一起測試批量配置。附加地或替代地,可針對項目設計目標和/或功能測試例目標來測試批量配置。通過自動地和/或系統(tǒng)地測試批量配置,可實現(xiàn)多個優(yōu)點。通過便利僅可在實際測試情形下檢測的軟件缺陷的識別,自動批量配置測試能夠降低過程工廠中中斷事件的次數(shù)。自動批量配置測試還能夠減少完全測試批量配置所需的時間和/或精力,因為能夠自動確定和/或驗證該批量配置的行為。自動批量配置測試還能夠?qū)嵸|(zhì)上使更多的測試情形能夠被執(zhí)行和/或驗證。自動批量配置測試還能夠?qū)崿F(xiàn)測試而無需過程模型,對于嚴格管理的工業(yè)而言,創(chuàng)建這些模型將是花費高昂和/或費時的。此外,自動批量測試能增強客戶對采用過程控制系統(tǒng)升級的信心,并且能夠降低支持過程控制系統(tǒng)的成本。圖I示出用于測試過程控制系統(tǒng)105的批量配置的示例性系統(tǒng)100,過程控制系統(tǒng)105例如是費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV 過程控制系統(tǒng)。圖I的示例性過程控制系統(tǒng)105包括一個或多個過程控制器110、一個或多個操作員站115以及一個或多個應用和/或工作站120。示例性過程控制器110是費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV控制器。圖I的一個或多個示例性過程控制器110、示例性操作員站115以及示例性工作站120通過總線和/或局域網(wǎng)(未圖示)通信地耦接,該局域網(wǎng)通常被稱為應用控制網(wǎng)。這個局域網(wǎng)可使用任何期望的一種或多種通信介質(zhì)和/或一個或多個協(xié)議來實現(xiàn)。例如,該局域網(wǎng)可基于有線和/或無線的以太通信方案。然而,可使用任何其他適合的一種或多種通信介質(zhì)和/或一個或多個協(xié)議。圖I的示例性操作員站115允許過程工廠操作員檢查和/或操作一個或多個操作員顯示屏、圖形用戶界面和/或應用,它們使操作員能夠查看過程工廠變量、查看過程工廠狀態(tài)、查看過程工廠條件、查看過程工廠警報和/或提供用戶輸入,例如用于改變過程工廠設置(例如,設定點和/或運行狀態(tài)、清除警報、靜音警報等)的用戶輸入。這些屏幕和/或應用一般由過程配置工程師設計和/或?qū)崿F(xiàn)。正如下文詳細討論的,示例性批量測試器125可仿真至操作員站115的用戶和/或操作員輸入117來激勵、命令、促成和/或以其他方式使得過程控制系統(tǒng)105執(zhí)行貫穿批量配置的、特定的、選擇的和/或挑選的路徑??膳渲脠DI的示例性工作站120來實現(xiàn)任意數(shù)量和/或一個或多個類型的一個或多個過程控制應用和/或一個或多個功能。在圖I所示的例子中,除了可能的其他應用和/或功能,工作站120被配置為實現(xiàn)費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的 DeltaV 批量執(zhí)行器(DeltaV Batch Executive) 130。通過控制、排序(sequencing)和/或協(xié)調(diào)由一個或多個示例性控制器110實現(xiàn)的一個或多個階段類的輸入、輸出和/或操作,圖I的示例性批量執(zhí)行器130執(zhí)行批量流程,這些批量流程由一個或多個順序功能圖表(SFC) 135限定。圖I的一個或多個示例性SFC135是動作和/或過程的圖形表示,并且其是根據(jù)一個或多個任何過去、現(xiàn)在和/或?qū)淼臉藴屎?或建議,例如國際測控學會(ISA)S88標準,限定或構建的。 圖I的示例性工作站115和120可采用任何適合的計算系統(tǒng)和/或處理系統(tǒng)實現(xiàn),例如圖17的示例性處理器平臺P100。示例性站115和120例如可采用單處理器和/或多處理器計算機和/或計算機工作站實現(xiàn)。為了使圖I的示例性批量測試器125能夠與示例性批量執(zhí)行器130和/或一個或多個示例性控制器110交互,圖I的示例性過程控制系統(tǒng)105包括任意數(shù)量和/或一個或多個類型的用于過程控制的對象鏈接與嵌入(object linking and embedding (OLE) forprocess control, OPC)控制器140。示例性OPC控制器140是費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV OPC服務器。在圖I所示的例子中,仿真和/或建??刂葡到y(tǒng)層級的一個或多個低層145 (例如裝置模塊、控制模塊、輸入/輸出設備、現(xiàn)場設備等),而不是在實際的過程控制現(xiàn)場設備上執(zhí)行控制系統(tǒng)層級的一個或多個低層145。在一些例子中,仿真的一個或多個控制層145還仿真和/或建模由示例性過程控制系統(tǒng)105控制的過程工廠。可使用任意數(shù)量和/或一個或多個類型的方法、邏輯、工具、應用和/或設備,例如費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV SimulatePro應用,來實現(xiàn)圖I的示例性仿真的一個或多個控制層145。為配置控制部件(例如一個或多個示例性控制器110、示例性操作員站115和/或示例性工作站120),圖I的示例性過程控制系統(tǒng)105包括過程控制系統(tǒng)配置子系統(tǒng)150。圖I的示例性配置子系統(tǒng)150基于操作數(shù)據(jù)庫155的內(nèi)容來加載、配置、委托和/或編程過程控制系統(tǒng)105的實際的(即物理的)過程控制部件。圖I的示例性配置子系統(tǒng)150和示例性操作數(shù)據(jù)庫155是費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV過程控制系統(tǒng)的一部分。可使用DeltaV過程控制系統(tǒng)的其他工具和/或接口(未圖示),例如費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV配置軟件套件,生成、限定、規(guī)定和/或增殖(populate)圖I的示例性操作數(shù)據(jù)庫155。在一些例子中,一個或多個示例性SFC135存儲于示例性操作數(shù)據(jù)庫155中。盡管圖I示出了示例性過程控制系統(tǒng)105,用于測試批量配置的裝置、方法和制造品可以被有利地應用于其上,但是,本領域技術人員容易理解,在此公開的裝置、方法和制造品在需要時可有利地應用于比圖I所示的例子具有更高或更低復雜度的其他過程控制系統(tǒng)(例如,具有多余一個的控制器、橫跨多余一個的地理位置等的過程控制系統(tǒng))。而且,盡管為圖示的清楚起見而未示于圖1,任意數(shù)量和/或一個或多個類型的附加的或替代的裝置、部件和/或系統(tǒng)可包括在過程工廠和/或過程控制系統(tǒng)中。例如,過程工廠和/或過程控制系統(tǒng)可包括和/或?qū)崿F(xiàn)防火墻、交換機、路由器、集線器、電源和/或由過程控制系統(tǒng),諸如費希爾-羅斯蒙特系統(tǒng)公司(一家艾默生過程管理公司)銷售的DeltaV過程控制系統(tǒng),管理和/或可控制的任何其他設備。為測試批量配置,圖I的示例性系統(tǒng)100包括示例性批量測試器125。圖I的示例性批量測試器125測試批量配置、程序和/或腳本,以驗證過程控制系統(tǒng)105如期望的那樣執(zhí)行批量。為驗證批量的執(zhí)行,示例性批量測試器125比較該批量的一個或多個結(jié)果,以執(zhí)行一個或多個基準點(benchmark)。示例性基準點包括,但不限于,收集自該批量在不同 版本的過程控制系統(tǒng)105和/或不同版本的過程控制系統(tǒng)軟件上的先前的執(zhí)行的一個或多個結(jié)果,和/或在項目配置文件和/或功能測試文件中限定和/或規(guī)定的目標、期望的和/或預期的一個或多個行為和/或一個或多個結(jié)果。示例性批量測試器125測試批量配置、程序和/或腳本(例如流程、單元流程、操作和/或階段類)的所有層以及控制器接口邏輯。附加地或者替代地,批量測試器125驗證批量的執(zhí)行時間沒有被不恰當?shù)匮舆t、批量沒有過早地進入“完成”狀態(tài)、批量如期望的那樣獲得和/或釋放設備、命令沒有返回錯誤、批量正確地從錯誤恢復和/或如期望的那樣實現(xiàn)操作員交互。例如通過在一個或多個控制器110設置相同的狀態(tài)之前促成一個或多個控制器110的狀態(tài)變化,批量測試器125確保一個或多個SFC135的命令在一個或多個控制器110上正確地和/或非被動地執(zhí)行。下文結(jié)合圖2公開實現(xiàn)圖I的示例性批量測試器125的示例性方式。圖I的示例性批量測試器125分析批量配置、腳本和/或程序,以識別貫穿該批量的所有可能執(zhí)行路徑。示例性批量測試器125使用由S88標準所限定的批量腳本層級和SFC結(jié)構的知識來確定貫穿批量的所有可能執(zhí)行路徑。示例性批量測試器125向用戶顯示所識別的執(zhí)行路徑列表。對于該用戶選擇的一個或多個執(zhí)行路徑中的每一個,批量測試器125生成一個測試計劃,該測試計劃促成、激勵和/或以其他方式使得過程控制系統(tǒng)105和/或仿真的一個或多個控制層145遵循被測試的執(zhí)行路徑。通過編譯一個所有交互的列表,示例性批量測試器125生成測試計劃,這些交互是為了激勵、促成和/或以其他方式使得過程控制系統(tǒng)105和/或仿真的一個或多個控制層145遵循貫穿批量的特定執(zhí)行路徑而所需要的。可由示例性批量測試器125生成的一個示例性測試計劃是人可讀的(例如,根據(jù)可擴展標記語言(XML)構造的)和可程序地執(zhí)行的。每個執(zhí)行路徑的執(zhí)行結(jié)果被呈現(xiàn)給用戶和/或保存在日志文件中,以便隨后與適當?shù)幕鶞庶c和/或目標比較。圖I的示例性批量測試器125執(zhí)行S88標準限定的批量配置、腳本和/或程序的所有等級,從而在批量層級中導向,以識別貫穿該批量的所有可能的執(zhí)行路徑。圖16示出限定SFC并能夠被示例性批量測試器125用于識別貫穿批量的執(zhí)行路徑的規(guī)則和/或結(jié)構的示例性列表。圖3示出用于階段類305的示例性批量層級300,階段類305在單一操作315中具有單一步驟310,單一操作315在單一單元流程320之中,單一單元流程320在單一流程325之中。在圖3示出的例子中,各方框周邊所示的文字(例如方框310周邊的文字330)表示用于與該批量的各層交互的命令。
圖4示出示例性SFC400,其表示批量的一部分。圖I的示例性批量測試器125為示例性SFC400導向,以識別貫穿該SFC的每個執(zhí)行路徑。在圖4中,附圖標記405處標明了一示例性執(zhí)行路徑。如圖4所示,執(zhí)行路徑405開始于初始設定410并前進至終點415。圖4的示例性執(zhí)行路徑405能夠表示為SI- > Tl- > S2- > T2B- > S3- > T3B其中符號“- > ”表示“前進至”。典型地,批量會包括多個SFC層,因此貫穿該批量的路徑發(fā)現(xiàn)會更為復雜,但是路徑導向采用與單個SFC時相同的方法和/或邏輯。下文結(jié)合圖11公開能夠由示例性批量測試器125執(zhí)行以發(fā)現(xiàn)和/或識別批量和/或SFC中的執(zhí)行路徑的示例性過程。圖12U3A-E和14示出可由示例性批量測試器125實現(xiàn)以發(fā)現(xiàn)和/或識別貫穿批量和/或SFC的執(zhí)行路徑的示例性偽碼。
對于待測試的各執(zhí)行路徑(例如圖4的示例性執(zhí)行路徑405),圖I的示例性批量測試器125生成一個命令列表,這些命令是操縱、激勵、促成和/或以其他方式引起沿著當前考慮的路徑的執(zhí)行所需要的。該命令列表包括為遵循執(zhí)行路徑所需的輸入以及由沿著該路徑的批量所操縱的輸出。圖5示出一個示例性交互表500,其表示操縱、激勵、促成和/或以其他方式引起沿著圖4的示例性執(zhí)行路徑405的執(zhí)行的命令列表。圖5的示例性輸入來自三個不同的源人的交互、從仿真的一個或多個控制層145接收到的信號(例如“閥門XV-101開啟”)和/或從外部程序控制接收到的信號(例如“開始SFC”)。圖5的示例性輸出是至仿真的一個或多個控制層145的信號(例如“開啟閥門XV-101”)、至外部程序的信號和/或有關批量的當前狀態(tài)的信息(例如“步驟SI是激活的”)。在圖5的示例性交互表500中,#列505表不命令的序號,輸入/輸出列510表不命令是否被接收到(輸入)或給出(輸出),代理(agent)列515表示誰執(zhí)行命令,類型列520表示代理515的類型。為執(zhí)行批量路徑,示例性批量測試器125發(fā)送命令,以改變該批量的狀態(tài)和/或接收有關發(fā)生什么操作的反饋。相應地,圖I的示例性批量測試器125為圖5的示例性交互表500增加了額外命令,這些額外命令在圖6的示例性測試計劃600中以陰影示出(其中的兩個標示了附圖標記605和610)。批量測試器125增加的額外命令允許示例性批量測試器125將自身與該批量同步。如圖6所示,示例性批量測試器125驗證該批量的每個操作、行為和/或轉(zhuǎn)變,包括在每個步驟中的一個或多個動作。因此,每個步驟和/或轉(zhuǎn)變具有由批量測試器125設置和/或記錄的前置條件(pre-condition)和/或后置條件(post-condition),如圖6所示。圖15A-J示出了可由圖I的示例性批量測試器125實現(xiàn)來產(chǎn)生測試計劃的示例性偽碼。如圖I概念性地示出的,示例性批量測試器125包括批量執(zhí)行的環(huán)境,并為批量提供所有必要的反饋。例如,操作員不再向批量提供輸入和/或響應。替代地,批量測試器125提供仿真的輸入117。然而,如圖I所示,因為一個或多個低控制層由仿真的一個或多個控制層145仿真,所以,示例性批量測試器125不需要提供和/或記錄一個或多個控制器110與仿真的一個或多個控制層145之間的信號。為了允許圖I的示例性批量測試器125確定用于與過程控制系統(tǒng)105交換數(shù)據(jù)的命令,示例性批量測試器125使用例如由過程控制系統(tǒng)105的工程師提供的交互映射表160。圖I的示例性交互映射表160限定和/或規(guī)定數(shù)據(jù)和/或命令如何被寫入和/或接收自過程控制系統(tǒng)105。圖7示出示例性交換映射表160。圖I的示例性批量測試器125使用交互映射表160來為測試計劃(例如圖6的示例性測試計劃600)中的每一步驟識別特定的命令,以執(zhí)行該步驟。圖8示出由圖I的示例性批量測試器125為圖4的示例性測試路徑405生成的示例性測試結(jié)果日志800。當執(zhí)行各測試路徑時,批量測試器125更新和/或增加日志文件。如圖所示,日志800能用來確定測試覆蓋(test coverage)并能被很容易地導向??赏ㄟ^例如將日志800的相關部分與另一日志的內(nèi)容比較來確定是否正確地執(zhí)行批量路徑。如上所述,可例如通過采用另一版本的過程控制系統(tǒng)軟件測試批量來生成另一日志。此外,可以將日志800和/或其部分與項目設計文件和/或功能測試目標進行比較。在這些例子中,采用批量測試器125可訪問和/或可讀的格式和/或數(shù)據(jù)結(jié)構來存儲項目設計文件和/或功能測試目標(和/或其部分),以便其能夠與日志800和/或其部分比較。圖2示出實現(xiàn)圖I的示例性批量測試器125的示例性方式。為連接圖I的示例、性操作數(shù)據(jù)庫155,圖I的示例性批量測試器125包括數(shù)據(jù)庫接口 205。采用任何數(shù)量和/或一個或多個類型的消息、協(xié)議、邏輯、方法和/或應用程序接口,圖2的示例性數(shù)據(jù)庫接口205使批量測試器125的其他部分能夠從操作數(shù)據(jù)庫155查詢和/或獲取信息(例如批量配置、程序和/或腳本)和/或?qū)⒔Y(jié)果(例如,日志文件)存儲在操作數(shù)據(jù)庫155中。為識別貫穿批量的路徑,圖2的示例性批量測試器125包括路徑發(fā)現(xiàn)器210。圖2的示例性批量測試器210追蹤和/或執(zhí)行例如由S88標準限定的批量配置、腳本和/或程序的所有等級,并從而在批量層級中導向,以識別貫穿該批量的所有可能的執(zhí)行路徑,如上文結(jié)合圖1、3、4和16所公開的。為產(chǎn)生諸如圖6的示例性測試計劃600的測試計劃,圖2的示例性批量測試器125包括測試計劃產(chǎn)生器215。對于待測試的各執(zhí)行路徑,圖2的示例性測試計劃產(chǎn)生器215生成一個命令列表,這些命令是操縱、激勵、促成和/或以其他方式引起當前考慮的路徑的執(zhí)行而所需要的。該命令列表包括為遵循執(zhí)行路徑所需的輸入以及由沿著該路徑的批量所操縱的輸出。示例性測試計劃產(chǎn)生器215還插入額外的命令,以允許測試計劃執(zhí)行器220改變批量的狀態(tài)和/或接收有關發(fā)生什么操作的反饋。為執(zhí)行測試計劃,圖2的示例性批量測試器125包括示例性測試計劃執(zhí)行器220。采用諸如圖7的示例性表160的交互映射表,圖2的示例性測試計劃執(zhí)行器220執(zhí)行測試計劃的每一個命令。當執(zhí)行測試計劃時,示例性測試計劃執(zhí)行器220將執(zhí)行該測試計劃的結(jié)果和/或在該測試計劃的執(zhí)行期間獲取的狀態(tài)信息存儲在諸如圖8的示例性日志文件800的日志文件中。為允許示例性測試計劃執(zhí)行器220與圖I的示例性過程控制系統(tǒng)105交互,圖2的示例性批量測試器125包括控制系統(tǒng)接口 225。為驗證測試結(jié)果,圖2的示例性批量測試器125包括比較器230。采用任何數(shù)量和/或一個或多個類型的方法、邏輯和/或準則,圖2的示例性比較器230將示例性測試計劃執(zhí)行器220生成的日志文件與測試計劃執(zhí)行器220先前生成的其他日志文件比較。例如,比較器230可驗證該批量達到預期的一個或多個狀態(tài)以及產(chǎn)生了過程控制系統(tǒng)105的預期的輸出。附加地或替代地,比較器230能夠?qū)⒃撊罩疚募?或其部分與項目設計文件和/或功能測試目標比較。在這些例子中,采用比較器230可訪問和/或可讀的格式和/或數(shù)據(jù)結(jié)構來存儲項目設計文件和/或功能測試目標(和/或其部分),以便其與日志文件和/或其部分比較。盡管圖2示出實現(xiàn)圖I的示例性批量測試器125的示例性方式,但是,圖2所示的接口、數(shù)據(jù)結(jié)構、元件、過程和/或設備中的一個或多個可組合、劃分、重新排布、省略、消除和/或以任何其他方式實現(xiàn)。進一步地,示例性數(shù)據(jù)庫接口 205、示例性路徑發(fā)現(xiàn)器210、示例性測試計劃產(chǎn)生器215、示例性測試計劃執(zhí)行器220、示例性控制系統(tǒng)接口 225和/或,更一般地,圖I和2的示例性批量測試器125,可由硬件、軟件、固件和/或硬件、軟件和/或固件的任何組合實現(xiàn)。因此,例如,示例性數(shù)據(jù)庫接口 205、示例性路徑發(fā)現(xiàn)器210、示例性測試計劃產(chǎn)生器215、示例性測試計劃執(zhí)行器220、示例性控制系統(tǒng)接口 225和/或,更一般地,示例性批量測試器125,中的任意一個可由圖17的示例性處理器平臺PlOO和/或一個或多個電路、可編程處理器、專用集成電路(ASIC)、可編程邏輯器件(PLD)、現(xiàn)場可編程邏 輯器件(FPLD)、現(xiàn)場可編程門陣列(FPGA)、熔絲器件(fuse)等實現(xiàn)。當本專利的、包含這些元件中的一個或多個的任意裝置權利要求被閱讀為覆蓋純軟件和/或固件實現(xiàn)方式時,示例性數(shù)據(jù)庫接口 205、示例性路徑發(fā)現(xiàn)器210、示例性測試計劃產(chǎn)生器215、示例性測試計劃執(zhí)行器220、示例性控制系統(tǒng)接口 225和/或,更一般地,示例性批量測試器125中的至少一個在此被明確地限定為包括有形制造品,例如存儲該固件和/或軟件的有形的計算機可讀介質(zhì)。再進一步地,示例性批量測試器125可包括替代圖2所示的那些或除了圖2所示的那些之外的接口、數(shù)據(jù)結(jié)構、元件、過程和/或設備和/或示例性批量測試器125可包括多于一個的、所示出的接口、數(shù)據(jù)結(jié)構、元件、過程和/或設備中的任意一個或全部。如在此所使用的,術語有形計算機可讀介質(zhì)被明確地限定為包括任何類型的計算機可讀介質(zhì)并且明確地排除傳播信號。如本發(fā)明所使用的,術語非瞬態(tài)計算機可讀介質(zhì)被明確地限定為包括任何類型的計算機可讀介質(zhì)并且排除傳播信號。示例性的有形和/或非瞬態(tài)計算機可讀介質(zhì)包括易失性和/或非易失性存儲器、易失性和/或非易失性存儲設備、壓縮盤(CD)、數(shù)字通用光盤(DVD)、軟盤、只讀存儲器(ROM)、隨機存取存儲器(RAM)、可編程只讀存儲器(PROM)、電可編程只讀存儲器(EPROM)、電可擦可編程只讀存儲器(EEPROM)、光存儲盤、光存儲設備、磁性存儲盤、磁存儲設備、高速緩沖存儲器(cache)和/或任何其他存儲介質(zhì),在其中以任何持續(xù)期間存儲信息(例如,以延長的期限、永久地、短間隙、為臨時緩沖和/或為信息的高速緩存)并且這種存儲介質(zhì)能夠被處理器、計算機和/或其他具有處理器的機器訪問,例如下文結(jié)合圖17討論的示例性處理器平臺P100。圖9是表示示例性過程的流程圖,該過程可由例如工程師和/或過程工廠操作員執(zhí)行,來為過程控制系統(tǒng)測試批量配置。圖9的示例性過程從用戶為過程控制系統(tǒng)(諸如圖I的示例性過程控制系統(tǒng)105)配置交互映射表(諸如圖7的示例性表160)開始(塊905)。用戶輸入諸如DeltaV. FHX文件的配置文件,其包含一個或多個批量配置(塊910)。用戶實現(xiàn)仿真的一個或多個控制層145(塊915)并選擇一個批量來進行測試(塊920)。用戶檢查之前由批量測試器125自動識別的、貫穿該批量的執(zhí)行路徑的列表(塊925),并選擇所識別的執(zhí)行路徑中的一個或多個以進行測試(塊930)。用戶開始執(zhí)行一個或多個批量測試(塊935)并檢查一個或多個批量測試的結(jié)果(塊940)。通過例如將日志文件與另一日志文件比較和/或?qū)⒃撊罩疚募械慕Y(jié)果與項目設計文件和/或功能測試文件比較,用戶確認批量測試結(jié)果(塊945)。
圖10和11是表示示例性過程的流程圖,可執(zhí)行該示例性過程來實現(xiàn)圖I和2的示例性批量測試器125??墒褂谩⑴渲煤?或編程處理器、控制器和/或任何其他適合的處理設備來執(zhí)行圖10和/或11的示例性過程。例如,圖10和/或11的示例性過程可被嵌入于存儲在有形計算機可讀介質(zhì)上的編碼的或機器可讀的指令中。機器可讀的指令包括例如使處理器、計算機和/或具有處理器的機器執(zhí)行一個或多個特定過程的指令。替代地,圖10和/或11的示例性過程中的一些或全部可采用ASIC、PLD、FPLD、FPGA、離散邏輯、硬件、固件等的任意組合實現(xiàn)。此外,可手動地或以前述任意技術的任意組合,例如固件、軟件、離散邏輯和/或硬件的任意組合,實現(xiàn)圖10和/或11的示例性過程中的一些或全部。而且,可采用用于實現(xiàn)圖9、10和/或11的示例性操作的許多其他方法。例如,可改變塊的執(zhí)行次序,和/或可改變、消除、分解或組合所公開的塊中的一個或多個。此外,可順序地執(zhí)行和/或可由例如不同用戶、獨立的處理線程、處理器、設備、離散邏輯、電路等并行地執(zhí)行圖9、10和/或11的示例性過程中的任意一個或全部的塊。 圖10的示例性過程從示例性路徑發(fā)現(xiàn)器210識別貫穿批量的執(zhí)行路徑開始(塊1005)。路徑發(fā)現(xiàn)器210可通過例如執(zhí)行圖11的示例性過程和/或?qū)崿F(xiàn)圖12U3A-E和14的示例性偽碼來識別執(zhí)行路徑。路徑發(fā)現(xiàn)器210顯示所識別的執(zhí)行路徑的列表,以便用戶檢查(塊1010)。示例性測試計劃產(chǎn)生器215從用戶接收對所顯示的執(zhí)行路徑的一個或多個的選擇(塊1015)并為每個所選擇的執(zhí)行路徑生成測試計劃,例如圖6的示例性測試計劃600 (塊1020)。示例性測試計劃產(chǎn)生器215通過例如實現(xiàn)圖15A-J的示例性偽碼來產(chǎn)生測試計劃。示例性測試計劃執(zhí)行器220執(zhí)行由測試計劃產(chǎn)生器215產(chǎn)生的每一個測試計劃(塊1025)并將結(jié)果存儲于日志文件中(塊1030)。如用戶所指示的,示例性比較器230將該日志文件的全部或某部分與一個或多個其他日志文件比較,以驗證和/或確認所執(zhí)行的批量路徑的結(jié)果(塊1035)。然后,控制退出圖10的示例性過程??蓤?zhí)行圖11的示例性過程來識別貫穿批量的路徑。圖11的示例性過程從例如通過實現(xiàn)圖12的示例性偽碼,路徑發(fā)現(xiàn)器210識別貫穿該批量的所有路徑開始(塊1105),這些路徑始于初始節(jié)點并終于任何終點或待定轉(zhuǎn)變點(hanging transition)。例如通過實現(xiàn)圖13A-E的示例性偽碼,路徑發(fā)現(xiàn)器210識別并合并分叉和匯聚的路徑(塊1110)。例如通過實現(xiàn)圖14的示例性偽碼,路徑發(fā)現(xiàn)器210為合并的路徑產(chǎn)生路徑說明(塊1115)。然后,控制退出圖11的示例性過程。圖12、13A_E、14和15A-J是表不不例性過程的偽碼,可執(zhí)行這些不例性過程來實現(xiàn)圖I和2的示例性批量測試器125,尤其是圖2的示例性路徑發(fā)現(xiàn)器210和示例性測試計劃產(chǎn)生器215??墒褂?、配置和/或編程處理器、控制器和/或任何其他適合的處理裝置來執(zhí)行圖12、13A-E、14和/或15A-J的示例性偽碼。例如,圖12、13A_E、14和/或15A-J的示例性偽碼可嵌入于存儲在有形計算機可讀介質(zhì)上的編碼的或機器可讀的指令中。機器可讀的指令包括例如使處理器、計算機和/或具有處理器的機器執(zhí)行一個或多個特定過程的指令。替代地,圖12、13A-E、14和/或15A-J的示例性偽碼中的一些或全部可采用ASIC、PLD、FPLD、FPGA、離散邏輯、硬件、固件等的任意組合實現(xiàn)。此外,可手動地或以前述任意技術的任意組合,例如固件、軟件、離散邏輯和/或硬件的任意組合,實現(xiàn)圖12、13A-E、14和15A-J的示例性偽碼中的一些或全部。而且,可采用許多其他用于實現(xiàn)圖12、13A-E、14和/或15A-J的示例性操作的方法。例如,可改變偽碼的塊、部分、陳述和/或表達的執(zhí)行次序,和/或可改變、消除、分解或組合所公開的塊、部分、陳述和/或表達中的一個或多個。此外,可順序地執(zhí)行和/或可由例如不同用戶、獨立的處理線程、處理器、設備、離散邏輯、電路等并行地執(zhí)行圖12、13A-E、14和15A-J的示例性偽碼的某個或全部偽碼的塊、部分、陳述和/或表達。圖17是示例性處理器平臺PlOO的方框圖,可使用和/或編程示例性處理器平臺PlOO來實現(xiàn)所公開的示例性批量測試器125和/或執(zhí)行在此公開的示例性機器可訪問指令和/或過程中的某個或全部??墒褂靡粋€或多個通用處理器、處理器核、微控制器等來實現(xiàn)處理器平臺P100。處理器平臺PlOO能夠是例如服務器、個人電腦、嵌入式控制器和/或任何其他類型的計算設備。便捷例子的處理器平臺PlOO包括至少一個可編程處理器P105。處理器P105執(zhí)行存在于處理器P105的主存儲器中(例如RAM Pl 15和/或ROM P120中)的編碼的指令PllO和/或P112。處理器P105可為任何類型的處理單元,例如處理器核、處理器和/或微 控制器??蓪μ幚砥鱌105編程來執(zhí)行圖10和11的示例性過程和/或圖12、13A-E、14和/或15A-J的示例性偽碼。這樣,編碼的指令P110、P112可表示圖10和11的示例性過程和/或圖12、13A-E、14和/或15A-J的示例性偽碼。處理器P105通過總線P125與包括ROM PllO和RAM P115的主存儲器通信。RAMP115可由同步動態(tài)隨機存取存儲器(SDRAM)、動態(tài)隨機存取存儲器(DRAM)、RAMBUS動態(tài)隨機存取存儲器(RDRAM)和/或任何其他類型的RAM器件實現(xiàn)。ROM PllO可由閃存和/或任何其他期望類型的存儲器器件實現(xiàn)。存儲控制器可控制對存儲器P115和存儲器P120的訪問。示例性存儲器P115可用于例如存儲示例性操作數(shù)據(jù)庫155。處理器平臺PlOO包括接口電路P130。任何類型的接口標準,例如外存儲器接口、串行端口、通用輸入/輸出、以太網(wǎng)接口、通用串行總線(USB)和/或PCI快速接口等,可實現(xiàn)接口電路P130。一個或多個輸入設備P135可被連接至接口電路P130。一個或多個輸入設備P135能夠由例如鍵盤、鼠標、觸摸屏、觸摸板、軌跡球、isopoint和/或語音識別系統(tǒng)實現(xiàn)。一個或多個輸出設備P140也被連接至接口電路1020。輸出設備P140能由例如顯示設備(例如液晶顯示器、陰極射線管顯示器、打印機和/或揚聲器)實現(xiàn)。這樣,接口電路P130可包括圖形驅(qū)動卡。一個或多個輸入設備P135和一個或多個輸出設備P140可被附加地或替代地用來提供諸如測試結(jié)果的和/或所識別的執(zhí)行路徑的列表的信息,和/或用來接收待測試的執(zhí)行路徑的選擇。接口電路P130還可包括諸如調(diào)制解調(diào)器、收發(fā)器或網(wǎng)絡接口卡的通信設備,以方便通過網(wǎng)絡與外部計算機交換數(shù)據(jù)。在一些例子中,處理器平臺PlOO還包括一個或多個大容量存儲裝置P145,以存儲軟件和數(shù)據(jù)。這些大容量存儲裝置P145的例子包括軟盤驅(qū)動器、硬盤驅(qū)動器、固態(tài)硬盤驅(qū)動器、CD驅(qū)動器、DVD驅(qū)動器和/或任何其他固態(tài)、磁性和/或光存儲設備。大容量存儲裝置P145可以實現(xiàn)示例性操作數(shù)據(jù)庫155。在此公開的編碼的指令可以被存儲于大容量存儲裝置P145中、存儲于RAM P115中、存儲于ROM P120中和/或存儲于諸如CD或DVD的可移除存儲介質(zhì)上。
從上文所述,應當理解上文所公開的用于測試過程控制系統(tǒng)的方法、裝置和制造品。雖然在此描述了某些示例性方法、裝置和制造品,但是本專利的覆蓋范圍不限于此。相 反,本專利覆蓋了合理落入本專利的權利要求的范圍的所有方法、裝置和制造品。
權利要求
1.一種方法,包括 使用處理器識別執(zhí)行路徑,所述執(zhí)行路徑貫穿過程控制系統(tǒng)的批量配置; 生成用于所述執(zhí)行路徑的測試計劃; 激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃;以及 記錄所述測試計劃的結(jié)果。
2.如權利要求I所述的方法,還包括 識別貫穿所述批量配置的第二執(zhí)行路徑; 向用戶呈現(xiàn)所述執(zhí)行路徑和所述第二執(zhí)行路徑;以及 接收選擇用于測試的所述執(zhí)行路徑的輸入。
3.如權利要求I所述的方法,其中,識別所述執(zhí)行路徑包括 識別在初始節(jié)點與每一終止節(jié)點之間的所有執(zhí)行路徑; 合并分叉和匯聚的執(zhí)行路徑的部分;以及 為所述執(zhí)行路徑中的每一個創(chuàng)建路徑說明。
4.如權利要求I所述的方法,其中,生成所述測試計劃包括 識別表示所述執(zhí)行路徑的交互序列;以及 將額外的交互插入所述序列,以使所述過程控制系統(tǒng)執(zhí)行所述測試計劃。
5.如權利要求I所述的方法,還包括將所述結(jié)果與執(zhí)行于第二過程控制系統(tǒng)上的所述測試計劃的第二結(jié)果、項目設計目標或功能測試目標中的至少一個進行比較。
6.如權利要求5所述的方法,其中,所述第二過程控制系統(tǒng)包括所述第一過程控制系統(tǒng),且所述第二過程控制系統(tǒng)運行的軟件版本不同于所述第一過程控制系統(tǒng)。
7.一種裝置,包括 路徑發(fā)現(xiàn)器,其用于識別執(zhí)行路徑,所述執(zhí)行路徑貫穿過程控制系統(tǒng)的批量配置; 測試計劃產(chǎn)生器,其用于生成用于所述執(zhí)行路徑的測試計劃;以及測試計劃執(zhí)行器,其用于激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃并用于記錄所述測試計劃的結(jié)果。
8.如權利要求7所述的裝置,其中 所述路徑發(fā)現(xiàn)器用于識別貫穿所述批量配置的第二執(zhí)行路徑;以及所述測試計劃產(chǎn)生器用于向用戶呈現(xiàn)所述執(zhí)行路徑和所述第二執(zhí)行路徑并接收選擇用于測試的所述執(zhí)行路徑的輸入。
9.如權利要求7所述的裝置,其中,所述路徑發(fā)現(xiàn)器用于 識別在初始節(jié)點與每一終止節(jié)點之間的所有執(zhí)行路徑; 合并分叉和匯聚的執(zhí)行路徑的部分;以及 為所述執(zhí)行路徑中的每一個創(chuàng)建路徑說明。
10.如權利要求7所述的裝置,其中,所述測試計劃產(chǎn)生器用于 識別表示所述執(zhí)行路徑的交互序列;以及 將額外的交互插入所述序列,以使所述測試計劃執(zhí)行器激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃。
11.如權利要求7所述的裝置,還包括比較器,其用于將所述結(jié)果與執(zhí)行于第二過程控制系統(tǒng)上的所述測試計劃的第二結(jié)果、項目設計目標或功能測試目標中的至少一個進行比較。
12.如權利要求11所述的裝置,其中,所述第二過程控制系統(tǒng)包括所述第一過程控制系統(tǒng),且所述第二過程控制系統(tǒng)運行的軟件版本不同于所述第一過程控制系統(tǒng)。
13.一種存儲機器可讀指令的有形制造品,當所述機器可讀指令被執(zhí)行時,引起處理器至少 識別執(zhí)行路徑,所述執(zhí)行路徑貫穿過程控制系統(tǒng)的批量配置; 生成用于所述執(zhí)行路徑的測試計劃; 激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃;以及 記錄所述測試計劃的結(jié)果。
14.如權利要求13所述的有形制造品,其中,所述機器可讀指令在被執(zhí)行時引起處理器 識別貫穿所述批量配置的第二執(zhí)行路徑; 向用戶呈現(xiàn)所述執(zhí)行路徑和所述第二執(zhí)行路徑;以及 接收選擇用于測試的所述執(zhí)行路徑的輸入。
15.如權利要求13所述的有形制造品,其中,所述機器可讀指令在被執(zhí)行時引起處理器至少通過以下步驟來識別所述執(zhí)行路徑 識別在初始節(jié)點與每一終止節(jié)點之間的所有執(zhí)行路徑; 合并分叉和匯聚的執(zhí)行路徑的部分;以及 為所述執(zhí)行路徑中的每一個創(chuàng)建路徑說明。
16.如權利要求13所述的有形制造品,其中,所述機器可讀指令在被執(zhí)行時引起處理器至少通過以下步驟來使處理器生成所述測試計劃 識別表示所述執(zhí)行路徑的交互序列;以及 將額外的交互插入所述序列,以使所述過程控制系統(tǒng)執(zhí)行所述測試計劃。
17.如權利要求13所述的有形制造品,其中,所述機器可讀指令在被執(zhí)行時引起處理器將所述結(jié)果與執(zhí)行于第二過程控制系統(tǒng)上的所述測試計劃的第二結(jié)果、項目設計目標或功能測試目標中的至少一個進行比較。
18.如權利要求17所述的有形制造品,其中,所述第二過程控制系統(tǒng)包括所述第一過程控制系統(tǒng),且所述第二過程控制系統(tǒng)運行的軟件版本不同于所述第一過程控制系統(tǒng)。
全文摘要
本發(fā)明公開了用于測試批量配置的示例性方法、裝置和制造品。一種公開的示例性方法包括使用處理器識別執(zhí)行路徑,所述執(zhí)行路徑貫穿過程控制系統(tǒng)的批量配置;生成用于所述執(zhí)行路徑的測試計劃;激勵所述過程控制系統(tǒng)執(zhí)行所述測試計劃;以及記錄所述測試計劃的結(jié)果。
文檔編號G05B23/02GK102707705SQ20121002865
公開日2012年10月3日 申請日期2012年2月7日 優(yōu)先權日2011年2月11日
發(fā)明者B·克蘭多爾, D·蒂勒, N·貝爾 申請人:費希爾-羅斯蒙特系統(tǒng)公司