玩轉(zhuǎn)LabVIEW之-示波器遠(yuǎn)程控制
摘要:數(shù)字示波器能準(zhǔn)確捕獲各種信號(hào),故已成為科研實(shí)驗(yàn)和工程項(xiàng)目中各類信號(hào)采集、記錄和分析的主要設(shè)備之一。但是很多情況下,需要把數(shù)字示波器采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理和分析,并最終完成遠(yuǎn)程的自動(dòng)測(cè)試和分析的需求。所以今天我們就來(lái)說(shuō)說(shuō)如何實(shí)現(xiàn)對(duì)示波器的遠(yuǎn)程控制。
1、LabVIEW 基礎(chǔ)介紹
計(jì)算機(jī)通過(guò)LAN(網(wǎng)口)或者USB 接口與示波器建立連接來(lái)控制示波器。如圖1 所示。
圖1 硬件連接圖
一聽(tīng)到要控制示波器,大家都會(huì)想到通過(guò)SCPI 命令來(lái)控制示波器。那如何來(lái)實(shí)現(xiàn)呢?可選的方案有:
(1)通過(guò)編寫(xiě)程序代碼,如使用C,C++,C#等語(yǔ)言結(jié)合開(kāi)發(fā)環(huán)境(如VS2012)來(lái)編寫(xiě)代碼;
(2)通過(guò)LabVIEW,使用圖形界面來(lái)實(shí)現(xiàn)。
今天我們就來(lái)說(shuō)說(shuō)如何使用LabVIEW 實(shí)現(xiàn)對(duì)ZDS2024 示波器的控制。
LabVIEW 的定義:
LabVIEW 由National Instruments 公司開(kāi)發(fā),于1986 年發(fā)布第一個(gè)版本,是一種用圖標(biāo)和連線代替文本行來(lái)創(chuàng)建應(yīng)用程序的圖形化編程語(yǔ)言。LabVIEW 提供了一門編程語(yǔ)言所擁有的語(yǔ)法功能,只是它以圖形的方式提供。
LabVIEW 基本由一個(gè)個(gè)VI 文件組成。每個(gè)VI 由前面板和程序框圖組成??梢詮膬蓚€(gè)角度來(lái)
理解VI 文件:
(1)從用戶交互來(lái)說(shuō),前面板負(fù)責(zé)設(shè)計(jì)用戶交互界面,類似UI 設(shè)計(jì)工具,一般包括用戶操作控件和輸出結(jié)果控件,像文本框、按鈕、波形顯示控件等;而程序框圖負(fù)責(zé)將用戶的操作經(jīng)過(guò)一系列的處理,并最終輸出結(jié)果,顯示在前面板上。
(2)從功能模塊來(lái)說(shuō),每個(gè)VI 文件類似于C 語(yǔ)言中的一個(gè)函數(shù),前面板用來(lái)設(shè)計(jì)函數(shù)的參數(shù)(輸入)和返回值(輸出),程序框圖類似函數(shù)體,實(shí)現(xiàn)具體邏輯。
2、 安裝軟件和ZDS2024 驅(qū)動(dòng)庫(kù)
首先必須安裝好LabVIEW 和NI-VISA。將ZDS2024 的驅(qū)動(dòng)庫(kù)文件夾Zhiyuan ZDS2000 Series for TCP,拷貝到LabVIEW 安裝目錄instr.lib 目錄下。Zhiyuan ZDS2000 Series for TCP針對(duì)以太網(wǎng)連接。
3、配置NI-VISA來(lái)控制示波器
啟動(dòng)Masurement & Automation Explorer 軟件,選擇設(shè)備和接口,在添加網(wǎng)絡(luò)設(shè)備中,使用Manual Entry of Raw Scoket(手動(dòng)輸入原始SOCKET)方式連接,ZDS2024 示波器采用端口號(hào)5025 來(lái)接收SCPI 命令。如圖2 和圖3 所示。設(shè)置好后,可進(jìn)行測(cè)試,確保連接成功。
圖1 連接方式
圖2 RAW SCOKET 配置
4、例程設(shè)計(jì)
啟動(dòng)LabVIEW 創(chuàng)建一個(gè)新的VI 文件。這里以從示波器讀取數(shù)據(jù),并顯示在波形控件上為例。
設(shè)計(jì)的VI 前面板為如圖4 所示。
圖4 VI 前面板
左邊的三個(gè)控制用于輸入設(shè)置,包括連接的VISA 資源名稱,獲取數(shù)據(jù)的通道,最大延遲時(shí)間。右邊為結(jié)果波形顯示控件。設(shè)計(jì)好前面板以后,就可以進(jìn)入程序框圖設(shè)計(jì)了。在VI 的程序框圖中的Function 面板中,選擇“儀器I/O”可以找到有關(guān)ZDS2024 的驅(qū)動(dòng)庫(kù)的模塊,可以在程序框圖中直接使用,設(shè)計(jì)結(jié)果如圖5 所示。
圖5 程序框圖
在程序框圖中,先初始化示波器,并啟動(dòng)示波器的AutoSetup 功能,然后循環(huán)獲取示波器的數(shù)據(jù),并送顯示,直到用戶中止或者獲取數(shù)據(jù)過(guò)程中出現(xiàn)錯(cuò)誤。最后可以在前面板啟動(dòng)運(yùn)行,結(jié)果如圖6所示。
圖6 運(yùn)行結(jié)果
以上是使用LabVIEW 來(lái)控制ZDS2024 示波器的整個(gè)過(guò)程,相對(duì)使用C,C++這種來(lái)開(kāi)發(fā)是不是要方便很多呢?