測試測量腳本

測試測量腳本

測試測量腳本在測試和測量套用中提供儀器可程式性的一種強大、便捷的方法。

科技名詞定義

英文:Test and Measurement Scripts
中文:測試測量腳本
定義:在測試和測量套用中提供儀器可程式性的一種強大、便捷的方法。

定義

什麼是測試測量腳本?

測試測量腳本是在測試和測量套用中提供儀器可程式性的一種強大、便捷的方法。基於腳本的儀器提供結構上的靈活性、提高性能並且降低了許多套用的成本。腳本增強了LXI儀器具有的優點,而且LXI具有支持和增強腳本的特點。適應傳統設備的用戶將會發現基於腳本儀器的使用既簡單又直觀。如果需要,基於腳本的儀器還能像傳統儀器那樣進行編程。然而,輕微調整系統設計和編程,系統配置就能很容易地實現靈活性和性能的提高以及腳本的其它優點。

什麼是腳本?

簡單地說,腳本是用腳本語言編寫的程式以便管理一系列的動作。
腳本遠優於常規使用的宏或記錄序列。腳本能充分利用腳本語言,其中包括循環、轉移和數據處理。雖然宏可以通過基本循環控制方法實現重複,但是腳本能提供完全執行環境,其中數值可以保存在變數中。然後,這些變數可用於控制循環和轉移判定。

區別

測試儀器的腳本與我們說的PC腳本又有什麼區別呢?
與其它程式語言的主要區別在於在運行腳本程式之前無需預編譯。如果需要,腳本環境可以直接中斷程式或自動編譯程式。此外,腳本語言還具有程式語言的全部能力,包括存儲變數值和創建存儲的程式(函式)以便代碼重用。
由於腳本無需單獨進行編譯,所以腳本語言非常適合於測試與測量設備的嵌入式套用。腳本可以下載到儀器上,無需額外的準備工作就能為用戶提供更多便利。
PC上運行的腳本語言和嵌到儀器中的腳本語言之間的關鍵不同在於環境。當腳本語言運行在PC上時,它通常能訪問檔案系統、幾乎無限制的存儲器、圖形顯示以及鍵盤和滑鼠。當腳本語言運行在儀器上時,它不必訪問任一種設備,但這些設備通常也不需要。

使用方法

當測試測量儀器增加了腳本支持,最困難的選擇是什麼呢?
對啦,是如何向用戶介紹腳本!
這種困難包括需要回答的一些難題,例如:“如何集成儀器指令集和腳本環境?”“用戶如何將腳本載入儀器中?”
如何解決?
比如吉時利選擇將腳本環境和指令集完全集成,這意味著所有儀器指令都是完全合法的Lua語句。基本上,送到儀器上的每條指令訊息都作為Lua程式執行。
這種選擇使用戶很容易地從使用單條指令控制儀器過渡到使用腳本控制儀器,因為不需要學習整個新指令集。與腳本中使用的命令相同,指令可以通過GPIB或LXI接口傳送到儀器。這極大地簡化了從基於指令的簡單控制到基於腳本的控制的過渡過程。用戶能簡單地傳送較大的腳本而不是單獨的指令到儀器。
解決案例分析
下面我們用代碼來舉例說明一下:
這種選擇的缺點是儀器指令可能對於第一次使用的用戶有點陌生。舉一些例子有助於說明這一缺點。這些例子比較了吉時利2400型源表(基於SCPI的單元)和吉時利2602型雙通道數字源表(基於TSP的單元)。
讓2400的源輸出電流的指令是:
::SOUR:FUNC CURR
2602對應的指令是:
smua.source.func = smua.DC_AMPS
smua前綴指定雙通道儀器2602的通道A。除了等號外,其餘的指令類似於SCPI指令。這是Lua的賦值運算,將mua.source.func屬性設為smua.DC_AMPS的值。
查詢指令有一些陌生。因為指令是有效的Lua語句,所以使用print函式產生輸出。SCPI查詢返回到2400的源函式是:
:SOUR:FUNC?
2602對應的指令是:
print(smua.source.func)
正如SCPI儀器通過分號分隔單獨指令以支持複合指令,基於腳本的儀器也能通過語句分隔設定分隔指令以支持複合指令。在Lua中,語句分隔設定是空白字元。
假設我們的儀器已經配置為電壓源。對於2400,以下指令訊息將設定輸出電平,然後打開輸出:
:SOUR:VOLT 1.0; :OUTP 1
對於2602,相應指令訊息是:
smua.source.levelv = 1.0 smua.source.output = 1
上述例子說明腳本儀器可以表現得與傳統設備非常類似。僅指令語法稍;有改變。為了利用腳本引擎的全部能力,用戶只用傳送訊息來使用腳本語言功能。

