3.3 在 Visual Studio 中检查 HALCON 变量

HALCON 包含一个用于在 Visual Studio 中检查 HALCON 变量的扩展(有关系统要求,参见 安装向导 )。该扩展需要开发许可证才能使用(有关不同许可证类型,参见 安装向导 )。如果许可证对 HALCON Progress 版本有效,则只能使用相应版本的 HALCON 变量检查,即 HALCON Progress 变量检查需要 HALCON Progress。要更改 HALCON 变量检查版本,必须重新打开 Visual Studio 并选择所需的 HALCON 变量检查版本。

在安装 HALCON 时,Visual Studio 安装程序会默认注册该扩展。如果该选项在安装时被停用,则可以根据 Visual Studio 的版本,通过双击以下文件之一来手动注册扩展:

如果您的计算机上安装了多个版本的 Visual Studio,安装程序会让您选择要添加扩展的版本。安装完成后,扩展应该会出现在 Visual Studio 的侧窗格中。如果没有出现,请选择工具 HALCON 23.05 Progress 变量检查。请注意,必须设置环境变量 %HALCONROOT% 才能运行扩展。

该扩展仅用于检查下列语言中的图标对象和元组:

接口 语言

HALCON/C++ C++

HALCON/.NET C#, Visual Basic .NET

表 3.1:接口和语言

使用 HALCON 变量检查时的限制

使用 HALCON 变量检查

在调试 HALCON 程序时,该扩展允许您检查初始化控制变量和图标变量的当前值。您既可以在所需位置设置断点,也可以单步运行程序。

检查窗口分为 Locals局部Watch监视 两个选项卡,见 图 3.1

Locals 选项卡提供了程序当前范围内所有局部 HALCON 变量的列表。如果程序范围发生变化,变量列表会自动更新。

Watch 选项卡仅包含用户添加到 "监视" 列表中的选定 HALCON 变量。它还允许检查全局 HALCON 变量。只有当程序达到断点时,才能将变量添加到 "监视" 列表中。此外,局部变量只有在当前处于作用域中时才能添加。

有几种方法可以将 HALCON 变量添加到 "监视" 列表中:

请注意,检查窗口中列出的变量越少,性能就越好。因此,只将所需变量移至 "监视" 列表,并在 "监视" 选项卡中检查变量,可以提高性能。

默认情况下,检查窗口中变量的排列顺序与 Visual Studio Locals 窗口中的顺序相同。通过点击检查窗口中相应列的标题,可以按降序或升序对变量进行排序。要切换回默认顺序,请单击 "#" 列的标题。

表 3.2 描述了检查窗口中 "局部"和 "监视" 列表变量的显示信息。

描述

# 此列不包含任何值。点击该列的标题可恢复变量列表的默认顺序。

名称 局部 HALCON 变量的名称。

类型 局部 HALCON 变量的类型。扩展中只支持图标变量和元组。

状态 当前状态,表示变量的调试信息是否能被获取。如果已成功调用,则显示绿色复选标记。如果无法获取信息,则显示红色交叉标记。

状态消息 变量的状态消息。如果无法检索到变量的 HALCON 数据,状态消息将提供有关原因的更详细信息。如果可以检索到 HALCON 数据,则会显示有关数据的其他信息。

表 3.2:检查窗口中的变量列表列。

检查窗口的 "监视" 选项卡提供了一些有关作用域(Scope)的附加信息,见表 3.3。

描述

作用域 HALCON 变量的作用域。 HALCON 变量的作用域为 "Local"(局部),全局 HALCON 变量的作用域为 "Global"(全局)。如果无法确定作用域,即变量不在当前作用域中或未初始化,则返回 "未知"。

内部作用域 HALCON 变量是否在程序的当前作用域中的当前状态。如果变量在当前作用域内,则返回 "True",否则返回 "False"。

表 3.3:监视 选项卡中变量列表的附加列。

要选择一个变量进行检查,请单击检查窗口变量列表中的相应条目。如果已经检索到变量的调试信息和 HALCON 数据,即 状态 为绿色复选标记,则显示变量的值。否则,将开始检索 HALCON 数据,如果可以检索到数据,则显示变量值。双击变量,即使是已经获取数据的变量,也可以执行全新的数据检索。如果当前显示的变量内容发生变化,检查窗口将自动更新。

要取消选择变量,请按住 Ctrl 键并单击变量的相应行。或者,右键单击变量行,从上下文菜单中选择 全部取消选择 。在某些情况下,需要再次显示变量的数据。这可以通过取消选择并重新选择变量或双击变量来实现。

如果变量的成员变量无法解析,例如变量与类相关,则仅检查该变量的成员变量是不够的。相反,在右键单击并检查成员变量之前,应先标记完整的表达式。

请注意,不支持本地 64 位数据类型(如 int8 图像)和大小 > 0.5 GB 的图像数据。

检查控制变量

控制变量(元组)显示以下信息: 控制变量名称、类型和长度。实际值显示为从 0 到长度 - 1 的列表。

检查图标变量

图标变量以图形方式显示在检查窗口中,示例见 图 3.1。除了内容可视化外,还显示以下信息:

检查窗口的工具栏具有以下功能:

图标变量可以叠加: 例如,图像数据可与区域数据叠加,首先检查图像变量,然后检查区域变量。

图 3.1:图标变量检查窗口。

获取帮助

您可以直接从 Visual Studio 的上下文菜单中打开特定算子的算子参考。将鼠标光标移至方法名称上,右击该名称并选择 HALCON 帮助

持久设置

以下设置在不同会话之间保持不变:

从 Visual Studio 移除 HALCON 变量检查

要从 Visual Studio 中移除扩展,请按以下步骤操作:

  1. 打开 Visual Studio。
  2. 选择 扩展 管理扩展
  3. 在已安装的扩展程序列表中查找 "HALCON 23.05 Progress 变量检查",然后选择 卸载