高智杰,鄭玉航,王仕成
1 引言
1986年,美國NI公司提出了虛擬儀器概念,從而引起儀器和自動化工業的一場革命,當前,虛擬儀器技術已廣泛應用到各種自動化測試與測量領域,虛擬化已經成為儀器領域的發展方向。虛擬儀器(Virtual Instruments簡稱VI)是基于計算機的數字化測量測試儀器,能夠充分利用和發揮現有計算機先進技術,使儀器的測試和測量變得異常方便和快捷。未來的VI將可能完全覆蓋計算機輔助測試(CAT)的全部領域。
LabVIEW是NI公司推出的一種虛擬儀器開發平臺。它利用其自身包含的分析軟件包,可直接對數據進行統計、濾波等分析處理;還整合了滿足GPIB、VXI、RS-232和RS-485以及數據采集卡等硬件通訊的功能。
應用LabVIEW開發環境設計滿足目前導彈測試計量需求的虛擬測試系統無疑是一種很好的選擇。但在對某大型地對地導彈地面測試設備計量中,由于各種參數繁多,時域和頻域內信號屬性不一,且精度要求高,導致數據處理量比較大,且在數據采集、標準信號引入時需要用到一些專門的模塊或儀器。由于LabVIEW不適于進行大量數據處理,又不能完全提供用戶所需要的驅動子程序,對底層操作不易實現,所以借助其他語言(C語言)或利用其它軟件開發環境(如Visual C++)開發滿足特殊功能的動態鏈接庫文件成為可以考慮的解決途徑。“代碼接口節點(CIN)”和“調用庫函數節點(CLF節點)”就是LabVIEW提供的與傳統編程語言的接口,通過接口調用其他語言彌補其不足之處,從而達到擴充LabVIEW功能,滿足虛擬測試系統測試計量要求的目的。
在一些情況下,通過這兩種途徑運用C語言完成數據轉換與處理,也可達到虛擬儀器軟件的結構簡化。
2 兩種途徑的可行性分析
2.1 CIN的功能概述
在LabVIEW中,CIN處于功能模板中“Advanced”子模板里面,如圖1所示,右邊被選中的即為CIN節點,其帶有輸入輸出端口,通過改變大小可相應改變輸入輸出端口個數。節點彈出菜單中有各項命令,其中“Creat.c File...”項用于創建C語言程序模板,在模板中用C語言編寫相應代碼。當執行CIN節點時,LabVIEW調用已編譯好的外部可執行代碼,進行數據處理最終完成數據的傳遞。CIN代碼的編譯支持Visual C++、Microsoft C/C++等編譯器。
圖1 LabVIEW功能模板示意圖
2.2 CLF節點的功能概述
此節點是LabVIEW提供的調用庫函數(Call Library Function)節點,它用于用戶對動態鏈接庫(DLL)的調用。DLL是一個函數庫,在運行時才完成對函數的調用。動態鏈接相應于靜態鏈接,是一種程序在運行時與庫函數連接起來的技術。CLF節點就是用于在LabVIEW環境中實現對用戶自己開發的動態鏈接庫文件的調用,從而完成一些特殊功能。
3 CIN的功能實現
下面以LabVIEW中兩數相乘的實例說明CIN的應用,利用CIN的功能調用C源代碼求兩個數的積,以此說明CIN的創建過程。
圖2 前面板示意圖
(1) 前面板與框圖程序如圖2、圖3所示,A