案例分析

介紹實際操作時的一些案例和經驗,並且介紹一下LXI和腳本

儀器測試中腳本案例分享

通過傳送以下腳本,用戶能讓儀器執行二分查找法搜尋能輸出1mA電流的電壓源:
<代碼略>
這種腳本的好處是避免了讀取每個結果和傳送指令輸出新電平所需的通信時間。雖然有理由詢問傳送較長訊息需要多長時間,但是通常傳送一條較長的訊息比來回通信許多條較短訊息快得多。然而,腳本環境的一個優點是前述代碼可以封裝為函式定義,然後重用,用的時候就能完全避免傳送長訊息。例如:
<代碼略>
前面的指令不會讓儀器立刻執行,但是它創建了一個命名為“Search(搜尋)”的存儲程式,之後可以用搜尋指令調用:
Search(2.5, 0.001)
儀器有一些特點能補充腳本引擎。如果腳本環境提供儀器前面板的編程訪問,那么用戶就能創建互動式腳本提示用戶在前面板輸入參數或顯示結果。儀器還能提供非易失的板上腳本存儲,因此當儀器上電時,這些存儲的腳本就能自動執行。這允許執行預先載入的套用,無需任何用戶動作,只需要打開儀器的電源。
嵌入式腳本為測試和測量儀器用戶提供顯著的優點。雖然嵌入式腳本具有一些次要的缺點,例如前面介紹的對查詢陌生,但是大多數用戶都能很容易使用或者適應。
現行的測試儀器LXI標準不要求儀器可程式或實現腳本。然而,LXI標準中的許多特點預先考慮了可程式儀器,並提供有用的功能性以增強LXI標準儀器的腳本性能。
LXI標準要求Class A和Class B儀器通過LAN訊息支持對等訊息傳送,並允許Class C儀器支持這種訊息傳送。LAN訊息能用於通知其它LXI儀器事件或者觸發另一台儀器執行某些功能。在接收到LAN訊息時,用戶必須能指明採取什麼動作。為了實現這個,最靈活的方法以及LXI標準推薦的方法是允許用戶下載可執行代碼(即腳本或程式)到儀器中,然後在接收到適合的LAN訊息時執行該代碼。這提供了極大靈活性,因為用戶不被局限於一組預定動作集。
LXI定義的LAN訊息格式包含一個小空間,用於包括任意數據作為訊息的一部分。可以傳送可執行代碼(例如一個短腳本)作為LAN訊息的一部分。這允許一台儀器通過LAN訊息控制另一台儀器,無需預先設定回應。例如,假定一台儀器能對被測器件(DUT)進行測量。基於測量的結果,第一台儀器必須能改變由另一台儀器施加到DUT上的激勵。基於第一次測量計算新的激勵值,所以在之前第一台儀器並不知道。在這種情況下,第一台儀器可以傳送包含一個短腳本的LAN訊息至第二台儀器以調整激勵值。

優點

