zoukankan      html  css  js  c++  java
  • 【LabVIEW】程序结构

    (包括:while循环、For循环、事件结构、条件结构、公式节点)

    1、while循环

    LabVIEW 在执行While循环时,如果用户没有给它设定循环时间间隔,那么它将以CPU的极限速度运行。

    按下Ctrl+Alt+Delete 快捷键打幵任务管理器,可以看到它几乎将CPU全部利用, 正常情况这样做比较危险,因为这样可能会导致整个 LabVIEW 程序看上去跟“死 掉” 一样。

    在很多情况下我们没有必要让 While 循环 以最大的速度运行,所以最好给 While 循环 加上时间间隔。

    有两种方法:一种是在每个循环中添加一个等待时间,只有在等待完毕后才运行下一个循环。

    另一种方法是使用定时循环(Timed Loop)。



    2、事件结构

    Labview 提供了事件结构,即仅当 “事件” 发生时,程序才作相应的响应。 通过事件结构,程序可以变得很简单,并降低CPU利用率。当多个事件发生时会形成事件队列, 直到每个事件对应的代码都被执行为止,因此不会有事件被漏掉的情况。

    注意:事件结构必须放在 While 循环中,否则没有意义,因为当一个事件完成后,程序 需要去等下一个事件的发生。

    在跟用户进行交互的时候,尽量使用事件结构。

    深入探索之如何使多个事件分支执行相同的功能:
    https://www.eefocus.com/csxcs366/blog/11-06/225992_7293b.html



    3、条件结构

    (1)当条件结构有多个分支时,必须设置默认分支,否则程序无法执行。
    (是条件结构不是层叠顺序时)

    (2)隧道

    在条件结构一个分支的边框上创建输出隧道时,其他分支边框上也会出现输出隧道。只要有一个输出隧道没有连线,则条件结构每个分支边框上的输出的隧道都显示为白色正方形。

    隧道可使用数据类型的默认值,不是每个速调都必须连线。
    在条件结构上右键单击输出隧道,从快捷菜单中选择未连接时使用默认,这样所有未连线的隧道都将使用隧道数据类型的默认值。


    索引隧道,一个循环外的数组通过索引隧道连接到循环结构上,隧道在循环内一侧会自动取出数组的元素,依顺序每次循环取出一个元素。用索引隧道传出数据,可以自动把循环内的数据组织成数组。

    通过移位寄存器传入传出数据,也是数据的类型和值都不会发生变化。移位寄存器的特殊之处在于在循环结构两端的接线端是强制使用同一内存的。

    因此,上一次迭代执行产生的某一值,传给移位寄存器右侧的接线端,如果下一次迭代运行需要用到这个数据,从移位寄存器左侧的接线端引出就可以。


    移位寄存器如何创建:

    点击循环结构上的节点——右键——替换为移位寄存器

    同样在这里右键可以替换为隧道。 

    问题:

    条件结构存在错误:部分选择器无对应分支

    解决:
    在所有分支都确认无误的情况下,可能是没有设置默认分支导致的,将一个分支设置为默认分支就好了。

    4、层叠式顺序结构

    注:  只有连接到结构的数据到达结构,层叠式顺序结构才开始运行。只有当所有帧执行完毕后,各个帧才会返回所连接的数据。

    按照下列步骤,添加顺序局部接线端,在层叠式顺序结构的帧之间传递数据

        1、转到传出的数据所在的帧。
        2、右键单击结构右侧边框,从快捷菜单中选择添加顺序局部变量。
        3、连接要传递的数据和顺序局部变量。接线端上将出现一个向外的箭头。
        4、在顺序结构的帧中,将顺序局部变量接线端连接到需从上一帧接收数据的任意接线端。其后的帧中的接线端将出现向内的箭头,表示该接线端是该帧的数据源。

        注:  如帧位于与顺序局部变量接线端相连的第一个帧之前,则该帧不可使用顺序局部变量接线端。

    /*******相与枕藉乎舟中,不知东方之既白*******/
  • 相关阅读:
    Transact_SQL小手册
    使用泛型的 TArray 从动态数组中查找指定元素
    使用泛型的 TArray 为动态数组排序
    使用 InputBox、InputQuery 的启发
    近况汇报
    泛型排序器 TComparer
    详测 Generics Collections TList (2): First、Last、IndexOf、LastIndexOf
    详测 Generics Collections TList (1): Add、Clear、Count、Capacity
    WindowsAPI: MulDiv
    SendTextMessage 等方便的消息发送函数
  • 原文地址:https://www.cnblogs.com/Mars-0603/p/15048094.html
Copyright © 2011-2022 走看看