<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 測量儀器中運用的腳本

          測量儀器中運用的腳本

          作者: 時間:2016-12-26 來源:網絡 收藏
          流行的腳本語言包括Perl、Python、VBScript和JavaScript。Lua腳本語言特別適于嵌入式應用,因為它比多數(shù)其它腳本語言運行速度更快并采用占代碼空間非常小的庫實現(xiàn)。吉時利選擇Lua用于支持測試腳本處理器(TSP)的儀器系列。
          測試測量儀器增加了腳本支持時,最困難的選擇是什么呢?對拉,是如何向用戶介紹腳本!
          這種困難包括需要回答的一些難題,例如:“如何集成儀器指令集和腳本環(huán)境?”“用戶如何將腳本載入儀器中?”吉時利選擇將腳本環(huán)境和指令集完全集成,這意味著所有儀器指令都是完全合法的Lua語句?;旧?,送到儀器上的每條指令消息都作為Lua程序執(zhí)行。
          這種選擇使用戶很容易地從使用單條指令控制儀器過渡到使用腳本控制儀器,因為不需要學習整個新指令集。與腳本中使用的命令相同,指令可以通過GPIB或LXI接口發(fā)送到儀器。這極大地簡化了從基于指令的簡單控制到基于腳本的控制的過渡過程。用戶能簡單地發(fā)送較大的腳本而不是單獨的指令到儀器。
          下面我們用代碼來舉例說明一下:
          案例分析
          這種選擇的缺點是儀器指令可能對于第一次使用的用戶有點陌生。舉一些例子有助于說明這一缺點。這些例子比較了吉時利2400型源表(基于SCPI的單元)和吉時利2602型雙通道數(shù)字源表(基于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函數(shù)產生輸出。SCPI查詢返回到2400的源函數(shù)是:
          :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
          上述例子說明腳本儀器可以表現(xiàn)得與傳統(tǒng)設備非常類似。僅指令語法稍;有改變。為了利用腳本引擎的全部能力,用戶只用發(fā)送消息來使用腳本語言功能。


          關鍵詞: 測量儀器腳

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();