入门–第一个简单的APx LabVIEW VI
要创建一个简单的APx LabVIEW程序,打开一个新的VI,并将APx500 Open.vi的副本放在框图上。接下来,右键单击VI的Version Info output选项卡,并选择Create–Indicator,以创建版本信息指示器。最后,为了更好地测量,向图中添加一个简单的错误处理程序VI,并将其连接到APx500 Open VI的错误输出指示器。完成后,您的框图应该类似于Figure 15.
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2c2d308c7bef3939794d53f5ea56df46.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aef0c6aff02f6274fc02eccf1afcac81.png)
图15。控制APx分析仪的第一个简单VI的框图,以及前面板上的版本信息群集
这个简单的VI现在可以运行了。请注意,如果PC没有正确连接到已通电的APx500分析仪,APx500测量软件可以在演示模式下运行。事实上,如果从API(例如,使用LabVIEW)而不是从Windows加载APx应用程序,当仪器未连接时,软件会自动在演示模式下加载。演示模式模拟APx软件的几乎所有功能,但返回随机数据。幸运的是,所有的API调用在演示模式下正常运行,因此,控制APx分析仪的LabVIEW VIs可以在没有连接APx分析仪的情况下开发。
要运行这个简单的VI,请单击VI前面板上的白色运行箭头。几秒钟后(时间长短取决于PC速度和可用内存资源),APx应用程序将加载,并且版本信息将显示在前面板上的指示器2中。如上下文帮助中所述,如果APx应用程序在演示模式下运行,版本信息群集中的一些指示器会返回空值
使用APx500关闭VI
APx500 Close.vi关闭APx500测量软件并关闭。NET对APx API的引用。对于传统的LabVIEW仪器驱动程序,当VI完成其任务时,关闭任何驱动程序引用被认为是一种良好的做法。Figure 16显示了来自的简单VI的框图Figure 15添加了结束VI。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/932a34d6cffdab04a39e921f2fdd7420.png)
图16。APx500关闭VI添加到she简单VI。
APx LabVIEW。NET驱动程序不是传统的LabVIEW仪器驱动程序,因为运行APx500 Open VI而不运行Close VI不会打开APx500测量软件的额外实例。因此,将APx500 Close VI添加到每个VI没有任何优势。事实上,每次VI结束运行时关闭应用程序可能是一个缺点,因为重新打开应用程序需要时间。我们不建议将APx500 Close VI添加到每个顶级VI中。
上述策略的唯一潜在缺点是,当您使用LabVIEW完成APx500应用程序时,它的UI是不可见的。在这种情况下,如果在LabVIEW程序中没有使用APx500 Close VI,APx500应用程序将在用户不知情的情况下保留在内存中,因为UI窗口是不可见的。如果您担心这一点,您应该将APx500 Close VI添加到您的APx VIs中。然而,在我们看来,每次运行VI时都必须重新打开APx500应用程序的不便远远超过应用程序偶尔保持运行和不可见的缺点。
在APx项目中运行测量
接下来,我们将看看如何在LabVIEW中运行APx测量。首先保存上面创建的简单VI。在下面的示例中,VI以My APx Program.vi的名称保存。按照下面的步骤创建一个简单的LabVIEW程序,在APx分析仪上运行电平和增益测量。
1.从框图中删除所有子VI,APx500 Open VI和简单错误处理程序除外
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8f49e558c3cdb25b3b0057fe23e35cc4.png)
2.将APx500实用程序–字符串添加到信号路径和测量VI,将APx500执行测量VI添加到图表,并如图所示进行连接。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a9d161fb2d479d2601c9197cee099639.png)
3. 右键单击实用程序的适当输入–信号路径和测量VI的字符串,并为信号路径和测量名称字符串创建控件。
4. 右键单击执行测量VI的测量完成输出,并创建一个指示器。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a6af7b0d1b0c4cdaa230dd9d4f64a6e3.png)
5.如图所示,在VI前面板上的相应字符串控件中输入名称“Signal Path1”和“Level and Gain”。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ac8dedd9c25f67c904be6d2c57915f0f.png)
6.打开APx500应用程序(如果尚未打开)。如果它已打开,请使用默认模板启动一个新项目。这将确保项目中存在名为“信号路径1”的信号路径,并且该信号路径中存在名为“电平和增益”的测量。它还将确保选中“报告”复选框。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/612ee4c4d62e7553936f0b9c63203ad7.png)
7.单击运行箭头运行VI。这将导致APx500应用程序完成电平和增益测量,并创建一份报告。完成后,电平和增益测量的均方根结果将在APx应用程序中突出显示。在VI的前面板上,测量完成LED现在应该是绿色而不是灰色。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/17f985d6930151a637f577b77ecaa33a.png)
上面的简单程序说明了如何从LabVIEW中运行APx测量。执行测量VI使用APx序列器来运行测量。这相当于在APx Navigator中选中测量的复选框,然后右键单击测量并选择运行测量(Figure 17).通过序列发生器运行测量优于简单地打开发生器并读取瞬时数据,因为序列发生器方法返回固定的读数。
请注意,指定信号路径和测量名称是一个关键步骤。这精确地告诉APx API我们的LabVIEW程序想要与APx中的哪个测量进行交互。正确指定这两项,并且它们存在于项目中是非常重要的。
否则,API将生成一个错误。要查看实际效果,请将LabVIEW前面板上的信号路径控件中的字符串从“信号路径1”更改为“信号路径2”,然后再次运行VI。这一次,它将生成如中所示的错误消息Figure 18.
图18
如果测量字符串控件中指定的测量名称与指定信号路径中的测量不匹配,也会生成相同的错误消息。因此,您必须确保APx项目中存在指定的信号路径名称,并且该信号路径中存在指定的测量名称。
错误处理
APx LabVIEW中的所有错误处理。NET驱动程序发生在APx API中。驱动程序集合中的LabVIEW VIs仅仅传递了LabVIEW错误集群。驱动程序集合中的每个VI都有一个错误控制和一个错误输出指示器。为了遵循推荐的编程最佳实践,您应该连接所有驱动程序VI的error in和error out终端,并在顶层VI中添加一个错误处理程序VI。
遗憾的是,LabVIEW在处理方面做得不是很好。净例外。如LabVIEW帮助系统和上所述核岛支持网站调用. NET对象或属性时引发的任何异常都被转换为LabVIEW错误1172。LabVIEW确实在错误信息中添加了更多的错误信息,但是如果您使用LabVIEW内置的简单错误处理程序VI,返回的错误信息会相当晦涩难懂(例如,参见中的错误信息)Figure 18).为了克服这个问题,一个叫做APx的接口。LastException是APx500 API的一部分。这个函数跟踪最后一个。NET异常由APx500应用程序抛出,使LabVIEW能够访问. NET中提供的相同的托管错误处理功能。
名为APx500 Utility-APx的VI简单错误处理程序使用APx。LastException接口,用于捕获LabVIEW的通用1172错误,并返回更有意义且易读的错误消息。该VI的功能在中描述Figure 19。要比较VI返回的错误信息和LabVIEW返回的错误信息,请比较Figure 18到Figure 20。
图20