2011-01-13 107 views
2

我在一家使用LabView測試我們製造的設備的製造公司工作。大多數測試工程師正在使用7.1,它可以本地引用.Net程序集。但是,LabView 6.1中存在一個組。我希望他們能夠使用我的.Net程序集,它基本上是一些Web服務的代理。如何從LabView 6.1 VI調用.Net DLL?

我創建了一個測試程序集,它不過是Hello World的一部分,我試圖在VI中使用它。我使它成爲COM可見的,並用regasm.exe註冊它,並創建了一個類型庫,我不確定需要它。當我打開添加引用窗口時,我可以在Visual Studio的COM對象列表中看到它,所以我知道它已正確註冊。

我很不熟悉VI的。我只是在看它,因爲我沒有在製造業中與之交談過的人知道在VI中調用COM對象。我基本上在尋找一些控件或菜單​​選項的名稱,以使測試工程師指出正確的方向。

我在Google和NI論壇上做了一堆網絡搜索,但沒有找到太多內容。

或者,編寫一個C或C++ DLL作爲我的.Net DLL的代理,會更容易嗎?或者有沒有簡單的方法來從VI調用Web服務?這可能完全避免了對DLL的需求。

我目前正在閱讀this document from NI尋求幫助,但顯然對.Net一無所知,並且可能無法幫助我選擇最佳路徑。

回答

0

哇,LabView 6.1!一個很好的版本,但現在不支持8年或更長時間。然而,我認爲COM接口並沒有太大的改變。

下面是如何一的COM/ActiveX DLL添加到一個LabVIEW VI:一個新的VI

  • 轉到

    1. 打開前面板
    2. 單擊鼠標右鍵,引用句柄 - > 「自動化引用句柄」 (這就是你正在尋找的流行語)
    3. 單擊鼠標右鍵,屬性 - >選擇ActiveX類

    如果你能找到您的ActiveX功能使得w你的狀態很好。 LabView屬性節點和調用節點對應於屬性和方法。

    Web服務只是一個http調用GET或POST,所以這將始終工作。但是,你將自己做解析。 (此外,LV 6.1沒有內置http GET/POST,所以我曾經使用WinHTTP,通過上述的ActiveX來執行這些操作。)

  • +0

    感謝您的控制名稱。我找到了我的類,並能夠添加一個實例和一個方法調用我的圖。這些方法只是一個返回字符串的Hello World方法。我添加了一個字符串指示器,並從該方法的輸出結果(我認爲)。然而,當我運行VI時,字符串指示器中沒有出現任何內容。我必須讓一位測試工程師爲我嘗試。我對自己在做的事情沒有太多線索。 – tw1k 2011-01-14 18:23:07