石鑫华视觉论坛

 找回密码
 注册会员
查看: 71|回复: 0

[原创] LabVIEW调用Halcon的引用默认值不能使用LabVIEW的默认值必须新建引用

[复制链接]
  • TA的每日心情
    难过
    昨天 07:18
  • 签到天数: 3558 天

    连续签到: 3 天

    [LV.Master]2000FPS

     楼主| 发表于 前天 09:17 | 显示全部楼层 |阅读模式 来自:广东省深圳市 电信

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

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

    x
    LabVIEW调用Halcon的引用默认值不能使用LabVIEW的默认值必须新建引用
    在使用LabVIEW编程时,经常会使用到条件结构,有一些输出控件,不满足条件时,则使用默认值:
    image1.png
    满足条件时使用确定值
    image2.png
    不满足条件时使用默认值
    那么在使用LabVIEW调用Halcon算子时,同样会面临这样的情况。满足条件时,调用相应的算子,返回的是Halcon的元组输出。而不满足条件时,则不调用Halcon算子。当然,这时的输出控件可以直接放在条件结构的里面,这样在不满足条件时,就不会输出。但是,如果必须要将输出控件放在条件结构外面时,则不满足条件时,也必须要使用一个默认值。但是这个时候,就不能将Halcon的元组输出控件使用.NET引用的默认值,而必须要创建一个新的引用:
    image3.png
    .NET引用使用LabVIEW默认值
    image4.png
    .NET引用创建一个新的值作为默认值
           上面的两种情况,如果直接在.NET引用中使用LabVIEW的默认值,则会报错:
    image5.png
    条件T时,使用.NET的默认值时运行报错
           当使用.NET引用的LabVIEW默认值时,执行时报错,提示键不能为空。这里如果在元组输出引用中加探针可以知道,引用输出的实际是上0000的空值:
    image6.png
    空引用
           而当条件为F时,则创建了一个新的.NET引用,这个引用则是有效的,只不过元组的类型空,没有给该元组赋值罢了:
    image7.png
    条件为假时可正常执行元组类型是EMTPY空类型
           因此在使用LabVIEW调用Halcon算子时,如果遇到这种条件结构外包含输出的,而某些条件结构中,又没有相应的输出变量无法赋值时,不要使用LabVIEW的默认值,必须要新建一个引用才可以正常运行。

    回复

    使用道具 举报

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

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

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

    GMT+8, 2025-6-6 07:27

    Powered by Discuz! X3.4

    © 2001-2025 Discuz! Team.

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