效能分析儀器裝置的程控運用剖析
1PZ4000是一套建立在新理念基礎(chǔ)上的功率分析儀,用于環(huán)保節(jié)能產(chǎn)品和技術(shù)的研究開發(fā)工作。用于對被測對象進(jìn)行電壓和電流波形顯示和分析,對波動輸入進(jìn)行功率計算,進(jìn)行諧波分析和快速傅里葉變換FFT功能等。在一實際應(yīng)用項目中,用PZ4000儀器對節(jié)能燈電子鎮(zhèn)流器的有關(guān)技術(shù)數(shù)據(jù)進(jìn)行測量。由于PZ4000儀器功能復(fù)雜,用戶提出用計算機L abV IEW軟件來控制儀器,以便簡化操作,并能夠使測試數(shù)據(jù)與EXCEL軟件相連。為此作者選用基于通用接口總線GP IB接口的儀器控制系統(tǒng)方案。
2基于LabVIEW GPIB控制儀器PZ4000的硬件構(gòu)成
GP IB儀器系統(tǒng)利用GP IB接口卡將若干GP IB儀器連接起來,每個設(shè)備,包括計算機接口卡,必須有一個0到30之間的GP IB地址。一般GP IB接口卡設(shè)置為地址0,儀器的GP IB地址從1到30.GP IB有1個控者(1臺電腦)來控制總線。在總線上傳送儀器命令和數(shù)據(jù),控者尋址1個講者, 1個或多個聽者。數(shù)據(jù)串在總線上從講者向聽者傳送。
L abV IEW的GP IB程序包自動處理尋址和大多數(shù)其他的總線管理功能。
系統(tǒng)中,計算機通過GP IB接口卡和GP IB專用電纜連接到功率分析儀PZ4000的GP IB口上,并為儀器分配GP IB地址為1。系統(tǒng)構(gòu)成如1所示。
3軟件編程
31LabVIEW的GPIB VIs
L abV IEW的GP IB V Is使用了N I公司的N I488 1 2標(biāo)準(zhǔn)。
L abV IEW的安裝軟件安裝了動態(tài)鏈接庫以及它的支持文件, GP IB卡的附屬軟年也安裝了這些文件和附屬的支持文件。在儀器輸入輸出功能模塊的GP IB子模塊中,L abV IEW包含了GP IB通信的一些功能。其中包括的最重要的功能是從一臺儀器讀出和寫數(shù)據(jù)串GP IB W rite V Is和GP IB Read V Is。
GP IB W rite V Is實現(xiàn)了把數(shù)據(jù)寫入指定的地址或GP IB設(shè)備的操作。在GP IB W rite功能模塊中,地址字符串(address string)指定了要控制儀器的GP IB地址;模式(M ode)決定了如何結(jié)束GP IB的寫入;溢出時間(tim eout m s)決定了最長的寫入時間,如果沒有在規(guī)定的時間內(nèi)完成,本次操作將失;狀態(tài)(Status)指定在寫操作之后GP IB控制器的狀態(tài)。
GP IB Read V Is是從指定地址(address string)的GP IB設(shè)備中讀入相應(yīng)的字節(jié)數(shù)(byte count)。
儀器的控制命令
用計算機控制儀器的過程,實際上就是計算機與儀器在通訊過程中的消息(m essage)傳遞過程,而所謂的消息(m essages)就是控制儀器的命令和儀器反饋數(shù)據(jù)。每臺儀器都有它特定的命令和發(fā)送命令格式。
對于PZ4000,它的程序消息單元(Program m essage unit)的格式如2所示。
〈Program header〉:用于指定控制儀器的命令,從計算機發(fā)送到儀器PZ4000的命令有三種,分別是通用命令、復(fù)合命令和單一命令。通用命令是指在IEEE 488 12 2 1987中定義的命令,一般儀器都有這種命令,如3 CL S;復(fù)合命令是指僅屬于儀器PZ4000的命令,如: ACQ uire: D IV ision;單一命令是指功能獨立的命令,如: STAR t.
2YKPZ4000命令格式〈Program data〉:用于確定執(zhí)行命令的狀態(tài),它與〈Program header〉之間用空格(Space)隔開。如:TR IGger:MODE AU TO〈PM T〉,其中AU TO為Pro 2 gram data。
3 1 3基于LabVIEW的PZ4000儀器控制程序編制PZ4000儀器的操作功能比較復(fù)雜,用L abV IEW編程實現(xiàn)對PZ4000的控制,通常包括如3所示的幾個程序模塊。
系統(tǒng)中,要正確編制程序,首先,必須熟悉YKPZ4000儀器的手動操作測量過程,要正確理解各種測量功能;其次,要了解對應(yīng)于手動操作所實現(xiàn)的功能的儀器控制命令和數(shù)據(jù)格式;最后,充分利用L ab 2 V IEW V I的分層屬性,創(chuàng)建儀器控制程序的子V I,從而可以在高層程序中調(diào)用,使高層的程序簡潔。
在此項目中,為完成對儀器PZ4000的程序控制,其中的軟件開發(fā)過程分如下幾個步驟,首先,把儀器的有關(guān)基本操作編制成低層子程序(子V I) ,如配置儀器輸入?yún)?shù)、收發(fā)數(shù)據(jù)、查看儀器狀態(tài)等。其次,把用戶對儀器的特殊的測量要求也編制成低層子程序,如T rigger功能設(shè)置,觀察時間設(shè)置和數(shù)據(jù)記錄長度的設(shè)置等。最后,根據(jù)應(yīng)用要求,在高層調(diào)用這些子程序,組成完整的測試功能程序。
例如在此項目中,用L abV IEW編寫的控制儀器PZ4000的初始化和配置程序如4所示。
從圖中可以看出,初始化程序模塊完成對儀器的初始化操作。通過調(diào)用有關(guān)儀器基本操作的底層子程序完成對儀器的參數(shù)配置。
在3所示的程序結(jié)構(gòu)中,等待刷新程序模塊用于判斷數(shù)據(jù)是否被刷新。在儀器采集和處理數(shù)據(jù)時,計算機應(yīng)處于等待狀態(tài),對儀器不進(jìn)行任何讀寫操作,當(dāng)儀器完成數(shù)據(jù)采集及處理后,計算機才可以讀數(shù)據(jù)。為此,計算機要用到儀器內(nèi)部的擴展事件寄存器來判斷儀器處理數(shù)據(jù)的狀態(tài)。
PZ4000中的擴展事件寄存器共有16位Bit0~Bit15,分別對應(yīng)儀器處理不同數(shù)據(jù)的狀態(tài)。如在數(shù)據(jù)采集時(Running) ,儀器設(shè)置Bit0為1;當(dāng)數(shù)據(jù)刷新后,Bit0被置成0.因此,計算機通過判斷Bit0的狀態(tài)就可知道數(shù)據(jù)是否被刷新,一旦采集數(shù)據(jù)被刷新,L abV IEW程序就可以讀數(shù)據(jù)。
讀數(shù)據(jù)程序模塊用于讀數(shù)據(jù),計算機通過GP IB口從儀器中取出用戶所需要的數(shù)據(jù);錯誤查詢程序模塊用于檢查測量過程是否出現(xiàn)故障。
在3所示的儀器控制程序結(jié)構(gòu)中,把等待刷新程序模塊和讀數(shù)據(jù)程序模塊放在W hile Loop循環(huán)中,把其余的程序模塊放在W hile Loop循環(huán)外,這樣就可以完成在儀器初始化配置后,使測量過程循環(huán)往復(fù)的連續(xù)進(jìn)行。
此外,還根據(jù)用戶要求編制了功能參數(shù)設(shè)置、數(shù)據(jù)采集與處理、數(shù)據(jù)存盤、故障報警,報表生成與打印等程序,使得功率測試過程能夠全自動進(jìn)行。
此項目完成的PZ4000儀器控制的人機對話窗口界面設(shè)計如5所示。
4結(jié)束
利用GP IB技術(shù),用計算機實現(xiàn)對儀器PZ4000的操作和控制,替代傳統(tǒng)的人工操作方式,排除人為因素造成的測試測量誤差。同時可預(yù)先編制好測試程序,實現(xiàn)自動測試,提高了測試效率。
另外,通過L abV IEW軟件,可以編寫儀器驅(qū)動程序,并把它作為子程序調(diào)用,與其他子程序一道組成一個大控制程序,從而控制整個系統(tǒng)。通過儀器驅(qū)動軟件,可用一臺計算機同時控制多臺儀器,大大提高了測試測量的效率,這是傳統(tǒng)儀器無法比擬的一個優(yōu)點。中國糧油儀器網(wǎng) http://www.52lvi.cn/