国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自動化設備控制和數(shù)據(jù)采集軟件LabMeasure

2018-04-24 03:28李壯志李玉現(xiàn)白彥魁
物理實驗 2018年4期
關(guān)鍵詞:運算符測控儀表

李壯志,李玉現(xiàn),白彥魁

(河北師范大學 a.物理科學與信息工程學院;b.物理國家級實驗教學示范中心;c.河北省新型薄膜材料實驗室,河北 石家莊 050024)

1 軟件設計背景

現(xiàn)代化科技實驗室在進行物理量數(shù)據(jù)采集時通常需要使用多種型號的測量儀表,早期的測量儀表一般是用手動方法進行操作,在長時間的測量過程中,需要操作人員不間斷地操作,勞動強度大,容易出現(xiàn)記錄錯誤,另外也容易損壞儀表硬件. 在數(shù)字集成電路技術(shù)發(fā)明以后,高級儀表開始配備自動化測量控制接口,其中重要的規(guī)范是惠普(HP)公司聯(lián)合其他儀表生產(chǎn)商推出的IEEE488接口協(xié)議(HP-IB),應用此協(xié)議的接口后來一般改稱為通用接口總線(GeneralPurposeInterfaceBus,GPIB)[1]. 從20世紀70年代開始,大量的高級儀表都設計有GPIB接口. 通常1臺GPIB接口儀表均具有聽(listen)功能,通過控制機(一般是通用計算機)控制,可以用寫(write)命令向儀表發(fā)送指令,實現(xiàn)儀表前面板的功能,另外通過讀(read)命令,可以將儀表緩存內(nèi)的數(shù)據(jù)讀入計算機進行處理.

要實現(xiàn)計算機控制的GPIB接口測控系統(tǒng),通常需要在計算機中插入1張GPIB控制卡,通過GPIB電纜連接儀表,在配置儀表的GPIB地址后,通過編寫的控制程序,計算機可以訪問某臺特定的儀表,通過GPIB協(xié)議,通常1臺計算機最多可以同時控制14臺儀表.

在科研實驗室中,串行通訊(serialcommunication)是也是常用的方式[2]. 該接口是20世紀80年代前后,為了方便個人計算機(PC)與低速設備通訊而發(fā)展起來的,隨著PC機的快速普及,串行接口(serialinterface)以其成本低廉、使用方便獲得了廣泛應用,PC機上配置的一般是RS232串口,在工控領(lǐng)域還有RS422/485接口,RS232和RS422/485接口之間可以通過接口電路進行協(xié)議轉(zhuǎn)換.

盡管GPIB和串行通訊提供了同儀器設備方便的通訊手段,但由于它們數(shù)據(jù)傳輸率較慢,在工控領(lǐng)域新的高速通訊協(xié)議得到了大力發(fā)展,如20世紀80年代后期,HP和Tekronix等公司成立的VXIbus合作組發(fā)布的VXI總線協(xié)議,HP公司發(fā)布的SICL(StandardInstrumentControlLibrary)協(xié)議,等等. 另外,隨著PC機對高速通訊的要求,Ethernet和USB通訊協(xié)議也獲得了快速發(fā)展,并且它們的使用也擴展到儀器儀表設備控制領(lǐng)域.

為了確保不同廠商、不同接口標準的儀器能相互兼容、可靠通訊和數(shù)據(jù)交換,需要研制出新的標準,以方便對各種不同儀器設備的編程控制,為此NI,HP/Agilent,Tekronix等35家全球最大的儀器儀表公司在1993年成立聯(lián)盟,并于1996年2月推出了VISA協(xié)議,該協(xié)議的目標是能夠驅(qū)動95%的已有智能儀器儀表[3]. 通過VISA協(xié)議提供的函數(shù),可以驅(qū)動具有GPIB,RS232,VXI,Ethernet和USB等各種接口的儀器設備.

