【问题标题】:Executing Case Structure Once in While Loop LABVIEW在 While 循环 LABVIEW 中执行一次案例结构
【发布时间】:2014-11-04 12:13:09
【问题描述】:

我正在尝试运行这个 vi,例如当 while 循环结构中的时间过去时,它会在我的前面板上弹出一个 3 按钮对话框,让我选择 3 个不同的选项,即是,否并取消。 “是”按钮将在while循环中进行经过的时间计数,“否”按钮将停止vi操作,“取消”按钮将关闭对话框并继续运行vi。当经过的时间达到 3 秒时,我试图让这个对话框只弹出一次,但不知何故,它不断地弹出,因为它一直在满足 while 循环中的条件。 Labview中的任何人都可以帮助我进行此配置吗?我目前正在使用 2013 版的 LABVIEW。感谢任何帮助。

我的 Labview VI 结构:

【问题讨论】:

    标签: while-loop labview dialog


    【解决方案1】:

    这段代码不会做你想做的事。

    虽然循环必须在弹出之前停止。但是,当您在弹出 vi 之后弹出循环之外时,将会停止。

    将弹出窗口插入到您的循环中,将盒子放在那里,然后将弹出窗口放入盒子中。 Connect time has elapsed Boolean 到您的案例条件终端。确保使用箭头不连续运行选项运行 VI。

    【讨论】:

    • 我尝试在 while 循环中添加所有内容。但我不希望对话框在时间过去后不断弹出。我只希望它弹出一次。如果选择“是”,那么它将继续运行时间。这是我当前的 vi:i.stack.imgur.com/z9gSC.png
    • 只需输入“第一次通话?” VI 在机箱内,并将弹出窗口放在第一次调用的机箱内。请看我的vi:dropbox.com/s/0jno00socimp2o2/Example.PNG?dl=0
    【解决方案2】:

    将弹出窗口移动到您的 while 循环中,并检查它之前是否已经显示过。

    在使用移位寄存器之前获取是否已经显示的信息:

    • 通过右键单击循环框架添加它

    • 在第一次循环迭代时,移位寄存器将具有连接到它左侧的值(从循环外部)。 (在您的情况下,这应该是一个布尔常量)

    • 在每个连续的循环迭代中,移位寄存器将具有在前一个循环迭代中连接到其右侧(从循环内部)的值。

    此外:

    • 如果你想将一个数乘以 6,有一个直接的方法,不要加 6 次

    • 原始 VI 中的序列结构完全没有影响

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 2023-04-02
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      相关资源
      最近更新 更多