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.



我可以通过DLL来调用LabVIEW的声音和振动工具包(SVT)以及阶次分析工具包(OAT)里面的分析函数么?



主要软件:
主要软件版本: 4.0
主要软件修正版本: N/A
次要软件: LabVIEW Toolkits>>LabVIEW Order Analysis Toolset

问题:
我希望通过外部代码来调用LabVIEW的声音和振动工具包(SVT)以及阶次分析工具包(OAT)里面的分析函数,我应该怎么做?

解答:
您可以通过LabVIEW的Application Builder来生成一个包含SVT和OAT的分析函数的DLL。Application Builder包含在LabVIEW专业版(Professional Edition)里,如果您的LabVIEW是基础版(Base Edition)或者完整版(Full Edition),您也可以通过单独购买来获得这个工具。

当您生成DLL的时候,请尽量避免在您的函数调用时输出一些复杂的结构,而在SVT和OAT工具包里包含很多LabVIEW的簇和波形类型等复杂结构;因此,我们建议您使用“Wrapper“ VI来封装SVT和OAT分析函数,并且简化函数输出参数的类型。

附件中的VI是其中的实现这样封装功能的VI的例子。通过这个例子的数据流面板,您可以发现这里面只有一个计算给定波形数据的SINAD的SVT VI,封装的主要目的是将波形类型数据分解成一个表示原始数据的一维浮点数组和一个表示时间间隔的浮点数。当然如果需要的话,您也可以把这个VI的其他输入簇分解成简单的类型。这个VI的输出是SINAD的结果和错误状态(而不是整个错误簇)。

一点技巧:
  1. 当您生成封装VI时,请确认您已经将所有必要的输入和输出端口连接到子VI的端口上。


  2. LabVIEW的Application Builder会自动的在您生成的DLL函数中添加表示数组长度的输入参数。


  3. 当您生成DLL的时候,请确认已经包含了LabVIEW run-time engine。另外,因为很多SVT和OAT的分析函数会用到其他的DLL,比如lvanlys.dll, sml.dll, or order.dll,所以当您创建一个您的DLL的安装文件的时候,这些DLL会自动的包含到安装文件里。


相关链接:
Developer Zone Example: Building DLL's in LabVIEW 6.x or Later

附件:


SINAD wrapper.vi


报告日期: 10/03/2006
最近更新: 12/18/2007
文档编号: 39G9882L