一直以來,對儀表控制軟件的編寫一般有2種方式:一種是使用通用高級編程語言如VisualC++,VisualBasic,Delphi等,設計程序界面和處理數(shù)據(jù)的采集、顯示和存儲,通過調(diào)用諸如GPIB接口卡驅(qū)動函數(shù)控制儀表,這通常需要較多的編程知識和對GPIB和RS232等總線協(xié)議有較多了解,并且編譯完成的程序只是針對特定的測控系統(tǒng),操作者無法改變其配置,如果更換測試系統(tǒng)中的某臺儀表或者組建新的系統(tǒng),則需要重新編寫程序,缺乏靈活性. 另一種方式是使用圖形化編程語言如LabVIEW(使用G語言)[4-5],它對GPIB和RS232等協(xié)議進行了封裝,相比傳統(tǒng)編程語言有較好的靈活性,但是在測控系統(tǒng)中需安裝體積龐大的專用軟件,并且其價格昂貴,另外它仍需要每個具體測控系統(tǒng)搭建者花費較長時間深入學習該編程語言.

LabMeasure軟件中提供了測量控制軟件的另一種編程方式——腳本(script)編程. 對不同的測控要求,控制軟件的編寫不再是傳統(tǒng)的編譯-執(zhí)行方式,而是將具體的控制要求寫成腳本程序,在測控操作運行前完成指令的即時編譯,既增加了測控系統(tǒng)的靈活性,又降低了專用程序編寫的難度.

2 LabMeasure軟件的結(jié)構(gòu)及功能

LabMeasure軟件結(jié)構(gòu)如圖1所示,其中心部分是腳本集成開發(fā)環(huán)境(script IDE),用戶在該環(huán)境提供的代碼編輯器中編寫自己的腳本程序. LabMeasure使用Object Pascal 腳本語言編程,該語言遵循傳統(tǒng)的Pascal規(guī)則,并做適度的擴展和簡化. Pascal語言是接近自然語言的高級編程語言,方便學習掌握. Object Pascal 腳本語言預定義數(shù)據(jù)類型包括Boolean,Byte,Cardinal,Double,Int64,Integer,ShortInt,SmallInt,String,Variant,Word;結(jié)構(gòu)類型支持集合、枚舉、靜態(tài)數(shù)組、動態(tài)數(shù)組、記錄、類等;運算符支持算術(shù)運算符、布爾運算符、位邏輯運算符、關(guān)系運算符、運算符優(yōu)先級;條件語句支持If語句和Case語句;循環(huán)語句支持For語句、While語句、Repeat語句、Break和Continue語句;等等. 為了方便調(diào)試腳本程序,在script IDE窗口中帶有詳細的調(diào)試方式和調(diào)試信息的顯示,如步入、步出、運行到當前行,以及在任一行設置斷點等,并可以通過觀察窗口查看變量結(jié)果.

圖1 LabMeasure軟件的構(gòu)成

為了顯示獲得的結(jié)果,LabMeasure軟件提供了終端窗口和二維圖形顯示窗口,終端窗口用于顯示得到的結(jié)果,圖形顯示窗口用來顯示獲得的二維數(shù)據(jù)曲線.

2.1 LabMeasure中支持的常規(guī)函數(shù)

LabMeasure IDE本身支持常用的數(shù)學函數(shù)和字符串處理等函數(shù)如Cos, Sin, Tan, Abs, Exp, Ln, Copy, Delete等,還提供了用于輸出程序結(jié)果的終端輸出函數(shù)和二維繪圖函數(shù),以及對所采集的數(shù)據(jù)保存為csv格式文件的存儲函數(shù). 其中的二維繪圖函數(shù)包括:

1)LmSetAxisName(xAxisName: string; yAxisName: string),該函數(shù)設置Plot窗口的x和y坐標軸的內(nèi)容.

2)LmPlot(x: double; y: double),如果沒有啟動Plot窗口,該函數(shù)將動態(tài)創(chuàng)建Plot窗口,并向窗口中的直角坐標系發(fā)送浮點數(shù)x和y,并同時進行顯示. 該直角坐標系的橫軸和縱軸按輸入的數(shù)值自動縮放,直角坐標系的橫軸和縱軸名稱由LmSetAxisName函數(shù)設置,如果用戶未設置,則使用缺省設置“x-Axis”和“y-Axis”.

(3)LmPlotM(x: double; yArr: array of double),該函數(shù)功能同LmPlot,但可以在1個Plot窗口中以x為橫坐標,以y0[, y1][, y2]…[, y4]等為縱坐標,可以同時繪制最多5條曲線.