在測試和測量套用中腳本,基於腳本的儀器的優點。當儀器也符合LXI標準時,許多優點被加強。
對於許多測試和測量套用,非常適合採用PC作為控制器用於與單獨儀器通信或使用帶有積分型控制器的基於時隙的系統。但對於其它情況,那些方法或者由於大材小用而過於昂貴,或者不能勝任此任務。這些套用可以受益於基於腳本的儀器提供的額外能力和靈活性。
1. 結構的靈活性
構建帶少量儀器的小型測試系統可以不帶單獨控制器;其中一台儀器用作控制器,管理其它儀器的工作。大系統能被劃分為各含少量儀器的子系統,其中每個子系統被基於腳本的儀器管理。這簡化了系統設計並且有助於提高性能。例如在裝配線、科學套用或射頻測試套用中,這類子系統使用基於LXI腳本的儀器就能很大程度地在物理上分開。
2. 提高性能
由基於腳本的儀器管理將大系統劃分為子系統,這擴展了跨多處理器的控制和數據處理功能,從而提升了系統可用的總處理能力並且常常提升整體速度和吞吐量。此外,這種工作劃分支持並行測試:當中心控制器忙於其它任務時,儀器或子系統不必保持空閒狀態。
因為當傳輸命令或數據時,由於與控制器通信造成的延時更少,所以儀器上運行的腳本能以最大速度運行。當儀器執行重複測試序列時,這尤其重要。如果用單獨的控制器,即使同樣的序列被運行了幾百次或者幾千次,每次通過時都要傳送一次指令序列到儀器。對比使用腳本的方法,僅需傳輸一次腳本,然後使用短指令可以運行任意多的次數。
條件處理(例如當一個測量的結果確定下一個要執行的函式時)提供了另一種提高性能的手段。在腳本中,本地進行條件檢查能去除由傳送第一結果至控制器,等待控制器處理,然後傳送下一個指令給儀器這個過程產生的延時。
在包含高數據率和/或大數據集的系統中,通信延遲、頻寬限制和控制器吞吐量都可能是嚴重的瓶頸。基於腳本的儀器能壓縮數據以降低頻寬要求和/或緩衝數據,當頻寬可用時再通過後台傳輸。基於腳本的儀器還能過濾數據,例如通過僅傳送超出正常限度的數據。如前面所提到的,腳本還降低了消耗的通信頻寬,從控制器傳送命令至儀器,從而提高頻寬受限套用的性能並且最小化由於通信延遲引起的時延。
3.降低成本
使用基於腳本的儀器構建較小或較低複雜度的測試系統不需要單獨的控制器,從而節省了控制器的成本並節省了用於控制儀器的任意單獨測試運行軟體的成本。當從基於腳本的儀器構建子系統時,構建大的測試系統同樣可以實現節約成本。
這部分包含許多腳本例子說明吉時利支持腳本的儀器的一些特點。

圖1.兩台吉時利系統源表能用單腳本控制產生3相交流波形。
圖1示出了兩台吉時利系統源表如何使用單腳本控制產生3相交流波形。在這個例子中,使用吉時利的TSP-Link技術連線這兩台儀器,因而很容易用腳本控制這兩台儀器。
圖2. 吉時利3706型系統開關/DMM是LXI Class B儀器,使用基於IEEE 1588的定時器排列一系列測量的順序。
圖2說明了基於LXI Class B技術的定時器如何控制腳本工作。在此腳本中,吉時利3706型LXI Class B儀器使用基於IEEE 1588的計時器排列一系列測量的順序。LXI Class B的定時特點特別適合避免或最小化由延遲或通信時延導致的系統時延。

開發方法

基於腳本儀器的開發方法

當開發基於腳本儀器的驅動程式時,可以從三種通用方法中進行選擇:
1. 傳統方法:
編寫驅動程式就好象這台儀器是一台傳統儀器。這種方法沒有利用腳本的功能。唯一的調整是容納句法差別。
2. 擴展方法:
通過傳送腳本至儀器的功能增強了傳統風格的驅動程式,並且或許能管理返回數據。這提供了用戶利用腳本功能的一種方法,但是驅動程式本身不能這樣做。
3. 增強方法:
基於腳本儀器的驅動程式可以通過本文描述的許多方法利用腳本。例如,驅動程式可以下載腳本,而腳本能執行通常由儀器本省的驅動程式執行的許多功能。然後,驅動程式執行的調用是傳送短而簡單的指令而不是傳送較長串的典型儀器指令到儀器。像往常一樣,這類設計有一些折衷,但是基於腳本的儀器提供了最佳化系統和軟體設計的附加靈活性,以達到指定套用的最佳性能。
同樣這三種方法能用於編寫軟體直接控制基於腳本的儀器,無需使用儀器驅動程式。

腳本的開發方法

