From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



我能通過呼叫LabVIEW DLL而不是LabVIEW VI來提高TestStand性能嗎?



主要軟體: TestStand
主要軟體版本: 2.0.1
主要軟體修正版本:
次要軟體: N/A

問題:
與使用
ActivX呼叫DLL(動態連結程式庫)相比,在TestStand中呼叫LabVIEW VI是否會消耗更多資源?

解答:


您可以通過將您的
LabVIEW VI製作為DLL的方式提升性能。主要性能的改善集中在TestStand使用VI的時候。如果您的VI在呼叫中間運行了很長時間,那麼您只能看到非常些微的改善。但是,如果您在一個迴圈中快速地呼叫VI,那麼根據記憶體中載入以及處理的方式,您能獲得高達3倍的性能改善。


為了製作一個DLL並在TestStand中呼叫,您需要進行下面的步驟:

1. LabVIEW中:編輯您的VI使其介面端包含了您需要從TestStand傳遞的參數。

注意:如果您的VI從引擎中使用讀/寫參數,DLL方式所帶來的大部分速度提升將損失。可以嘗試通過DLL函數呼叫及傳遞所有的輸入/輸出變數,而不是傳遞序列上下文(sequence context)並使用Get Property Value VI

2. 製作DLL(這需要LabVIEW專業版)

3. TestStand中搜尋利用LabVIEW DLL轉接器(Adaptor)中呼叫VI的所有步驟,並將它們改變為C/C++ DLL轉接器(Adaptor)中。參考下面的相關鏈結,該鏈結給出一個範例,允許您改變轉接器(Adaptor)中類型而不會丟失步驟屬性。



對於部分用戶來說,從呼叫LabVIEW VI方式轉換到呼叫DLL方式會帶來額外的好處,因為DLL的版本更獨立於工作的系統。當建構到一個使用LabVIEW VITestStand解決方案時,我們建議所有的VI的版本均保持一致,以避免潛在的LabVIEW/ActiveX的衍生問題。下面鏈結中有關於LabVIEWTestStand程式的文檔中給出了針對這些問題的更詳細的討論。在某些情況下您需要使用不同版本的LabVIEW,同時希望ActiveX行為是正常的,一些客戶最好將VI編譯為DLL,並切換到DLL轉接器(Adaptor)中。同時在您的目的機器中仍然需要正確版本的LabVIEW運行引擎(Run Time Engine),但是不需要額外的ActiveX運行伺服器。

相關連結: Developer Zone Example: Change Adapter Tool for TestStand 2.0.x

附加檔案:





報告日期: 01/15/2001
最後更新: 10/25/2007
文件偏號: 25EDNQM6