【问题标题】:How to time a case structure in labview?如何在labview中对案例结构进行计时?
【发布时间】:2018-07-31 15:51:21
【问题描述】:

我正在使用 cDAQ 9191 和模块 9205 进行数据采集。附在帖子中的是我用于数据采集并将其保存到测量文件的 LV 代码图。它工作正常。我从运行代码开始,我可以看到所有 9 个通道的波形。之后我需要按下记录按钮,以便将写入数据写入/存储在 TDMS 文件中仅 6 秒。这应该会自动发生并自动停止代码。 使用经过时间的代码框图如图所示。

tdms 显示数据的保存方式 运行此代码后保存的 tdms 文件。 TDMS 文件查看器清楚地显示每组文件包含 200 个样本。对于 6 秒的数据,我应该总共有 6000 个样本,因为在 DAQ 设置中将采样率设置为 1000。根据自动保存 6 秒,只有 6000 个样本应该出现在图中所示的 tdms 文件组中。每组200个样本,共30组。但是每次我运行 # of groups 时都会发生变化。如何解决这个问题?

【问题讨论】:

  • 你在正确的轨道上,经过时间快车 vi。删除 case 结构中的 while 循环,然后将“Time Has Elapsed”连接到主 while 循环的停止终端。
  • 忘了提一下:还要从“重置”中删除 TRUE 常量。有了 T 常数,subvi 在每次迭代时都会重置。将“自动重置”保留为 TRUE。
  • 我试过了,但问题仍然存在。实际上我需要当我按下“运行”按钮时代码开始,当我按下“记录”按钮时它应该保存数据 6 秒。但它没有发生。从它保存的文件的 tdms 文件视图中可以明显看出。它应该自动保存 30 组,每组有 200 个样本。请记住,采样率为 1000。但它会在 tdms 文件中保存大量组。
  • 哪段代码将数据保存到 TDMS 文件中?
  • 谢谢@ton。问题解决了。我使用了不带案例结构的经过时间。它现在运行良好。

标签: timer labview


【解决方案1】:

所以你想自动只保存 6 秒的数据?您可以使用Elapsed Time Express VI

http://zone.ni.com/reference/en-XX/help/371361P-01/lvexpress/elapsed_time/

将开始时间设置为零,时间目标设置为 6。6 秒后 VI 将为您提供布尔值 true,否则为 false。然后你将需要一个while循环。 VI 返回布尔值false 写入文件。 while 循环应放置在您的案例结构中。 您还应该将名为switch 的布尔对象的机械动作更改为Latch when pressed。看这个链接http://zone.ni.com/reference/en-XX/help/371361G-01/lvhowto/changemechactofboolswitch/

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 2022-07-17
    • 2016-07-18
    • 2020-11-23
    相关资源
    最近更新 更多