可以用許多種方法開發腳本。比如吉時利提供稱為測試腳本生成器(TSB下載檔案 的IDE(集成開發環境)用於為吉時利任意一款支持TSP的儀器開發腳本。TSB能用於在測試儀器上編輯、下載和執行腳本。TSB包含內建仿真器用於調試腳本無需傳送回儀器,這允許即使在沒有硬體的條件下也能開發腳本。
一些LXI儀器含有telnet連線埠用於遠程控制。對於這些儀器,用文本編輯器能提供快速和簡單的方法編寫和調試腳本。通過telnet套用,用戶能直接貼上腳本文本或下載腳本檔案到儀器。
一些用戶比較喜歡將腳本直接嵌入他們的測試執行套用。這些用戶在開發和調試腳本的同時也能開發和調試測試執行套用。
LXI的網路連線性支持吉時利在3700系列開關/DMM產品中嵌入稱為TSB Embeded的腳本開發工具。用戶能通過儀器本身提供的Web頁面訪問此工具,從而用Web瀏覽器開發和管理他們的腳本,無需在PC上安裝任何軟體。
帶嵌入式腳本處理的產品腳本的開發方法時,可以採用基於函式或基於對象的方法。應當在任何合適的地方使用函式。這不僅對於最大化代碼重用是良好的傳統做法,而且還減少了腳本引擎執行環境存儲的代碼量而且為附加腳本和數據存儲留下了更多存儲區。
嵌入式腳本最主要的優點是它能縮短PC主機和測試儀器之間的通信時間。一種基於函式的方法能最大化這種優點,因為PC主機僅需要傳送一條短訊息調用存儲的程式。如果更多長訊息經常需要傳送給儀器,那么減少通信的優點也消失了。
無論腳本如何開發,腳本帶來一些新的測試管理理念。雖然在某些情況下,在儀器的非易失存儲器上保存腳本是有用的,但是這樣做並非總是最好。當執行的測試預計測試儀器上將使用特定版本的腳本,當開始運行測試時,最好將腳本下載到儀器上。這樣就能完全控制測試運行所採用的腳本代碼版本。
使用分立的控制器,基於腳本的儀器當然可用於常規測試系統。這樣做的詳細步驟可能有所不同,這取決於製造商選擇如何實現腳本。
吉時利支持TSP的儀器能輕鬆地配合單獨的控制器使用。如前面詳細介紹的,指令的名稱和句法有所不同,就像執行查詢獲取狀態和數據的語句。但總的來說,這種改變很小並且任何熟悉儀器編程的人都能很輕鬆地適應。
那些習慣於使用儀器驅動程式連線軟體與儀器的用戶都會發現他們能像使用常規儀器那樣繼續用儀器驅動程式對待基於腳本的儀器。然而,這樣做會去除腳本的很多優點。幸運的是,有方法允許儀器驅動程式作者和用戶受益於基於腳本儀器具有的額外靈活性和能力。

相關詞補充

腳本引擎
所謂腳本引擎,就是一個計算機程式語言的解釋器,如用於建網站的asp、php等,它的功能是解釋執行用戶的程式文本,將它譯成計算機能執行的機器代碼,完成一系列的功能。早期的桌面資料庫如dbaseIII、foxbase等也屬於腳本型程式語言.
腳本語言
流行的腳本語言包括Perl、Python、VBScript和JavaScript。Lua腳本語言特別適於嵌入式套用,因為它比多數其它腳本語言運行速度更快並採用占代碼空間非常小的庫實現。吉時利選擇Lua用於支持測試腳本處理器(TSP)的儀器系列。
腳本語言通常能自動管理記憶體,所以用戶無需分配和釋放用於字元串或矩陣的存儲區。雖然這對用戶很方便,但是腳本引擎需要周期性地重新聲明不再使用的記憶體,這個過程被稱為垃圾收集”。雖然垃圾收集能自動進行,但是這得花費時間,而且如果在測試序列的關鍵時間段上發生垃圾收集就會出現問題。這些問題是可以預防的,但是首先用戶必須理解垃圾收集器的影響並且知道如何在測試序列的關鍵時間段上避免垃圾收集。
可程式儀器表現為一種形式或另一種形式。雖然具體功能有所不同,但可程式儀器允許用戶在儀器中創建和保存一組指令(或程式),並且按需運行指令。通常,早期可程式儀器的能力和容量都非常有限,這使可程式性的使用局限於相對小而簡單的套用。較大或較複雜的套用需要使用單獨計算機或控制器通過通信接口(常常是GPIB)控制可程式儀器。
計算技術和程式語言的進步以及嵌入式計算容量成本的穩定下降帶來了新一代可程式儀器。新型儀器突破了舊的限制,極大提高了性能和靈活性。這些儀器的一個關鍵進步是採用腳本語言提供可程式性。本文詳細介紹了腳本以及如何利用腳本簡化測試與測量並且提高速度。

相關詞條

熱門詞條

聯絡我們