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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 利用34970A在LabVIEW中實(shí)現(xiàn)多路電阻自動測量

          利用34970A在LabVIEW中實(shí)現(xiàn)多路電阻自動測量

          作者: 時(shí)間:2008-07-24 來源:網(wǎng)絡(luò) 收藏

          0 引 言

          本文引用地址:http://www.ex-cimer.com/article/164006.htm

          對于多路信號的,例如在某實(shí)驗(yàn)中需要反復(fù)對多路進(jìn)行,一般采用直接法人工操作進(jìn)行,雖然這種方法很成熟,但所用的配套設(shè)備較多,測量數(shù)據(jù)手工紀(jì)錄、人工計(jì)算,操作繁瑣、效率極低,事后的數(shù)據(jù)處理及出具測量報(bào)告既費(fèi)時(shí)又費(fèi)力,易出現(xiàn)人為因素造成的錯(cuò)判、漏判等,難以保證測量質(zhì)量,影響了科研、實(shí)驗(yàn)生產(chǎn)任務(wù)的順利進(jìn)行。在計(jì)算機(jī)技術(shù)與測量技術(shù)高速發(fā)展的今天,測試化已成必然趨勢,隨著虛擬儀器技術(shù)的日趨成熟,這種基于計(jì)算機(jī)的測量系統(tǒng)可以讓開發(fā)者自行定義儀器功能,顯示了易操作性和靈活性的特點(diǎn)?;谏鲜鲈颍覀?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/利用">利用Agilent公司的,并通過GPIB總線連接到計(jì)算機(jī),在Lab-VIEW 8.5軟件平臺下,開發(fā)了多路測量系統(tǒng),該系統(tǒng)可靠、高效。

          1 系統(tǒng)結(jié)構(gòu)

          Agilent 是一種高性能、低價(jià)位的數(shù)據(jù)采集、開關(guān)、半機(jī)架寬主機(jī),適應(yīng)于數(shù)據(jù)記錄、數(shù)據(jù)采集和一般的開關(guān)與控制應(yīng)用,內(nèi)部有6 1/2位(22比特)的數(shù)字電壓表,可完成熱電偶、RTD、直流/交流電壓和電流、、頻率和周期等測量功能,它是集測量等多種功能于一體的測量儀器,其儀器后面板有3個(gè)插槽和8個(gè)插入式模塊,同時(shí)提供了軟件驅(qū)動程序,因而可以非常容易地將應(yīng)用到測量系統(tǒng)中,它的標(biāo)準(zhǔn)的RS232、GPIB接口和SCPI編程語言使用戶使用更加方便,可根據(jù)測量要求配置不同的測量模式,當(dāng)配置了Agilent 34901A 20路銜鐵式多路復(fù)用器時(shí),34970A便成為緊湊的、低價(jià)位的數(shù)據(jù)采集器。本系統(tǒng)以34970A作為測量儀器,通過Agilent34901模塊連接被測多路電阻,采用8.5作測量系統(tǒng)軟件開發(fā)平臺,通過GPIB總線接口與34970A相連,其系統(tǒng)連接框圖如圖1所示。


          2軟件

          圖2是在 8.5開發(fā)環(huán)境中設(shè)計(jì)的多路電阻自動測量程序前面板,圖2的人機(jī)交互界面中從34970A地址選擇下拉框中選擇"GPIB0::9::INSTR",并在"測量通道選擇"中選擇需要測量的通道,按"開始"程序就可以運(yùn)行,其"電阻測量值"、"測量時(shí)間"、"通道號"將在"測量結(jié)果顯示"中顯示出來。圖2所示界面中是選擇通道1和通道2進(jìn)行電阻測量的情況,在該界面中通道1到通道20中的通道可以根據(jù)需要任意選擇。


          圖3程序中首先將"測量通道選擇"簇通過"通道選擇.Ⅵ",根據(jù)SCPI語法將其變?yōu)?quot;101,102,…120",例如選擇通道1和通道2時(shí)應(yīng)為"101,102",其它依此類推,由于篇幅問題在這里不在給出"通道選擇.VI"程序。根據(jù)在圖2中選擇的通道程序分2種運(yùn)行情況:(1)當(dāng)沒有通道選擇時(shí),"測量通道選擇"簇通過"通道選擇.VI"、"String Length.VI"和"不等于0?.VI"此時(shí)等于零,第一個(gè)"條件結(jié)構(gòu)"為假,程序只是傳遞類的VISA會話句柄instr,經(jīng)"空字符串/路徑?.VI"和"非.Ⅵ"后,此時(shí)邏輯關(guān)系為假,第二個(gè)"條件結(jié)構(gòu)"為假,程序只是傳遞類的VISA會話句柄instr,然后執(zhí)行"Close.VI",其實(shí)質(zhì)是先執(zhí)行"Initialize.VI"而后執(zhí)行"Close.VI'',相當(dāng)于什么也沒有作,這樣設(shè)計(jì)的好處在于,如果沒有通道選擇時(shí)運(yùn)行,不至于程序執(zhí)行不正常。(2)當(dāng)選擇了通道時(shí),"測量通道選擇"簇通過"通道選擇.VI"、"String Length.VI"和"不等于0?.VI"此時(shí)不等于零,第一個(gè)"條件結(jié)構(gòu)"為真,程序先執(zhí)行"Initialize.Ⅵ"后,執(zhí)行"Conf Resistance.vi"(設(shè)置儀器為電阻測量功能),經(jīng)"空字符串/路徑?.VI"和"非.VI"后,此時(shí)邏輯關(guān)系為真,第二個(gè)"條件結(jié)構(gòu)"為真,程序執(zhí)行"Conf ScanList.vi"(設(shè)置和檢查掃描列表),"Conf Scan.vi"(對設(shè)置和檢查選擇的通道掃描),"Conf Trigger.vi"(設(shè)置觸發(fā)),"Standard Event Status.vi"(設(shè)置和檢查事件積存器),"Read.vi"(從儀器輸出緩存器中讀取數(shù)據(jù)),"結(jié)果整理.VI","數(shù)組插入.VI''將測量結(jié)果顯示在"測量結(jié)果顯示"表格中。

          在圖3中從"Read.vi"(從儀器輸出緩存器中讀取數(shù)據(jù))得到的數(shù)據(jù)格式為"+4.88548460E+01 OHM,2008,02,09,08,49,38.989,101+1.00150550E+02 OHM,2008,02,09,08,49,38.916,102",這種數(shù)據(jù)格式讓人費(fèi)解,根據(jù)數(shù)據(jù)規(guī)律,所以圖3程序"創(chuàng)建數(shù)組.vi"、"匹配模式.vi"、"連接字符串.vi"將數(shù)據(jù)變換為"+4.88548460E+01 OHM,2008年02月09日08時(shí)49分38.989秒,101",以便于填表顯示數(shù)據(jù)。

          3結(jié) 論

          通過以上分析可知,采用以34970A作為測量儀器主機(jī),并在儀器后面板內(nèi)插入Agilent 34901模塊組成的多路電阻自動測量系統(tǒng),很好的解決了人工操作過程繁瑣,難免引入人工讀數(shù)等因素造成的偏差及難以保證測量質(zhì)量的問題,從圖2多路電阻自動測量程序前面板測量結(jié)果來看,系統(tǒng)滿足設(shè)計(jì)要求,同時(shí)系統(tǒng)具有良好的人機(jī)交互界面、人性化設(shè)計(jì),完全滿足某實(shí)驗(yàn)中對多路電阻自動測量要求。


          光敏電阻相關(guān)文章:光敏電阻工作原理




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();