版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第第7章章 外部應(yīng)用接口外部應(yīng)用接口 主要學(xué)習(xí)內(nèi)容主要學(xué)習(xí)內(nèi)容 n1學(xué)習(xí)學(xué)習(xí)CIN的概念和調(diào)用;的概念和調(diào)用;n2學(xué)習(xí)學(xué)習(xí)Matlab節(jié)點(diǎn)的使用;節(jié)點(diǎn)的使用;n3學(xué)習(xí)學(xué)習(xí)DLL的概念和調(diào)用。的概念和調(diào)用。 7.1 CIN7.1 CIN CINCIN的概念的概念 CIN是是Code Interface Node的縮的縮寫,是寫,是LabVIEW開發(fā)平臺(tái)的開發(fā)平臺(tái)的G語(yǔ)言環(huán)境語(yǔ)言環(huán)境與與C語(yǔ)言的接口語(yǔ)言的接口 CIN與與LabVIEW中的其他節(jié)點(diǎn)類似,中的其他節(jié)點(diǎn)類似,是通過輸入、輸出端口來實(shí)現(xiàn)兩種語(yǔ)言是通過輸入、輸出端口來實(shí)現(xiàn)兩種語(yǔ)言之間的數(shù)據(jù)和參數(shù)的傳遞的之間的數(shù)據(jù)和參數(shù)的傳遞的。 CINC
2、IN的調(diào)用步驟的調(diào)用步驟在后面板框圖程序設(shè)計(jì)窗口中,選擇在后面板框圖程序設(shè)計(jì)窗口中,選擇All Functions Advanced子模板下的子模板下的Code Interface Node 節(jié)點(diǎn)節(jié)點(diǎn) ,放置在框圖程序設(shè)計(jì)窗口中放置在框圖程序設(shè)計(jì)窗口中。 CIN圖標(biāo)中的一個(gè)小格表示一個(gè)參數(shù)端口,左側(cè)為輸圖標(biāo)中的一個(gè)小格表示一個(gè)參數(shù)端口,左側(cè)為輸入端口,右側(cè)為輸出端口,而且左右端口是一一對(duì)應(yīng)入端口,右側(cè)為輸出端口,而且左右端口是一一對(duì)應(yīng)的,代表一個(gè)參數(shù)的一對(duì)輸入輸出端口。的,代表一個(gè)參數(shù)的一對(duì)輸入輸出端口。 CIN節(jié)點(diǎn)的節(jié)點(diǎn)的輸入、輸出端口的數(shù)據(jù)類型由連接在該端口上的控件輸入、輸出端口的數(shù)據(jù)類型
3、由連接在該端口上的控件的數(shù)據(jù)類型來決定。的數(shù)據(jù)類型來決定。 2.2.在節(jié)點(diǎn)圖標(biāo)上單擊右鍵彈出快捷在節(jié)點(diǎn)圖標(biāo)上單擊右鍵彈出快捷菜單,選擇菜單,選擇Add parameter命令項(xiàng)命令項(xiàng)添加參數(shù)。添加參數(shù)。 如果需要增加參數(shù),可以通過兩種方法如果需要增加參數(shù),可以通過兩種方法:1. 用鼠標(biāo)定位工具拖動(dòng)節(jié)點(diǎn)一角改變節(jié)點(diǎn)圖標(biāo)的尺寸;用鼠標(biāo)定位工具拖動(dòng)節(jié)點(diǎn)一角改變節(jié)點(diǎn)圖標(biāo)的尺寸;設(shè)計(jì)設(shè)計(jì)CINCIN模塊的步驟模塊的步驟n利用利用LabVIEW提供的框架設(shè)計(jì)提供的框架設(shè)計(jì)CIN模塊模塊的步驟:的步驟:1生成生成C源代碼框架源代碼框架 2添加添加C源代碼源代碼3編譯生成編譯生成lsb文件文件 4加載編譯成功
4、的加載編譯成功的lsb文件文件 7.2 Matlab7.2 MatlabnLabVIEW中的公式節(jié)點(diǎn)可以實(shí)現(xiàn)一些基中的公式節(jié)點(diǎn)可以實(shí)現(xiàn)一些基本的數(shù)學(xué)運(yùn)算,如果涉及到比較復(fù)雜的本的數(shù)學(xué)運(yùn)算,如果涉及到比較復(fù)雜的數(shù)學(xué)運(yùn)算,則可以調(diào)用數(shù)學(xué)運(yùn)算,則可以調(diào)用Matlab的腳本文的腳本文件(件(m文件)來實(shí)現(xiàn)。文件)來實(shí)現(xiàn)。n注意:注意:要使用要使用MatlabMatlab節(jié)點(diǎn),必須首先安節(jié)點(diǎn),必須首先安裝裝MatlabMatlab ,因?yàn)椋驗(yàn)镸atlabMatlab節(jié)點(diǎn)要調(diào)用節(jié)點(diǎn)要調(diào)用MatlabMatlab腳本服務(wù)器。腳本服務(wù)器。 7.2.1 Matlab7.2.1 Matlab節(jié)點(diǎn)節(jié)點(diǎn) nMatl
5、ab節(jié)點(diǎn)位于功能面板的節(jié)點(diǎn)位于功能面板的All FunctionsAnalyze MathematicsFormula子模板內(nèi),添加子模板內(nèi),添加Matlab節(jié)節(jié)點(diǎn)的方式和前面章節(jié)中添加公式節(jié)點(diǎn)的方式類似。點(diǎn)的方式和前面章節(jié)中添加公式節(jié)點(diǎn)的方式類似。 創(chuàng)建創(chuàng)建Matlab節(jié)點(diǎn)節(jié)點(diǎn) 在在Formula子模板選擇子模板選擇Matlab節(jié)點(diǎn)節(jié)點(diǎn) n向向Matlab節(jié)點(diǎn)輸入節(jié)點(diǎn)輸入Matlab文件的方法文件的方法有兩種:有兩種: 一種一種是直接在框內(nèi)寫入文件代碼是直接在框內(nèi)寫入文件代碼; 另一種另一種是在是在MatlabMatlab節(jié)點(diǎn)的邊框上單擊鼠節(jié)點(diǎn)的邊框上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇標(biāo)右
6、鍵,在彈出的快捷菜單中選擇ImportImport命令選項(xiàng),在彈出的對(duì)話框中命令選項(xiàng),在彈出的對(duì)話框中輸入輸入MatlabMatlab腳本文件即可腳本文件即可。 輸入輸入Matlab文件的菜單操作文件的菜單操作 n輸入輸入/輸出變量的添加和公式節(jié)點(diǎn)類似,分別用輸出變量的添加和公式節(jié)點(diǎn)類似,分別用Add Input和和Add Output來實(shí)現(xiàn)。來實(shí)現(xiàn)。 n和公式節(jié)點(diǎn)一樣,用戶可以為和公式節(jié)點(diǎn)一樣,用戶可以為Matlab節(jié)點(diǎn)的每個(gè)輸入節(jié)點(diǎn)的每個(gè)輸入/輸出變量添加指示器或者控制器。輸出變量添加指示器或者控制器。 為為Matlab節(jié)點(diǎn)的輸入節(jié)點(diǎn)的輸入/輸出變量添加指示器或控制器輸出變量添加指示器或控
7、制器 7.2.2 7.2.2 LabVIEWLabVIEW和和MatlabMatlab數(shù)據(jù)類型數(shù)據(jù)類型n在在Matlab中,用戶一般不用指定數(shù)據(jù)類型,所中,用戶一般不用指定數(shù)據(jù)類型,所有輸入變量會(huì)有缺省的類型,而在有輸入變量會(huì)有缺省的類型,而在LabVIEW里里面,面,Matlab節(jié)點(diǎn)并不能夠判斷數(shù)據(jù)類型,因此節(jié)點(diǎn)并不能夠判斷數(shù)據(jù)類型,因此用戶必須要為每個(gè)數(shù)據(jù)變量指定一個(gè)類型。用戶必須要為每個(gè)數(shù)據(jù)變量指定一個(gè)類型。n在腳本節(jié)點(diǎn)上,可以改變輸入或輸出端子的數(shù)在腳本節(jié)點(diǎn)上,可以改變輸入或輸出端子的數(shù)據(jù)類型,應(yīng)該經(jīng)常檢查腳本節(jié)點(diǎn)的輸入、輸出據(jù)類型,應(yīng)該經(jīng)常檢查腳本節(jié)點(diǎn)的輸入、輸出數(shù)據(jù)類型。數(shù)據(jù)類型。
8、n在在Matlab中,對(duì)于任何新的輸入或輸出,其默中,對(duì)于任何新的輸入或輸出,其默認(rèn)類型為認(rèn)類型為Real。 改變腳本節(jié)點(diǎn)上輸入輸出端子的數(shù)據(jù)類型改變腳本節(jié)點(diǎn)上輸入輸出端子的數(shù)據(jù)類型n首先在變量上面單擊鼠標(biāo)右鍵,在彈出的快捷菜單中首先在變量上面單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇選擇Choose Data Type命令選項(xiàng),就會(huì)出現(xiàn)命令選項(xiàng),就會(huì)出現(xiàn)Matlab中的各種數(shù)據(jù)類型名稱,然后按照事先在中的各種數(shù)據(jù)類型名稱,然后按照事先在Matlab中定中定義的類型給每個(gè)變量選擇合適的數(shù)據(jù)類型,則系統(tǒng)就義的類型給每個(gè)變量選擇合適的數(shù)據(jù)類型,則系統(tǒng)就會(huì)把變量變成相應(yīng)的會(huì)把變量變成相應(yīng)的LabVIEW內(nèi)
9、的類型。內(nèi)的類型。 定義數(shù)據(jù)類型的菜單操作定義數(shù)據(jù)類型的菜單操作 數(shù)據(jù)類型圖標(biāo)數(shù)據(jù)類型圖標(biāo)LabVIEW數(shù)據(jù)類型數(shù)據(jù)類型Matlab數(shù)據(jù)類型數(shù)據(jù)類型帶符號(hào)帶符號(hào)32位整數(shù)位整數(shù)不適用不適用雙精度浮點(diǎn)數(shù)雙精度浮點(diǎn)數(shù)Real字符串字符串不適用不適用帶符號(hào)帶符號(hào)32位整數(shù)一維數(shù)組位整數(shù)一維數(shù)組不適用不適用帶符號(hào)帶符號(hào)32位整數(shù)多維數(shù)組位整數(shù)多維數(shù)組不適用不適用雙精度浮點(diǎn)數(shù)一維數(shù)組雙精度浮點(diǎn)數(shù)一維數(shù)組Real Vector雙精度浮點(diǎn)數(shù)多維數(shù)組雙精度浮點(diǎn)數(shù)多維數(shù)組Real Matrix多精度復(fù)數(shù)多精度復(fù)數(shù)Complex雙精度復(fù)數(shù)一維數(shù)組雙精度復(fù)數(shù)一維數(shù)組Complex Vector雙精度復(fù)數(shù)多維數(shù)組雙精
10、度復(fù)數(shù)多維數(shù)組Complex Matrix表表7 7-1 LabVIEW1 LabVIEW和和MatlabMatlab數(shù)據(jù)類型數(shù)據(jù)類型 7.2.3 Matlab7.2.3 Matlab節(jié)點(diǎn)應(yīng)用節(jié)點(diǎn)應(yīng)用n例例7.1 畫一段正弦函數(shù)圖像。畫一段正弦函數(shù)圖像。在在Matlab節(jié)點(diǎn)內(nèi)寫入如下代碼:節(jié)點(diǎn)內(nèi)寫入如下代碼:x=-5:1/10:5;y=sin(x);plot(x, y); 框圖程序框圖程序 -5-4-3-2-1012345-1-0.8-0.6-0.4-0.200.20.40.60.81 Matlab中畫出的正弦函數(shù)圖中畫出的正弦函數(shù)圖 LabVIEW中畫出的正弦函數(shù)圖中畫出的正弦函數(shù)圖 7.3
11、 DLL7.3 DLLnLabVIEW提供了提供了C語(yǔ)言接口及直接調(diào)用動(dòng)態(tài)鏈語(yǔ)言接口及直接調(diào)用動(dòng)態(tài)鏈接庫(kù)(接庫(kù)(DLL)函數(shù)的功能)函數(shù)的功能。nDLL是建立在客戶端是建立在客戶端/服務(wù)器通信的概念上,服務(wù)器通信的概念上,包含若干個(gè)函數(shù)、類或資源的庫(kù)文件,函數(shù)和包含若干個(gè)函數(shù)、類或資源的庫(kù)文件,函數(shù)和數(shù)據(jù)被存儲(chǔ)在一個(gè)數(shù)據(jù)被存儲(chǔ)在一個(gè)DLL服務(wù)器上,并由一個(gè)或服務(wù)器上,并由一個(gè)或多個(gè)客戶導(dǎo)出使用,這些客戶可以是應(yīng)用程序,多個(gè)客戶導(dǎo)出使用,這些客戶可以是應(yīng)用程序,或者是其他的或者是其他的DLL。 n在動(dòng)態(tài)鏈接的情況下,有兩個(gè)文件,一個(gè)是引在動(dòng)態(tài)鏈接的情況下,有兩個(gè)文件,一個(gè)是引入庫(kù)(入庫(kù)(.Lib
12、)文件,一個(gè)是)文件,一個(gè)是DLL文件。文件。n引入庫(kù)文件包含從引入庫(kù)文件包含從DLL導(dǎo)出的函數(shù)的名稱和位導(dǎo)出的函數(shù)的名稱和位置,置,DLL包含實(shí)際的函數(shù)和數(shù)據(jù)。應(yīng)用程序使包含實(shí)際的函數(shù)和數(shù)據(jù)。應(yīng)用程序使用用Lib文件鏈接到所需要使用的文件鏈接到所需要使用的DLL文件,庫(kù)中文件,庫(kù)中的函數(shù)和數(shù)據(jù)并不復(fù)制到可執(zhí)行文件中,因此,的函數(shù)和數(shù)據(jù)并不復(fù)制到可執(zhí)行文件中,因此,在應(yīng)用程序的可執(zhí)行文件中,存放的不是被調(diào)在應(yīng)用程序的可執(zhí)行文件中,存放的不是被調(diào)用的函數(shù)代碼,而是在用的函數(shù)代碼,而是在DLL中所要調(diào)用的函數(shù)中所要調(diào)用的函數(shù)的內(nèi)存地址,這樣當(dāng)一個(gè)或多個(gè)應(yīng)用程序運(yùn)行的內(nèi)存地址,這樣當(dāng)一個(gè)或多個(gè)應(yīng)用程
13、序運(yùn)行時(shí),再把程序代碼和被調(diào)用的函數(shù)代碼鏈接起時(shí),再把程序代碼和被調(diào)用的函數(shù)代碼鏈接起來,從而節(jié)省了內(nèi)存資源。來,從而節(jié)省了內(nèi)存資源。 7.3.2 7.3.2 調(diào)用調(diào)用DLLDLLn在在LabVIEW中,可通過中,可通過 Call Library Function函數(shù)函數(shù)模塊調(diào)用動(dòng)態(tài)鏈接庫(kù)。模塊調(diào)用動(dòng)態(tài)鏈接庫(kù)。 n在框圖程序設(shè)計(jì)窗口,選擇功能模板中的在框圖程序設(shè)計(jì)窗口,選擇功能模板中的 Advanced Call Library Function Node,放置在框圖程序設(shè)放置在框圖程序設(shè)計(jì)窗口中。計(jì)窗口中。 圖圖7-11 Call Library Function Node的圖標(biāo)的圖標(biāo) n雙
14、擊此函數(shù)模塊,將彈出雙擊此函數(shù)模塊,將彈出Call Library Function Node對(duì)話框?qū)υ捒?,可以?duì)要調(diào)用的動(dòng)態(tài)鏈接庫(kù)及其函數(shù)進(jìn)可以對(duì)要調(diào)用的動(dòng)態(tài)鏈接庫(kù)及其函數(shù)進(jìn)行設(shè)定。行設(shè)定。 Call Library Function Node對(duì)話框?qū)υ捒?nLibrary Name Or PathLibrary Name Or Path為要調(diào)用的動(dòng)態(tài)鏈接庫(kù)為要調(diào)用的動(dòng)態(tài)鏈接庫(kù)文件名和路徑,用戶也可以通過文件名和路徑,用戶也可以通過Browse按按鈕查找該動(dòng)態(tài)鏈接庫(kù)文件鈕查找該動(dòng)態(tài)鏈接庫(kù)文件 ;nFunction NameFunction Name為即將調(diào)用的函數(shù)名,它必須為即將調(diào)用的函數(shù)名
15、,它必須與動(dòng)態(tài)鏈接庫(kù)中函數(shù)創(chuàng)建時(shí)的函數(shù)名相同,并與動(dòng)態(tài)鏈接庫(kù)中函數(shù)創(chuàng)建時(shí)的函數(shù)名相同,并且注意大小寫且注意大小寫 ;nAdd a Parameter BeforeAdd a Parameter Before或或Add a Parameter Add a Parameter AfterAfter可以可以添加函數(shù)的參數(shù)添加函數(shù)的參數(shù),也可用,也可用Delete this Parameter刪除當(dāng)前參數(shù)刪除當(dāng)前參數(shù) ;nParameterParameter選項(xiàng)用于指定任一參數(shù)的類型,也選項(xiàng)用于指定任一參數(shù)的類型,也可指定該函數(shù)返回值的類型。可指定該函數(shù)返回值的類型。 n函數(shù)的參數(shù)名任意函數(shù)的參數(shù)名任
16、意,但其順序和類型必須與動(dòng)但其順序和類型必須與動(dòng)態(tài)鏈接庫(kù)中函數(shù)創(chuàng)建時(shí)的順序和類型一致。態(tài)鏈接庫(kù)中函數(shù)創(chuàng)建時(shí)的順序和類型一致。n需要注意的需要注意的是,上圖所示對(duì)話框中是,上圖所示對(duì)話框中Calling Conventions項(xiàng)的設(shè)置應(yīng)與創(chuàng)建動(dòng)態(tài)鏈接庫(kù)時(shí)的項(xiàng)的設(shè)置應(yīng)與創(chuàng)建動(dòng)態(tài)鏈接庫(kù)時(shí)的編譯模式相一致,否則會(huì)發(fā)生不可預(yù)見的錯(cuò)誤而編譯模式相一致,否則會(huì)發(fā)生不可預(yù)見的錯(cuò)誤而退出程序。退出程序。 n單擊單擊OK按鈕后,就可以將該按鈕后,就可以將該Call Library Function節(jié)點(diǎn)當(dāng)作一個(gè)具有該動(dòng)態(tài)鏈接庫(kù)中被節(jié)點(diǎn)當(dāng)作一個(gè)具有該動(dòng)態(tài)鏈接庫(kù)中被調(diào)函數(shù)功能的節(jié)點(diǎn)來使用。調(diào)函數(shù)功能的節(jié)點(diǎn)來使用。nLa
17、bVIEW還提供了編寫動(dòng)態(tài)鏈接庫(kù)的還提供了編寫動(dòng)態(tài)鏈接庫(kù)的C源代碼源代碼框架,利用此框架編寫動(dòng)態(tài)鏈接庫(kù)的步驟如下:框架,利用此框架編寫動(dòng)態(tài)鏈接庫(kù)的步驟如下:n1 1生成生成C C源代碼框架源代碼框架n 在后面板框圖程序設(shè)計(jì)窗口創(chuàng)建在后面板框圖程序設(shè)計(jì)窗口創(chuàng)建Call Library Function Node,在其圖標(biāo)上單擊右鍵,在其圖標(biāo)上單擊右鍵彈出快捷菜單,選擇彈出快捷菜單,選擇Create .c File命令選項(xiàng),命令選項(xiàng),這時(shí)彈出一個(gè)文件對(duì)話框,在其中鍵入文件名這時(shí)彈出一個(gè)文件對(duì)話框,在其中鍵入文件名(例如:(例如:labview_DLL.c),然后用文本編輯),然后用文本編輯器打開保存的文件,器打開保存的文件,LabVIEW在文件中已經(jīng)在文件中已經(jīng)生成了如下的框架生成了如下的框架 : n/* Call Library source file */n#include extcode.hnvoid funcName(void);nvoid funcName(void)nn/* Insert code here */nn2 2添加源代碼添加源代碼 在生成的在生成的C源代碼框架中源代碼框架中/* Insert code here */處加入用戶需要的函數(shù)體,框
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 落實(shí)工作督查督辦制度
- 2025湖南永州市機(jī)關(guān)事務(wù)管理局對(duì)外招聘3人參考考試試題附答案解析
- 2026中建三局第三建設(shè)工程有限責(zé)任公司校園招聘?jìng)淇伎荚囶}庫(kù)附答案解析
- 2026湖南長(zhǎng)沙市芙蓉區(qū)東湖街道社區(qū)衛(wèi)生服務(wù)中心招聘參考考試題庫(kù)附答案解析
- JIS D 9401-2010 自行車.車架標(biāo)準(zhǔn) Frame - Assembly for bicycles
- 2026河南平頂山文化藝術(shù)職業(yè)學(xué)院招聘48人備考考試題庫(kù)附答案解析
- 2026河北邢臺(tái)市臨城縣招聘森林消防專業(yè)隊(duì)員8人備考考試題庫(kù)附答案解析
- 2026北京石景山區(qū)教育系統(tǒng)事業(yè)單位招聘25人參考考試試題附答案解析
- 2026四川華豐科技股份有限公司招聘法務(wù)風(fēng)控管理崗位1人備考考試試題附答案解析
- 煤礦安全生產(chǎn)科保密制度
- 壓瘡及失禁性皮炎護(hù)理
- 2025年辦公室行政人員招聘考試試題及答案
- 鐵路運(yùn)輸安全管理體系建設(shè)方案
- 施工總承包技術(shù)標(biāo)述標(biāo)大綱
- 工程機(jī)械定義及類組劃分
- 2024臨床化學(xué)檢驗(yàn)血液標(biāo)本的采集與處理
- 學(xué)堂在線 雨課堂 學(xué)堂云 高技術(shù)與現(xiàn)代局部戰(zhàn)爭(zhēng) 章節(jié)測(cè)試答案
- 軟件企業(yè)軟件版本控制規(guī)范
- 2025年《商務(wù)接待與談判》課程標(biāo)準(zhǔn)
- JG/T 374-2012建筑用開窗機(jī)
- CJ/T 161-2002水泥內(nèi)襯離心球墨鑄鐵管及管件
評(píng)論
0/150
提交評(píng)論