2

我在一家使用 LabView 测试我们制造的设备的制造公司工作。大多数测试工程师都使用 7.1,它可以本地引用 .Net 程序集。但是,有一个小组卡在 LabView 6.1 上。我希望他们能够使用我的 .Net 程序集,它基本上是某些 Web 服务的代理。

我创建了一个测试程序集,它只不过是 Hello World,我正试图在 VI 中使用它。我让它 COM 可见,并用 regasm.exe 注册它并创建了一个类型库,我不确定我是否需要它。当我打开“添加引用”窗口时,我可以在 Visual Studio 的 COM 对象列表中看到它,因此我知道它已正确注册。

我对VI非常陌生。我只是在看它,因为我在制造业中与之交谈过的任何人都不知道在 VI 中调用 COM 对象。我基本上是在寻找一些控件名称或菜单选项,以使测试工程师指向正确的方向。

我在 Google 和 NI 论坛上进行了大量网络搜索,但没有找到太多。

或者,编写一个 C 或 C++ DLL 作为我的 .Net DLL 的代理会更容易吗?或者有没有一种简单的方法可以从 VI 调用 Web 服务?这可能完全不需要 DLL。

我目前正在阅读NI 的这份文档以寻求帮助,但它显然对 .Net 一无所知,并且可能无法帮助我选择最佳的前进道路。

4

1 回答 1

0

哇,LabView 6.1!一个很棒的版本,但现在 8 年或更长时间不受支持。不过,我认为 COM 接口并没有太大变化。

下面是向 LabView VI 添加 COM/ActiveX dll 的方法:

  1. 打开一个新的 VI
  2. 转到前面板
  3. 右键单击,引用句柄->“自动化引用句柄”(这是您正在寻找的流行语)
  4. 右键单击,属性 -> 选择 ActiveX 类

如果您能以这种方式找到您的 ActiveX 功能,那么您的状态就很好。LabView 属性节点和调用节点对应于属性和方法。

Web 服务只是一个 http 调用 GET 或 POST,所以它总是有效的。但是,您将自己进行解析。(另外,LV 6.1 没有内置 http GET/POST,所以我曾经使用 WinHTTP,通过上面的 ActiveX 来执行这些操作。)

于 2011-01-13T21:36:32.993 回答