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

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW的數(shù)控機(jī)床網(wǎng)絡(luò)測(cè)控系統(tǒng)——總體設(shè)計(jì) (二)

          基于LabVIEW的數(shù)控機(jī)床網(wǎng)絡(luò)測(cè)控系統(tǒng)——總體設(shè)計(jì) (二)

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

            3.3通用數(shù)據(jù)采集卡的驅(qū)動(dòng)設(shè)計(jì)

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

            系統(tǒng)中,在數(shù)據(jù)采集卡部分,提供了大量的數(shù)據(jù)采集子程序,這些驅(qū)動(dòng)程序從簡(jiǎn)單到高級(jí),可以提供給用戶使用,但這些子程序只支持NI的數(shù)據(jù)采集卡(DAQ)以及少數(shù)公司開(kāi)發(fā)的支持平臺(tái)的數(shù)據(jù)采集卡,而這些卡的價(jià)格較昂貴,一般的用戶很難接受。因此,為了能在平臺(tái)上使用普通數(shù)據(jù)采集,有以下幾種方案可以解決LabVIEW與普通數(shù)據(jù)采集卡驅(qū)動(dòng)的問(wèn)題。

            3.3.1基于LabVIEW的普通國(guó)產(chǎn)采集卡的驅(qū)動(dòng)方法

            為了解決LabVIEW與普通國(guó)產(chǎn)采集卡的接口驅(qū)動(dòng)問(wèn)題,有三種可行方案:

            ①直接用LabVIEW的InPort , OutPort圖標(biāo)編程方式;

            ②用LabVIEW的CIN圖標(biāo)生成的板卡卡驅(qū)動(dòng)程序的子VI方式;

           ?、塾肔abVIEW的Call Library Functions圖標(biāo),動(dòng)態(tài)鏈接數(shù)據(jù)采集卡的。DLL庫(kù)函數(shù)方式。

            (1)用In Port和Out Port直接編程方式(I/O方式)驅(qū)動(dòng)

            LabVIEW中有兩個(gè)直接訪問(wèn)底層設(shè)備的圖標(biāo),即In Port.vi和Out Port.vi.這兩個(gè)函數(shù)分別完成從設(shè)備的物理地址直接讀取和輸出數(shù)據(jù)功能,通過(guò)直接讀寫(xiě)寄存器可以提高數(shù)據(jù)的傳輸速率,采集卡的工作方式為軟件驅(qū)動(dòng),查詢方式為讀取采樣結(jié)果。In Port.vi和Out port.vi圖標(biāo)存放在Memory子模板上。直接讀取端口方式實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,適用于采集精度要求不高的情況。對(duì)于精度要求高且復(fù)雜的采集系統(tǒng),如包含對(duì)內(nèi)存大量操作的情況,這種方式就不能滿足要求[19]。

            (2)調(diào)用C語(yǔ)言源代碼方式(CINF方式)驅(qū)動(dòng)

            在實(shí)際設(shè)計(jì)中,經(jīng)常會(huì)碰到某些想實(shí)現(xiàn)的功能,但利用LabVIEW圖標(biāo)實(shí)現(xiàn)和處理又不是很方便靈活,而利用其他編程語(yǔ)言很容易實(shí)現(xiàn)的情況。這時(shí)就需要用LabVIEW中的接口圖標(biāo),以實(shí)現(xiàn)LabVIEW與其他語(yǔ)言直接的連接,CIN圖標(biāo)就是其中的一種。

            它是LabVIEW與C語(yǔ)言的接口,CIN通過(guò)輸入、輸出端口實(shí)現(xiàn)兩種語(yǔ)言之間的數(shù)據(jù)傳遞。輸入、輸出端口的個(gè)數(shù)可由設(shè)計(jì)者根據(jù)實(shí)際需要確定。當(dāng)LabVIEW的程序運(yùn)行到CIN節(jié)點(diǎn)時(shí),數(shù)據(jù)由CIN的輸入端口傳遞給C源代碼圖標(biāo),程序去執(zhí)行C源代碼,代碼執(zhí)行完后,得到的數(shù)據(jù)結(jié)果由CIN的輸出端返回給LabVIEW [20]。

            (3)調(diào)用動(dòng)態(tài)連接庫(kù)DLL的方式(CLF方式)驅(qū)動(dòng)

            動(dòng)態(tài)連接庫(kù)(DLL)是一種應(yīng)用程序在運(yùn)行時(shí)與庫(kù)文件連接起來(lái)的技術(shù),是在應(yīng)用程序運(yùn)行時(shí)被裝入和鏈接的,而不是把源代碼復(fù)制到應(yīng)用程序中去,因此使用動(dòng)態(tài)鏈接庫(kù)可以實(shí)現(xiàn)多個(gè)應(yīng)用程序直間代碼和資源的共享。不過(guò)動(dòng)態(tài)鏈接庫(kù)常由數(shù)據(jù)采集卡生產(chǎn)廠商提供,通過(guò)LabVIEW的CLF節(jié)點(diǎn)調(diào)用。如果廠商不提供DLL動(dòng)態(tài)連接庫(kù),用戶就要自己編寫(xiě),這就對(duì)用戶的編程水平有了進(jìn)一步的要求。不過(guò)使用動(dòng)態(tài)鏈接庫(kù)有其自身的有點(diǎn),如方便的實(shí)現(xiàn)共享代碼、資源和數(shù)據(jù);DLL的編寫(xiě)與語(yǔ)言無(wú)關(guān);隱藏實(shí)現(xiàn)細(xì)節(jié);節(jié)省內(nèi)存等;

            3.3.2調(diào)用動(dòng)態(tài)連接庫(kù)DLL的方式實(shí)現(xiàn)板卡驅(qū)動(dòng)的設(shè)計(jì)

            由于該設(shè)計(jì)平臺(tái)中,選用的國(guó)產(chǎn)普通采集卡,需要自己編寫(xiě)板卡驅(qū)動(dòng),鑒于以上幾種方法的比較,本文選用的是調(diào)用動(dòng)態(tài)連接庫(kù)DLL的方式(CLF方式)驅(qū)動(dòng)。通過(guò)LabVIEW的CLF節(jié)點(diǎn)調(diào)用的實(shí)現(xiàn)如下,調(diào)用動(dòng)態(tài)連接庫(kù)的配置方式詳見(jiàn)下圖3.8所示。

            

          調(diào)用動(dòng)態(tài)連接庫(kù)的配置方式

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

          關(guān)鍵詞: LabVIEW 數(shù)控機(jī)床

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();