999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

首頁 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁
  P L C | 變頻器與傳動 | 傳感器 | 現(xiàn)場檢測儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺
LabVIEW與外部程序間DLL文件的調(diào)用
北京泛華恒興科技有限公司
收藏本文     查看收藏
 
 
圖5 設(shè)置回調(diào)函數(shù)
    如果為Reserve選擇了一個回調(diào)函數(shù),那么當(dāng)一個新的線程開始調(diào)用這個DLL時,這個回調(diào)函數(shù)首先被調(diào)用?梢岳眠@個函數(shù)為新線程使用到的數(shù)據(jù)做初始化工作。線程在使用完這個DLL之后,它會去調(diào)用Unreserve中指定的回調(diào)函數(shù)。Abort中指定的函數(shù)用于VI非正常結(jié)束時被調(diào)用,也就是讓一個程序在運(yùn)行完前停止。這些回調(diào)函數(shù)的原型在Prototype for these procedures中列出,必須要由DLL的開發(fā)者按照特定的格式實(shí)現(xiàn)。如果使用的DLL不是專為LabVIEW設(shè)計(jì)的,一般不會包含這樣的回調(diào)函數(shù)。
    第四頁是錯誤處理方式,用戶可根據(jù)需要選擇相應(yīng)的錯誤檢查級別。
    另外還需要注意的是,C語言中的struct在LabVIEW中可以使用cluster來表示,但有時需要作出相應(yīng)的調(diào)整。這是因?yàn)樵贑語言中,struct的字節(jié)對齊是可以進(jìn)行設(shè)置的,這就決定了其各元素的存放地址的可變性。C語言中的對字節(jié)對齊數(shù)可通過#pragma pack指令或在工程屬性中進(jìn)行指定。而在LabVIEW的cluster中,所有元素只能是1字節(jié)對齊的,所以如果要和C語言中非1字節(jié)對齊的struct對應(yīng),需要做出一些調(diào)整。比如,對于C語言中2字節(jié)對齊的struct,第一個元素如果是I8型的,在LabVIEW的cluster中第一個元素對應(yīng)不變,但不能緊挨著放第二個元素,必須留一個無意義的空位。C語言的struct其實(shí)也是如此,只不過沒有表現(xiàn)出來。所以為了方便,如果自己用C語言生成DLL文件供LabVIEW調(diào)用最好將struct都設(shè)為1字節(jié)對齊。C語言的struct中可以嵌套數(shù)組,但是這和LabVIEW中含有數(shù)組元素的cluster是不一樣的,LabVIEW中需要將數(shù)組中的元素都拆開放入cluster中。
    如果C語言的struct中含有一個指針,LabVIEW中的cluster只能用一個U32數(shù)值(32位系統(tǒng)上,64位系統(tǒng)上使用U64)來表示指針的地址,而不能將指針?biāo)赶虻膬?nèi)容放到Cluster中去。如果聲明的是指向struct的指針,才能在LabVIEW中使用cluster與之對應(yīng)。CLN節(jié)點(diǎn)的配置面板中,沒有一個專門命名的“struct”或者“cluster”參數(shù)類型,應(yīng)選擇“Adapt to Type”就可以了。如果參數(shù)的類型就是結(jié)構(gòu)而非指針,考慮到C函數(shù)參數(shù)的壓棧順序,把一個結(jié)構(gòu)體作為參數(shù)傳給函數(shù),相當(dāng)于把結(jié)構(gòu)中每個元素分別作為參數(shù)傳遞給函數(shù)。圖6為C語言中struct和LabVIEW中cluster的部分匹配圖。
 
圖6 struct和cluster匹配
 
 
 
LabVIEW打包DLL文件
我們接下來學(xué)習(xí)如何使用LabVIEW來打包一個DLL文件。
首先我們編寫一個名為Scale.vi的程序,功能很簡單就是對輸入的數(shù)據(jù)乘上10,然后再輸出(圖7)。

圖7 scale.vi
必須在任務(wù)管理器中才能生成.dll文件。所以我們首先建立一個project,過程如下:
點(diǎn)擊File>>New Project:
圖8 生成新項(xiàng)目
 
接著彈出是否將該VI添加到新項(xiàng)目的對話框:
 
圖9 是否添加VI到新建項(xiàng)目
 
選擇Add,生成新的項(xiàng)目管理器,將其保存在需要的路徑下:
 
 
圖10 項(xiàng)目管理器
 
右鍵單擊項(xiàng)目瀏覽器窗口中的Build Specifications,在快捷菜單中選擇New>>Shared Library(DLL),彈出對DLL文件進(jìn)行設(shè)置的對話框。點(diǎn)擊Category>>Information,根據(jù)自己需求修改Build specification name和Target filename:
 
 
點(diǎn)擊Source Files>>Project Files>> Scale.vi>> ,彈出對話框,直接用默認(rèn)值,點(diǎn)擊OK:
 
 
圖12 Define VI Prototype
點(diǎn)擊Destination>> Scale.dll,點(diǎn)擊 ,可選擇需要保存的路徑。然后再點(diǎn)擊Support Directory,這是指明了DLL支持文件的路徑(比如數(shù)據(jù)文件之類的放在哪個文件夾),選擇默認(rèn)即可:
 
 

狀 態(tài): 離線

公司簡介
產(chǎn)品目錄

公司名稱: 北京泛華恒興科技有限公司
聯(lián) 系 人: 市場部
電  話: 010-82156688
傳  真: 010-82156006
地  址: 北京市海淀區(qū)西小口路66號東升科技園·北領(lǐng)地 A-4樓
郵  編: 100192
主  頁:
 
該廠商相關(guān)技術(shù)文摘:
基于XML的模塊化分布式軟件系統(tǒng)架構(gòu)設(shè)計(jì)
電動助力轉(zhuǎn)向系統(tǒng)(EPS)耐久性試驗(yàn)臺
基于1553B總線和PXI總線的某型航天動力控制系統(tǒng)關(guān)鍵技術(shù)研究
效率與成本是數(shù)據(jù)采集迎接挑戰(zhàn)的關(guān)鍵
基于柔性測試技術(shù)的通用衛(wèi)星電源變換器測試設(shè)備設(shè)計(jì)與實(shí)現(xiàn)
X-Designer 3.1,構(gòu)建型軟件平臺助力測試測量
自動測試設(shè)備(ATE)中的技術(shù)融合與應(yīng)用
引領(lǐng)測試系統(tǒng)創(chuàng)新性思維
基于柔性測試技術(shù)的節(jié)氣門反應(yīng)時間測試系統(tǒng)設(shè)計(jì)
基于柔性測試技術(shù)的車窗按鈕老化測試系統(tǒng)
基于柔性測試技術(shù)的位置傳感器標(biāo)定與檢測系統(tǒng)平臺的設(shè)計(jì)
基于柔性測試技術(shù)在噪聲定位分析方面的應(yīng)用
更多文摘...
立即發(fā)送詢問信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊為中華工控網(wǎng)會員
請留下您的有效聯(lián)系方式,以方便我們及時與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved