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

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

Info

Publication number
CN105264474B
CN105264474B CN201480027099.2A CN201480027099A CN105264474B CN 105264474 B CN105264474 B CN 105264474B CN 201480027099 A CN201480027099 A CN 201480027099A CN 105264474 B CN105264474 B CN 105264474B
Authority
CN
China
Prior art keywords
copy set
instruction
selected instruction
copy
modification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201480027099.2A
Other languages
English (en)
Other versions
CN105264474A (zh
Inventor
R.诺斯拉普
A.叶
I.哈亚迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitutoyo Corp
Original Assignee
Mitutoyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitutoyo Corp filed Critical Mitutoyo Corp
Publication of CN105264474A publication Critical patent/CN105264474A/zh
Application granted granted Critical
Publication of CN105264474B publication Critical patent/CN105264474B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Stored Programmes (AREA)

Abstract

提供了用于在机器视觉检查系统中编辑部件程序时复制和粘贴一组机器视觉部件程序操作的方法。该方法包括:a)在所显示的部件程序表示中的复制位置选择至少第一指令表示;b)通过执行针对专用于复制位置的第一操作上下文的元素的修改操作的第一子集,来执行复制操作,由此生成部分修改的所选指令表示和/或其基础指令代码;c)在所显示的部件程序表示中定义粘贴位置;以及d)通过执行针对专用于粘贴位置的第二操作上下文的元素的修改操作的第二子集,来执行粘贴操作,由此生成并在粘贴位置上粘贴完全修改的所选指令表示和/或其基础指令代码。

Description

包括操作上下文感知复制和粘贴特征的机器视觉系统程序编 辑环境
技术领域
本发明涉及机器视觉检查系统,并涉及这样的系统、图形用户界面和方法,其在计算机可读介质中被实施,用于在这种系统中创建和编辑部件程序,包括智能复制和粘贴特征,其可被用于产生基本“计算机语言”指令和/或它们相应的基本指令的简化表示,以在创建部件程序时协助“非程序员”用户。
背景技术
精确机器视觉检查系统(或简称为“视觉系统”)可被用于获得检查的对象的精确尺寸测量,并检查各种其他对象特性。这样的系统可以包括计算机、摄像机和光学系统和精密工台,其可在多个方向上移动,以允许摄像机扫描被检查的工件的特征。一个可商用的示例性现有技术系统是可从位于Aurora,III的Mitutoyo America Corporation(MAC)得到的软件、以及基于PC的视觉系统的QUICK系列。例如,在2003年1月公布的“the QVPAK 3D CNC Vision Measuring Machine User's Guide”、以及1996年9月公布的“the QVPAK 3D CNC Vision Measuring Machine Operation Guide”中,一般性地描述了视觉系统的QUICK系列和软件的特征和操作,通过引用将其各自的全部内容合并于此。例如,这一系列的产品能够使用显微镜型光学系统,以在各种放大倍数提供工件的图像,并根据需要移动台,以超过任何单个视频图像的限制而遍历工件表面。在给定这种系统的期望放大倍率、测量分辨率以及物理尺寸限制的情况下,单个视频图象通常仅涵盖被观察或检查的工件的一部分。
机器视觉检查系统通常利用自动化的视频检查。美国专利6542180(‘180专利)教导了这种自动视频检查的各个方面,在此引入其全部内容。如‘180专利所教导的,自动视频检查计量仪器一般具有编程能力,其允许用户为每个特定的工件配置定义自动检查事件序列。例如,这可以通过基于文本的编程来实现,或由通过存储与用户在图形用户界面的帮助下执行的检查操作的序列对应的机器控制指令序列而逐步地“学习”检查事件序列的记录模式来实现,或通过结合上述两个方法来实现。这种记录模式经常被称为“学习模式”或“训练模式”。一旦在“学习模式”中定义了检查事件序列,随后便可在“运行模式”期间,使用这样的序列来自动获得(并另外分析或检查)工件的图像。
机器控制指令,包括具体的检查事件序列(即,如何获得每个图像以及如何分析/检查每个获得的图像),通常被存储为“部件程序”或“工件程序”,其专用于特定的工件配置。例如,部件程序定义如何获得每个图像,例如,如何相对于工件定位摄像头、在什么照明度、在什么放大级别等。此外,部件程序定义如何分析/检查所获得的图像,例如,通过使用一个或多个视频工具,如边缘/边界检测视频工具。
为了有助于由相对不熟练的用户编程,视频工具(或简称为“工具”)和其它GUI特征可以被设置来完成检查和/或其他机器控制操作。可在学习模式中记录视频工具的设置参数和操作,以创建自动检查程序,或“部件程序”,其并入了要由各种视频工具执行的测量/分析操作。例如,视频工具可以包括边缘/边界检测工具、自动对焦工具、形状或图案匹配工具、尺寸测量工具,等等。其它GUI特征可以包括与数据分析、步骤和重复循环编程相关的对话框——例如,在美国专利8271895('895专利)中公开的,在此通过引用将其全部内容合并于此——等等。例如,这样的工具和GUI特征被例行用于在各种商用的机器视觉检查系统中,如QUICK系列视觉系统和相关联的软件,如上面所讨论的。
由相对不熟练的用户编辑部件程序可能是困难的。特别是目前,没有用于由不熟练的用户进行“支持操作上下文”的复制和粘贴操作的简便方法。也就是说,没有用于机器视觉系统或其他自动检查系统的部件程序的复制和粘贴操作,它通过考虑复制被配置用于兼容部件程序中的一个位置的操作上下文和/或编辑上下文的指令需要修改之后才可提供与部件程序中的另一个位置处的粘帖位置的操作上下文和/或编辑上下文的兼容,这对编辑程序是有用的。例如,从步骤和重复循环的内部向外部复制和粘贴指令(或反之亦然),对于不熟练的用户来说尤其困难。
本发明的目的是提供系统、图形用户界面和方法,其在计算机可读介质中实施,其允许创建和使用直观、灵活和强大的操作和/或命令,用于精密机器视觉检查系统的部件程序的复制和粘贴编辑命令。
发明内容
提供本概述来以简化形式介绍概念的选择,其在下面的具体实施方式部分被进一步描述。本概述并不旨在标识所要求保护的主题的关键特征,也不是旨在用于帮助确定所要求保护的主题的范围。
在各种实施例中,提供了机器视觉检查系统,它可操作用来在学习模式中创建部件程序,并在运行模式中可操作来执行先前创建的部件程序。该系统包括成像部分、用于在成像部分的视野中持有一个或多个工件的台、控制部分、以及图形用户界面(GUI)。该系统还包括编辑部分,其可操作来在学习模式中编辑部件程序指令,所述编辑部分包括可显示在GUI中的编辑接口部分。
该系统还包括复制和粘贴管理器部分,其可以以硬件和/或软件来实现,其配置为可操作用来在学习模式中生成和定义部件程序中的复制操作和粘贴操作。在一些实施例中,复制和粘贴命令可被用于粘贴一组元素,其为在部件程序中的新位置处复制的元素的实质重复。如这里所使用的,短语“实质重复”不一定意味着检查指令或它们的表示的所有细节的字面或精确重复,尽管在一些实施例中可能是这样的情况。相反,它意味着:对重复的操作块的本质或基本操作进行重复的至少指令特征的重复。
复制的元素可以包括以标记语言(例如,HTML、XML或衍生物)编写的机器可执行代码指令和/或显示在图形用户界面(例如,在编辑部分中)的相关联的可编辑指令表示。本文所用的术语“复制的元素”一般可以包括这两个关联的方面,除非描述或上下文另有说明。与这里引用的其他类型的指令和指令的表示一样,可在各个实施例中分配和使用唯一标识(例如,节点标识),以支持特定的操作上下文建立操作、和/或用户界面窗口同步操作、和/或代码和表示关联。在一个实施例中,这样的关联和特征可如下面的文献所述那样实现:2011年11月15日提交的共同未决、共同转让的美国专利申请13/297232('232申请),题为“Machine Vision System Program Editing Environment Including Real TimeContext Generation Features”,公布号为美国申请公开2013/0123945A1;以及2012年11月13日提交的共同未决、共同转让的美国专利申请13/676061('061申请),题为“MachineVision System Program Editing Environment Including Synchronized UserInterface Features”,公布号为美国申请公开2013/0125044A1,各自在此通过引用整体并入本文。
在一些实施例中,部件程序表示和/或复制的元素(例如,指令表示和/或代码指令)可以树结构的方式被布置,其包括具有一个或多个子节点的一个或多个父节点,等等。用来在图形用户界面上编辑指令表示(包括复制的元素)的用户输入可包括添加、删除和修改任何指令表示中的一个或多个。在一些实施例中,一些节点对应于各自包含针对诸如几何测量操作或成像(例如,自动对焦)操作、或图像处理操作等的离散操作的指令的子集的视频工具。在各种实施例中,每个复制的元素可以被分配唯一节点名、变量名称和/或代码块名称。在一些实施例和/或情况下,可在已编辑当节点或复制的元素时改变名称。
在各种实施例中,提供了计算机可读介质,其包括计算机可执行指令,其被配置为加载到计算机,以使计算机能够执行对应于本文所述的特征和操作的方法。
应当理解的是,编辑用于机器视觉检查系统的部件程序是比编辑用于机器工具或装配机器人等的程序等更复杂的任务。例如,用于机器视觉检查系统的部件程序包括随后的部分,其控制操作,并且/或者,提供依赖于图像的测量结果,其至少部分依赖由程序的先前部分的执行确定的结果、和/或被用于提供检查操作必需的图像的工件的特定实例。此外,特定图像所需要的所需照明和/或曝光时间可取决于工件的特定实例。此外,如果用户保存部分完成的部件程序,并在之后再调用部件程序以改变或完成编程,则可能不知道其间是否已发生了特定类型的改变(例如,环境条件的改变,在台上无意移动部件,等等),其可能不利地影响对部件程序的继续编辑。由于这种考虑,对于一些这样的系统,已经有了标准实践,用来从开始实际执行部件程序的全部指令,并包括任何潜在的附加修改、或对部件程序指令的添加,以便基于它们的操作的真实条件集合来验证修改和/或添加正在被编程。然而,为了修改或添加指令而执行部件程序的所有指令以提供真实操作条件,这对于大型部件程序来说不现实(例如,包括大量图像获取和/或特征检查的那些大型部件程序),大型部件程序对于提供宏观物体(如,几十或数百毫米的物体)的微观检查(例如,微米分辨率测量)的机器视觉检查系统来说特别常见。
通过引用并入本文的'232申请和'061申请公开了这样的特征,其可以提供编辑环境,其可以在编辑操作期间、在短时间(例如,近“实时”)可靠地更新操作条件或操作上下文,并允许更快速、高效、直观、灵活和健壮地创建和编辑用于精密机器视觉检查系统的部件程序。然而,仍需要与这样的编辑环境相关联的复制和粘贴操作。已知的复制和粘贴的方法也不支持与在'232申请和'061申请中公开的操作关联的元素和功能。困难在于,在机器视觉检查系统部件程序中的复制和粘贴指令比不实际移动物理对象的基于文本的程序中的剪切和粘贴指令更复杂,且甚至比用于机器工具或组装机器人等的程序中的剪切和粘贴指令更复杂。通过先前已知的方法,不能执行根据部件程序中的一个位置处的适当操作上下文配置、随后粘帖到部件程序的另一个位置的复制指令。先前已知的基于文本的方法,即使可能能够执行所需的操作,也不能被相对不熟练的用户使用,所述相对不熟练的用户非计算机程序员,且不理解用来编写被存储和再调用以便之后执行来检查工件的基础部件程序的计算机语言。在'232申请和'061申请中概述的方法与这样的编辑环境相关:其允许高速操作上下文生成和使用,并向相对不熟练的程序编辑者提供相对即时和真实的“程序创建和编辑结果”反馈,但未考虑到与从部件程序的一个部分复制“允许上下文的操作”程序指令并将其粘帖到部件程序的另一部分相关联的困难。期望用于在这样的编辑环境中进行复制和粘贴的手段。
根据上述考虑,对于机器视觉检查系统来说,期望提供这样的复制和粘贴操作,其在编辑部件程序时与对操作上下文的近实时更新兼容,以便在对修改和/或添加编程时验证操作条件的真实集合可用作所述修改和/或添加的基础或操作上下文。这在通过记录机器视觉检查系统的用户输入的实际控制操作而创建和编辑部件程序时尤其重要,原因在于,用户基于机器视觉检查系统的状态和/或其提供其输入操作时呈现的图像的外观和位置等,直观地选择其输入操作的细节。因此,用户没有首先在如由部件程序的先前指令在运行模式期间在其执行自动模式期间的执行所提供的那个位置、在基本相同的操作上下文中建立系统的情况下,不能在部件程序中的任意位置开始部件程序的有效和可靠的修改。迄今,没有通用机器视觉检查系统,尤其没有记录实际用户控制的操作以便创建部件程序的系统(例如,与简单的图形对象或基于文本的编程系统相反)已提供了这样的编辑环境,其能够可靠且稳健地提供有效的部件编程操作上下文,用于在编辑操作期间近实时复制和粘贴操作。
复制和粘贴操作应至少包括一些自动操作,使得复制和粘贴操作可由相对不熟练的用户使用。在各种实施例中,复制和粘贴操作应向用户呈现为:在可由相对不熟练的用户编辑的部件程序指令的简单表示上、而不是在实际形成被存储并运行以自动执行检查操作的部件程序指令的基于基础文本的语言上动作。在各种实施例中,可与可被编辑的简单表示相关联的各种元数据被包括在基础部件程序指令或代码中,使得它们被隐藏。在各种实施例中,它们的存在和/或去除可能对用户不可见,以避免GUI中的混乱,并避免对相对不熟练的用户混淆。用于运行的编辑模式的替代数据可以是一个这样类型的元数据。在为“步骤-重复”程序定义的阵列的形式中的数据格式可以是元数据的另一个例子。在各种实施例中,复制和粘贴操作自动调整(增加、删除、修改)与部件程序指令的复制的表示相关联的元数据,使得调整后的元数据可以与部件程序内的粘帖位置兼容。在各种实施例中,所粘贴的表示自身中可能不反映基础关联的指令或元数据(如替代数据等)的存在、不存在、或改变。相反,复制和粘贴命令可包括这样的操作,其被构造为使得对用户识别有用的元数据状态的方面被反映在状态指示符(例如,节点标识、编码的光标状态、插入指向状态、“彩条”的状态,其将其状态沿着代码块的边缘延伸到颜色代码,如在'232申请等中公开的)中,所述状态指示符通常在用来执行此功能的编辑界面中被使用。因此,复制和粘贴操作提供粘贴的代码,其与它被粘贴到的操作上下文兼容,并以与用户可能在粘帖位置和/或在该操作上下文中执行的其它编程操作(例如,新操作创建等)共享许多或大多数操作特性的方式,关于状态指示和运行操作等而作用,包括其响应于粘贴位置的编辑操作的行为,等等。
在编辑环境由于部件程序指令以基础编程语言(例如,标记语言)编写而抑制部件程序指令、并替代地在编辑界面中使用指令的简化表示以有助于由相对不熟练的用户(例如,不理解标记语言的用户)编程时,出现另外的考虑。在这样的情况下,在各个实施例中,这对复制和粘贴命令来说可能是有利的:对指令表示和基础编程语言都自动操作,同时向用户隐藏基础程序复制和粘贴操作。这对复制和粘贴命令来说也可能是有利:自动展开最初在指令表示中收缩的任何父节点,使得用户可以看到它们的子节点,从而理解复制和/或粘贴操作的全部范围。此外,如上所述的编辑环境的图形用户界面可以包括编辑上下文状态指示符,其在接近于所显示的部件程序表示的位置中显示,以指示该位置的编辑上下文状态(操作上下文状态)。在这样的情况下,这对复制和/或粘贴命令来说可能是有利的:操作使得粘贴的元素以类似于新创建或插入的新的指令那样的方式作用,而不考虑从复制位置被复制。在这种情况下,编辑上下文状态指示符可以保守地指示在粘贴位置的操作上下文和/或编辑上下文是有问题或无效的,直到使用视觉系统运行对应于粘贴的元素的指令(例如,在替代/模拟和/或实际执行模式)为止。在一些实施例中,编辑上下文状态指示符可包括指令指针,其取决于与其在所显示的部件程序表示中的位置相对应的编辑上下文状态而改变颜色。
在本申请的上下文中,下面题为“复制和粘贴操作、特征和实现的概述”的部分意在说明一些但不是所有可能的实施方式,并且不意图是限制性的,然而,它意在涵盖解决上述问题并且可以提供其它好处的各种实施例。本权利要求书的范围内的各种替代实施方式是可能的,并且本领域的普通技术人员在与上面合并的'232申请和'061申请的教导结合具有此申请的材料中的教导或公开的各种原理的优点之后,能够理解或意识到各种替代实施方式。
复制和粘贴操作、特征和实现的概述
根据本发明的一个方面,包括计算机可执行指令的计算机可读介质被提供如下:
1、计算机可读介质,其包括计算机可执行指令,其被配置为加载到计算机上,以使计算机能够执行用于在机器视觉检查系统中编辑部件程序时复制和粘贴一组机器视觉部件程序操作的方法,该机器视觉检查系统包括:成像部分、用于在成像部分的视野中持有一个或多个工件的台、控制部分、编辑部分、显示器、图形用户界面(GUI)、以及学习模式,其被配置为使得可操作用来接收用户输入,以控制机器视觉检查系统的操作,并记录与所控制的操作相关联的部件程序指令,以便创建部件程序,要执行的方法包括:
提供与编辑部分相关联的复制命令和粘贴命令;
提供GUI的编辑界面部分,所述编辑界面部分可操作以显示基础部件程序指令的可编辑部件程序表示,所述部件程序表示包括指令表示;
在编辑界面部分中显示基础部件程序的部件程序表示;
在所显示的部件程序表示中的复制位置上选择至少第一指令表示,以定义与基础选择的指令副本集相关联的所选指令表示副本集;
操作该编辑界面部分,以在所显示的部件程序表示中定义要粘贴所选指令表示集的粘帖位置,该粘帖位置与基础的部件程序中的指令粘贴位置相关联;
操作该编辑部分,使得它执行针对于所选指令表示副本集和所选指令副本集中的至少一个的副本集修改操作,副本集修改操作包括通过包括下面中的至少一个的操作来形成修改的所选指令表示副本集:a)修改所选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上下文兼容所需的元素和关联添加到所选指令表示副本集,以及c)基于通过包括以下中的至少一个的操作形成的修改的所选指令副本集,形成修改的所选指令表示副本集:c1)修改所选指令副本集的与指令粘贴位置操作上下文不兼容的元素和关联,以及c2)将与指令粘贴位置操作上下文兼容所需的元素和关联添加到所选指令副本集;以及
操作编辑部分,使得它执行粘贴操作,包括将修改后的所选指令表示副本集粘贴到所显示的部件程序表示中的粘贴位置。
下面的部分通过示例的方式而不是通过限制的方式,公开了关于实现和详细特征的各种细节。如将被本领域的技术人员基于公开的材料和并入的文献所理解的,上面列出的计算机可读介质的各种元件可以包括下面在各种实施例中概述的各种特征和/或方面:
·所选指令表示副本集和关联的基础所选指令副本集中的至少一个可包括程序节点。该程序节点可包括包含子节点的父节点。
·修改所选指令副本集的元素和关联和/或修改所选指令表示副本集的元素和关联可包括:改变与这样的元素相关联的特征名称、容限名称、部件坐标系名称、“测量点缓冲”名称、或显示的变量名称,等等(例如,在所显示的指令表示和/或基础指令代码中)。更一般地,任何“存储的元素”名称可在将包括存储的元素名称的指令或表示的副本粘贴到新位置之前改变。优选地,该改变可为自动改变,或者可包括自动显示的对用户的改变提示。
·修改所选指令副本集的元素和关联和/或修改所选指令表示副本集的元素和关联可包括:改变与这样的元素相关联的唯一节点标识(例如,与指令表示相关联、但未在部件程序表示中显示的唯一节点标识,和/或在基础指令码中包括的唯一节点标识)。优选地,这种改变可为自动改变。
·如果所选指令表示副本集被粘贴到步骤和重复循环,则修改所选指令副本集的元素和关联和/或修改所选指令表示副本集的元素和关联可包括:改变与这样的元素相关联的特征名称、容限名称、部件坐标系名称、“测量点缓冲”名称、或显示的变量名称,等等(例如,在所显示的指令表示和/或基础指令代码中),其可包括改变或添加与步骤和重复循环的操作上下文一致的元素或格式。在一个实施例中,这可包括改变显示的元素名称(例如,特征名称),以包括“索引括号”等,其为可用于保持在步骤和重复循环的操作上下文中的各种阵列位置或循环迭代索引等的格式元素(例如,以识别或命名步骤和重复位置中的特定一个的“循环操作”迭代的结果)。更一般地,任何“存储的元件”名称可在将包括存储的元素名称的指令或表示的副本粘贴到步骤和重复循环中的新位置之前被改变或重新格式化。优选地,该改变可为自动改变,或者可包括自动显示的对用户的改变提示。
·如果所选指令表示副本集是从步骤和重复循环复制、且在步骤和重复循环之外粘贴,则修改所选指令副本集的元素和关联和/或修改所选指令表示副本集的元素和关联可包括:改变或移除特征名称、容限名称、部件坐标系名称、“测量点缓冲”名称、或显示的变量名称,等等(例如,在所显示的指令表示和/或基础指令代码中),或专用于步骤和重复循环的操作上下文的格式。在一个实施例中,这可包括改变显示的元素名称(例如,特征名称),以删除“索引括号”等,其为可用于保持在步骤和重复循环的操作上下文中的各种阵列位置或循环迭代索引等的格式元素(例如,以识别或命名步骤和重复位置中的特定一个的“循环操作”迭代的结果)。更一般地,任何“存储的元件”名称可在将包括存储的元素名称的指令或表示的副本粘贴到步骤和重复循环外的新位置之前被改变或重新格式化。优选地,该改变可为自动改变,或者可包括自动显示的对用户的改变提示。
·修改所选指令副本集的元素和关联和/或修改所选指令表示副本集的元素和关联可包括清除这样的元素。
·编辑部分可进一步被操作,使得它执行粘贴操作,包括将修改后的所选指令副本集粘贴到基础部件程序表示中的指令粘贴位置。
·编辑部分可以被操作,以执行复制集修改操作,包括操作所述GUI来运行复制命令,使其针对于所选指令表示副本集和/或相关联的基础所选指令副本集。
·副本集修改操作中的至少一些可以响应于运行复制命令而被自动执行。在一个实施例中,这样的操作包括移除以下中的至少一个:a)对应于所选指令表示副本集的替代数据,以及b)所选指令表示副本集和任何对应的替代数据之间的关联(例如,在一个实施例中,可以通过被移除或改变的节点标识来提供该关联,使得该关联中断)。在一个实施例中,这样的操作可以包括:在移除了对应的替代数据和/或其关联之后,将所选指令副本集和所选指令表示副本集中的至少一个的副本移动到剪贴板。在一个实施例中,Windows剪贴板功能可以被用于剪贴板操作。在一个实施例中,可以使用Windows“私人”剪贴板功能。
·副本集修改操作中的至少一些可以响应于运行粘贴命令而被自动执行。在一个实施例中,这样的操作包括添加或改变以下中的至少一个:a)所选指令表示副本集和对应的替代数据存储地址或位置之间的关联(例如,在一个实施例中,可以通过被添加或改变的节点标识来提供该关联,使得该关联被创建),以及b)特征名称、容限名称、部件坐标系名称、“测量点缓冲”名称、或显示的变量名称,等等。在一个实施例中,这样的操作可以包括:将所选指令副本集和所选指令表示副本集中的至少一个的副本从剪贴板移动到粘贴或指令粘贴位置。在一个实施例中,Windows剪贴板功能可以被用于剪贴板操作。在一个实施例中,可以使用Windows“私人”剪贴板功能。
·在一个实施例中,复制和/或粘贴命令可被显示在GUI中,并且,可由用户选择和/或执行命令来激活相应的操作,以提供针对所选指令表示副本集和/或相关联的基础所选指令副本集的副本集修改操作。
·在一个实施例中,编辑界面部分可被操作,以通过以下步骤选择和/或运行针对所选指令表示副本集和/或相关联的基础所选指令副本集和/或其修改的对应物的复制命令:在GUI的编辑界面部分中选择表示副本集和/或相关联的基础所选指令副本集;操作GUI来显示菜单,至少包括对应于所选指令表示副本集和/或相关联的基础所选指令副本集的复制命令;以及在显示的菜单中选择复制命令。
·在一个实施例中,编辑界面部分可被操作,以通过以下步骤选择和/或运行针对所选指令表示副本集和/或相关联的基础所选指令副本集和/或其修改的对应物的粘贴命令:在部件程序表示中的粘贴位置定位光标或GUI的其它编辑位置指示符;操作GUI来显示菜单,至少包括剪贴板上的对应于所选指令表示副本集和/或相关联的基础所选指令副本集或其修改的对应物的粘贴命令;以及在显示的菜单中选择粘贴命令。
·如程序和例程所共同的,在各个实施例中,与“复制”命令相关联和与“粘贴”命令相关联的操作之间的各种操作的分割可以变化,以取各种形式。这样的各种形式可以是本领域的普通技术人员基于这里公开的教导获得的任意形式,只要该形式可操作来提供这里公开或要求的特征即可。
·在一个实施例中,“表示”(例如,部件程序表示)可被解释为使得其被认为包括以标记语言编写的机器可执行代码指令以及在GUI上显示的可编辑指令表示,其与它们相应的基础代码指令相关联。在一个实施例中,可以这样解释是因为,例如,在重调用先前创建和存储的部件程序、并在GUI中显示其表示时,可从基础机器可执行代码指令生成表示。
·可以标记语言编写基础机器可执行代码指令。标记语言可以是定制的“类XML”或“类HTML”语言。
·在一个实施例中,这里公开的与复制和粘贴操作相关的方法可包括以下步骤中的一个或多个:
ο在所显示的部件程序表示中的复制位置选择至少第一指令表示,以定义与基础所选指令副本集相关联的所选指令表示副本集;
ο操作GUI,以发起创建所选指令表示副本集和基础所选指令副本集中的至少一个的副本的复制操作(例如,通过针对所选指令表示副本集激活复制命令小部件);
ο自动执行复制操作,以执行针对所选指令表示副本集和所选指令副本集中的至少一个的副本集修改操作的第一子集(例如,副本集修改操作的第一子集可针对于专用于复制位置的操作上下文的元素,例如,其可包括消除关联的替代数据和/或它与复本集的关联,和/或提供新的或改变的唯一节点标识,等等)。部分修改的副本集可被存储在剪贴板上;
ο在所显示的部件程序表示中定义要粘贴所选指令表示集的粘贴位置,所述粘贴位置与基础部件程序中的指令粘贴位置相关联;
ο操作GUI,以发起针对于所选指令表示副本集和基础所选指令副本集中的部分修改的对应物的至少一个的粘贴操作(例如,通过针对粘贴位置激活粘贴命令小部件);
ο自动执行粘贴操作,以执行针对于所选指令表示副本集和所选指令副本集中的至少一个的部分修改的对应物的副本集修改操作的第二子集。例如,副本集修改操作的第二子集可针对于专用于粘贴位置的操作上下文的元素,包括下面中的至少一个:a)修改所选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上下文兼容所需的元素和关联添加到所选指令表示副本集(例如,a或b可以适当的格式等提供新的或改变的特征名称,等等),以及c)基于通过包括以下中的至少一个的操作形成的修改的所选指令副本集,形成修改的所选指令表示副本集:c1)修改所选指令副本集的与指令粘贴位置操作上下文不兼容的元素和关联,以及c2)将与指令粘贴位置操作上下文兼容所需的元素和关联添加到所选指令副本集。可自动从剪贴板、以及被执行以创建(完整)修改的所选指令表示副本集和/或(完整)修改的所选指令副本集的副本集修改操作的第二子集,取回部分修改的副本集;
ο自动执行粘贴操作,其在部件程序表示中的粘贴位置上粘贴修改的所选指令表示副本集,和/或在基础部件程序中的指令粘贴位置上粘贴修改的所选指令表示副本集;
ο自动执行编辑界面GUI的操作,其指示粘贴的修改的所选指令表示副本集具有与新创建或插入的“新指令”类似的状态,尽管从先前可能已执行的位置复制。
·在一个实施例中,复制操作包括自动展开在所选指令表示副本集中包括的至少一个父节点,以显示在所选指令表示副本集中包括的所有其子节点。在所选指令表示副本集中包括的节点可在GUI中被高亮,作为对其程度的进一步指示。在一些实施例中,显示在所选指令表示副本集中的所有节点。在一个实施例中,在运行其之前,这在选择或“鼠标悬停”复制命令小部件时发生。
·在一个实施例中,粘贴操作包括自动展开粘贴的修改的所选指令表示副本集中包括的至少一个父节点,以显示在修改的所选指令表示副本集中包括的所有其子节点。在粘贴的修改的所选指令表示副本集中包括的节点可在GUI中被高亮,作为对其程度的进一步指示。在一些实施例中,显示在粘贴的修改的所选指令表示副本集中的所有节点。在一个实施例中,在运行其之前,这在选择或“鼠标悬停”粘贴复制命令小部件时发生。
附图说明
图1是示出通用精密机器视觉检查系统的各种典型组件的图。
图2A和2B是类似于图15的机器视觉检查系统的控制系统部分和视觉组件部分的框图,包括可在根据本发明的各个实施例使用的模块和特征。
图3A-19是包括包含根据这里公开的原理的复制和粘贴操作的一个实施例的表示的编辑界面或GUI、以及被配置为在编辑期间协助用户的各种窗口、菜单和工具栏的图。
图20A-24E是以标记语言编写的部件程序代码指令或其部分的图,其对应于在图3A-19中表示的序列操作中描述的各种状态和/或操作序列。
图25A和25B示出了根据这里公开的原理的流程图,其示出用于在机器视觉检查系统中编辑部件程序时复制和粘贴机器视觉部件程序操作集的例程的一个例子。
具体实施方式
关于此处公开的任何描述和/或附图、附图的许多功能,包括硬件和软件组件及其相应的操作、GUI特征及其相应的操作等,可以基于对图1的其基本类似的对应物的描述而理解,图1是可在本发明的各个实施例使用的一个示例性机器视觉检查系统10的图。机器视觉检查系统10包括视觉测量机器12,其可操作地与控制计算机系统14连接,以交换数据和控制信号。控制计算机系统14进一步可操作地与监视器或显示器16、打印机18、操纵杆22、键盘24和鼠标26连接,以交换数据和控制信号。监视器或显示器16可以显示适合于对机器视觉检查系统10的操作进行控制和/或编程的用户界面,例如用于生成和编辑部件程序的图形用户界面,根据本发明的各个实施例,所述部件程序包括步骤-重复指令,包括执行作为程序生成和编辑操作的一部分的剪切和粘贴操作。
视觉测量装置12包括可移动工件台32和光学成像系统34,其可以包括变焦透镜或可更换镜头。变焦透镜或可更换镜头通常提供对光学成像系统34提供的图像的各种放大。机器视觉检查系统10通常类似于上述讨论的QUICK 系列视觉系统和软件、以及类似现有技术的商用精密机器视觉检查系统。机器视觉检查系统10在共同转让的美国专利7454053、7324682、8111938和8111905中也被描述,其各自通过引用并入本文。
图2A和2B是类似于图1的机器视觉检查系统10的机器视觉检查系统100的控制系统部分120和视觉组件部分200的框图,控制系统部分120包括可在本发明的各实施例中使用的特征。控制系统部分120被用来控制所述视觉组件部分200。如图2A所示,视觉组件部分200包括光学配件部分205、光源220、230和240、以及工件台210,其具有中央透明部分212。工件台210可受控沿着位于通常与放置工件20的台面平行的平面的X和Y轴移动。光学配件部分205包括相机系统260、可更换物镜250,并且可以包括转台透镜配件280,其具有透镜286和288。作为转台透镜配件的替代,可以包括固定或手动可更换的倍率改变透镜、或变焦透镜配置等。通过使用可控马达294,光学配件部分205可受控沿垂直于X和Y轴的Z轴移动。
使用机器视觉检查系统100成像的工件20、或持有多个工件20的托盘或夹具,被放置在工件台210上。工件台210可以被控制以相对于光学配件部分205移动,使得可更换物镜250在工件20的位置之间、和/或多个工件20之间移动。台照明220、同轴照明230、以及表面照明240的一个或多个可以分别发射源光222、232或242,用以对工件20照明。源光作为工件光255被反射或透射,其经过可更换物镜250和转台透镜配件280,并由相机系统260收集。将相机系统260拍摄的工件20的图像在信号线262上输出到控制系统部分120。光源220、230和240可通过信号线或总线221、231和241分别连接到控制系统部分120。为改变图像放大率,控制系统部分120可以沿轴284转动转台透镜配件280,以通过信号线或总线281选择转台透镜。
在各种示例性实施例中,使用驱动致动器的可控马达294、连接线缆等,光学配件部分205可沿垂直Z轴方向相对于工件台210移动,以将光学配件部分205沿Z轴移动,以改变由相机系统260拍摄的工件20的图像的焦点。如这里所使用术语“Z轴”表示意欲被用于对光学配件部分205获得的图像聚焦的轴。在使用时,可控马达294通过信号线296被连接到输入/输出接口130。
如图2A中所示,在各个示例性实施例中,控制系统部分120包括控制器125、电源部分128、输入/输出接口130、存储器140、工件程序(部件程序)生成器和执行器150、记录翻译器155、学习模式执行器156、运行模式执行器157、编辑部分160、替代数据管理器180、程序状态管理器185、节点管理器190、自动滚屏管理器195、以及复制和粘贴管理器169。这些组件、以及下文描述的附加元件中的每个,可通过一个或多个数据/控制总线和/或应用编程接口、或者通过各种元件之间的直接连接,而相互连接。本领域技术人员显而易见的是,取决于每个实现,这些组件中的任意组件可被合并到一起,可包括多个子组件,或者,它们各自的子组件中的任意子组件可以被合并到一起。
输入/输出接口130包括成像控制接口131、运动控制接口132、照明控制接口133、以及透镜控制接口134。运动控制接口132可包括位置控制元件132a、以及速度/加速度控制元件132b,然而,这些元件可以被合并,和/或无需区分。例如,如果适用,照明控制接口133控制选择、功率(强度)、开/关切换、以及选通脉冲定时,以用于机器视觉检查系统100的各种相应光源。
存储器140包括图像文件存储部分141、可包括一个或多个部件程序142PP等的工件程序存储部分142、视频工具部分143、以及在所示实施例中的替代数据存储部分144,其可包括替代数据144SD。视频工具部分143包括各自包括GUI和被限定以执行特定的功能的图像处理操作的各种视频工具(统称为143a),所述特定的功能如边缘/边界检测工具、自动对焦工具、形状或图案匹配工具、以及尺寸测量工具。许多已知的视频工具被包含在商用机器视觉检查系统中,如以上讨论的QUICK系列视觉系统和相关的软件。视频工具部分143还包括感兴趣区域(ROI)生成器143x,其支持自动、半自动和/或手动操作,其定义可在被包括在视频工具部分143中的各种视频工具中操作的各种感兴趣区域。
替代数据存储部分144包括替代数据144SD。根据一些实施例,在编辑部件程序时,不同于需要从开始执行部件程序的全部步骤、以便生成所需操作上下文来继续在程序的特定位置编辑,可使用先前保存的数据作为替代数据,来模拟所需的操作上下文(在硬件设置和软件参数和值这两方面),如在先前引用的'232申请所述。
一般,存储器部分140存储可用来操作视觉系统组件部分200的数据,以拍摄或获取工件20的图像,使得工件20的所获取的图像具有期望的图像特性。存储器部分140还可以存储检查结果数据,并且还可以存储可用以操作机器视觉检查系统100的数据,以便以手动或自动方式对所获取的图像执行各种检查和测量操作(例如,部分作为视频工具实现的),并通过输入/输出接口130输出测量结果。存储器部分140还可包含定义可通过输入/输出接口130操作的用户界面的数据。
台照明220、同轴照明230和表面照明240的信号线或总线221、231和241分别都连接到输入/输出接口130。来自相机系统260的信号线262、以及来自可控马达294的信号线296被连接到输入/输出接口130。除了传递图像数据之外,信号线262可传递来自控制器125的信号,其发起图像获取。
一个或多个显示设备136(例如,图1的显示器16)和一个或多个输入设备138(例如,图1的操纵杆22、键盘24和鼠标26)也可以连接到输入/输出接口130。显示设备136和输入设备138可用于显示用户界面,其可以包括各种用户界面特征,其可用来进行检查操作,以创建和/或编辑(修改)部件程序,包括作为程序创建和/或编辑处理的一部分执行剪切和粘贴的操作,以查看由相机系统260拍摄的图像,和/或直接控制视觉系统组件部分200。特别地,根据本发明的各种示例性实施例,显示设备136和输入设备138被用于呈现各种用户界面特征,其可用来允许用于机器视觉检查系统100的部件程序的快速、高效、直观、灵活和稳健的编辑,包括执行剪切和粘贴操作。
工件生成器和执行器150、记录翻译器155、学习模式执行器156、运行模式执行器157、编辑部分160、替代数据管理器180、程序状态管理器185、节点管理器190、自动滚屏管理器195、以及复制和粘贴管理器169可以在一个实施例中均被认为是被链接到控制器125的通用机器控制器块MC的一部分。工件程序生成器和执行器150负责创建和执行部件程序。应当理解的是,术语“工件程序”和“部件程序”在这里可互换使用。根据工件程序生成器和执行器150的操作,通过使用工件编程语言而显式自动、半自动或手动对指令编码,和/或通过在学习模式中操作所述机器视觉检查系统100生成指令(例如,如由学习模式执行器156控制)来提供期望图像获取训练序列,用户利用机器视觉检查系统100来创建用于工件20的部件程序。例如,训练序列可以包括在视野(FOV)中定位工件特征、设置照明级别、对焦或自动对焦、获取图像、以及提供施加到图像的检查训练序列(例如,使用视频工具)。学习模式操作,使得“学习的”操作序列(S)被记录,并被转换为对应的部件程序步骤(即,指令)。当部件程序在运行模式下被执行(例如,如由运行模式执行器157控制)时,这些部件程序步骤会使机器视觉检查系统100再现训练的图像获取和检查操作,以自动检查与在创建部件程序时使用的工件匹配的工件。
该记录翻译器155被用于将机器操作翻译成部件程序代码。换句话说,如果用户执行动作(例如,诸如手动改变该用于测量工件上的特征的视频工具),则生成基本指令,其被翻译成机器可读的语言,以形成部件程序,并还可执行逆向翻译。如将在下面更详细地描述的,在本发明的各种实施例中,可编辑的指令表示被显示在编辑GUI中,并且,指令表示指向例如以标记型语言编写的机器可读代码指令。该记录翻译器155可以在可编辑指令表示及其对应的代码指令之间执行翻译。编辑部分160提供或激活有关编辑部件程序的各种操作和用户界面特征,如下面将参照图2B更详细描述的。
在一些实施例中,替代数据管理器180链接到替代数据,其可以被记录在部件程序中。在某些实现中,替代数据管理器180负责从通常会生成其的输出获得所述替代数据,并提供所述替代数据,以被写入到该部件程序。随后,可使替代数据可用的部件程序中的点可使用该替代数据,来建立适当的操作上下文以用于编辑该点的目的,而不是为了提供适当的操作上下文的目的、已实际运行到该点的部件程序而收集实际数据。在一个实施例中,程序状态管理器185管理:程序是受保护还是未受保护的。在一个示例实施例中,受保护的程序是已完成编辑处理的程序,如可在运行模式中在工厂中利用的。在一个实现中,未受保护的部件程序可包括存储的替代数据,用于在为了编辑目的而生成正确的操作上下文时使用。程序状态管理器185还负责确保:当部件程序是未受保护的时,替代数据仍被记录在部件程序中,且当由编辑部分160再调用部件程序时,替代数据被指示为可用。
在一个实施例中,节点管理器190负责管理分配给部件程序中的节点的节点号。在一个实现中,在部件程序的表示内,每个指令表示被分配节点号。在某些实现中,可利用组织的树结构,其包括父节点和子节点。在某些实现中,由节点管理器190对由记录翻译器155生成的部件程序表示的每行分配节点号。自动滚屏管理器195利用节点管理器190分配的节点号,以同时在不同的窗口中显示相关联的部件程序元素的相关元素、以及对应的编辑功能。例如,为允许用户看到工件的哪些测量与部件程序中的哪些指令表示和/或编码的指令相关,自动滚屏管理器195可自动地在相应窗口滚动到与相关节点号对应的编码的指令和/或部件程序表示中的相关行。
复制和粘贴管理器169负责创建/生成复制和粘贴编程元素指令等,其可对应于题为“复制和粘贴操作、特征和实现的概述”的章节中的描述,并且,其可被用来编辑/形成工件程序的一部分。复制和粘贴管理器169也可以提供在GUI的编辑界面部分中的复制和粘贴的元素的可编辑表示。对此,复制和粘贴管理器169可以访问并使用由工件程序生成器和执行器150、记录翻译器155、编辑部分160、替代数据管理器180、程序状态管理器185、以及自动滚屏管理器195提供的任何功能、操作和用户界面特征。对于复制和粘贴管理器169来说,替换配置是可能的。举例来说,在一些实施例中,复制和粘贴管理器169和工件程序生成器和执行器150、记录翻译器155、编辑部分160、替代数据管理器180、程序状态管理器185、以及自动滚屏管理器195中的一个或多个可以被合并和/或不作区分。通常,本发明可以以任何现在已知或以后开发的形式实现,其结合所述机器视觉检查系统100操作,以提供在此公开的用户界面功能及相关编程和其他操作。
图2B示出图2A的编辑部分160的额外组件。如图2B所示,在编辑部分160包括编辑操作控制器174、编辑用户界面部分176、编辑器命令部分177及编辑执行部分178。编辑操作控制器174控制编辑功能的操作,且编辑用户界面部分176提供用于编辑功能的用户界面特征。编辑用户界面部分176包括程序指令表示窗口176pi,程序指令表示窗口176pi包括表示用户界面特征176r,表示用户界面特征176r包括节点用户界面特征176n。程序指令表示窗口176pi提供部件程序表示,包括部件程序指令的可编辑表示,包括复制和粘贴管理器169生成的复制的指令、以及粘帖的指令的来源,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中描述的、以及在图3A-19中示出的。在一个实施例中,通过复制和粘贴管理器169生成的指令的图形表示可以在树结构中被提供,其包括各自都包括一个或多个子节点的父节点。表示用户界面特征176r提供功能,如为了用户在多个编辑选项中选择的各种下拉菜单、以及工具栏,包括用户可以选择并打开的各种视频工具以创建和编辑各种指令,包括复制和粘贴管理器169生成的指令,等等。在一个实施例中,节点用户界面特征176N可包括诸如图标和颜色高亮的特征,用以指示对应于特定指令或指令块的节点是否正在被编辑或已被编辑,等等,例如,如在'232申请和'061申请与图3A-19中公开的。
在各种实施例中,编辑执行部分178负责在学习模式中的编辑过程期间的各种编辑执行模式中,包括执行的编辑模式,其与在运行模式中执行的运行模式不同。一般,执行的运行模式从开始执行部件程序,以获取和处理(例如,检查和分析)从成像工件获得的实际数据。另一方面,在各实施例中的执行的编辑模式可操作来将至少一些实际数据替换为先前记录的“替代数据”,以使用替代数据而使执行可在部件程序的任何期望点开始,而不是必须从部件程序开头开始,以获得实际数据。即,在各实施例中的执行的编辑模式能够有效地产生编辑部件程序的任何部分所需的正确的操作上下文。应注意,编辑用于机器视觉检查系统的部件程序是比编辑用于机器工具或装配机器人等的程序更复杂的任务。例如,用于机器视觉检查系统的部件程序包括之后(后续)部分,其控制操作和/或提供依赖于图像的测量结果,其至少部分地依赖于通过执行程序的先前部分所实现/取得的结果、和/或被成像以便分析的工件的特定实例。还应注意,视觉系统通常由彼此以复杂方式交互以进行成像/分析操作的各种机械、电气和光学元件。因此,编辑部件程序的任何部分(包括步骤-重复指令)必须基于真实的条件集在正确的操作上下文中完成,即,通过对于要编辑的该部分适当设置(基于真实数据)的视觉系统的各种硬件和软件元素和参数。为实现用于编辑部件程序的正确操作上下文的标准做法是:使视觉系统实际从开头起执行部件程序中的全部指令和/或包括要编辑的指令部分的一部分,这是费时、浪费的,并可能甚至对于大型部件程序来说不可行。在'232申请和'061申请中公开了一个解决方案,其提供能够基于“替代数据”的使用生成用于要编辑的部件程序的特定节点的正确的操作上下文的视觉系统编辑环境。
在一些实施例中,编辑执行部分178包括替代模式部分180、实际模式部分191、以及编辑执行用户界面特征部分192。替代模式部分180包括节点分析器181,其包括替代数据操作181a和机器操作181b。当替代模式部分180运行替代执行模式时,替代数据被用于生成用于继续编辑操作的操作上下文。在一个实现中,节点分析器181确定部件程序执行是否已到达目标节点(例如,在部件程序中要做出修改的位置)。节点分析器181根据涉及节点的类型,确定替代数据操作181A或实际机器操作181B是否将被执行。一般,一旦到达目标节点,则实际机器操作被执行,而对于目标节点之前的部件程序指令,替代数据操作可被用于产生继续编辑操作所需的至少一些操作上下文。如果替代数据丢失,则用户可被提示允许/执行实际机器操作,以生成所需的操作上下文。在一个实现中,对每个节点进行分析,以确定替代数据操作是否适用,包括替代数据是否存在,它是否为用于替代数据操作的节点的正确类型,或者是否需要利用实际机器操作,等等。例如,在部件程序中的一些节点可能需要实际机器操作,如工件台、成像部分等的实际移动,以获取不能用替代数据替代的实际数据。
实际模式部分191包括由现有机器视觉系统以更传统方式执行的操作。应当理解,实际模式部分191也可以由替代模式部分180调用,以在适当的时候执行该机器操作181b。实际模式部分191包括机器操作191a和数据操作191b。机器操作191a执行实际机器操作(例如,移动台,作为视频工具操作的一部分),而数据业务191b一般输出数据。编辑执行用户界面特征192提供用户界面特征,用于执行编辑功能(例如,关于各种执行操作的状态的指示,如颜色代码,其指示部件程序的哪个部分已利用了替代数据或已通过实际执行而运行,等等)。在各种实施例中,这样的特征可被实施为在'232申请和'061申请中公开的那样。
编辑器命令177包括运行段部分177a、修改部分177b、插入/追加部分177c、复制命令177d和粘贴命令177e。复制和粘贴命令可以激活复制和粘贴管理器169的相应操作、和/或在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的各种复制和粘贴操作与方法。如上讨论的,在各种实施例中,复制和粘贴管理器169可以访问和使用包括编辑操作控制器174、编辑UI部分176、编辑执行部分178及编辑器命令177的编辑部分160提供的任何功能和特征。
一般,运行段部分177a执行部件程序的所选段的实际运行。应当理解,为了运行部件程序的所选段,必须建立到所选段的适当的操作上下文。可以通过利用替代数据来建立适当的操作上下文。
修改部分177b具有与运行段部分177a的操作特定的相似性。一般,当选择部件程序中的指令表示来修改(编辑)时,替代模式可被用于在该要修改的指令之前的部件程序的部分,以便生成用于编辑目的正确的操作上下文。在一个实施例中,当选择用于部件程序中的指令表示的修改命令时,用于该指令表示的节点被指定为目标节点。一旦到达目标节点,编辑器将替代模式切换到实际执行模式(例如,通过实际模式部分191的控制),并执行该目标节点的第一相关的部件程序指令。
图3A和3B是用户界面屏幕的图,用户界面屏幕包括编辑界面301的图,编辑界面301包括具有多个初始的部件程序指令表示的部件程序的表示,所述初始的部件程序指令表示可以被显示在显示设备136(例如,图1的显示器16)上。编辑界面允许用户生成和编辑包括用于机器视觉检测系统的“步骤和重复”指令的部件程序。编辑界面还包括各种测量和/或操作选择栏,如顶部和侧面的选择栏。图3B示出了也被显示在显示设备136上的图像界面,包括视野窗口302,它显示工件的(视频)图像,在其上可执行图3A(在编辑界面301中)的部件程序。在一些实现中,机器视觉系统执行多个离散工件的部件程序,在其它实现中,执行单个工件的多个工件特征(如通过表面定义的多孔)的部件程序。因此,在特定上下文中,术语“工件”和“工件特征”在这里可互换使用。图像界面包括各种测量和/或操作选择栏,如选择栏303A、303B,以及实时X-Y-Z(位置)坐标窗口304,其表示在相关坐标系中的工件台上被成像/分析的工件的X-Y-Z位置。坐标系提供用于测量的基准,并且一般是工件坐标系(例如,使用矩形工件的一角作为原点)、或由工件台的线性尺度定义的机器坐标系。图像界面还进一步包括照明控制窗口305。
部件程序表示被设置,以确定一般为圆形的工件特征415的特征,如通过表面限定的孔。在一个实施例中,每个部件程序指令表示与节点相关联,并且被分配节点号(例如,如在'232申请和'061申请中公开的)。在某些实现中,利用树结构,其中,一些指令表示与父节点相关联,一些与子节点相关联。例如,子节点指令表示分别与图3A-19的其父节点指令表示相关联。如这里所用的,每个显示在编辑界面301(图3A)上的程序指令表示可被互换地称为“节点”。还将理解,在一个实施例中,显示在编辑界面上的指令表示包括从部件程序的标记语言指令(代码指令)导出的图标和标签。在一些实施例中,部件程序的标记语言可以包括XML类代码,如定制的标记语言代码。由此,指令表示“指向”、或者具有与机器可执行的相关联的代码指令的关联。
如图3A的编辑界面301所示,“前序”节点表示在运行模式中运行部件程序所需的处理,其典型地是在进入学习模式时产生。“前序”节点是父节点,其可以包括子节点:例如,“设置照明”节点与“移动台”节点。“设置照明”节点定义在什么强度级别上使用什么类型的照明,其中用户能够使用在照明控制窗口305中包括的滑动条容易地进行设定和调整。根据各种实现,“移动台”节点定义所述台持有工件的位置,如由用户手动设定的。在图1中,随后的指令/表示(“测量圆形Circle-1”、“对齐原点到Circle-1”、“测量圆形Circle-2”和“对齐X轴到Circle-2”)操作,以通过将坐标系与图3B的圆形特征415的测量特征对齐,来设置工件坐标系。因此,指令表示的操作在相关坐标系中建立工件的正确位置和朝向,以进行另外的测量。图3A还示出了指令指针332。在各种实施例中,指令指针332可以根据与其在所显示的部件程序表示中的位置相对应的编辑上下文状态来改变颜色。即,指令指针的颜色可指示有效的或有问题的(或无效的)编辑上下文(例如,部件程序操作的有效且完整的执行或仿真)是否已建立了直到部件程序中的位置的、所有预期数据和操作条件。如在下面进一步描述的,在各种实施例中,如在这里公开的,与新粘贴的元素相关,这可能是有利的:如果编辑上下文状态指示符保守地自动指示新粘贴的元素(例如,修改的所选指令表示副本集)对应于与新创建或插入的新指令类似的编辑上下文状态,而不考虑从原始副本集与有效编辑上下文状态相对应的复制位置被复制。在一些情况下,指令指针可以被称为插入指针。然而,在各种实施例中,,与无需与指令指针在同一位置的所选和/或高亮的指令表示相关地,确定插入和复制和粘贴位置等。
参照图4,根据本发明的实施例,用户可以使用各种GUI特征定义“步骤和重复”指令。具体而言,当用户在“程序”选项306上放置选择器(例如,光标)时,可出现下拉菜单307,它包括“步骤和重复”选项308。对“步骤和重复”选项的用户选择显示另一个下拉菜单,其包括“阵列(Array)”选项。用户可以选择“阵列”选项,以开始定义“步骤和重复”编程元素的指令,例如,如公开在美国专利8271895中的,其在本文中以全文引入作为参考。
参照图5,在所示出的实施例中,一旦用户如上所述选择了“阵列”选项,“阵列步骤和重复”窗口310可出现在显示屏上,以提示用户定义阵列的总体布置和结构。在一些实施例中,在示出的例子中,用户可以在名称框中输入阵列的名称,其中用户已经输入了“MyLoop”。用户还在第一重复框中定义要沿着一个轴(例如,X轴)进行重复的数目,并在“DX”框中定义沿同一轴的重复之间的间隔距离。类似地,用户在第二重复框中定义要沿着另一个轴(例如,Y轴)进行重复的数目,并在“DY”框中定义沿该轴的重复之间的间隔距离。在示出的例子中,用户已经定义了要以1.5875的间隔沿X轴重复4次、且以1.5875的间隔沿Y轴重复4次的基本的“步骤和重复”指令集,如以分别被编号的[X,Y]的图标所图示的。当用户结束定义阵列的位置时,用户选择确定(OK)按钮,以保存所定义的位置。
图6显示编辑界面301,其包括与先前概述的阵列步骤和重复循环操作相关联的部件程序指令表示。部件程序指令表示现在包括“阵列步骤和重复循环”节点311,其包括“循环的结束”子节点312。
图7A示出编辑界面301,其包括与执行在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的操作的复制命令314的一个实施例相关联的部件程序指令表示。例如,可与下面的非限制性操作示例结合使用复制命令314:
ο在所显示的部件程序表示中的复制位置选择至少第一指令表示,以定义与基础所选指令副本集相关联的所选指令表示副本集;
ο操作GUI,以发起创建所选指令表示副本集和基础所选指令副本集中的至少一个的副本的复制操作(例如,通过针对所选指令表示副本集激活复制命令小部件314);以及
ο自动执行复制操作,以执行针对所选指令表示副本集和所选指令副本集中的至少一个的副本集修改操作的第一子集(例如,副本集修改操作的第一子集可针对于专用于复制位置的操作上下文的元素,例如,其可包括消除关联的替代数据和/或它与副本集的关联,和/或提供新的或改变的唯一节点标识、特征名称、容限名称、部件坐标系名称、测量点缓冲名称、显示的变量名称,等等)。部分修改的副本集可被存储在剪贴板上。
在示出的例子中,用户已选择了“测量圆形Circle-2”表示。
图7B示出了与图7A同步的用于窗口或窗格的界面状态,包括“测量结果”316,其中与选定的(复制的)“测量圆形Circle-2”相对应的测量结果318被高亮,如在'061申请中公开的。在一个实施例中,当表示被显示在GUI的编辑界面部分中时,用户可以选择该表示(例如,在编辑界面上,将光标放置在其上),和/或右键点击所选表示,并且,可出现菜单窗口315,其包括针对于所选表示的各种选项/选择,如“复制”命令选项314,它是包括这里公开的各种操作的复制命令的一个实施例。当用户选择和/或执行“复制”命令选项314时,控制系统部分120(见图2A)中的复制和粘贴管理器169执行该命令的操作,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的。在各实施例中,复制和粘贴管理器169还执行该命令的操作,其自动执行元素删除和/或修改,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的,以消除专用于在所选和复制的表示的位置上的操作上下文的元素。在各实施例中,复制和粘贴管理器169执行该命令的操作,其消除构成所选和复制的表示的基础、并在之后被置于剪贴板上用于粘贴的指令的替代数据副本。在各实施例中,复制命令314自动展开复制的表示中的收缩的父节点,以显示它的子节点,如图8所示,其中,所选“测量圆形Circle-2”的3个子节点全部被显示,如320中所示。图8也示出了复制和展开的节点的高亮。
图9示出编辑界面301,其包括与执行在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的操作的粘贴命令322的一个实施例相关联的部件程序指令表示。例如,可与下面的非限制性操作示例结合使用粘贴命令322:
ο在所显示的部件程序表示中定义要粘贴所选指令表示副本集的粘贴位置,所述粘贴位置与基础部件程序中的指令粘贴位置相关联;
ο操作GUI,以发起针对于所选指令表示副本集和基础所选指令副本集中的部分修改的对应物的至少一个的粘贴操作(例如,通过针对粘贴位置激活粘贴命令小部件322);
ο自动执行粘贴操作,以执行针对于所选指令表示副本集和所选指令副本集中的至少一个的部分修改的对应物的副本集修改操作的第二子集。例如,副本集修改操作的第二子集可针对于专用于粘贴位置的操作上下文的元素,包括下面中的至少一个:a)修改所选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上下文兼容所需的元素和关联添加到所选指令表示副本集(例如,a或b可以适当的格式等提供新的或改变的特征名称,等等),以及c)基于通过包括以下中的至少一个的操作形成的修改的所选指令副本集,形成修改的所选指令表示副本集:c1)修改所选指令副本集的与指令粘贴位置操作上下文不兼容的元素和关联,以及c2)将与指令粘贴位置操作上下文兼容所需的元素和关联添加到所选指令副本集。可从剪贴板、以及被执行以创建(完整)修改的所选指令表示副本集和/或(完整)修改的所选指令副本集的副本集修改操作的第二子集,自动取回部分修改的副本集;以及
ο自动执行粘贴操作,其在部件程序表示中的粘贴位置上粘贴修改的所选指令表示副本集,和/或在基础部件程序中的指令粘贴位置上粘贴修改的所选指令表示副本集。
在图9所示的例子中,用户已将光标/插入指针定位在阵列步骤和重复循环表示之下(内)(在图示例子中的“循环的结束”节点312)。在一个实施例中,随后,用户可点击右键,并且,可出现菜单窗口323,包括针对于所选位置的各种选项/选择,如“粘贴”命令选项322,它是包括这里公开的各种操作的粘贴命令的一个实施例。当用户选择和/或执行“粘贴”命令选项322时,控制系统部分120(见图2A)中的复制和粘贴管理器169执行该命令的操作,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的。在各实施例中,复制和粘贴管理器169还执行该命令的操作,其自动执行元素添加和/或修改,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的,以提供在所粘贴的表示的位置上的操作上下文所需的元素。在各实施例中,复制和粘贴管理器169执行该命令的操作,其自动展开粘贴的表示,以示出其子节点,如图10所示,其中,复制和粘贴的“测量圆形Circle-2”节点320'被展开,以示出其全部3个子节点。图10也示出了复制和/或粘贴操作包括这样的操作,使得粘贴的表示中的特征名称已被修改,以将其与复制的源表示中的特征区分,并使粘贴的元素与粘贴位置兼容。在这个例子中,在特征名称“测量圆形Circle-2_1[,]”中添加的括号[,]在320'指示/使其与其已被粘贴的步骤和重复循环中的其操作上下文兼容,并且,特征名称中的“_1”(下划线1)将其与320中的复制的源特征区分。
图11示出了用户已选择来发起复制的元素的另一个粘贴操作,但此时在步骤和重复循环外(例如,“结束部件程序”表示325已被选择,并且粘贴操作将发生在所选节点之前,这是下面的“循环的结束”表示)。如前,在一个实施例中,用户可以在插入点的选择之后右键点击,并且,可出现菜单窗口323,包括针对于所选位置的各种选项/选择,如“粘贴”命令选项322。当用户选择和/或执行“粘贴”命令选项时,控制系统部分120(见图2A)中的复制和粘贴管理器169执行该命令的操作,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的。在各实施例中,复制和粘贴管理器169还执行该命令的操作,其自动执行元素添加和/或修改,如在上面题为“复制和粘贴操作、特征和实现的概述”的章节中概述的,以提供在所粘贴的表示的位置上的操作上下文所特定的元素。在各实施例中,复制和粘贴管理器169执行该命令的操作,其自动展开粘贴的表示,以示出其子节点,如图12所示,其中,复制和粘贴的“测量圆形Circle-2”节点320”的第二实例被展开,以示出其全部3个子节点。图12也示出了复制和/或粘贴操作包括这样的操作,使得粘贴的表示中的特征名称已被修改,以将其与复制的源表示320中的特征、以及包括类似的特征名称320'的复制的元素的先前粘贴的实例区分,并使粘贴的元素与粘贴位置兼容。在这个例子中,在320”中的特征名称“测量圆Circle-2_2”中不添加括号,这与复制的元素320’的之前的粘贴的实例不同,这是因为,括号[,]将与步骤和重复循环之外的操作上下文(例如,先前粘贴的位置)不兼容。并且,特征名称320”中的“_2”(下划线2)将其与复制的源特征名称320、以及复制的元素的先前粘贴的实例中的特征名称320'相区分。
图13A顺便示出了:“圆形工具”327的粘贴的副本的几个属性保留了复制的源元素的值,如通过属性/参数列表329所示,其定义在复制的元素320"的第二实例中包括的“圆形工具”327,其中假定这些元素与粘贴位置不兼容(在编程的意义上)。应当理解,根据期望的部件程序行为,“不兼容”在编程意义与“不适当”不同。例如,保留的属性(例如,圆形工具位置参数)可能不适当,因为用户预期编辑它们(例如,如由图13A中的高亮的“修改”命令330所示),但它们“不兼容”,因为它们具有对编辑操作的非预期的效果,或使所得到的部件程序冲突或以非预期的方式作用。在各实施例中,或许最重要的是,它们在以下意义上不兼容:用户必须执行以计算机语言编写的基础指令的编辑,以便使粘帖的表示或其基础指令在部件程序和/或编辑环境中操作。在至少一些实施例中,复制和/或粘贴命令将自动执行兼容性所需的所有上下文相关的操作,使得用户可在显示在GUI的编辑部分(例如,在编辑界面301)、和/或相关的GUI窗口和菜单中的部件程序表示的级别,使用复制和粘贴操作来编辑部件程序。在一些实施例中,如果复制和粘贴命令不能在复制和/或粘贴表示/指令的特定情况下自动执行这样的操作,则相关的错误消息将被显示。在图13A中,在测量圆形Circle-2_2节点下,关于所选“圆形工具”指令表示,“修改”命令已被选择。在属性/参数窗格329中显示该圆形工具的可用于修改的参数。在此特定示例中,用户将“复制的”参数“扫描间隔(Scan Inverval)=20”和“扫描间隔类型(Scan Inverval Type)=度”修改为扫描间隔“1”、以及扫描间隔类型“像素”,如在下面的图17和18中可见。
图13B示出了与图13A同步的、包括“测量结果”316的窗口或窗格的界面状态,其中,“测量结果”窗口316表示源“测量圆形Circle-2”320和第一粘贴实例“测量圆形Circle-2_1[1,1]”320'、而不是在所示出的例子中要修改的“测量圆形Circle-2_2”320”的第二粘贴实例的测量结果。
图14示出了:在准备要由用户输入修改的所选/高亮的圆形工具327时,必须在部件程序的该位置建立适当的机器和/或编辑操作上下文(例如,如在'232申请中公开的),并且,自动执行必要操作(例如,如在'232申请中公开的),如由插入指针(以及编辑上下文状态指示符)332/332'中的改变(在执行必要操作期间抑制为332',与图13A中的有效和可见相反)、以及编辑界面301和同步消息框333中的指令的灰色无效表示所指示的,其指示系统正在分析和/或执行部件程序的至少一部分,以建立适当的机器操作上下文。
图15示出了在完成图14的同步操作时的GUI状态,在该点,为了修改(编辑)部件程序的目的建立了有效的操作或编辑上下文。
图16反映在先前的图13A-15中描述的操作之后跟随的修改操作。注意,如上所述,在用户选择图13A的“修改”命令330、并将“复制”参数“扫描间隔=20”和“扫描间隔类型=度”修改为扫描间隔“1”、以及“扫描间隔类型=像素”之后,出现“修改圆形工具”对话框335。注意,红色“记录”状态指示符337指示机器视觉检查系统处于“记录”或学习模式,以产生和记录部件程序。作为“修改圆形工具”对话框335中的可选命令之一的运行命令339尚未被执行。为了使上述参数修改有效,圆形工具可以运行。图16还示出了界面状态,包括在[3,4]、[4,1]、[4,2]、[4,3]、[4,4]的“测量圆形Circle-2_1”的第一粘贴实例的“测量结果”316,其可以容易地上下滚动。
图17示出了在执行了运行命令339以运行修改的圆形工具之后的GUI。作为修改的圆形工具正在运行的结果,“修改圆形工具”对话框335表示639个边缘点已被定位(见340),并且,定位的边缘点在视频显示窗口(视野窗口)302中的视频工具内被指示。
图18示出了从执行用于修改的圆形工具的运行命令得到的属性/参数329的列表中的更新的参数,包括示出有效的修改后的参数:与图15中列出的圆形工具的先前参数相比,扫描间隔“1”、以及扫描间隔类型“像素”。图19示出了与图18同步的、包括“测量结果”316的用于窗口或窗格的界面状态,所述界面状态包括附加对话框342,其可被用于接受(通过按下“完成”)被粘贴和修改以产生检测的边缘点(可在图17中最佳地看到)以及图18中示出的结果圆形测量和参数的圆形工具的结果和配置。
图20A-24E是以标记语言编写的代码指令的图,其对应于在图3A-19中表示的序列操作中描述的各种状态和/或操作序列。本领域的技术人员可通过关于图3A-19中示出的表示而仔细检查图20A-24E中示出的指令,结合基于这里描述的公开特征和操作的理解、包括'232申请和'061申请和并入的文献,确定状态之间的对应。大致说来,图20A-20H示出从关于图3A-3B描述或暗示的操作得到的部件程序指令。各种指令用参考标记被注解,以帮助读者理解指令与前面的图中的其相应的指令表示的关系。例如,PS和PE分别近似于与“前序”指令表示相关的指令的开始和结束。MCIRC1S和MCIRC1E分别近似于与“测量圆形Circle-1”的指令表示相关的指令的开始和结束。DCIRC1S和DCIRC1E分别近似于与用于Circle-1的“定义圆形”指令表示相关的指令的开始和结束。ALIGNOS和ALIGNOE分别近似于与“对齐原点”指令表示相关的指令的开始和结束。MCIRC2S和MCIRC2E分别近似于与“测量圆形Circle-2”指令表示相关的指令的开始和结束。DCIRC2S和DCIRC2E分别近似于与用于Circle-2的“定义圆形”指令表示相关的指令的开始和结束。
ALIGNXS和ALIGNXE分别近似于与“对齐X坐标”指令表示相关的指令的开始和结束。EPP涉及“结束部件程序”指令表示。这些注解与图21-24的那些一致,使得那些图中的程序段的位置可与它们相对于图20中示出的部件程序位于(例如,插入)的位置相关。
大致说来,图21示出从关于在图4-6中描述或暗示的操作得到的部件程序指令。可以看出,LOOPS和LOOPE分别近似于与如图6所示的“阵列步骤和重复循环”指令表示相关的指令的开始和结束。大致说来,图22A-22C示出了从关于图7A-10描述或暗示的操作得到的部件程序指令。可以看出,MCIRC2_1S和MCIRC2_1E分别近似于图10中的被粘贴到“MyLoop”中的与“测量圆形Circle-2_1[.]”指令表示相关的指令的开始和结束。类似地,DCIRC2_1S和DCIRC2_1E分别近似于与对应的“定义圆形”指令表示相关的指令的开始和结束。大致说来,图23A-23C示出了关于图11-12描述或暗示的操作得到的部件程序指令。可以看出,MCIRC2_2S和MCIRC2_2E分别近似于与“测量圆形Circle-2_2”指令表示相关的指令的开始和结束,其在图12中示出为被粘贴到循环的结束之后。类似地,DCIRC2_2S和DCIRC2_2E分别近似于与对应的“定义圆形”指令表示相关的指令的开始和结束。大致说来,图24A-24E示出了从关于图13A-19描述或暗示的操作得到的部件程序指令和数据。例如,在图24C中,可以看出,MOD1示出了图18所示的修改后的扫描间隔和扫描间隔类型参数。CIRC2_2-SURROS和CIRC2_2-SURROE分别近似于与在视觉机器上执行与“测量圆形Circle-2_2”指令表示相关的指令相关的新数据的开始和结束(例如,在标注MCIRC2_2S和MCIRC2_2E内,其分别近似于与“测量圆形Circle-2_2”指令表示相关的指令的开始和结束)。该数据提供了通过元素332在图18中表示的操作编辑上下文状态的基础(例如,与图15相反,其中,尚未对与“测量圆形Circle-2_2”相关的粘贴和修改的元素建立操作编辑上下文状态。
总之,可以看出,图1-25B绘出了一个实施例,其展示在上面题为“复制和粘贴操作、特征和实现的概述”的章节和/或在下面的权利要求中概述的很多特征、操作和对应关系。
应当理解的是,与如可在基于文本的编程环境中执行的已知复制和粘贴编程操作、或甚至意识到在编程语言特征等中指示的上下文的编程(其可对精通编程语言的用户的键入和/或编程加速)等相反,这里公开的复制和/或粘贴命令在GUI中可用来由相对不熟练的用户操作(例如,为了在各个位置上进行编辑、增加、替换、或删除操作的目的)。与已知的复制和粘贴操作相反,这里公开的命令操作可使基础编程语言指令中的目标编程元素所需的上下文调节操作完全自动化,在至少一些实施例中,使得用户可以在被显示在GUI的编辑部分和/或相关GUI窗口和菜单中的部件程序表示的级别上,使用复制和粘贴操作而可靠地编辑和/或运行部件程序。
在各种示例性实施例中,如前所述,以诸如可扩展标记语言(XML)或类似的定制标记语言的标记类型语言编写包括复制和粘贴的指令和/或由复制和粘贴管理器169生成的指令的部件程序。即,在编辑界面301中显示的可编辑指令表示指向以标记类型语言编写的对应的代码指令(机器可执行指令)。
图25A和25B示出了流程图,其示出用于在机器视觉检查系统中编辑部件程序时复制和粘贴机器视觉部件程序操作集的方法,其中,所述机器视觉检查系统包括:成像部分、用于在成像部分的视野中持有一个或多个工件的台、控制部分、编辑部分、显示器、图形用户界面(GUI)、以及学习模式,其被配置为使得可操作用来接收用户输入,以控制机器视觉检查系统的操作,并记录与所控制的操作相对应的部件程序指令,以便创建部件程序。在块2710,提供了机器视觉检查系统,其包括:成像部分、用于在成像部分的视野中持有一个或多个工件的台、控制部分、编辑部分、显示器、图形用户界面(GUI)、以及学习模式,其被配置为使得可操作用来接收用户输入,以控制机器视觉检查系统的操作,并记录与所控制的操作相对应的关联部件程序指令,以便创建部件程序。在块2720,提供了与编辑部分相关联的复制命令和粘贴命令。在块2730,提供了所述GUI的编辑界面部分,所述编辑界面部可被操作以显示基础部件程序指令的可编辑部件程序表示,该部件程序表示包括指令表示。在块2740,显示在编辑界面部分中的基础部件程序的部件程序表示。在块2750,在显示的部件程序表示中的复制位置选择至少第一指令表示,以定义与基础所选指令副本集相关联的所选指令表示副本集。在块2760,操作该编辑部分,使得它执行针对于所选指令表示副本集和所选指令副本集中的至少一个的副本集修改操作,副本集修改操作包括通过包括下面中的至少一个的操作来形成修改的所选指令表示副本集:a)修改所选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上下文兼容所需的元素和关联添加到所选指令表示副本集,以及c)基于通过包括以下中的至少一个的操作形成的修改的所选指令副本集,形成修改的所选指令表示副本集:c1)修改所选指令副本集的与指令粘贴位置操作上下文不兼容的元素和关联,以及c2)将与指令粘贴位置操作上下文兼容所需的元素和关联添加到所选指令副本集。在块2770,操作编辑界面部分,以在所显示的部件程序表示中定义要粘贴所选指令表示集的粘帖位置,该粘帖位置与基础部件程序中的指令粘贴位置相关联。在块2780,操作编辑界面部分,以在所显示的部件程序表示中定义要粘贴所选指令表示集的粘帖位置,该粘帖位置与基础部件程序中的指令粘贴位置相关联。在块2780后,该方法结束。
上述的各种实施例可被组合,以提供进一步的实施例。在本说明书中引用的和/或在申请数据页中列出的所有的美国专利、美国专利申请出版物、美国专利申请、外国专利、外国专利申请和非专利出版物,包括但不限于2013年5月13日提交的美国专利申请61/822822,在此引入其全部作为参考。在必要时,实施例的方面可以被修改,以采用各种专利和申请的概念来提供更进一步的实施例。
这些和其他的变化可以根据上面详细描述的实施例进行。在一般情况下,在下面的权利要求中,所使用的术语不应该被解释为将权利要求限制为在说明书和权利要求书中公开的具体实施例,而是应被解释为包括所有可能的实施例连同此权利要求涵盖的等效物的全部范围。

Claims (39)

1.一种计算机可读介质,其包括计算机可执行指令,其被配置为加载到计算机上,以使计算机能够执行用于在机器视觉检查系统中编辑部件程序时复制和粘贴一组机器视觉部件程序操作的方法,该机器视觉检查系统包括:成像部分、用于在成像部分的视野中持有一个或多个工件的台、控制部分、编辑部分、显示器、图形用户界面GUI、以及学习模式,该学习模式被配置为使得可操作用来接收用户输入,以控制机器视觉检查系统的操作、并记录与所控制的操作相对应的相关联的部件程序指令以便创建部件程序,要执行的方法包括:
提供与编辑部分相关联的复制命令和粘贴命令;
提供GUI的编辑界面部分,所述编辑界面部分可操作以显示基础部件程序指令的可编辑部件程序表示,所述部件程序表示包括指令表示;
在编辑界面部分中显示基础部件程序的部件程序表示;
在所显示的部件程序表示中的复制位置选择至少第一指令表示,以定义与基础所选指令副本集相关联的所选指令表示副本集;
操作该编辑界面部分,以在所显示的部件程序表示中定义要粘贴所选指令表示副本集的粘帖位置,该粘帖位置与基础部件程序中的指令粘贴位置相关联;
操作该编辑部分,使得它执行针对于所选指令表示副本集或所选指令副本集中的至少一个的副本集修改操作,副本集修改操作包括通过包括下面中的至少一个的操作来形成修改的所选指令表示副本集:a)修改所选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上下文兼容所需的元素和关联添加到所选指令表示副本集,或c)基于通过包括以下中的至少一个的操作形成的修改的所选指令副本集,形成修改的所选指令表示副本集:c1)修改所选指令副本集的与指令粘贴位置操作上下文不兼容的元素和关联,或c2)将与指令粘贴位置操作上下文兼容所需的元素和关联添加到所选指令副本集;以及
操作编辑部分,使得其执行粘贴操作,包括将修改后的所选指令表示副本集粘贴到所显示的部件程序表示中的粘贴位置。
2.根据权利要求1所述的计算机可读介质,其中:
GUI包括编辑上下文状态指示符,其在接近于所显示的部件程序表示中的位置被显示;并且
该方法还包括:响应于粘贴修改后的所选指令表示副本集,自动操作GUI中的编辑上下文状态指示符,以指示新粘贴的修改的所选指令表示副本集对应于有问题或无效的上下文状态中的至少一个,而与从复制位置被复制无关。
3.根据权利要求2所述的计算机可读介质,其中,编辑上下文状态指示符包括指令指针,其取决于与其在所显示的部件程序表示中的位置相对应的编辑上下文状态而改变颜色。
4.根据权利要求1所述的计算机可读介质,其中,复制命令包括下述操作:自动展开在所选指令表示副本集中包括的至少一个父节点,以显示在所选指令表示副本集中包括的所有其子节点。
5.根据权利要求4所述的计算机可读介质,其中,所显示的在所选指令表示副本集中包括的子节点在以下中的至少一个期间被显示在复制位置:a)当复制命令GUI元素在GUI中悬停时,或b)当复制命令被执行时。
6.根据权利要求4所述的计算机可读介质,其中,操作编辑部分使得其执行副本集修改操作包括:执行复制命令。
7.根据权利要求1所述的计算机可读介质,其中,将修改后的所选指令表示副本集粘贴到粘贴位置包括下述操作:自动展开在所粘贴的修改后的所选指令表示副本集中包括的至少一个父节点,以显示在修改后的所选指令表示副本集中包括的所有其子节点。
8.根据权利要求7所述的计算机可读介质,其中,将修改后的所选指令表示副本集粘贴到粘贴位置包括:执行粘贴命令。
9.根据权利要求1所述的计算机可读介质,其中,响应于复制命令的执行,自动执行副本集修改操作中的至少一些。
10.根据权利要求9所述的计算机可读介质,其中,副本集修改操作包括:移除以下中的至少一个:a)对应于所选指令表示副本集的替代数据;或b)所选指令表示副本集和任何对应的替代数据之间的关联。
11.根据权利要求10所述的计算机可读介质,其中,副本集修改操作包括:在移除了对应的替代数据和/或其关联之后,将所选指令副本集或所选指令表示副本集中的至少一个的副本移动到剪贴板。
12.根据权利要求1所述的计算机可读介质,其中,所选指令表示副本集或关联的基础所选指令副本集的至少一个包括:程序节点。
13.根据权利要求1所述的计算机可读介质,其中,修改所选指令副本集的元素和关联的步骤c1)和/或修改所选指令表示副本集的元素和关联的步骤a)包括:在基础指令代码和/或显示的指令表示中改变与这样的元素相关联的特征名称、容限名称、部件坐标系名称、测量点缓冲名称、或显示的变量名称。
14.根据权利要求13所述的计算机可读介质,其中,该改变是自动改变,或包括自动显示的对用户的改变提示。
15.根据权利要求1所述的计算机可读介质,其中,修改所选指令副本集的元素和关联的步骤c1)和/或修改所选指令表示副本集的元素和关联的步骤a)包括:改变与这样的元素相关联的唯一节点标识。
16.根据权利要求1所述的计算机可读介质,其中,如果所选指令表示副本集被粘贴到步骤和重复循环中,则修改所选指令副本集的元素和关联的步骤c1)和/或修改所选指令表示副本集的元素和关联的步骤a)包括:在基础指令代码和/或所显示的指令表示中改变与这样的元素相关联的特征名称、容限名称、部件坐标系名称、测量点缓冲名称、或显示的变量名称,所述改变还包括改变或添加与步骤和重复循环的操作上下文一致的元素或格式。
17.根据权利要求16所述的计算机可读介质,其中,步骤c1)和/或步骤a)包括:改变显示的元素名称,以包括索引括号,该索引括号为用于保持在步骤和重复循环的操作上下文中的各种阵列位置或循环迭代索引的格式元素。
18.根据权利要求17所述的计算机可读介质,其中,该改变是自动改变,或者包括自动显示的对用户的改变提示。
19.根据权利要求1所述的计算机可读介质,其中,如果所选指令表示副本集是从步骤和重复循环复制、且粘贴到步骤和重复循环之外,则修改所选指令副本集的元素和关联的步骤c1)和/或修改所选指令表示副本集的元素和关联的步骤a)包括在基础指令代码和/或所显示的指令表示中:改变或移除与这样的元素相关联的特征名称、容限名称、部件坐标系名称、测量点缓冲名称、或显示的变量名称,或专用于步骤和重复循环的操作上下文的格式。
20.根据权利要求19所述的计算机可读介质,其中,步骤c1)和/或步骤a)还包括:改变显示的元素名称,以删除索引括号,该索引括号为用于保持在步骤和重复循环的操作上下文中的各种阵列位置或循环迭代索引的格式元素。
21.根据权利要求1所述的计算机可读介质,其中,修改所选指令副本集的元素和关联的步骤c1)和/或修改所选指令表示副本集的元素和关联的步骤a)包括:消除这样的元素。
22.根据权利要求1所述的计算机可读介质,其中,编辑部分被配置为:执行粘贴操作,包括将修改后的所选指令副本集粘贴到基础部件程序中的指令粘贴位置。
23.根据权利要求1所述的计算机可读介质,其中,编辑部分被配置为:操作GUI以执行复制命令,使得复制命令针对于所选指令表示副本集和/或相关联的基础所选指令副本集。
24.根据权利要求1所述的计算机可读介质,其中,响应于粘贴命令的执行,自动执行副本集修改操作中的至少一些。
25.根据权利要求24所述的计算机可读介质,其中,副本集修改操作包括添加或改变以下中的至少一个:a)所选指令表示副本集和对应的替代数据存储地址或位置之间的关联;或b)特征名称、容限名称、部件坐标系名称、测量点缓冲名称、或显示的变量名称。
26.根据权利要求24所述的计算机可读介质,其中,副本集修改操作包括将所选指令副本集或所选指令表示副本集中的至少一个的副本从剪贴板移动到粘贴或指令粘贴位置。
27.根据权利要求1所述的计算机可读介质,其中,复制和/或粘贴命令可被显示在GUI中,并且,可由用户选择和/或执行命令来激活相应的操作,以提供针对所选指令表示副本集和/或相关联的基础所选指令副本集的副本集修改操作。
28.根据权利要求1所述的计算机可读介质,其中,编辑界面部分可被操作,以通过以下步骤选择和/或执行针对所选指令表示副本集和/或相关联的基础所选指令副本集和/或其修改的对应物的复制命令:在GUI的编辑界面部分中选择表示副本集和/或相关联的基础所选指令副本集;操作GUI来显示菜单,该菜单至少包括对应于所选指令表示副本集和/或相关联的基础所选指令副本集的复制命令;以及在显示的菜单中选择复制命令。
29.根据权利要求1所述的计算机可读介质,其中,编辑界面部分可被操作,以通过以下步骤选择和/或执行针对所选指令表示副本集和/或相关联的基础所选指令副本集和/或其修改的对应物的粘贴命令:在部件程序表示中的粘贴位置定位光标或GUI的其它编辑位置指示符;操作GUI来显示菜单,该菜单至少包括剪贴板上的与所选指令表示副本集和/或相关联的基础所选指令副本集或其修改的对应物相对应的粘贴命令;以及在显示的菜单中选择粘贴命令。
30.根据权利要求1所述的计算机可读介质,其中,基础部件程序指令是以标记语言编写的。
31.用于在机器视觉检查系统中编辑部件程序时复制和粘贴一组机器视觉部件程序操作的方法,该机器视觉检查系统包括:成像部分、用于在成像部分的视野中持有一个或多个工件的台、控制部分、编辑部分、显示器、图形用户界面GUI、以及学习模式,该学习模式被配置为使得可操作用来接收用户输入,以控制机器视觉检查系统的操作、并记录与所控制的操作相对应的相关联的部件程序指令以便创建部件程序,该方法包括:
在所显示的部件程序表示中的复制位置选择至少第一指令表示,以定义与基础所选指令副本集相关联的所选指令表示副本集;
操作GUI,以发起创建所选指令表示副本集或基础所选指令副本集中的至少一个的副本的复制操作;
自动执行复制操作,以执行针对所选指令表示副本集或所选指令副本集中的至少一个的副本集修改操作的第一子集,由此生成所选指令表示副本集和/或基础所选指令副本集中的部分修改的对应物,副本集修改操作的第一子集针对专用于复制位置的第一操作上下文的元素并包括以下中的至少一个:a)消除关联的替代数据和/或它与复本集的关联,或b)提供新的或改变的唯一节点标识;
在所显示的部件程序表示中定义要粘贴所选指令表示副本集的粘贴位置,所述粘贴位置与基础部件程序中的指令粘贴位置相关联;
操作GUI,以发起针对于所选指令表示副本集或基础所选指令副本集中的部分修改的对应物的至少一个的粘贴操作;以及
自动执行粘贴操作,以执行针对于所选指令表示副本集或所选指令副本集中的至少一个的部分修改的对应物的副本集修改操作的第二子集,由此生成完全修改的所选指令表示副本集和/或完全修改的所选指令副本集,副本集修改操作的第二子集针对于专用于粘贴位置的第二操作上下文的元素并包括下面中的至少一个:a)修改所选指令表示副本集的与粘贴位置操作上下文不兼容的元素和关联,b)将与粘贴位置操作上下文兼容所需的元素和关联添加到所选指令表示副本集,或c)基于通过包括以下中的至少一个的操作形成的修改的所选指令副本集,形成修改的所选指令表示副本集:c1)修改所选指令副本集的与指令粘贴位置操作上下文不兼容的元素和关联,或c2)将与指令粘贴位置操作上下文兼容所需的元素和关联添加到所选指令副本集。
32.根据权利要求31所述的方法,其中,操作GUI以发起复制操作包括:激活针对所选指令表示副本集的复制命令小部件,并且,操作GUI以发起粘贴操作包括:激活针对粘贴位置的粘贴命令小部件。
33.根据权利要求31所述的方法,其中,从副本集修改操作的第一子集得到的所选指令表示副本集或基础所选指令副本集的部分修改的对应物被存储在剪贴板上,并通过副本集修改操作的第二子集从剪贴板自动取回。
34.根据权利要求31所述的方法,其中,自动执行粘贴操作的步骤还包括:在部件程序表示中的粘贴位置上粘贴完全修改的所选指令表示副本集,和/或在基础部件程序中的指令粘贴位置上粘贴完全修改的所选指令表示副本集。
35.根据权利要求31所述的方法,其中,
GUI包括在接近于所显示的部件程序表示中的位置显示的编辑上下文状态指示符;并且
该方法还包括:响应于粘贴修改后的所选指令表示副本集,自动操作GUI中的编辑上下文状态指示符,以指示粘贴的完全修改的所选指令表示副本集对应于有问题或无效的上下文状态中的至少一个,而与从复制位置被复制无关。
36.根据权利要求31所述的方法,其中,复制操作包括:自动展开在所选指令表示副本集中包括的至少一个父节点,以显示在所选指令表示副本集中包括的所有其子节点。
37.根据权利要求36所述的方法,其中,在所选指令表示副本集中包括的节点在GUI中被高亮。
38.根据权利要求36所述的方法,其中,在选择复制命令小部件或鼠标悬停在复制命令小部件上时但在执行复制命令小部件之前,显示在所选指令表示副本集中的所有节点。
39.根据权利要求31所述的方法,其中,粘贴操作包括:自动展开在粘贴的完全修改的所选指令表示副本集中包括的至少一个父节点,以显示在完全修改的所选指令表示副本集中包括的所有其子节点。
CN201480027099.2A 2013-05-13 2014-05-13 包括操作上下文感知复制和粘贴特征的机器视觉系统程序编辑环境 Active CN105264474B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361822822P 2013-05-13 2013-05-13
US61/822,822 2013-05-13
PCT/US2014/037931 WO2014186419A1 (en) 2013-05-13 2014-05-13 Machine vision system program editing environment including operating context aware copy and paste feature

Publications (2)

Publication Number Publication Date
CN105264474A CN105264474A (zh) 2016-01-20
CN105264474B true CN105264474B (zh) 2018-10-09

Family

ID=51865779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480027099.2A Active CN105264474B (zh) 2013-05-13 2014-05-13 包括操作上下文感知复制和粘贴特征的机器视觉系统程序编辑环境

Country Status (5)

Country Link
US (1) US9733902B2 (zh)
JP (1) JP6386540B2 (zh)
CN (1) CN105264474B (zh)
DE (1) DE112014002389B4 (zh)
WO (1) WO2014186419A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170206064A1 (en) * 2013-03-15 2017-07-20 JIBO, Inc. Persistent companion device configuration and deployment platform
US9235337B2 (en) * 2013-05-09 2016-01-12 Mitutoyo Corporation System, GUI and method for editing step and repeat operation instructions in a machine vision inspection system
US10192283B2 (en) * 2014-12-22 2019-01-29 Cognex Corporation System and method for determining clutter in an acquired image
JP6129457B2 (ja) * 2015-02-27 2017-05-17 三菱電機株式会社 データ編集装置、データ編集方法及びデータ編集プログラム
CN107368465B (zh) * 2016-05-13 2020-03-03 北京京东尚科信息技术有限公司 一种用于流式文档的截图类笔记处理的系统及方法
KR102645817B1 (ko) * 2016-12-06 2024-03-08 한화로보틱스 주식회사 로봇의 비헤이비어 관리 방법 및 장치
CN106776070A (zh) * 2016-12-15 2017-05-31 北京小米移动软件有限公司 执行粘贴操作的方法及装置
CN108509103A (zh) * 2017-02-27 2018-09-07 华为技术有限公司 文本复制方法和触屏设备
JP6564431B2 (ja) * 2017-08-28 2019-08-21 ファナック株式会社 工作機械および軸移動制御方法
US10782963B2 (en) * 2017-09-11 2020-09-22 Siemens Industry Software GmbH Introducing artifact information system and method
US20190213249A1 (en) * 2018-01-05 2019-07-11 International Business Machines Corporation Intelligent Copy and Paste
US11562505B2 (en) 2018-03-25 2023-01-24 Cognex Corporation System and method for representing and displaying color accuracy in pattern matching by a vision system
CN110609891B (zh) * 2019-09-18 2021-06-08 合肥工业大学 一种基于上下文感知图神经网络的视觉对话生成方法
US20210141503A1 (en) * 2019-11-07 2021-05-13 Baker Hughes Oilfield Operations Llc Human machine interface generation for industrial monitoring
CN113238686B (zh) * 2021-04-20 2023-11-03 维沃移动通信(杭州)有限公司 文档处理方法、装置和电子设备
CN113238742B (zh) * 2021-06-17 2024-04-12 南方电网科学研究院有限责任公司 一种直流控保页面程序修改回放方法、装置、终端及介质
CN115688695A (zh) * 2021-07-30 2023-02-03 腾讯科技(深圳)有限公司 协同操作处理方法、装置、设备以及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466240B1 (en) * 1998-07-08 2002-10-15 Vadim Maslov Method for visually writing programs or scripts that transform structured text presented as a tree
CN1702582A (zh) * 2004-05-25 2005-11-30 费舍-柔斯芒特系统股份有限公司 加工厂配置系统中的对象的安全性
CN101529351A (zh) * 2006-08-24 2009-09-09 西门子能量及自动化公司 用于配置可编程逻辑控制器的设备、系统和方法
US7779356B2 (en) * 2003-11-26 2010-08-17 Griesmer James P Enhanced data tip system and method
CN102200910A (zh) * 2010-03-22 2011-09-28 株式会社三丰 机器视觉检查系统中编程分步重复操作的图形用户界面

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121498A (en) 1988-05-11 1992-06-09 Massachusetts Institute Of Technology Translator for translating source code for selective unrolling of loops in the source code
JPH04102926A (ja) 1990-08-22 1992-04-03 Nec Corp 繰り返しループの展開最適化方式
US5481712A (en) 1993-04-06 1996-01-02 Cognex Corporation Method and apparatus for interactively generating a computer program for machine vision analysis of an object
US5797013A (en) 1995-11-29 1998-08-18 Hewlett-Packard Company Intelligent loop unrolling
US6219668B1 (en) * 1996-02-05 2001-04-17 Jean Pierre Alfred Arnaud Method for a paperless office management system using a set table and name-day-message document data
US6026240A (en) 1996-02-29 2000-02-15 Sun Microsystems, Inc. Method and apparatus for optimizing program loops containing omega-invariant statements
US6035125A (en) 1997-07-25 2000-03-07 International Business Machines Corporation Method and system for generating compact code for the loop unrolling transformation
US6311320B1 (en) * 1998-12-07 2001-10-30 Lsi Logic Corporation Alterable scripting tool and method
US6668053B1 (en) * 1999-09-21 2003-12-23 Verizon Laboratories Inc. Process for generating recent change commands for various stored program telephone switches
US6944821B1 (en) 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
JP2003015884A (ja) * 2001-07-04 2003-01-17 Denso Corp 重複定義チェック装置及びプログラム
WO2003029967A1 (en) * 2001-09-28 2003-04-10 Crystal Decisions, Inc. Apparatus and method for combining discrete logic visual icons to form a data transformation block
GB0206285D0 (en) 2002-03-16 2002-05-01 Ibm Apparatus method and computer program for providing a GUI representation of relationships between a set of resources of a data processing system
US7464370B2 (en) * 2003-12-04 2008-12-09 International Business Machines Corporation Creating a method from a block of code
US7324682B2 (en) 2004-03-25 2008-01-29 Mitutoyo Corporation System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system
US20050229113A1 (en) * 2004-04-09 2005-10-13 Alcatel Highlighted objects window
US7454053B2 (en) 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system
US7590276B2 (en) * 2004-12-20 2009-09-15 Mitutoyo Corporation System and method for programming interrupting operations during moving image acquisition sequences in a vision system
US8042065B2 (en) 2005-11-17 2011-10-18 Microsoft Corporation Smart copy/paste of graphical nodes
US20070156775A1 (en) * 2005-12-29 2007-07-05 Fischer Iija Metadata transformation in copy and paste scenarios between heterogeneous applications
US20070234278A1 (en) * 2006-03-02 2007-10-04 Microsoft Corporation Managing source code in a model-based development environment
US7668608B2 (en) * 2006-09-01 2010-02-23 Fisher-Rosemount Systems, Inc. Graphical programming language object editing and reporting tool
US7769222B2 (en) * 2006-10-27 2010-08-03 Mitutoyo Corporation Arc tool user interface
US8429551B2 (en) 2007-02-15 2013-04-23 Microsoft Corporation Application-based copy and paste operations
US8312427B2 (en) * 2007-05-15 2012-11-13 International Business Machines Corporation Selecting a set of candidate code expressions from a section of program code for copying
US8392830B2 (en) * 2007-07-04 2013-03-05 International Business Machines Corporation Method and system for code editing
US8245186B2 (en) * 2008-04-03 2012-08-14 Microsoft Corporation Techniques for offering and applying code modifications
US9292478B2 (en) * 2008-12-22 2016-03-22 International Business Machines Corporation Visual editor for editing complex expressions
US8111938B2 (en) 2008-12-23 2012-02-07 Mitutoyo Corporation System and method for fast approximate focus
US8392380B2 (en) 2009-07-30 2013-03-05 Microsoft Corporation Load-balancing and scaling for analytics data
JP2011059918A (ja) * 2009-09-09 2011-03-24 Mitsubishi Electric Corp バージョン管理装置及びバージョン管理方法
US8910113B2 (en) * 2009-09-22 2014-12-09 Adobe Systems Incorporated Methods and systems for visual code refactoring
US8111905B2 (en) 2009-10-29 2012-02-07 Mitutoyo Corporation Autofocus video tool and method for precise dimensional inspection
US8843892B2 (en) * 2010-12-03 2014-09-23 Adobe Systems Incorporated Visual representations of code in application development environments
US8806430B1 (en) * 2011-06-08 2014-08-12 The Mathworks, Inc. Renaming instances of an entity in a coding environment
US8957960B2 (en) 2011-11-15 2015-02-17 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
US9013574B2 (en) 2011-11-15 2015-04-21 Mitutoyo Corporation Machine vision system program editing environment including synchronized user interface features
US9081595B1 (en) * 2011-12-06 2015-07-14 The Mathworks, Inc. Displaying violated coding rules in source code
US9710234B2 (en) * 2013-12-26 2017-07-18 International Business Machines Corporation Generating software code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466240B1 (en) * 1998-07-08 2002-10-15 Vadim Maslov Method for visually writing programs or scripts that transform structured text presented as a tree
US7779356B2 (en) * 2003-11-26 2010-08-17 Griesmer James P Enhanced data tip system and method
CN1702582A (zh) * 2004-05-25 2005-11-30 费舍-柔斯芒特系统股份有限公司 加工厂配置系统中的对象的安全性
CN101529351A (zh) * 2006-08-24 2009-09-09 西门子能量及自动化公司 用于配置可编程逻辑控制器的设备、系统和方法
CN102200910A (zh) * 2010-03-22 2011-09-28 株式会社三丰 机器视觉检查系统中编程分步重复操作的图形用户界面

Also Published As

Publication number Publication date
CN105264474A (zh) 2016-01-20
DE112014002389B4 (de) 2022-08-04
DE112014002389T5 (de) 2016-02-18
US20140337775A1 (en) 2014-11-13
JP2016521369A (ja) 2016-07-21
US9733902B2 (en) 2017-08-15
JP6386540B2 (ja) 2018-09-05
WO2014186419A1 (en) 2014-11-20

Similar Documents

Publication Publication Date Title
CN105264474B (zh) 包括操作上下文感知复制和粘贴特征的机器视觉系统程序编辑环境
CN103106077B (zh) 机器视觉检测系统
CN102200910B (zh) 机器视觉检查系统中编程分步重复操作的图形用户界面
US9013574B2 (en) Machine vision system program editing environment including synchronized user interface features
US9235337B2 (en) System, GUI and method for editing step and repeat operation instructions in a machine vision inspection system
Li et al. An empirical study of three PHP frameworks
CN103176793B (zh) 包含同步用户界面特征的机器视觉系统
CN108449943A (zh) 包括集成的对准程序计划和编辑特征的检查程序编辑环境
CN114238072A (zh) Hil需求设计方法、装置、计算机设备和存储介质
CN113626621A (zh) 一种在线互动教学的课程内容生成系统和编辑装置
CN114090436A (zh) 测试方法及装置
Gonzalez et al. Introducing Bidirectional Programming in Constructive Solid Geometry-Based CAD
Eriksson et al. Automating the CAD to Virtual Reality Pipeline for Assembly Simulation
Ghazi et al. ImitGraphs: Towards faster usability tests of graphical model manipulation techniques
Parab et al. Learning by Doing with National Instruments Development Boards
Rocha et al. A Comparative Study of Milestones for Featuring GUI Prototyping Tools
Böhm et al. AI-based Mobile App Prototyping: Status Quo, Perspectives and Preliminary Insights from Experimental Case Studies
Piskunov et al. The Construction and Simulation of Petri Nets in WinALT
Lindgren A Mobile Graph-Like Visual Programming Language
Strobl A generic widget library for Rapid-Prototyping of Graph Algorithms in Jupyter Notebooks
Silingas et al. Integrating GUI prototyping into UML toolkit
Mansurov et al. Scenario-Based Approach to Rapid Prototypine of Human-Machine Systems
CN117194829A (zh) 一种富文本web页面生成方法、设备及介质
Kühne et al. Tool support for architecture stratification
Han et al. An extended eclipse platform for recoding system-level models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant