石鑫华视觉论坛微信公众号:石鑫华视觉

 找回密码
 注册会员
查看: 4207|回复: 2

[共享] NI LabVIEW中的数据流编程基础

[复制链接]
  • TA的每日心情
    开心
    2015-3-26 16:24
  • 签到天数: 161 天

    连续签到: 1 天

    [LV.7]700FPS

    发表于 2014-4-15 15:29:11 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    本帖最后由 秋水伊人 于 2014-4-15 15:37 编辑

    LabVIEW按照数据流(dataflow)模式运行VI。 当接受到所有所需的输入时,程序框图节点将运行。节点在运行时产生输出端数据并将该数据传送给数据流路径中的下一个节点。 数据流经节点的过程决定了程序框图上VI和函数的执行顺序。
    Visual Basic,C++,JAVA以及绝大多数其它文本编程语言都遵循程序执行的控制流模式。 在控制流中,程序元素的先后顺序决定了程序的执行顺序。
    图1显示了一个数据流编程的范例,程序框图中两个数字相加,然后从结果中减去50.00。 在这个范例中,程序框图从左向右执行,这并非因为对象的放置顺序,而是因为“减”函数必须在“加”函数执行完,并将数据传到“减”法函数后才能执行。 节点只有在所有输入接线端数据准备好后才能执行,只有在节点完成执行后才能向输出接线端提供数据。
    lv_data_1.gif
    图1.数据流编程范例
    图2中,考虑哪段代码先执行—“加”、“随机数”,还是“除”函数。 您无法知道答案,因为“加”和“除”函数的输入同时可用,而随机数并没有输入。 在一个代码段必须在另一个前执行,并且两个函数间没有数据依赖关系的情况下,可以采用其它编程方法(例如顺序结构或错误簇)强制设定执行的顺序。
    lv_data_2.gif
    图2.多代码段的数据流范例
    连线

    通过连线可以在程序框图对象之间传输数据。 在图1和图2中,输入控件和显示控件接线端通过连线连接到“加”函数和“减”函数。 每条连线都只有一个数据源,但可以与多个读取该数据的VI和函数连接。 不同数据类型的连线有不同的颜色、粗细和式样。
    lv_data_3.gif
    断线显示为一条中间带有红色X的黑色虚线,如上图所示。 出现断线的原因有很多,比如试图连接数据类型不兼容的两个对象时就会产生断线。
    表1显示了最常见的连线类型。
    连线类型
    标量
    一维数组
    二维数组
    颜色
    数值
    lv_data_9.gif lv_data_7.gif lv_data_8.gif
    橙色(浮点数),蓝色(整数)
    布尔型
    lv_data_6.gif
    lv_data_4.gif
    lv_data_5.gif
    绿色
    字符串
    lv_data_12.gif
    lv_data_10.gif
    lv_data_11.gif
    粉红色

    表1.常见的连线类型


    LabVIEW中,连线用于连接多个接线端,从而在VI中传递数据。 连线连接的输入端和输出端必须与连线上传输的数据兼容。 例如,数组输出端不能连接到数值输入端。 另外,连线的方向必须正确。 连线必须仅有一个输入和至少一个输出。 例如,不能在两个显示控件间连线。 决定连线兼容性的因素包括输入/显示控件的数据类型和接线端的数据类型。 例如,若开关的边框为绿色,它可与Express VI上任意带绿色标签的输入端相连。 若旋钮的边框为橙色,它可与任意带橙色标签的输入端相连。 而橙色旋钮无法与带绿色标签的输入端相连。 注:连线与接线端的颜色相同。
    自动连接对象

    所选对象移动到程序框图上其它对象的近旁时,LabVIEW将显示临时连线,提示两者间有效的连线方式。 放开鼠标将对象放置在程序框图上时,LabVIEW会自动进行连线。 您也可以对程序框图上已经存在的对象进行自动连线。 LabVIEW会对最匹配的接线端进行连线,对不匹配的接线端不予连线。
    默认状态下,从函数模板选择一个对象,或者按键并拖动对象来拷贝一个已经存在于程序框图上的对象时,自动连线方式被启用。 默认状态下,用定位工具移动程序框图上已经存在的对象时,自动连线被取消。
    通过选择工具选项,然后从类别列表中选择程序框图,可调整自动连线设置。
    手动连接对象

    将连线工具移至在接线端时,将出现含有接线端名称的提示框。 另外,即时帮助窗口和图标上的接线端都将闪烁,以帮助您确认正确的接线端。 将连线工具移至第一个接线端上并单击,然后将光标移动到第二个接线端再次单击,就可在这两个对象之间创建连线。 连线结束后,右键单击连线,从快捷菜单中选择整理连线,可使LabVIEW自动选择连线路径。 按可删除在程序框图中的所有断线。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-4-18 16:09
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]400FPS

    发表于 2014-4-15 17:44:23 | 显示全部楼层 来自:广东省东莞市 电信
    支持石鑫华视觉http://shixinhua.com,支持机器视觉论坛http://labviewvision.com。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2023-7-29 19:25
  • 签到天数: 304 天

    连续签到: 1 天

    [LV.8]800PFS

    发表于 2015-6-4 06:05:10 | 显示全部楼层 来自:甘肃省天水市 电信
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23
    LabVIEW图像处理教程
    机器视觉商城淘宝店铺
    视觉论坛充值赞助方法

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-4-19 13:48

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表