引言
在一個(gè)需要快速開(kāi)發(fā)測(cè)試的行業(yè)中,有效的自動(dòng)化和便捷代碼的開(kāi)發(fā)需求比以往任何時(shí)候都顯得更加突出。企業(yè)在努力提高產(chǎn)品質(zhì)量的同時(shí),更需要尋求更短的上市時(shí)間,合適的工具正是實(shí)現(xiàn)這一目標(biāo)的關(guān)鍵。Keithley TSP Toolkit程控開(kāi)發(fā)輔助工具,是一種新的腳本開(kāi)發(fā)環(huán)境,采用Keithley的TSP 指令并利用設(shè)備端可內(nèi)置腳本能力,使得程控軟件開(kāi)發(fā)變得比以往更加簡(jiǎn)單和高效。
在本應(yīng)用說(shuō)明中,我們將定義TSP和TSP Toolkit,并分享一些技巧和建議,幫助您利用這些工具來(lái)提高測(cè)試的吞吐量。
什么是TSP?
TSP是一種獨(dú)特的儀器自動(dòng)化命令集和編程語(yǔ)言。支持TSP的儀器配備了一個(gè)嵌入式腳本引擎,能夠執(zhí)行設(shè)備控制命令和基本的編程功能。
每臺(tái)支持TSP的設(shè)備都具有一套命令集,涵蓋設(shè)備的所有功能。除了像傳統(tǒng)的命令集一樣運(yùn)行,TSP也作為一種編程語(yǔ)言,提供了對(duì)設(shè)備控制的兩大重要優(yōu)勢(shì):
■命令本身的語(yǔ)法類似于高級(jí)語(yǔ)言,例如C#或Python。
■設(shè)備能夠在不依賴設(shè)備專有命令集的情況下執(zhí)行for循環(huán)和while循環(huán)等基本的編程結(jié)構(gòu)。
借助TSP進(jìn)行測(cè)試自動(dòng)化,我們可以創(chuàng)建一個(gè)名為TSP腳本的文件,該文件包含部分或全部的測(cè)試流程。TSP腳本可以直接在設(shè)備上運(yùn)行,例如執(zhí)行掃描并進(jìn)行數(shù)據(jù)收集,而不需要從遠(yuǎn)程通過(guò)指令控制,也不需要手動(dòng)配置前面板。與只能兼容SCPI命令的設(shè)備不同,支持TSP的設(shè)備可以將完整的腳本、函數(shù)或變量存儲(chǔ)在設(shè)備內(nèi)存中,從而在加載腳本后能夠獨(dú)立運(yùn)行。在編寫這些腳本時(shí),TSP Toolkit顯然是不二之選。
TSP Toolkit
TSP Toolkit是以Microsoft Visual Studio Code (VS Code) 擴(kuò)展形式提供的一種新的腳本開(kāi)發(fā)環(huán)境,支持Keithley TSP設(shè)備(如源表 (SMU)、數(shù)字萬(wàn)用表 (DMM) 和數(shù)據(jù)采集系統(tǒng) (DAQ)等),并提供了許多改進(jìn)腳本開(kāi)發(fā)體驗(yàn)的功能。TSP Toolkit取代了之前的Keithley Test Script Builder (TSB),在保留其所有功能的同時(shí),還增加了更多的擴(kuò)展功能。
TSP Toolkit采用了基于Microsoft Visual Studio Code編輯器的現(xiàn)代化用戶界面 (UI),。并配備了針對(duì)TSP語(yǔ)法的高亮顯示,從而提高代碼的可讀性。借助VS Code的擴(kuò)展功能,用戶還可以在多種編程語(yǔ)言之間進(jìn)行無(wú)縫切換,將TSP腳本的開(kāi)發(fā)集成到現(xiàn)有的工作流中。
此外,TSP Toolkit還提供了TSP命令的自動(dòng)補(bǔ)全功能、行內(nèi)幫助和懸浮幫助,用戶不必再手動(dòng)查閱龐雜的參考手冊(cè)來(lái)確認(rèn)命令用法和語(yǔ)法。
圖1:TSP Toolkit命令懸浮幫助功能的使用示例
TSP Toolkit還配備了一個(gè)設(shè)備面板,用戶可以通過(guò)該面板輕松連接到TSP支持的設(shè)備上。設(shè)備面板支持設(shè)備自動(dòng)加載功能。在設(shè)備面板中,查找并加載上的設(shè)備可以展開(kāi),查看其型號(hào)、序列號(hào)、VISA地址、IP地址和端口號(hào)。
右鍵單擊已發(fā)現(xiàn)的設(shè)備,即可訪問(wèn)以下選項(xiàng):
■固件升級(jí)
■重命名設(shè)備
■連接或斷開(kāi)設(shè)備
連接后,儀器終端將啟動(dòng)。這個(gè)終端的功能與Test Script Builder中的命令行終端類似,用戶可以一次連接多個(gè)設(shè)備,并與多個(gè)設(shè)備的終端同時(shí)交互。
圖2:TSP Toolkit設(shè)備面板右鍵菜單選項(xiàng)
圖3:TSP Toolkit儀器終端的使用示例
儀器終端可用于向設(shè)備發(fā)送單獨(dú)的TSP命令,甚至可以從預(yù)加載的腳本中調(diào)用函數(shù)。終端也是設(shè)備返回任何錯(cuò)誤信息或查詢響應(yīng)的地方。
圖4:TSP Toolkit腳本編輯器窗口右鍵菜單選項(xiàng)
要運(yùn)行您的腳本,則可以在腳本編輯器窗口的任意位置右鍵單擊,然后選擇“Send Script to Terminal”。如果您已與多個(gè)設(shè)備連接,并希望在所有已連接的設(shè)備上運(yùn)行該腳本,請(qǐng)選擇“Send Script to All Terminals”。
將腳本發(fā)送到設(shè)備并直接在設(shè)備上運(yùn)行,這種方法減少了總線上的交互次數(shù),并將處理負(fù)荷從PC上轉(zhuǎn)移到了設(shè)備本身,從而提高了測(cè)試吞吐量。
從Test Script Builder (TSB) 中保存示例腳本
如果原先是Keithley Test Script Builder (TSB) 的用戶,那么會(huì)很熟悉其中包含了一個(gè)TSP示例腳本庫(kù)。TSP Toolkit允許用戶輕松遷移這些示例腳本以及已經(jīng)在TSB中開(kāi)發(fā)的腳本。
可以在計(jì)算機(jī)上找到TSB工作區(qū)域的文件,并將其復(fù)制到計(jì)算機(jī)的本地目錄中,將TSB示例腳本加載到TSP Toolkit中。可以通過(guò)在導(dǎo)航選項(xiàng)卡中右鍵單擊任意示例腳本,然后選擇“屬性”來(lái)找到TSB工作區(qū)域文件在計(jì)算機(jī)上的路徑。
圖5:Keithley Test Script Builder (TSB) 示例工作區(qū)域文件的路徑
在VS Code中,單擊“文件” -> “打開(kāi)文件夾”,然后打開(kāi)存儲(chǔ)的本地目錄。則能夠通過(guò)VS Code的資源管理器選項(xiàng)卡訪問(wèn)目標(biāo)目錄中的所有文件。
圖6:Microsoft Visual Studio Code資源管理器選項(xiàng)卡的使用示例
除了從TSB中導(dǎo)出示例腳本外,用戶還可以從Keithley官方的GitHub賬號(hào)資源中下載示例腳本。
TSP腳本編寫的提示和技巧
腳本規(guī)則
當(dāng)腳本被加載到運(yùn)行時(shí)環(huán)境中時(shí),會(huì)創(chuàng)建一個(gè)與腳本名稱相同的全局變量,用于引用該腳本。
1. 腳本名稱必須是唯一的,且不能以數(shù)字開(kāi)頭。
2. 腳本名稱不能包含空格。
3. 腳本名稱的長(zhǎng)度必須少于27個(gè)字符。
4. 如果加載的腳本與現(xiàn)有腳本同名,則會(huì)生成一條錯(cuò)誤事件消息。在使用相同名稱創(chuàng)建新腳本之前,必須先刪除現(xiàn)有腳本。
5. 如果將修訂后的腳本以新名稱保存到設(shè)備中,則原始腳本仍會(huì)保留。
6. 用戶可以將腳本保存到設(shè)備的非易失性內(nèi)存中,以確保在設(shè)備關(guān)閉電源后不會(huì)丟失腳本。
注意
這些規(guī)則主要適用于那些通過(guò)USB或其他腳本語(yǔ)言(如Python)傳輸?shù)皆O(shè)備內(nèi)存中的腳本。
當(dāng)在TSP Toolkit中運(yùn)行腳本時(shí),該擴(kuò)展通常會(huì)自動(dòng)為我們管理大部分規(guī)則,但腳本名稱的字符限制仍然適用。
命令別名 (Aliasing)
如果您不喜歡傳統(tǒng)TSP命令的命名方式,或者希望對(duì)命令進(jìn)行縮寫,可以使用別名 (aliasing) 功能。TSP命令是層級(jí)機(jī)構(gòu),使用“.“分隔??梢詫⑦@些層級(jí)的部分或全部命令存儲(chǔ)為一個(gè)變量,然后通過(guò)變量來(lái)調(diào)用命令。為每一層創(chuàng)建別名都將改善腳本的性能,并且提高命令的處理速度。
示例:如何為TSP命令創(chuàng)建別名
注意:在上面的示例中
第一行將兩層命令作為別名,dmm.measure被簡(jiǎn)化為dm。
第二行為一個(gè)枚舉值 (enum) 創(chuàng)建了別名,將dmm.FUNC_DC_CURRENT存儲(chǔ)為current。
第三行將前兩步創(chuàng)建的別名結(jié)合使用,將dm. func設(shè)置為current,即dmm. measure. func = dmm. FUNC_DC_CURRENT。
當(dāng)為函數(shù)命令(例如trigger.model.abort())創(chuàng)建別名時(shí),在定義別名時(shí)不包含括號(hào)。而是在調(diào)用別名函數(shù)(例如stop())時(shí),再添加括號(hào)。這種行為適用于任何作為函數(shù)的命令。
本地存儲(chǔ)和運(yùn)行腳本
TSP腳本還可以保存到儀器的內(nèi)存中。這使得腳本可以通過(guò)遠(yuǎn)程控制方案進(jìn)行訪問(wèn),甚至可以在不依賴上位機(jī)程控的情況下,直接從儀器的前面板調(diào)用和運(yùn)行。
可以使用“l(fā)oadscript”和“endscript”關(guān)鍵字,將腳本發(fā)送并保存到儀器中。這在需要自動(dòng)交付腳本或通過(guò)現(xiàn)有的遠(yuǎn)程連接發(fā)送腳本時(shí)特別有用。
注意
在TSP Toolkit中運(yùn)行腳本時(shí),不需要使用loadscript和endscript關(guān)鍵字。
這些關(guān)鍵字的用途是將腳本發(fā)送到儀器的內(nèi)存中并進(jìn)行存儲(chǔ),但不立即執(zhí)行。
腳本將被保存到設(shè)備的非易失性內(nèi)存中,即使設(shè)備關(guān)機(jī)重啟,腳本也不會(huì)丟失。
如果使用TSP Toolkit,腳本可以在不使用loadscript和endscript關(guān)鍵字的情況下保存到儀器中。只需與目標(biāo)儀器建立連接,然后在儀器終端中輸入以下命令:
.script “path/to/scriptname.tsp” –save
此命令會(huì)將腳本保存在設(shè)備的非易失性內(nèi)存中,使其即使在關(guān)機(jī)后也能保留在設(shè)備中。
另一種方法,更適合小型安裝環(huán)境,是將TSP腳本保存在U盤中。支持TSP的儀器在前面板控制時(shí),允許直接從U盤上運(yùn)行腳本,或?qū)⒛_本保存到設(shè)備的內(nèi)存中。如果U盤中的腳本名為“autoinstall.tsp”,那么當(dāng)U盤插入設(shè)備時(shí),該腳本會(huì)自動(dòng)復(fù)制到設(shè)備的內(nèi)部腳本列表中,不需要手動(dòng)操作。
自動(dòng)執(zhí)行腳本
保存在U盤或設(shè)備內(nèi)存中的腳本可以被復(fù)制到設(shè)備的啟動(dòng)項(xiàng)中,添加到啟動(dòng)項(xiàng)中的腳本將在設(shè)備上電啟動(dòng)過(guò)程中自動(dòng)加載運(yùn)行。以下是一個(gè)示例腳本,該腳本會(huì)更改緩沖區(qū)大小,并將Keithley DMM6500( 6?位臺(tái)式/系統(tǒng)數(shù)字萬(wàn)用表)的測(cè)量功能設(shè)置為電流測(cè)量。
通過(guò)TSP Toolkit將腳本保存到設(shè)備的啟動(dòng)序列中,可以將腳本命名“autoexec.tsp”。當(dāng)設(shè)備啟動(dòng)時(shí),設(shè)備將始終在啟動(dòng)過(guò)程中自動(dòng)運(yùn)行該腳本,無(wú)需手動(dòng)操作。
應(yīng)用示例:使用Keithley 2450源表 (SMU) 進(jìn)行掃描
如前所述,在TSP Toolkit中打開(kāi)或開(kāi)發(fā)的腳本可以發(fā)送到終端,以便在連接的儀器上運(yùn)行。在圖7中,顯示了一個(gè)從Test Script Builder導(dǎo)入的示例腳本,該腳本在TSP Toolkit中被打開(kāi)并執(zhí)行。這個(gè)示例腳本的名稱為“2450_SweepI_MeasV.tsp“,亦可以從GitHub泰克官方賬號(hào)的示例庫(kù)頁(yè)面找到并進(jìn)行下載。該腳本控制2450表(SMU),以101個(gè)步進(jìn)在-100 mA到100 mA的電流范圍內(nèi)進(jìn)行掃描。并且測(cè)量被測(cè)(DUT) 上的電壓,記錄相應(yīng)的電壓和電流數(shù)據(jù)。
電流和電壓的測(cè)量結(jié)果將被打印到終端。用戶可以將這些數(shù)據(jù)復(fù)制并粘貼到電子表格中,以便進(jìn)行進(jìn)一步的分析和繪制圖表。
圖7:在TSP Toolkit中運(yùn)行的2450_SweepI_MeasV.tsp示例腳本
在本應(yīng)用說(shuō)明中,測(cè)試的是一個(gè)帶有20 mΩ電阻的LED。下圖是腳本執(zhí)行完成后2450前面板的屏幕截圖,顯示了以圖表形式呈現(xiàn)回測(cè)到的數(shù)據(jù)。
圖8:在2450 SMU前面板的圖形視圖中顯示的測(cè)試數(shù)據(jù)曲線
由于Visual Studio Code具有高度的可擴(kuò)展性,TSP Toolkit作為擴(kuò)展之一與其他編程語(yǔ)言的擴(kuò)展并存。這意味著我們可以使用TSP Toolkit來(lái)編寫TSP腳本,然后在Python或其他框架中運(yùn)行該TSP文件。
下面的示例是一個(gè)Python腳本,它通過(guò)VISA驅(qū)動(dòng)程序連接到儀器,并使用for循環(huán)將“2450_SweepI_MeasV.tsp“腳本加載到儀器中。一旦腳本被加載到儀器的內(nèi)存中,用戶可以通過(guò)Python使用*.run()函數(shù)在儀器上執(zhí)行該腳本。
結(jié)論
使用TSP作為強(qiáng)大的腳本工具,可以增強(qiáng)儀器的整體功能,并通過(guò)更加快捷地創(chuàng)建和運(yùn)行測(cè)試腳本來(lái)提高工作效率。腳本允許用戶使用單個(gè)程序控制多個(gè)儀器,并顯著減少了總線上的通信。將邏輯操作與遠(yuǎn)程命令緊密結(jié)合,為實(shí)現(xiàn)多種新型的測(cè)試提供了更多的可能性,而TSP Toolkit使其入門變得比以往更加簡(jiǎn)單和高效。了解更多信息和獲取下載該工具,請(qǐng)?jiān)L問(wèn)TSP Toolkit產(chǎn)品頁(yè)面。
-
嵌入式
+關(guān)注
關(guān)注
5086文章
19141瀏覽量
305916 -
Keithley
+關(guān)注
關(guān)注
1文章
27瀏覽量
11590 -
TSP
+關(guān)注
關(guān)注
1文章
25瀏覽量
16944 -
工具包
+關(guān)注
關(guān)注
0文章
47瀏覽量
9549
原文標(biāo)題:TSP?工具包軟件的應(yīng)用說(shuō)明
文章出處:【微信號(hào):泰克科技,微信公眾號(hào):泰克科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論