除常用函數(shù)外,LabMeasure還內(nèi)置了幾個功能擴展函數(shù)庫,包括系統(tǒng)應用函數(shù)庫,數(shù)學函數(shù)庫及變體類型函數(shù)庫等,對其功能進行擴展.

1)系統(tǒng)應用函數(shù):這些函數(shù)在LabMeasure的SysUtils庫中,該庫提供了文件、字符串、類型轉(zhuǎn)換、時間以及系統(tǒng)方面的函數(shù)共約220個.

2)數(shù)學函數(shù)庫:這些函數(shù)在LabMeasure的Math庫中,該庫提供算術(shù)、三角、對數(shù)、統(tǒng)計和金融方面的計算函數(shù)共超過100個.

3)變體(variants)類型函數(shù)庫,LabMeasure script語言支持Object Pascal語言規(guī)范的variants類型,使用該類型時涉及到的variants類型函數(shù)在variants函數(shù)庫中.

2.2 LabMeasure軟件內(nèi)置的通訊函數(shù)

現(xiàn)在NI(National Instrument)公司的GPIB板卡在實驗室設備控制方面應用最為廣泛,部分其他公司的產(chǎn)品會和NI板卡保持兼容性,所以在LabMeasure軟件中提供了對NI GPIB函數(shù)的直接支持,包括絕大部分GPIB 488.1函數(shù)和全部的GPIB 488.2函數(shù).

LabMeasure軟件中提供了對RS232通訊函數(shù)的直接支持,包括端口控制、數(shù)據(jù)輸入、數(shù)據(jù)輸出、端口狀態(tài)查詢等系列串口操作函數(shù),例如其中的端口控制函數(shù)包括LS_open,LS_close,LS_ioctl,LS_flowctrl,LS_flush,LS_DTR,LS_RTS,LS_lctrl,LS_baud等具體的操作函數(shù),分別完成串口打開、關(guān)閉、通訊參量設置等功能.

為了應對除GPIB和RS232通訊外其他種類的儀器儀表,LabMeasure軟件提供了對VISA函數(shù)的支持[6-7]. VISA函數(shù)可分6大類,即資源模板函數(shù)和操作函數(shù)、基本I/O操作函數(shù)、格式I/O操作函數(shù)、存儲I/O操作函數(shù)、共享存儲操作函數(shù)和接口特殊操作函數(shù). 由于LabMeasure通過功能函數(shù)庫提供了豐富的字符串操作函數(shù)及格式化函數(shù),所以不再提供部分格式I/O操作函數(shù)及存儲I/O操作、共享存儲操作函數(shù),LabMeasure支持除此之外的其他全部VISA函數(shù).

為了方便用戶在連接物理設備前調(diào)試腳本測控程序,LabMeasure對全部支持的GPIB,RS232和VISA函數(shù)都支持模擬(simulation)方式.

2.3 LabMeasure功能擴展

LabMeasure支持通過2種方式對系統(tǒng)功能進行擴展:一是將需要用到的功能編制成子程序,儲存成LabMeasure script模塊文件,然后在調(diào)用時直接引用該模塊,軟件支持在1個腳本程序中使用最多256個模塊文件. 另一種方式是通過使用其他通用編譯器將需要的功能編譯成動態(tài)鏈接庫,在LabMeasure的腳本程序中先引用該動態(tài)鏈接庫,再調(diào)用其中的函數(shù). 軟件支持對動態(tài)鏈接庫調(diào)用的各種約定,如Pascal約定、C約定等.

3 應用示例

LabMeasure采用標準視窗方式編寫,使用方法同常用Windows程序一致,熟悉微軟視窗操作系統(tǒng)的用戶可以快速熟悉其使用.

軟件啟動后,其界面如圖2所示,僅Graph View和Table View功能可用,分別是用圖形方式和圖表方式打開LabMeasure存儲的csv格式文件,除此之外的其他快捷方式都不能使用.

圖2 LabMeasure軟件的啟動界面

在File菜單欄下,通過單擊LM Script可以啟動LmIDE,此時窗口狀態(tài)如圖3(a)所示. 當啟動LmIDE時,LabMeasure會檢測計算機中是否安裝了GPIB板卡和/或VISA驅(qū)動,如果發(fā)現(xiàn),則在LmIDE下側(cè)中間的狀態(tài)欄中顯示,如果沒有發(fā)現(xiàn),則需要用戶檢測其系統(tǒng)中的GPIB板卡及其驅(qū)動程序和/或VISA驅(qū)動是否正確安裝.

