吉時(shí)利3700系列的設(shè)置和通信
有兩種方案或者運(yùn)行獨(dú)立ICL指令(類(lèi)似于發(fā)送獨(dú)立SCPI指令),或者用測(cè)試腳本語(yǔ)言編寫(xiě)測(cè)試腳本。測(cè)試腳本語(yǔ)言(TSL)是一種基于標(biāo)準(zhǔn)程序語(yǔ)言Lua(www.lua.org)的程序語(yǔ)言。TSL能執(zhí)行條件轉(zhuǎn)移、循環(huán)和其它屬性以實(shí)現(xiàn)用ICL指令控制儀器的目標(biāo)。
本文引用地址:http://2s4d.com/article/201702/338589.htm腳本是儀器控制指令(ICL)和/或程序語(yǔ)句(TSL)的集合(列表)。3700系列儀器運(yùn)行腳本的全部指令和語(yǔ)句。在儀器級(jí)運(yùn)行腳本比在PC上運(yùn)行測(cè)試程序快。使用腳本縮短了從PC經(jīng)GPIB傳輸至儀器所需的時(shí)間。由于儀器內(nèi)建測(cè)試腳本處理器(TSP),整個(gè)TSL控制程序可以裝載至測(cè)量?jī)x器。然后,發(fā)送一個(gè)指令就能執(zhí)行整個(gè)程序。在其它情況下,如果程序的某些部分駐留在PC上可能對(duì)應(yīng)用更有利。腳本的優(yōu)點(diǎn)就在于它能以任何有意義的方式劃分程序。
為了比較SCPI指令和ICL指令之間的使用區(qū)別,我們來(lái)查看運(yùn)行簡(jiǎn)單掃描的例子中的兩個(gè)指令集。2700系列SCPI指令和等效的37007CFB列TSP腳本如例1所示。
例1:電壓測(cè)量/簡(jiǎn)單掃描通道1~20
下面的示例代碼(例1)將:
l設(shè)置直流電壓通道。
l指定通道1至20的掃描列表。
l將電壓讀數(shù)返回至PC主機(jī)。
例1所示的SCPI程序可以輕松轉(zhuǎn)換為等效ICL腳本。值得注意的是,ICL指令與SCPI指令在結(jié)構(gòu)上的相似性。一個(gè)區(qū)別是如何獲取讀數(shù)。在SCPI協(xié)議中,獲取讀數(shù)實(shí)際是一個(gè)兩步驟過(guò)程。首先,必須使用幾種查詢(xún)指令之一請(qǐng)求讀數(shù)。這個(gè)例子用的“DATA?”指令從內(nèi)部緩沖區(qū)取回?cái)?shù)據(jù)。發(fā)送查詢(xún)指令后,讀數(shù)保存在讀數(shù)隊(duì)列中。然后,控制程序必須從隊(duì)列中獲取讀數(shù)才算完成此過(guò)程。如果進(jìn)一步發(fā)送指令或查詢(xún)卻沒(méi)有從讀數(shù)隊(duì)列中取得完整讀數(shù),那么測(cè)量?jī)x器將給出-410查詢(xún)中斷錯(cuò)誤。-410查詢(xún)中斷錯(cuò)誤是中斷查詢(xún)的結(jié)果并且是基于SCPI產(chǎn)品的常見(jiàn)錯(cuò)誤。
在SCPI測(cè)量?jī)x器中,發(fā)送INIT指令初始化掃描,并且測(cè)量結(jié)果總是自動(dòng)保存在內(nèi)部緩沖區(qū)中。而用ICL指令時(shí)并非如此。值得注意的是,在例1的代碼中scan.execute(mybuffer)指令初始化掃描。在TSL中,創(chuàng)建名為mybuffer的緩沖區(qū)保存測(cè)量結(jié)果。另一種選擇是創(chuàng)建一個(gè)變量,然后該變量能在TSP腳本中用于其它操作,例如極限測(cè)試、數(shù)學(xué)運(yùn)算或作為整個(gè)測(cè)試策略的一部分。TSP函數(shù)的強(qiáng)大功能便從這里開(kāi)始。
TSP語(yǔ)言遠(yuǎn)遠(yuǎn)超出了僅發(fā)送儀器指令;TSP語(yǔ)言還包含變量和變量類(lèi)型、數(shù)學(xué)運(yùn)算符和運(yùn)算、表格和陣列、創(chuàng)建可以從腳本調(diào)用的用戶(hù)函數(shù)、優(yōu)先級(jí)、邏輯運(yùn)算符、字符串連接、條件轉(zhuǎn)移、循環(huán)控制和內(nèi)建標(biāo)準(zhǔn)字符串和可調(diào)用數(shù)學(xué)庫(kù)等功能。這些TSP語(yǔ)言?xún)?nèi)建工具拓展了3700系列儀器的編程潛能,更重要的是相對(duì)于用SCPI編程簡(jiǎn)化了應(yīng)用開(kāi)發(fā)。
評(píng)論