版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 外部應(yīng)用接口,主要學(xué)習(xí)內(nèi)容,1學(xué)習(xí)CIN的概念和調(diào)用; 2學(xué)習(xí)Matlab節(jié)點(diǎn)的使用; 3學(xué)習(xí)DLL的概念和調(diào)用。,7.1 CIN,CIN的概念 CIN是Code Interface Node的縮寫(xiě),是LabVIEW開(kāi)發(fā)平臺(tái)的G語(yǔ)言環(huán)境與C語(yǔ)言的接口 CIN與LabVIEW中的其他節(jié)點(diǎn)類(lèi)似,是通過(guò)輸入、輸出端口來(lái)實(shí)現(xiàn)兩種語(yǔ)言之間的數(shù)據(jù)和參數(shù)的傳遞的。,CIN的調(diào)用步驟,在后面板框圖程序設(shè)計(jì)窗口中,選擇All Functions Advanced子模板下的Code Interface Node 節(jié)點(diǎn) ,放置在框圖程序設(shè)計(jì)窗口中。,CIN圖標(biāo)中的一個(gè)小格表示一個(gè)參數(shù)端口,左側(cè)為輸入端口,右
2、側(cè)為輸出端口,而且左右端口是一一對(duì)應(yīng)的,代表一個(gè)參數(shù)的一對(duì)輸入輸出端口。 CIN節(jié)點(diǎn)的輸入、輸出端口的數(shù)據(jù)類(lèi)型由連接在該端口上的控件的數(shù)據(jù)類(lèi)型來(lái)決定。,2.在節(jié)點(diǎn)圖標(biāo)上單擊右鍵彈出快捷菜單,選擇Add parameter命令項(xiàng)添加參數(shù)。,如果需要增加參數(shù),可以通過(guò)兩種方法: 1. 用鼠標(biāo)定位工具拖動(dòng)節(jié)點(diǎn)一角改變節(jié)點(diǎn)圖標(biāo)的尺寸;,設(shè)計(jì)CIN模塊的步驟,利用LabVIEW提供的框架設(shè)計(jì)CIN模塊的步驟: 1生成C源代碼框架 2添加C源代碼 3編譯生成lsb文件 4加載編譯成功的lsb文件,7.2 Matlab,LabVIEW中的公式節(jié)點(diǎn)可以實(shí)現(xiàn)一些基本的數(shù)學(xué)運(yùn)算,如果涉及到比較復(fù)雜的數(shù)學(xué)運(yùn)算,則可
3、以調(diào)用Matlab的腳本文件(m文件)來(lái)實(shí)現(xiàn)。 注意:要使用Matlab節(jié)點(diǎn),必須首先安裝Matlab ,因?yàn)镸atlab節(jié)點(diǎn)要調(diào)用Matlab腳本服務(wù)器。,7.2.1 Matlab節(jié)點(diǎn),Matlab節(jié)點(diǎn)位于功能面板的All FunctionsAnalyze MathematicsFormula子模板內(nèi),添加Matlab節(jié)點(diǎn)的方式和前面章節(jié)中添加公式節(jié)點(diǎn)的方式類(lèi)似。,創(chuàng)建Matlab節(jié)點(diǎn),在Formula子模板選擇Matlab節(jié)點(diǎn),向Matlab節(jié)點(diǎn)輸入Matlab文件的方法有兩種: 一種是直接在框內(nèi)寫(xiě)入文件代碼; 另一種是在Matlab節(jié)點(diǎn)的邊框上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇Impo
4、rt命令選項(xiàng),在彈出的對(duì)話(huà)框中輸入Matlab腳本文件即可。,輸入Matlab文件的菜單操作,輸入/輸出變量的添加和公式節(jié)點(diǎn)類(lèi)似,分別用Add Input和Add Output來(lái)實(shí)現(xiàn)。 和公式節(jié)點(diǎn)一樣,用戶(hù)可以為Matlab節(jié)點(diǎn)的每個(gè)輸入/輸出變量添加指示器或者控制器。,為Matlab節(jié)點(diǎn)的輸入/輸出變量添加指示器或控制器,7.2.2 LabVIEW和Matlab數(shù)據(jù)類(lèi)型,在Matlab中,用戶(hù)一般不用指定數(shù)據(jù)類(lèi)型,所有輸入變量會(huì)有缺省的類(lèi)型,而在LabVIEW里面,Matlab節(jié)點(diǎn)并不能夠判斷數(shù)據(jù)類(lèi)型,因此用戶(hù)必須要為每個(gè)數(shù)據(jù)變量指定一個(gè)類(lèi)型。 在腳本節(jié)點(diǎn)上,可以改變輸入或輸出端子的數(shù)據(jù)類(lèi)型
5、,應(yīng)該經(jīng)常檢查腳本節(jié)點(diǎn)的輸入、輸出數(shù)據(jù)類(lèi)型。 在Matlab中,對(duì)于任何新的輸入或輸出,其默認(rèn)類(lèi)型為Real。,改變腳本節(jié)點(diǎn)上輸入輸出端子的數(shù)據(jù)類(lèi)型,首先在變量上面單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇Choose Data Type命令選項(xiàng),就會(huì)出現(xiàn)Matlab中的各種數(shù)據(jù)類(lèi)型名稱(chēng),然后按照事先在Matlab中定義的類(lèi)型給每個(gè)變量選擇合適的數(shù)據(jù)類(lèi)型,則系統(tǒng)就會(huì)把變量變成相應(yīng)的LabVIEW內(nèi)的類(lèi)型。,定義數(shù)據(jù)類(lèi)型的菜單操作,表7-1 LabVIEW和Matlab數(shù)據(jù)類(lèi)型,7.2.3 Matlab節(jié)點(diǎn)應(yīng)用,例7.1 畫(huà)一段正弦函數(shù)圖像。 在Matlab節(jié)點(diǎn)內(nèi)寫(xiě)入如下代碼: x=-5:1/10:5
6、; y=sin(x); plot(x, y);,框圖程序,Matlab中畫(huà)出的正弦函數(shù)圖,LabVIEW中畫(huà)出的正弦函數(shù)圖,7.3 DLL,LabVIEW提供了C語(yǔ)言接口及直接調(diào)用動(dòng)態(tài)鏈接庫(kù)(DLL)函數(shù)的功能。 DLL是建立在客戶(hù)端/服務(wù)器通信的概念上,包含若干個(gè)函數(shù)、類(lèi)或資源的庫(kù)文件,函數(shù)和數(shù)據(jù)被存儲(chǔ)在一個(gè)DLL服務(wù)器上,并由一個(gè)或多個(gè)客戶(hù)導(dǎo)出使用,這些客戶(hù)可以是應(yīng)用程序,或者是其他的DLL。,在動(dòng)態(tài)鏈接的情況下,有兩個(gè)文件,一個(gè)是引入庫(kù)(.Lib)文件,一個(gè)是DLL文件。 引入庫(kù)文件包含從DLL導(dǎo)出的函數(shù)的名稱(chēng)和位置,DLL包含實(shí)際的函數(shù)和數(shù)據(jù)。應(yīng)用程序使用Lib文件鏈接到所需要使用的D
7、LL文件,庫(kù)中的函數(shù)和數(shù)據(jù)并不復(fù)制到可執(zhí)行文件中,因此,在應(yīng)用程序的可執(zhí)行文件中,存放的不是被調(diào)用的函數(shù)代碼,而是在DLL中所要調(diào)用的函數(shù)的內(nèi)存地址,這樣當(dāng)一個(gè)或多個(gè)應(yīng)用程序運(yùn)行時(shí),再把程序代碼和被調(diào)用的函數(shù)代碼鏈接起來(lái),從而節(jié)省了內(nèi)存資源。,7.3.2 調(diào)用DLL,在LabVIEW中,可通過(guò) Call Library Function函數(shù)模塊調(diào)用動(dòng)態(tài)鏈接庫(kù)。 在框圖程序設(shè)計(jì)窗口,選擇功能模板中的 Advanced Call Library Function Node,放置在框圖程序設(shè)計(jì)窗口中。,圖7-11 Call Library Function Node的圖標(biāo),雙擊此函數(shù)模塊,將彈出Ca
8、ll Library Function Node對(duì)話(huà)框,可以對(duì)要調(diào)用的動(dòng)態(tài)鏈接庫(kù)及其函數(shù)進(jìn)行設(shè)定。,Call Library Function Node對(duì)話(huà)框,Library Name Or Path為要調(diào)用的動(dòng)態(tài)鏈接庫(kù)文件名和路徑,用戶(hù)也可以通過(guò)Browse按鈕查找該動(dòng)態(tài)鏈接庫(kù)文件 ; Function Name為即將調(diào)用的函數(shù)名,它必須與動(dòng)態(tài)鏈接庫(kù)中函數(shù)創(chuàng)建時(shí)的函數(shù)名相同,并且注意大小寫(xiě) ; Add a Parameter Before或Add a Parameter After可以添加函數(shù)的參數(shù),也可用Delete this Parameter刪除當(dāng)前參數(shù) ; Parameter選項(xiàng)用于
9、指定任一參數(shù)的類(lèi)型,也可指定該函數(shù)返回值的類(lèi)型。,函數(shù)的參數(shù)名任意,但其順序和類(lèi)型必須與動(dòng)態(tài)鏈接庫(kù)中函數(shù)創(chuàng)建時(shí)的順序和類(lèi)型一致。 需要注意的是,上圖所示對(duì)話(huà)框中Calling Conventions項(xiàng)的設(shè)置應(yīng)與創(chuàng)建動(dòng)態(tài)鏈接庫(kù)時(shí)的編譯模式相一致,否則會(huì)發(fā)生不可預(yù)見(jiàn)的錯(cuò)誤而退出程序。 單擊OK按鈕后,就可以將該Call Library Function節(jié)點(diǎn)當(dāng)作一個(gè)具有該動(dòng)態(tài)鏈接庫(kù)中被調(diào)函數(shù)功能的節(jié)點(diǎn)來(lái)使用。,LabVIEW還提供了編寫(xiě)動(dòng)態(tài)鏈接庫(kù)的C源代碼框架,利用此框架編寫(xiě)動(dòng)態(tài)鏈接庫(kù)的步驟如下: 1生成C源代碼框架 在后面板框圖程序設(shè)計(jì)窗口創(chuàng)建Call Library Function Node,在其圖標(biāo)上單擊右鍵彈出快捷菜單,選擇Create .c File命令選項(xiàng),這時(shí)彈出一個(gè)文件對(duì)話(huà)框,在其中鍵入文件名(例如:labview_DLL.c),然后用文本編輯器打開(kāi)保存的文件,LabVIEW在文件中已經(jīng)生成了如下的框架 :,/* Call Library source file */ #include extcode.h void funcName(void); void funcName(void) /* Insert code here */ ,2添加源代碼 在生成的C源代碼框架中/* Insert code here */處加入用戶(hù)需要的函數(shù)體,框架中的函數(shù)名和返回類(lèi)型應(yīng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《FZT 80015-2022服裝CAD技術(shù)規(guī)范》專(zhuān)題研究報(bào)告
- 《GBT 9864-2008膠片、相紙、乳劑、定影液、污水、淤泥或殘留物的銀量測(cè)定方法》專(zhuān)題研究報(bào)告
- 《GBT 21630-2008危險(xiǎn)品 噴霧劑點(diǎn)燃距離試驗(yàn)方法》專(zhuān)題研究報(bào)告
- 《GBT 15043-2008白熾燈泡光電參數(shù)的測(cè)量方法》專(zhuān)題研究報(bào)告
- 《GB 18242-2008彈性體改性瀝青防水卷材》專(zhuān)題研究報(bào)告
- 道路安全實(shí)踐培訓(xùn)課件
- 道路圍欄知識(shí)培訓(xùn)課件
- 道路交通安全培訓(xùn)講義課件
- 迪慶州消防安全全員培訓(xùn)課件
- 達(dá)衣巖21秋培訓(xùn)課件
- 腰椎術(shù)后腦脊液漏護(hù)理課件
- 鋼結(jié)構(gòu)工程測(cè)量專(zhuān)項(xiàng)方案樣本
- 廣東省佛山市南海區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試卷+
- 基于區(qū)塊鏈的供應(yīng)鏈金融平臺(tái)實(shí)施方案
- 汽車(chē)修理廠(chǎng)維修結(jié)算清單
- 牛津版小學(xué)英語(yǔ)教材梳理
- 風(fēng)機(jī)安裝工程施工強(qiáng)制性條文執(zhí)行記錄表
- GB/T 1355-2021小麥粉
- GB 5135.11-2006自動(dòng)噴水滅火系統(tǒng)第11部分:溝槽式管接件
- (完整版)歐姆龍E3X-HD光纖放大器調(diào)試SOP
- 強(qiáng)夯地基工程技術(shù)標(biāo)
評(píng)論
0/150
提交評(píng)論