包括操作上下文感知复制和粘贴特征的机器视觉系统程序编辑环境的制作方法_4

文档序号:9510112阅读:来源:国知局
。应注意,编辑用于机器视觉 检查系统的部件程序是比编辑用于机器工具或装配机器人等的程序更复杂的任务。例如, 用于机器视觉检查系统的部件程序包括之后(后续)部分,其控制操作和/或提供依赖于 图像的测量结果,其至少部分地依赖于通过执行程序的先前部分所实现/取得的结果、和/ 或被成像以便分析的工件的特定实例。还应注意,视觉系统通常由彼此以复杂方式交互以 进行成像/分析操作的各种机械、电气和光学元件。因此,编辑部件程序的任何部分(包括 步骤-重复指令)必须基于真实的条件集在正确的操作上下文中完成,即,通过对于要编辑 的该部分适当设置(基于真实数据)的视觉系统的各种硬件和软件元素和参数。为实现用 于编辑部件程序的正确操作上下文的标准做法是:使视觉系统实际从开头起执行部件程序 中的全部指令和/或包括要编辑的指令部分的一部分,这是费时、浪费的,并可能甚至对于 大型部件程序来说不可行。在' 232申请和' 061申请中公开了一个解决方案,其提供能够 基于"替代数据"的使用生成用于要编辑的部件程序的特定节点的正确的操作上下文的视 觉系统编辑环境。
[0082] 在一些实施例中,编辑执行部分178包括替代模式部分180、实际模式部分191、以 及编辑执行用户界面特征部分192。替代模式部分180包括节点分析器181,其包括替代数 据操作181a和机器操作181b。当替代模式部分180运行替代执行模式时,替代数据被用于 生成用于继续编辑操作的操作上下文。在一个实现中,节点分析器181确定部件程序执行 是否已到达目标节点(例如,在部件程序中要做出修改的位置)。节点分析器181根据涉及 节点的类型,确定替代数据操作181A或实际机器操作181B是否将被执行。一般,一旦到达 目标节点,则实际机器操作被执行,而对于目标节点之前的部件程序指令,替代数据操作可 被用于产生继续编辑操作所需的至少一些操作上下文。如果替代数据丢失,则用户可被提 示允许/执行实际机器操作,以生成所需的操作上下文。在一个实现中,对每个节点进行分 析,以确定替代数据操作是否适用,包括替代数据是否存在,它是否为用于替代数据操作的 节点的正确类型,或者是否需要利用实际机器操作,等等。例如,在部件程序中的一些节点 可能需要实际机器操作,如工件台、成像部分等的实际移动,以获取不能用替代数据替代的 实际数据。
[0083] 实际模式部分191包括由现有机器视觉系统以更传统方式执行的操作。应当理 解,实际模式部分191也可以由替代模式部分180调用,以在适当的时候执行该机器操作 181b。实际模式部分191包括机器操作191a和数据操作191b。机器操作191a执行实际机 器操作(例如,移动台,作为视频工具操作的一部分),而数据业务191b-般输出数据。编 辑执行用户界面特征192提供用户界面特征,用于执行编辑功能(例如,关于各种执行操作 的状态的指示,如颜色代码,其指示部件程序的哪个部分已利用了替代数据或已通过实际 执行而运行,等等)。在各种实施例中,这样的特征可被实施为在' 232申请和' 061申请中 公开的那样。
[0084] 编辑器命令177包括运行段部分177a、修改部分177b、插入/追加部分177c、复制 命令177d和粘贴命令177e。复制和粘贴命令可以激活复制和粘贴管理器169的相应操作、 和/或在上面题为"复制和粘贴操作、特征和实现的概述"的章节中概述的各种复制和粘贴 操作与方法。如上讨论的,在各种实施例中,复制和粘贴管理器169可以访问和使用包括编 辑操作控制器174、编辑UI部分176、编辑执行部分178及编辑器命令177的编辑部分160 提供的任何功能和特征。
[0085] 一般,运行段部分177a执行部件程序的所选段的实际运行。应当理解,为了运行 部件程序的所选段,必须建立到所选段的适当的操作上下文。可以通过利用替代数据来建 立适当的操作上下文。
[0086] 修改部分177b具有与运行段部分177a的操作特定的相似性。一般,当选择部件 程序中的指令表示来修改(编辑)时,替代模式可被用于在该要修改的指令之前的部件程 序的部分,以便生成用于编辑目的正确的操作上下文。在一个实施例中,当选择用于部件程 序中的指令表示的修改命令时,用于该指令表示的节点被指定为目标节点。一旦到达目标 节点,编辑器将替代模式切换到实际执行模式(例如,通过实际模式部分191的控制),并执 行该目标节点的第一相关的部件程序指令。
[0087] 图3A和3B是用户界面屏幕的图,用户界面屏幕包括编辑界面301的图,编辑界面 301包括具有多个初始的部件程序指令表示的部件程序的表示,所述初始的部件程序指令 表示可以被显示在显示设备136 (例如,图1的显示器16)上。编辑界面允许用户生成和编 辑包括用于机器视觉检测系统的"步骤和重复"指令的部件程序。编辑界面还包括各种测 量和/或操作选择栏,如顶部和侧面的选择栏。图3B示出了也被显示在显示设备136上的 图像界面,包括视野窗口 302,它显示工件的(视频)图像,在其上可执行图3A(在编辑界 面301中)的部件程序。在一些实现中,机器视觉系统执行多个离散工件的部件程序,在其 它实现中,执行单个工件的多个工件特征(如通过表面定义的多孔)的部件程序。因此,在 特定上下文中,术语"工件"和"工件特征"在这里可互换使用。图像界面包括各种测量和/ 或操作选择栏,如选择栏303A、303B,以及实时X-Y-Z (位置)坐标窗口 304,其表示在相关 坐标系中的工件台上被成像/分析的工件的X-Y-Z位置。坐标系提供用于测量的基准,并 且一般是工件坐标系(例如,使用矩形工件的一角作为原点)、或由工件台的线性尺度定义 的机器坐标系。图像界面还进一步包括照明控制窗口 305。
[0088] 部件程序表示被设置,以确定一般为圆形的工件特征415的特征,如通过表面限 定的孔。在一个实施例中,每个部件程序指令表示与节点相关联,并且被分配节点号(例 如,如在'232申请和'061申请中公开的)。在某些实现中,利用树结构,其中,一些指令表 示与父节点相关联,一些与子节点相关联。例如,子节点指令表示分别与图3A-19的其父节 点指令表示相关联。如这里所用的,每个显示在编辑界面301 (图3A)上的程序指令表示可 被互换地称为"节点"。还将理解,在一个实施例中,显示在编辑界面上的指令表示包括从部 件程序的标记语言指令(代码指令)导出的图标和标签。在一些实施例中,部件程序的标 记语言可以包括XML类代码,如定制的标记语言代码。由此,指令表示"指向"、或者具有与 机器可执行的相关联的代码指令的关联。
[0089] 如图3A的编辑界面301所示,"前序"节点表示在运行模式中运行部件程序所需的 处理,其典型地是在进入学习模式时产生。"前序"节点是父节点,其可以包括子节点:例如, "设置照明"节点与"移动台"节点。"设置照明"节点定义在什么强度级别上使用什么类型的 照明,其中用户能够使用在照明控制窗口 305中包括的滑动条容易地进行设定和调整。根 据各种实现,"移动台"节点定义所述台持有工件的位置,如由用户手动设定的。在图1中, 随后的指令/表示("测量圆形Circle-Γ'、"对齐原点到Circle-Γ'、"测量圆形Circle-2" 和"对齐X轴到Circle-2")操作,以通过将坐标系与图3B的圆形特征415的测量特征对 齐,来设置工件坐标系。因此,指令表示的操作在相关坐标系中建立工件的正确位置和朝 向,以进行另外的测量。图3A还示出了指令指针332。在各种实施例中,指令指针332可 以根据与其在所显示的部件程序表示中的位置相对应的编辑上下文状态来改变颜色。即, 指令指针的颜色可指示有效的或有问题的(或无效的)编辑上下文(例如,部件程序操作 的有效且完整的执行或仿真)是否已建立了直到部件程序中的位置的、所有预期数据和操 作条件。如在下面进一步描述的,在各种实施例中,如在这里公开的,与新粘贴的元素相关, 这可能是有利的:如果编辑上下文状态指示符保守地自动指示新粘贴的元素(例如,修改 的所选指令表示副本集)对应于与新创建或插入的新指令类似的编辑上下文状态,而不考 虑从原始副本集与有效编辑上下文状态相对应的复制位置被复制。在一些情况下,指令指 针可以被称为插入指针。然而,在各种实施例中,,与无需与指令指针在同一位置的所选和 /或尚壳的指令表不相关地,确定插入和复制和粘贴位置等。
[0090] 参照图4,根据本发明的实施例,用户可以使用各种⑶I特征定义"步骤和重复"指 令。具体而言,当用户在"程序"选项306上放置选择器(例如,光标)时,可出现下拉菜单 307,它包括"步骤和重复"选项308。对"步骤和重复"选项的用户选择显示另一个下拉菜 单,其包括"阵列(Array)"选项。用户可以选择"阵列"选项,以开始定义"步骤和重复"编 程元素的指令,例如,如公开在美国专利8271895中的,其在本文中以全文引入作为参考。
[0091] 参照图5,在所示出的实施例中,一旦用户如上所述选择了 "阵列"选项,"阵列步 骤和重复"窗口 310可出现在显示屏上,以提示用户定义阵列的总体布置和结构。在一些 实施例中,在示出的例子中,用户可以在名称框中输入阵列的名称,其中用户已经输入了 "MyLoop"。用户还在第一重复框中定义要沿着一个轴(例如,X轴)进行重复的数目,并在 "DX"框中定义沿同一轴的重复之间的间隔距离。类似地,用户在第二重复框中定义要沿着 另一个轴(例如,Y轴)进行重复的数目,并在"DY"框中定义沿该轴的重复之间的间隔距 离。在示出的例子中,用户已经定义了要以I. 5875的间隔沿X轴重复4次、且以I. 5875的 间隔沿Y轴重复4次的基本的"步骤和重复"指令集,如以分别被编号的[X,Y]的图标所图 示的。当用户结束定义阵列的位置时,用户选择确定(OK)按钮,以保存所定义的位置。
[0092] 图6显示编辑界面301,其包括与先前概述的阵列步骤和重复循环操作相关联的 部件程序指令表示。部件程序指令表示现在包括"阵列步骤和重复循环"节点311,其包括 "循环的结束"子节点312。
[0093] 图7Α示出编辑界面301,其包括与执行在上面题为"复制和粘贴操作、特征和实现 的概述"的章节中概述的操作的复制命令314的一个实施例相关联的部件程序指令表示。 例如,可与下面的非限制性操作示例结合使用复制命令314 :
[0094] 〇在所显示的部件程序表示中的复制位置选择至少第一指令表示,以定义与基础 所选指令副本集相关联的所选指令表不副本集;
[0095] 〇操作GUI,以发起创建所选指令表示副本集和基础所选指令副本集中的至少一 个的副本的复制操作(例如,通过针对所选指令表示副本集激活复制命令小部件314);以 及
[0096] 〇自动执行复制操作,以执行针对所选指令表示副本集和所选指令副本集中的至 少一个的副本集修改操作的第一子集(例如,副本集修改操作的第一子集可针对于专用于 复制位置的操作上下文的元素,例如,其可包括消除关联的替代数据和/或它与副本集的 关联,和/或提供新的或改变的唯一节点标识、特征名称、容限名称、部件坐标系名称、测量 点缓冲名称、显示的变量名称,等等)。部分修改的副本集可被存储在剪贴板上。
[0097] 在示出的例子中,用户已选择了"测量圆形Circle-2"表示。
[0098] 图7B示出了与图7A同步的用于窗口或窗格的界面状态,包括"测量结果"316,其 中与选定的(复制的)"测量圆形Circle-2"相对应的测量结果318被高亮,如在'061申 请中公开的。在一个实施例中,当表示被显示在GUI的编辑界面部分中时,用户可以选择该 表示(例如,在编辑界面上,将光标放置在其上),和/或右键点击所选表示,并且,可出现菜 单窗口 315,其包括针对于所选表示的各种选项/选择,如"复制"命令选项314,它是包括 这里公开的各种操作的复制命令的一个实施例。当用户选择和/或执行"复制"命令选项 314时,控制系统部分120 (见图2A)中的复制和粘贴管理器169执行该命令的操作,如在 上面题为"复制和粘贴操作、特征和实现的概述"的章节中概述的。在各实施例中,复制和 粘贴管理器169还执行该命令的操作,其自动执行元素删除和/或修改,如在上面题为"复 制和粘贴操作、特征和实现的概述"的章节中概述的,以消除专用于在所选和复制的表示的 位置上的操作上下文的元素。在各实施例中,复制和粘贴管理器169执行该命令的操作,其 消除构成所选和复制的表示的基础、并在之后被置于剪贴板上用于粘贴的指令的替代数据 副本。在各实施例中,复制命令314自动展开复制的表示中的收缩的父节点,以显示它的子 节点,如图8所示,其中,所选"测量圆形Circle-2"的3个子节点全部被显示,如320中所 不。图8也不出了复制和展开的节点的尚壳。
[0099] 图9示出编辑界面301,其包括与执行在上面题为"复制和粘贴操作、特征和实现 的概述"的章节中概述的操作的粘贴命令322的一个实施例相关联的部件程序指令表示。 例如,可与下面的非限制性操作示例结合使用粘贴命令322 :
[0100] 〇在所显示的部件程序表示中定义要粘贴所选指令表示副本集的粘贴位置,所述 粘贴位置与基础部件程序中的指令粘贴位置相关联;
[0101] 〇操作GUI,以发起针对于所选指令表示副本集和基础所选指令副本集中的部 分修改的对应物的至少一个的粘贴操作(例如,通过针对粘贴位置激活粘贴命令小部件 322);
[0102] 〇自动执行粘贴操作,以执行针对于所选指令表示副本集和所选指令副本集中的 至少一个的部分修改的对应物的副本集修改操作的第二子集。例如,副本集修改操作的第 二子集可针对于专用于粘贴位置的操作上下文的元素,包括下面中的至少一个:a)修改所 选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上 下文兼容所需的元素和关联添加到所选指令表示副本集(例如,a或b可以适当的格式等提 供新的或改变的特征名称,等等),以及c)基于通过包括以下中的至少一个的操作形成的 修改的所选指令副本集,形成修改的所选指令表示副本集:cl)修改所选指令副本集的与 指令粘贴位置操作上下文不兼容的元素和关联,以及c2)将与指令粘贴位置操作上下文兼 容所需的元素和关联添加到所选指令副本集。可从剪贴板、以及被执行以创建(完整)修 改的所选指令表示副本集和/或(完整)修改的所选指令副本集的副本集修改操作的第二 子集,自动取回部分修改的副本集;以及
[0103] 〇自动执行粘贴操作,其在部件程序表示中的粘贴位置上粘贴修改的所选指令表 不副本集,和/或在基础部件程序中的指令粘贴位置上粘贴修改的所选指令表不副本集。
[0104] 在图9所示的例子中,用户已将光标/插入指针定位在阵列步骤和重复循环表示 之下(内)(在图示例子中的"循环的结束"节点312)。在一个实施例中,随后,用户可点击 右键,并且,可出现菜单窗口 323,包括针对于所选位置的各种选项/选
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1