戰(zhàn):驅(qū)動(dòng)安裝與LabVIEW聯(lián)調(diào)指南)
簡(jiǎn)介一套以C#語(yǔ)言編寫的安捷倫34401A數(shù)字萬(wàn)用表上位機(jī)程序面向需要實(shí)現(xiàn)儀器程控和數(shù)據(jù)采集的自動(dòng)化測(cè)試工程師也適合希望學(xué)習(xí)串口通信與儀器控制開(kāi)發(fā)的C#學(xué)習(xí)者。資源包采用zip壓縮共31個(gè)文件包含項(xiàng)目源代碼、工程配置文件、編譯好的可執(zhí)行程序、相關(guān)資源文件、圖片以及一份完整的數(shù)字萬(wàn)用表用戶指南壓縮包整體體積為5.87兆字節(jié)結(jié)構(gòu)清晰方便直接打開(kāi)運(yùn)行或在此基礎(chǔ)上擴(kuò)展功能。代碼主要演示了如何利用串口與萬(wàn)用表連接發(fā)送控制指令并接收測(cè)量數(shù)據(jù)同時(shí)對(duì)波特率、數(shù)據(jù)位、校驗(yàn)位等參數(shù)進(jìn)行了配置并實(shí)現(xiàn)了超時(shí)處理、異常捕獲、單位換算、實(shí)時(shí)曲線與數(shù)據(jù)保存等常用功能。借助這份開(kāi)發(fā)實(shí)例使用者能夠較快掌握基于SCPI命令的儀表程控思路并遷移至其他支持相同協(xié)議的設(shè)備。目前該資源已有1094人學(xué)習(xí)瀏覽適合在實(shí)驗(yàn)室或產(chǎn)線中搭建低成本自動(dòng)測(cè)試系統(tǒng)也可作為C#上位機(jī)進(jìn)階學(xué)習(xí)的練手項(xiàng)目。 手頭這個(gè)“安捷倫Agilent 34401A.zip”壓縮包我相信很多做測(cè)試測(cè)量、搞儀器二次開(kāi)發(fā)的朋友都不陌生。安捷倫34401A是一臺(tái)非常經(jīng)典的六位半臺(tái)式數(shù)字萬(wàn)用表在實(shí)驗(yàn)室、產(chǎn)線和老牌高校的電子類課程里幾乎是標(biāo)配級(jí)的設(shè)備。但當(dāng)你在某個(gè)資料分享頁(yè)、老工程師的網(wǎng)盤或者儀器隨附光盤里看到這個(gè)以.zip結(jié)尾的文件時(shí)事情就沒(méi)那么單純了——你拿到的不是一個(gè)簡(jiǎn)單的文檔而是一整套驅(qū)動(dòng)、手冊(cè)、固件、LabVIEW范例程序的集合。今天這篇文章我就從“拿到zip包之后到底該怎么用”的角度把安捷倫34401A這套資源包從頭到尾梳理一遍壓縮包里大概率有什么、驅(qū)動(dòng)怎么裝才能讓PC識(shí)別、LabVIEW聯(lián)調(diào)時(shí)SCPI指令怎么敲以及那些常見(jiàn)的報(bào)錯(cuò)究竟該怎么修。無(wú)論你是剛接手實(shí)驗(yàn)室儀表的萌新還是已經(jīng)踩過(guò)無(wú)數(shù)坑的老手這篇文章應(yīng)該都能幫你省點(diǎn)時(shí)間。1. 先搞清楚你在用什么34401A的核心能力與定位1.1 這臺(tái)六位半萬(wàn)用表為什么被稱為“實(shí)驗(yàn)室常青樹”安捷倫34401A發(fā)布于上世紀(jì)90年代但直到今天依然在二手儀器市場(chǎng)、高校實(shí)驗(yàn)室和工業(yè)現(xiàn)場(chǎng)大量服役。它是一臺(tái)六位半6? digit臺(tái)式數(shù)字萬(wàn)用表這意味著它的最大顯示位數(shù)為6位半顯示范圍可以從幾十納伏到數(shù)百伏特基本直流電壓精度在24小時(shí)測(cè)量下能做到0.0015%左右。這個(gè)精度等級(jí)放在今天的入門臺(tái)表里依然不算落后更別說(shuō)它還有非常完整的功能矩陣直流電壓、交流電壓、直流電流、交流電流、兩線/四線電阻、頻率/周期以及二極管測(cè)試和連續(xù)性測(cè)試。作為一臺(tái)面向通用測(cè)量的精密儀器34401A最迷人的地方在于它“穩(wěn)”。在環(huán)境溫度變化不大的情況下它的長(zhǎng)期穩(wěn)定性非常好曾經(jīng)有不少計(jì)量同行直接拿它當(dāng)團(tuán)隊(duì)內(nèi)部的“準(zhǔn)標(biāo)準(zhǔn)表”用用來(lái)驗(yàn)證產(chǎn)線上的手持表讀數(shù)是否漂移。這也解釋了為什么很多自動(dòng)化測(cè)試系統(tǒng)的核心工位會(huì)首選34401A——它不只是測(cè)得準(zhǔn)更是通信可靠、編程接口規(guī)范、驅(qū)動(dòng)生態(tài)成熟。1.2 后面板接口與開(kāi)發(fā)場(chǎng)景的關(guān)系如果你打算通過(guò)電腦去控制34401A就得先了解它的通信方式。34401A標(biāo)配GPIB接口和RS-232串口后面還有一個(gè)用于觸發(fā)同步的Ext Trigger接口。沒(méi)有網(wǎng)口也沒(méi)有USB口這在現(xiàn)代PC上會(huì)遇到一點(diǎn)麻煩但解決思路已經(jīng)非常成熟。GPIB接口這是當(dāng)年儀器最主流的程控總線速率不高但穩(wěn)定可靠?,F(xiàn)代PC沒(méi)有GPIB口需要配一塊PCIe/PCI GPIB卡或者USB轉(zhuǎn)GPIB適配器典型的是Keysight 82357B和各類兼容替代品。RS-232接口用普通的串口線就能連。不過(guò)老儀器的串口參數(shù)比較“講究”默認(rèn)奇偶校驗(yàn)、停止位、流控都要和PC端配對(duì)如果串口通信亂碼多半是這個(gè)問(wèn)題。USB轉(zhuǎn)GPIB現(xiàn)在大部分用戶的選擇。驅(qū)動(dòng)裝好后儀器在系統(tǒng)里會(huì)被識(shí)別成USB設(shè)備然后通過(guò)VISA層統(tǒng)一訪問(wèn)編程時(shí)不需要關(guān)心底層是GPIB還是USB。知道了這些你就明白為什么壓縮包里總是能看到VISAVirtual Instrument Software Architecture相關(guān)的安裝包或文檔了——沒(méi)有這層軟件抽象你寫再多LabVIEW程序都找不到硬件設(shè)備。2. 壓縮包里通常裝的是什么打開(kāi)“Agilent 34401A.zip”之前最好先做好心理準(zhǔn)備這個(gè)包可能非?!半s”。不同來(lái)源的zip內(nèi)容差別很大但大體上逃不出下面這三類內(nèi)容。2.1 官方驅(qū)動(dòng)與固件更新第一類是驅(qū)動(dòng)程序常見(jiàn)的有IVI-COM驅(qū)動(dòng)、PlugPlay驅(qū)動(dòng)還有老一點(diǎn)的VXIplugplay驅(qū)動(dòng)。IVI-COM驅(qū)動(dòng)是目前Windows下最推薦的形態(tài)很多測(cè)試程序LabVIEW、C#、Python都是通過(guò)調(diào)用IVI接口來(lái)操作儀器的。Keysight原安捷倫官網(wǎng)目前仍然保留了34401A的驅(qū)動(dòng)下載頁(yè)文件一般以zip形式打包解壓后你會(huì)看到一個(gè)setup.exe或者installer引導(dǎo)程序。第二類是固件升級(jí)包。34401A的固件更新比較特殊它不是像U盤刷機(jī)那樣直接雙擊而是需要通過(guò)GPIB或RS-232接口配合專門的固件升級(jí)工具比如Agilent IO Libraries Suite中的Firmware Update Utility來(lái)執(zhí)行。如果你手里的zip里面帶著一個(gè).bin文件和一串操作說(shuō)明那基本就是固件包。我個(gè)人建議如果儀器沒(méi)有明顯異常千萬(wàn)別手癢刷固件老儀器的固件更新過(guò)程一旦中斷恢復(fù)起來(lái)非常麻煩。2.2 編程手冊(cè)、數(shù)據(jù)手冊(cè)與LabVIEW范例第二大類是文檔和代碼資源。34401A的《Programming Guide》是玩轉(zhuǎn)這臺(tái)儀器的必讀手冊(cè)里面有完整的SCPIStandard Commands for Programmable Instruments指令集、數(shù)據(jù)格式說(shuō)明、狀態(tài)寄存器定義。如果你做LabVIEW開(kāi)發(fā)壓縮包里十有八九還會(huì)放一些*.llb或*.vi文件——這些就是前人留下的范例程序通常覆蓋了最基本的ID查詢、電壓測(cè)量、電流測(cè)量、掃描采集幾個(gè)場(chǎng)景。這些范例代碼質(zhì)量高嗎說(shuō)實(shí)話官方示例主要為了演示API怎么用而不是為了直接生產(chǎn)使用。但你千萬(wàn)不要小看它們——當(dāng)你不知道“這個(gè)函數(shù)該接到哪個(gè)輸入端”的時(shí)候范例就是最好的導(dǎo)航員。改造范例比自己從零寫要快得多。2.3 第三方整理包的常見(jiàn)結(jié)構(gòu)與注意事項(xiàng)第三種情況也是我最“怕”的一種網(wǎng)上下載的“xxx全套資料”壓縮包。這種包里除了驅(qū)動(dòng)和手冊(cè)經(jīng)常還混有各種來(lái)路不明的工具軟件、漢化補(bǔ)丁、破解注冊(cè)機(jī)。出于安全考慮這種包拿到手后第一件事是殺毒第二件事是看壓縮包的文件清單。另外要說(shuō)明的是如果不確定zip內(nèi)容來(lái)自哪里解壓到單獨(dú)的目錄之后再逐個(gè)查看文件版本和簽名別一上來(lái)就雙擊exe。我見(jiàn)過(guò)不止一次有人下了個(gè)所謂“Agilent全套資料”結(jié)果驅(qū)動(dòng)沒(méi)裝上電腦先中了招。3. 驅(qū)動(dòng)安裝與環(huán)境配置從解壓到能被PC識(shí)別3.1 正確安裝順序?yàn)槭裁茨敲搓P(guān)鍵這一節(jié)我直接給出一個(gè)最省心的安裝步驟照著做基本不會(huì)出大問(wèn)題。先安裝Keysight IO Libraries Suite。這個(gè)軟件是VISA層的核心負(fù)責(zé)識(shí)別儀器、分配資源地址、提供SCPI面板Interactive IO。如果電腦上已經(jīng)裝過(guò)舊版本的Agilent IO Libraries建議先卸載干凈再裝新的避免版本沖突。再安裝34401A的IVI-COM驅(qū)動(dòng)。驅(qū)動(dòng)安裝過(guò)程會(huì)在系統(tǒng)里注冊(cè)IVI類驅(qū)動(dòng)并關(guān)聯(lián)到VISA層。最后插上GPIB轉(zhuǎn)接器或串口線。順序反過(guò)來(lái)的后果是Windows優(yōu)先識(shí)別了硬件但找不到匹配的上層軟件服務(wù)設(shè)備管理器里大概率是一個(gè)“Unknown device”或者帶黃色感嘆號(hào)的GPIB控制器。如果你運(yùn)氣好插上設(shè)備后系統(tǒng)會(huì)自動(dòng)彈出“找到新硬件”并直接裝好驅(qū)動(dòng)。但更多時(shí)候你需要打開(kāi)Keysight Connection Expert點(diǎn)Auto-Detect讓它在VISA層掃描一次總線才能看到TCPIP或GPIBorUSB開(kāi)頭的一串資源地址。34401A通過(guò)USB轉(zhuǎn)GPIB連接后典型的VISA地址長(zhǎng)這樣USB0::0x0957::0x0311::CN12345678::INSTR其中0x0957是Keysight的廠商ID0x0311是產(chǎn)品ID后面跟的是設(shè)備序列號(hào)。當(dāng)然如果你用的是老式PCI-GPIB卡地址就是類似GPIB0::22::INSTR的形式末尾的22是儀器GPIB地址出廠默認(rèn)一般是22。3.2 設(shè)備管理器與沖突排查思路驅(qū)動(dòng)裝好之后怎么驗(yàn)證是否成功有兩個(gè)最直接的信號(hào)。第一設(shè)備管理器里能看到準(zhǔn)確的設(shè)備名稱例如“NI-USB-GPIB Controller”或“Agilent 34401A”并且沒(méi)有感嘆號(hào)。第二在Keysight Connection Expert或NI MAX軟件里能看到設(shè)備并可以打開(kāi)一個(gè)交互式面板。如果這兩步都通過(guò)了那硬件層面的環(huán)境就打通了接下來(lái)才是真正的編程環(huán)節(jié)。這里提一個(gè)很常見(jiàn)的坑USB轉(zhuǎn)GPIB線纜的驅(qū)動(dòng)被Windows Update自動(dòng)裝成了其他版本導(dǎo)致設(shè)備顯示“Driver Error”。遇到這種情況不要猶豫去官方下載對(duì)應(yīng)適配器的最新驅(qū)動(dòng)先卸載當(dāng)前驅(qū)動(dòng)再重啟安裝。如果是在LabVIEW環(huán)境里運(yùn)行時(shí)提示“VISA error -1073807339: VI_ERROR_RSRC_NFOUND”則說(shuō)明VISA層沒(méi)有找到儀器資源優(yōu)先檢查硬件連接再看軟件地址有沒(méi)有寫錯(cuò)。4. LabVIEW與34401A聯(lián)調(diào)實(shí)操SCPI指令與范例改造4.1 先用SCPI面板“說(shuō)話”再做程序我強(qiáng)烈建議你在打開(kāi)LabVIEW之前先用Keysight Connection Expert里的Interactive IO或者NI MAX自帶的VISA測(cè)試面板向34401A發(fā)送一條指令確保通信鏈路完全通暢。最經(jīng)典的開(kāi)場(chǎng)指令是*IDN?發(fā)送后34401A會(huì)返回一串字符大概長(zhǎng)這樣Agilent Technologies,34401A,CN12345678,Rev.1.1-2.1返回內(nèi)容包括廠商、型號(hào)、序列號(hào)和固件版本。能看到這行字就證明從PC到儀器的鏈路沒(méi)問(wèn)題。如果不顯示任何內(nèi)容先檢查GPIB地址和總線狀態(tài)如果是RS-232重點(diǎn)檢查波特率和奇偶校驗(yàn)。4.2 核心SCPI指令速查34401A編程指令遵循SCPI標(biāo)準(zhǔn)常用的命令并不多掌握下面這張指令表足夠應(yīng)付90%的測(cè)量場(chǎng)景。功能SCPI命令說(shuō)明查詢?cè)O(shè)備標(biāo)識(shí)*IDN?返回儀器的廠商、型號(hào)和序列號(hào)重置儀器*RST恢復(fù)默認(rèn)測(cè)量配置配置直流電壓CONF:VOLT:DC選擇直流電壓測(cè)量默認(rèn)量程和分辨率配置交流電壓CONF:VOLT:AC選擇交流電壓測(cè)量配置兩線電阻CONF:RES兩線電阻測(cè)量配置四線電阻CONF:FRES四線電阻測(cè)量適合低阻值觸發(fā)并讀取READ?觸發(fā)一次測(cè)量并返回讀數(shù)設(shè)置自動(dòng)量程SENS:VOLT:DC:RANG:AUTO ON打開(kāi)直流電壓自動(dòng)量程設(shè)置最小讀數(shù)次數(shù)SENS:VOLT:DC:NPLC 1NPLC越大穩(wěn)定性越好速度越慢每次測(cè)量流程基本是三個(gè)動(dòng)作配置CONF或SENS命令 → 觸發(fā)READ?或INITFETC? → 讀到數(shù)據(jù)并解析。4.3 改造LabVIEW范例時(shí)的幾個(gè)小細(xì)節(jié)壓縮包里如果帶了LabVIEW范例打開(kāi)后你會(huì)發(fā)現(xiàn)它內(nèi)部幾乎全部由VISA函數(shù)組成。最核心的三個(gè)節(jié)點(diǎn)是VISA Open、VISA Write、VISA Read配上一個(gè)While循環(huán)和一個(gè)錯(cuò)誤處理框架。我自己在改造官方例程時(shí)通常會(huì)做三件事把VISA資源名改成前面在Connection Expert里看到的具體地址并設(shè)為會(huì)話輸入控件方便后續(xù)輸入不同設(shè)備地址。把SCPI命令字符串從“寫死狀態(tài)”改成枚舉或下拉菜單比如在面板上放一個(gè)“量程選擇”的旋鈕把對(duì)應(yīng)的不同SCPI命令映射到選擇結(jié)果。注意超時(shí)設(shè)置。VISA Read的timeout默認(rèn)可能只有2000ms如果設(shè)置的NPLC比較大比如10單次測(cè)量速度會(huì)很慢2000ms很容易超時(shí)。建議把timeout設(shè)置在5000ms以上或者按實(shí)際測(cè)量時(shí)間動(dòng)態(tài)調(diào)整。下面是一個(gè)最簡(jiǎn)化的LabVIEW VISA測(cè)量流程骨架你可以按這個(gè)思路搭積木VISA Open → VISA Write (CONF:VOLT:DC;:READ?) → VISA Read → 解析字符串 → VISA Close這個(gè)流程看起來(lái)簡(jiǎn)單但實(shí)際采集時(shí)你會(huì)遇到一個(gè)不太“友好”的現(xiàn)實(shí)問(wèn)題34401A返回的是ASCII字符串比如1.23456789E00LabVIEW里直接用十進(jìn)制字符串轉(zhuǎn)數(shù)值函數(shù)“Fract/Exp String To Number”來(lái)解析就行。不過(guò)如果一次讀入了多行數(shù)據(jù)或者命令返回了多個(gè)浮點(diǎn)數(shù)就需要用“Spreadsheet String To Array”這類節(jié)點(diǎn)做批量解析。4.4 采樣模式與緩沖區(qū)的選擇對(duì)于連續(xù)采集場(chǎng)景34401A支持連續(xù)讀寫但你不應(yīng)該讓LabVIEW一秒鐘循環(huán)上千次去Query這樣既拖慢總線又容易導(dǎo)致緩沖區(qū)溢出。更合理的做法是利用儀器的內(nèi)部觸發(fā)和讀取延遲功能。比如要采集100個(gè)電壓點(diǎn)可以先發(fā)送TRIG:SOUR BUS TRIG:COUN 100 TRIG:DEL 0.1 SENS:VOLT:DC:NPLC 1這樣儀器會(huì)在內(nèi)部按0.1秒間隔連續(xù)測(cè)量100次再由PC發(fā)送一個(gè)觸發(fā)總線命令批量讀取結(jié)果。配合LabVIEW里的“讀取固定字節(jié)數(shù)”或“讀取直到結(jié)束符”來(lái)批量取數(shù)效率會(huì)高很多。對(duì)于要做長(zhǎng)期數(shù)據(jù)記錄的場(chǎng)合我建議打開(kāi)ASCII數(shù)據(jù)輸出并斷開(kāi)本地顯示刷新只保存原始返回字符串解析放到事后處理能有效降低程序卡頓風(fēng)險(xiǎn)。5. zip壓縮包與安裝排障速查5.1 解壓失敗invalid zip archive與EOCD報(bào)錯(cuò)使用zip包的過(guò)程中最讓人崩潰的報(bào)錯(cuò)之一就是“invalid zip archive: could not find EOCD”。EOCDEnd of Central Directory是zip文件末尾的關(guān)鍵記錄塊軟件找不到EOCD記錄通常說(shuō)明壓縮包本身不完整、被截?cái)嗷蛘呶募^的描述與實(shí)際物理大小不一致。出現(xiàn)這種情況別急著判定文件沒(méi)救了按下面順序排查。第一確認(rèn)下載過(guò)程是否中斷過(guò)。很多瀏覽器和下載工具斷點(diǎn)續(xù)傳時(shí)如果連接異??赡軙?huì)保存一個(gè)大小正確但內(nèi)容錯(cuò)位的文件。最穩(wěn)妥的辦法是重新下載一遍并核對(duì)原始網(wǎng)頁(yè)提供的SHA256或MD5校驗(yàn)值。第二嘗試換一個(gè)解壓工具。Windows自帶的資源管理器zip支持只實(shí)現(xiàn)了解壓的基本功能碰到某些分卷zip、帶擴(kuò)展屬性的壓縮包容易誤判。我常用7-Zip和Bandizip來(lái)處理兼容性明顯優(yōu)于系統(tǒng)自帶對(duì)于這種老驅(qū)動(dòng)包尤其有效。第三如果zip包本身沒(méi)問(wèn)題報(bào)錯(cuò)卻一直出現(xiàn)看看是不是解壓路徑里有中文或者空格。老軟件、老驅(qū)動(dòng)對(duì)路徑的支持很差解壓到“D:\Agilent\34401A”這種全英文無(wú)空格目錄下很多莫名問(wèn)題會(huì)不治自愈。5.2 分卷包與其他格式的轉(zhuǎn)換現(xiàn)在很多老資料會(huì)用zip分卷存放一個(gè)大壓縮包當(dāng)你只下載了part1和part2一部分或者解壓工具版本太老時(shí)會(huì)提示缺少.z01這樣的文件。這種情況下你需要把所有分卷放在同一目錄下然后從.zip主卷開(kāi)始解壓7-Zip會(huì)自動(dòng)讀取同名的.z01、.z02等分卷文件。如果手頭只有.z01文件而沒(méi)有主zip那說(shuō)明要么下載列表不完整要么上傳者沒(méi)放全。一個(gè)實(shí)用的應(yīng)急辦法是先用7-Zip打開(kāi).z01許多場(chǎng)景下它能直接預(yù)覽并解壓出部分內(nèi)容不行的話再檢查文件名編號(hào)是否連續(xù)比如34401A.z01對(duì)應(yīng)34401A.zip的主卷這兩者必須在一起才能正常解壓。5.3 壓縮包密碼、亂碼與安全習(xí)慣網(wǎng)上流傳的“zip無(wú)視密碼直接解壓”在絕大多數(shù)情況下是誤導(dǎo)。ZIP格式有傳統(tǒng)ZipCrypto和更安全的AES加密兩種方式傳統(tǒng)ZipCrypto確實(shí)存在已知弱點(diǎn)可以基于已知明文或暴力破解工具比如hashcat進(jìn)行恢復(fù)但前提是密碼強(qiáng)度不高。如果你的zip包密碼忘記了優(yōu)先想想常見(jiàn)的默認(rèn)密碼組合比如設(shè)備型號(hào)“34401A”、廠商的英文名以及它們的大小寫變體。壓縮包內(nèi)文件名顯示成亂碼通常是因?yàn)閴嚎s時(shí)使用了GBK等非UTF-8編碼而解壓工具默認(rèn)按UTF-8解碼。Bandizip設(shè)置中有一個(gè)“自動(dòng)檢測(cè)編碼”的選項(xiàng)打開(kāi)后絕大多數(shù)中文亂碼都能恢復(fù)。這里再提一句安全習(xí)慣從非官方渠道下載的zip包解壓后不要立刻運(yùn)行里面的exe或批處理文件先用殺毒軟件掃描一遍特別是那些聲稱“免安裝”“注冊(cè)機(jī)”“一鍵到位”的文件往往藏著額外的東西。5.4 設(shè)備管理階段的常見(jiàn)問(wèn)題最后整理一個(gè)我在實(shí)際項(xiàng)目里遇到的設(shè)備與驅(qū)動(dòng)排障速查表方便大家對(duì)照排查?,F(xiàn)象可能原因處理辦法插上USB-GPIB后無(wú)任何反應(yīng)線纜質(zhì)量差或供電不足換一根短一點(diǎn)的數(shù)據(jù)線插主機(jī)后面板USB口設(shè)備管理器顯示未知設(shè)備驅(qū)動(dòng)順序裝反或驅(qū)動(dòng)缺失先卸載重裝IO Libraries再插設(shè)備VISA面板能識(shí)別但返回超時(shí)GPIB地址與儀器面板不一致查看34401A前面板設(shè)置的GPIB地址改到同一地址SCPI命令返回亂碼串口參數(shù)不匹配設(shè)置波特率9600、8數(shù)據(jù)位、無(wú)校驗(yàn)、1停止位、硬件流控讀數(shù)始終為0或NaN測(cè)試線未接好或輸入超出量程先用手動(dòng)量程測(cè)量已知電壓驗(yàn)證接線與量程配置這些坑如果不在實(shí)際操作里踩一遍光看手冊(cè)很難注意到。尤其是GPIB地址不一致這種低級(jí)錯(cuò)誤我見(jiàn)過(guò)幾個(gè)新同事排查了一下午最后發(fā)現(xiàn)是儀器前面板地址是5而代碼里寫的是22改了地址之后秒通。6. 最后再分享一點(diǎn)我的實(shí)際體會(huì)這些年幫人處理過(guò)不少“Agilent 34401A.zip”相關(guān)的問(wèn)題最深的感觸是這類老儀器的軟件資源包雖然硬件上有年頭了但只要驅(qū)動(dòng)裝對(duì)、地址填對(duì)、SCPI命令用對(duì)它依然能非常穩(wěn)定地支撐一套自動(dòng)化測(cè)試系統(tǒng)。不要把精力浪費(fèi)在反反復(fù)復(fù)重裝驅(qū)動(dòng)上遇到VISA不識(shí)別、LabVIEW報(bào)錯(cuò)這類問(wèn)題重點(diǎn)去查硬件地址、線纜質(zhì)量和驅(qū)動(dòng)版本匹配基本都能解決。還有一個(gè)特別實(shí)用的建議拿到zip包后第一時(shí)間在電腦里單獨(dú)建一個(gè)“儀器資源庫(kù)”目錄按“硬件型號(hào)/驅(qū)動(dòng)版本/固件版本/使用日期”分層管理并把解壓出來(lái)的驅(qū)動(dòng)安裝包原樣保留一份。無(wú)論是后面換電腦、重裝系統(tǒng)還是接手別人的測(cè)試工位把整個(gè)目錄拷過(guò)去就能快速恢復(fù)環(huán)境比臨時(shí)去網(wǎng)上翻資料高效太多。這套方法不僅適用于34401A也適用于其他老款A(yù)gilent / Keysight儀器。資源包再亂本質(zhì)上就是驅(qū)動(dòng)文檔例程的組合掌握了結(jié)構(gòu)弄明白VISA這套抽象層后面的路就好走多了。本文還有配套的精品資源點(diǎn)擊獲取