【问题标题】:Labview--Input-Output Data delayLabview--输入-输出数据延迟
【发布时间】:2021-02-27 08:12:05
【问题描述】:

我是新的 labview 用户。我正在尝试使用labview实时实现控制器。为此,我开始进行模拟输入输出练习。作为学习过程的一部分,我试图在系统上应用输入,获取数据并通过模拟通道反馈。但是,我注意到输入和输出之间存在明显的延迟,大约为 1 毫秒。然后我想到了做最简单的练习。我生成了一个输入信号,通过labview读取它并再次反馈。所以,基本上它只是 ADC 和 DAC 的任务。但是,它仍然有相同的延迟。我的印象是,如果我进行硬件时间数据的读写,它会减少延迟。但仍然没有变化。

你能帮我解决这个问题吗?任何建议都会对我很有帮助

【问题讨论】:

  • 设置是什么?如果它是一台通过 LAN 连接了 cDAQ 板条箱的计算机,我预计会有一些延迟。另外,时钟的频率是多少?我猜 ADC 在一个周期内返回一个值,而 DAC 在下一个周期内设置它,所有这些都加上一些开销。所以以 1Hz 的速率,你会得到 1 秒的延迟。
  • 是的,它与局域网相连。我的延迟是 1 毫秒。我想要微秒的延迟。 200-400 微秒就可以了。 1 毫秒对我永远不起作用
  • 欢迎您!你的采样率是多少,你设置的缓冲区是多少?请注意,您的设置首先读取数据,然后再写入。因此,写入必须有延迟。因此,如果您以 10kHz 采样 1000 个样本,那么您实际上是在以 10Hz(100ms)读取,因此您也在以这种速率写入——并且写入延迟未定义但可能接近 100ms。
  • 感谢@max 的解释。我的延迟是 1 毫秒,但是对于我的应用程序,我需要不到 1 毫秒
  • @ZayedAhmed “延迟”是什么意思?您的采样率和写入率是多少(那么 DAQ 硬件中缓冲了多少样本?)

标签: labview


【解决方案1】:

您看到的可能是您使用的 while 循环方法的结果。

while 循环每次运行时都会从 AI 中获取一次数据,然后将其发送给 AO。这最终是分批完成的(也许批次大小为 1,但仍然如此),您可能会看到由批次转换导致的延迟。

如果您需要更多地控制时序,LabVIEW 可以提供。例如,阅读不同的时钟、采样时钟和触发时钟。它们允许您将输出信号预加载到 niDAQ 缓冲区中,然后在特定的协调时刻逐点输出信号。

【讨论】:

    猜你喜欢
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多