(a)LmIDE啟動窗口 (b)打開腳本程序后的窗口圖3 LmIDE界面

啟動LmIDE后,LabMeasure的菜單欄也會做相應的變動,此時可以通過菜單欄或者快捷按鈕新建或者打開LM程序工程. 1個LM工程文件中可以包含多個模塊文件. 圖3(b)中是打開示例文件后的窗口圖,此時將鼠標放置在快捷按鈕上會得到相應按鈕的功能提示,這些快捷按鈕僅列舉了一些常用功能,其他更多的功能可以從菜單欄上選擇,單擊相應的菜單按鈕即可實現(xiàn)其標題顯示的功能.

圖4是運行簡單的示例程序后的結(jié)果,該程序計算并顯示了由37個點組成的正弦曲線,為了模擬數(shù)據(jù)采集過程,使用delay(延時)函數(shù)每隔20 ms計算1個數(shù)據(jù)點,并將計算結(jié)果顯示在最右側(cè)的終端窗口中,將數(shù)據(jù)曲線顯示在中間的繪圖窗口中. 該例子通過簡單的數(shù)行程序模擬了數(shù)據(jù)采集的過程,可見LabMeasure程序編寫簡單,同時具有較高的編程效率.

圖4 LabMeasure中的窗口

4 結(jié)束語

已經(jīng)在實驗室中使用LabMeasure軟件編程,搭建完成了多種自動化測量系統(tǒng),包括方塊電阻四探針測試臺、范德堡法薄膜電阻率測試系統(tǒng)、真空場發(fā)射測試系統(tǒng)、高精度塞貝克系數(shù)和電阻率測量系統(tǒng)等,并應用于教學和科研工作.

總之,LabMeasure軟件大幅度降低了科研人員在實驗室中搭建自動化測試系統(tǒng)所需要的知識儲備,學習過高級編程語言,具有初級編程經(jīng)驗的人員經(jīng)過短期學習,就能夠高效率地搭建適合自己工作需要的自動化測試系統(tǒng).

參考文獻:

[1] 張宜生,王運贛. GPIB通用接口與自動測試系統(tǒng)[M]. 北京:科學出版社,1989.

[2] 范逸之. Visual Basic與RS-232串行通信控制[M]. 北京:中國青年出版社,2000.

[3] IVI Foundation. www.ivifoundation.org[EB/OL].

[4] Ertugrul N. Labview: for electric circuits, machines, drives, and laboratories[M]. London: Prentice Hall PTR, 2002.

[5] King R H, Introduction to data acquisition with LabView [M]. New York: McGraw Hill Higher Education, 2012.

[6] Agilent Technologies, Inc. Agilent VISA Online Reference [Z]. 2005-2009.

[7] 趙會兵. 虛擬儀器技術(shù)規(guī)范與系統(tǒng)集成[M]. 北京:北京交通大學出版社,2003.

猜你喜歡
運算符測控儀表
◆ 儀表
儀表
老祖?zhèn)魇诨具\算符
昆山祺邁測控設備有限公司
用手機插頭的思路學習布爾運算符
熱工儀表自動化安裝探討的認識
基于現(xiàn)代測控技術(shù)及其應用分析
虛擬儀器技術(shù)在農(nóng)業(yè)裝備測控中的應用
向著新航程進發(fā)——遠望7號測控船首航記錄
奔馳E260車行駛過程中儀表燈熄滅
土默特右旗| 镇宁| 金溪县| 资兴市| 青州市| 武强县| 广安市| 滨海县| 东乌珠穆沁旗| 牙克石市| 陆川县| 香河县| 普兰店市| 日照市| 株洲县| 镇平县| 卫辉市| 丹棱县| 澜沧| 白水县| 治多县| 西平县| 洮南市| 哈密市| 宝鸡市| 图木舒克市| 晴隆县| 利辛县| 江阴市| 张掖市| 九龙坡区| 平阴县| 延川县| 长宁区| 昌江| 东宁县| 黎平县| 仲巴县| 延长县| 巴南区| 渝北区|