摘要:該文主要介紹如何通過LabVIEW中的CIN接口來實現(xiàn)在工程應(yīng)用領(lǐng)域被廣泛用到的數(shù)值積分算法。關(guān)鍵詞:CIN接口;LabVIEW;數(shù)值積分
中圖分類號:TP311文獻標(biāo)識碼:A文章編號:1009-3044(2012)03-0691-02
LabVIEW是由美國NI公司研制的以框圖形式產(chǎn)生程序的虛擬開發(fā)平臺,簡明、直觀、易學(xué)易用,在虛擬儀器技術(shù)得到廣泛利用的今天有著重要地位。但它的不足之處是修改程序比較麻煩,不如文本語言方便。然而,C語言具有功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好的特點。
本文中,作者就通過LabVIEW的CIN接口來調(diào)用C語言程序,結(jié)合兩種軟件的長處,實現(xiàn)工程領(lǐng)域中得到廣泛應(yīng)用的數(shù)值積分的運算。
1 LabVIEW與C語言的接口——CIN
1.1 CIN概述
CIN即“Code Interface Node”的簡稱,是LabVIEW與C語言的接口,在遇到一些LabVIEW軟件難以實現(xiàn)的功能或者調(diào)試過程中可能需要大量修改的程序時,就可以通過CIN圖標(biāo)來將C語言編寫的源代碼引入LabVIEW,從而提高LabVIEW數(shù)據(jù)處理功能和程序修改的便捷性。
工作原理:通過輸入、輸出端口實現(xiàn)兩種語言之間的數(shù)據(jù)傳輸,當(dāng)LabVIEW的程序運行到CIN節(jié)點時,數(shù)據(jù)就會從CIN的輸入端口傳遞給C語言源代碼,程序就會去執(zhí)行C源代碼,執(zhí)行完畢后得到的數(shù)據(jù)結(jié)果再由CIN的輸出端口返回給LabVIEW顯示。1.2 CIN圖標(biāo)調(diào)用路徑
在程序框圖面板,點擊鼠標(biāo)右鍵,執(zhí)行函數(shù)>>互連接口>>庫與可執(zhí)行程序>>代碼接口節(jié)點(如圖1)。1.3 CIN圖標(biāo)的端口參數(shù)設(shè)置
將初始CIN圖標(biāo)根據(jù)所需的具體情況設(shè)置,在本文中,將它設(shè)置為如圖2所示,有四個輸入和輸出端口,其中最后一個輸入端口設(shè)置為無效。CIN的輸入、輸出端口的參數(shù)類型由連接在該端口上的空間的數(shù)據(jù)類型所決定。
圖1 CIN圖標(biāo)對話框
2 LabVIEW調(diào)用C語言實現(xiàn)數(shù)值積分運算的設(shè)計步驟
本論文是在WindowsXP下,運用LabVIEW 8.5通過CIN接口來調(diào)用Visual C++6.0為平臺編寫的C語言代碼來實現(xiàn)數(shù)值積分的運算的。2.1生成C源代碼框架
首先在LabVIEW 8.5中設(shè)計出如圖3所示的前面板,同時在它的程序框圖(圖4)中添加CIN端口,并做如圖的設(shè)置和連接,命名為jifen.vi并且保存。
接著,鼠標(biāo)右鍵點擊程序框圖中的CIN圖標(biāo),在菜單中選擇“創(chuàng)建.c文件”
項,在彈出的儲存對話框中,將該文件存為“jifen.c”,則會有C的文件源代碼如下:
/* CIN source file */#include "extcode.h"
MgErr CINRun(LStrHandle