2016-07-05 19 views
0

我最後一篇文章不太清楚,所以我希望我可以讓我的問題更清楚一些,並提供儘可能多的信息。如何在我的項目中添加NI-VISA(國家儀器虛擬儀器軟件體系結構)

我想寫一個可視化的基本程序,通過GBIP與電力負載(6060B)通話。我使用的是Visual Studio 2013,我使用的是.NET FRAMEWORK 4.5。在搜索互聯網後,我決定使用National Instrument的VISA庫。
所以問題是如何引用VISA庫到我的項目,所以我可以使用提供的功能。我做了研究,我知道我必須將visa32.dll鏈接到我的項目,但它失敗了。
我試圖用regsrv32命令來註冊visa.dll,但它也失敗了。然後我嘗試了一些新的東西,把visa32.bas放在項目文件夾中,這樣我就可以使用簽證庫中的所有功能;但是,它產生了抱怨「Global」關鍵字的錯誤。

例如,全球常量VI_SPEC_VERSION = & H00300000 & ..

編譯器抱怨 「環球」。我怎麼能解決這個問題?

我想我現在只是用完了主意。任何命中或建議將不勝感激。
預先感謝您。

+0

這就是VB6,它與VB.Net完全不同。您可能需要使用COM互操作,或將其代碼移植到VB.Net。 – SLaks

+0

嗨SLaks,謝謝你的迴應。對我而言,使用VB6和VB.net並不重要,因爲我從不使用它們,所以我願意使用它們中的任何一個。我只想選擇一個,這樣我就可以使用VISA。那麼你知道我怎樣才能將VISA引用到我的項目中? – success

+0

如果您想在VB6項目中使用源代碼而不是在VB.Net中使用Visual Studio 2013,則需要VB6(大約14年前已經退役)的副本。另一種方法是使用COM Interop(如@SLaks所述)來使用編譯後的DLL。嘗試研究COM Interop以瞭解如何實現這一點。 – Blackwood

回答

0

經過大量的研究,我終於弄明白了。
VISA在COM,C,.Net中有API。由於我使用.NET Framework 4.5,我必須使用VISA.NET API。現在我知道當我編寫ViSession時,編譯器抱怨說因爲ViSession被VISA C而不是VISA.NET所覆蓋。那麼剩下的問題就是添加對項目的引用。按照下面的鏈接,你會成功地這樣做。
http://www.ni.com/tutorial/2739/en/ 在這裏,我感謝所有發表評論的人指導我走向正確的軌道..我希望我的回答也能幫助其他人。

0

正如在評論中提到的那樣,您的問題似乎是您正嘗試在VB.NET中使用舊的VB6庫。從VB.NET使用VISA,請嘗試以下操作:

  • 從美國國家儀器website安裝NI VISA(點擊下載鏈接此頁面上,然後找最近的NI-VISA的版本)。
  • 擺脫您項目中對visa32.dll的任何引用。
  • 在您的項目中添加對Ivi.Visa和NationalInstruments.Visa的參考。這些應該包含你需要的所有命令。
+0

嗨RPM,我按照指示。我在我的項目中添加了lvi.Visa和Nationalinstruments.Visa,從「assembly」下的「add reference」添加。然後當我在我的項目中鍵入「Dim stat As ViStatus」時,編譯器仍然抱怨「ViStatus未定義」。我錯過了一些步驟?謝謝 – success

+0

我想我的問題可以縮小如何將NI-VISA添加到參考。這似乎是我必須添加NationalInstrumentNS.dll,但我找不到這個地方。我從NI論壇得到了這個想法。這裏是鏈接http://forums.ni.com/t5/Measurement-Studio-for-NET/Can-t-find-reference-NationalInstruments-visaNS-C/m-p/3015649/highlight/true#M15931 – success