<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于LabVIEW的外置串口采集控制卡的研制

基于LabVIEW的外置串口采集控制卡的研制

作者: 時(shí)間:2011-05-26 來(lái)源:網(wǎng)絡(luò ) 收藏

前面板有如儀器的外形設計,而程序框圖就是儀器的內部電路,是設計的核心部分。方便之處就是能很方便的將流程圖轉換為圖形編程語(yǔ)言。流程圖中的循環(huán)可以直接調用中的While循環(huán),順序執行可以調用中Sequence Structure(順序結構),條件執行則可以調用LabVIEW中Case Structure(選擇結構)。程序流程圖設計如圖3所示。LabVIEW所采用的是并行執行結構,主流程圖中橫虛線(xiàn)上方的左右兩邊為同時(shí)執行的兩個(gè)獨立的單元。

本次設計的圖形編程可以分為通訊、數據接收以及文件讀寫(xiě)三個(gè)部分。

在LabVIEW中,實(shí)現通訊方式有直接調用NI公司提供的Serial系列子VI; VISA串行系列(位于Functions->All Functions->Instrument I/O->serial中);采用Active X控件來(lái)控制訪(fǎng)問(wèn)串行口(先向LabVIEW中添加一個(gè)Active X Container控件,然后向其中添加MSComm控件)三種方式。本次設計采用了第二種方式來(lái)訪(fǎng)問(wèn)和控制串行口,即通過(guò)調用功能模板的VISA中的Serial系列(包含VISA Configure Serial、VISA Write、VISA Read、VISA Close)來(lái)實(shí)現對串行口的訪(fǎng)問(wèn)和控制。采用該方式設計的優(yōu)點(diǎn)是:每個(gè)函數開(kāi)始接收一個(gè)端口號,結束后輸出一個(gè)其復制的端口號,這樣在設計中就不用擔心對于一個(gè)端口有遺忘或是重復的操作,從而使程序設計更加清晰。


LabVIEW中對于串行口的讀寫(xiě)都是以字符為單位傳輸其ASCII碼來(lái)實(shí)現的,因而需將需要傳輸的數據字符轉換成對應的ASCII碼。本設計通過(guò)調用CIN (代碼接口接點(diǎn))將C語(yǔ)言程序嵌入到整個(gè)設計中,然后采用LabVIEW與C語(yǔ)言混合編程來(lái)實(shí)現所需的功能(CIN在LabVIEW中的調用路徑為Functions→All Functions→Advanced→Code Interface Node)。


本設計中首先將控制系統的通道號和量程發(fā)送給下位機,然后程序進(jìn)入到相應的數據接收處理程序。在數據接收過(guò)程中采用了數據幀方式:下位機將對應通道號、相應量程的結果以一幀數據為單位循環(huán)發(fā)送給PC機,PC機通過(guò)判斷幀頭來(lái)識別數據,從而提高數據傳輸的準確性。幀數據格式如下:

前面兩個(gè)字節數據0xAA和0xAB為幀頭標志,DATA1和DATA0為結果,但并非為最終的結果,它們仍需要相應的處理(該處理在服務(wù)子程序中進(jìn)行)。

采集到的數據要轉換為實(shí)際電壓值后,再進(jìn)行顯示、存儲。本設計可以很方便的把每個(gè)實(shí)際電壓值存儲到Excel文件中,以便于查看和處理。而且在存儲的過(guò)程中可以將通道號、量程、采集數據序號信息都寫(xiě)入文件,這樣,就很容易生成報表輸出。

根據流程圖設計的采集控制系統程序框圖如圖4所示。


系統測試


將采集控制系統硬件、軟件按要求設計好后,運行控制軟件,先對采集控制系統進(jìn)行相應的配置,然后可以實(shí)時(shí)觀(guān)看某個(gè)通道的電壓值。調節輸入電壓,通過(guò)實(shí)時(shí)監控界面可以觀(guān)看到輸入電壓的變化過(guò)程。程序運行結束后,可以在程序的安裝目錄下找到一個(gè)由先前配置所命名的Excel文件,打開(kāi)這個(gè)文件就可以看到采集到的所有數據(包括通道號、量程、采集數據及所采集數據序號信息)。通過(guò)測試表明,采集控制系統操作簡(jiǎn)單、方便,采集數據準確、價(jià)格低廉,且有熱插拔優(yōu)點(diǎn)。


結語(yǔ)

因為NI公司所提供的數據采集卡價(jià)格昂貴,對用戶(hù)來(lái)說(shuō),自主LabVIEW的采集在實(shí)際中有很大的意義,采用LabVIEW平臺來(lái)實(shí)現,很大程度上簡(jiǎn)化了設計,希望本文能給眾多設計者帶來(lái)新的設計概念。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>