专利名称:机器视觉检测系统的制作方法
技术领域:
本发明大体上涉及机器视觉检测系统,并且具体涉及用于在这些系统中创建和编辑零件程序的方法。
背景技术:
精确机器视觉检测系统(或简称“视觉系统”)可用以获得检测对象的精确尺寸测量并检测各种其它对象特征。这种系统可包括计算机、照相机和光学系统,和可沿多个方向移动以允许照相机扫描被检测工件特征的精密平台。一个市售的示范性现有技术系统是计算机视觉系统的QUICK VISION 系列和位于伊利诺伊州奥罗拉的三丰美国公司(MAC)出售的QVPAK' 软件。例如,在2003年 I 月出版的QVPAK3D CNC Vision Measuring MachineUser’s Guide 和 1996 年 9 月出版的 QVPAK3D CNC Vision Measuring Machine OperationGuide中大体描述了视觉系统的QUICK VISION 系列和QVPAK .软件的特征和操作,上述文献中的每一个都以引用的方式全文并入本文。例如,QV302Pro模型例示的这种产品能够使用显微镜型光学系统来提供各种放大率的工件图像,且必要时移动平台来旋转工件表面超过任何单个视频图像的限制。考虑到这些系统的所需放大率、测量分辨率和物理尺寸限制,单个视频图像通常包括被观察或检测工件的一部分。机器视觉检测系统通常利用自动视频检测。美国专利号6,542,180教导这种自动视频检测的各种方面,并以引用的方式全文并入本文。像’ 180专利中所教导的,自动视频检测计量仪器通常具有允许用户定义每个特定工件配置的自动检测事件顺序的编程能力。这可以通过文字编程或通过存储对应于用户在图形用户界面帮助下执行的检测操作的顺序的机器控制指令的顺序来逐步“学习”检测事件顺序的记录模式或通过两种方法的组合来实施。这种记录模式常称为“学习模式”或“训练模式”。一旦在“学习模式”中定义检测事件顺序,那么这种顺序就可用以在“运行模式”期间自动获取(并另外分析或检测)工件的图像。视频工具(或简称“工具”)和其它图形用户界面特征可手动用来实现人工检测和/或机器控制操作(在“手动模式”中)。在学习模式期间也可记录它们的设置参数和操作,从而创建自动检测程序或“零件程序”。例如,视频工具可包括边缘/边界检测工具、自动对焦工具、形状或模式匹配工具、尺寸测量工具等等。其它图形用户界面特征可包括与数据分析、逐步重复回路编程等有关的对话框。例如,这些工具通常用在各种市售机器视觉检测系统中,例如上文讨论的视觉系统的QUICK VISION 系列和相关QVPAK 软件。包括特定检测事件顺序(即,怎样获取每个图像和怎样分析/检测每个获得图像)的机器控制指令通常存储为针对特定工件配置的“零件程序”或“工件程序”。例如,零件程序定义怎样获取每个图像,例如,怎样相对于工件放置照相机、在什么照明度、在什么放大级等。另外,零件程序定义怎样例如通过使用例如边缘/边界检测视频工具的一个或多个视频工具来分析/检测获得图像。编辑机器视觉检测系统的零件程序是比编辑机器工具或装配机器人的程序等更复杂的任务。例如,机器视觉检测系统的零件程序包括控制操作和/或提供至少部分基于执行程序的先前部分确定的结果和/或基于用以提供对于检测操作至关重要的图像的特定工件例子的基于图像测量结果的后部分。另外,特定图像所需的需要照明和/或曝光时间可取决于工件的特定例子。另外,如果用户保存部分完整的零件程序并在稍后召回零件程序以改变或完成编程,那么可能不知道是否在中间时期发生了可能对继续编辑零件程序产生不利影响的某些类型的改变(例如,环境条件的改变、平台上不利移动的部分等)。出于这样的担忧,标准做法是一些这样的系统从头实际执行零件程序的所有指令,甚至并包括对零件程序指令的任何可能性的另外修改或添加,从而证实修改和/或添加是基于它们操作的真实条件集来编程的。然而,执行零件程序的所有指令来提供对指令修改或添加的真实操作条件对于大零件程序(例如,包括大量图像获取和/或特征检测的大零件程序)来说是不可行的,所述大零件程序尤其常用于向宏观对象(例如,跨越数十或数百毫米的对象)提供微观检测(例如,微分辨率测量)的机器视觉检测系统。需要一种能在编辑操作期间在短时间内(例如,接近“实时”)可靠更新操作条件,并允许更快速、有效、直观、弹性且强健地创建并编辑精确机器视觉检测系统的零件程序的编辑环境。
发明内容
本发明内容介绍下文具体实施方式
中还要描述的简化形式的概念集。本发明内容并不旨在标识所请求主题的重要特征,也不旨在用于帮助确定所请求主题的范围。出于上文概述的考虑,希望机器视觉检测系统能在编辑零件程序时提供操作上下文的近实时更新,从而证实在编程修改和/或添加时,真实操作条件集可用作修改和/或添加的基础或上下文。当通过记录由机器视觉检测系统的用户输入的实际控制操作来创建并编辑零件程序时,这特别重要,因为用户基于机器视觉检测系统的状态和/或他们提供他们输入操作时存在的图像的外观和位置等来直观地选择他们输入操作的细节。因此,用户不能在零件程序中任意位置开始零件程序的有效和可靠修改,而无需在运行模式期间在他们自动执行模式期间由执行零件程序的先前指令提供的位置在实质相同操作上下文中首先建立系统。到目前为止,没有通用机器视觉检测系统和具体的记录实际用户受控操作来创建零件程序(例如,与简单图形对象或文字编程系统相反)的系统提供在编辑操作期间近实时地可靠并强健地提供有效零件编程编辑上下文的编辑环境。为了支持这种理想的编辑环境,本文公开一种包括实时上下文生成特征的机器视觉系统程序编辑环境。所述机器视觉检测系统,包括成像部分、用来支承成像部分的视场(FOV)中一个或多个工件的平台、控制部分、显示器和用户界面。在各种实施方案中,机器视觉检测系统还包括运行模式、学习模式和编辑部分。所述运行模式可操作来使用执行的运行模式执行先前创建的零件程序。所述学习模式可操作来接收用户输入以控制机器视觉检测系统的操作并记录对应于受控操作的零件程序指令从而创建零件程序。所述学习模式也包括编辑用户界面,所述编辑用户界面包括零件程序指令的可编辑零件程序表示,其中所述零件程序表示包括指令表示。所述编辑部分可操作来编辑零件程序并包括可操作来根据与执行的运行模式不同的执行的编辑模式执行先前记录的零件程序指令的编辑执行部分。 在各种实施方案中,所述学习模式被配置成还可操作来自动记录与各自的记录零件程序指令集有关的各自替代数据,其中至少一些替代数据包括对应于相关记录指令集的实际控制操作产生的数据。另外,执行的编辑模式包括替代执行模式。在替代执行模式期间,对于至少一个零件程序指令集,如果各自替代数据被先前记录成与所述零件程序指令集有关,那么不执行所述零件程序指令集的至少一些成员。换句话说,不执行对应相关实际控制操作,且在替代执行模式的后续操作中使用各自替代数据来代替那些没有执行的实际控制操作以其他方式会产生的数据。在各种实施方案中,创建零件程序可包括修改先前记录的零件程序指令。在各种实施方案中,各自替代数据可包括实际执行基于接收的用户输入控制的受控操作产生的数据,且记录所述受控操作来提供相关各自的记录零件程序指令集。在各种实施方案中,执行的编辑模式包括实际执行模式,且至少一些各自替代数据包括实际执行基于使用实际执行模式执行先前记录的相关各自的记录零件程序指令集来控制的受控操作产生的数据。在各种实施方案中,机器视觉检测系统可包括可操作来把记录零件程序指令保存在可编辑零件程序文件中的程序状态管理部分,且当把记录零件程序指令保存为可编辑零件程序文件时,可编辑零件程序文件中与各自的记录零件程序指令集有关的各自替代数据也被保存。在一些实施方案中,机器视觉检测系统可操作来载入保存的可编辑零件程序文件进行编辑,且机器视觉检测系统被配置成当载入保存的可编辑零件程序文件进行编辑时,自动使相关保存的各自替代数据可用于替代执行模式。在一个实施方案中,程序状态管理部分还可操作来把记录零件程序指令保存在可使用执行的运行模式执行的保护零件程序文件中,其中配置执行的运行模式和保护零件程序文件中的至少一个,使得执行的运行模式的结果不受对应于保护零件程序文件的任何先前记录的替代数据影响。在一些实施方案中,学习模式被配置来以各自的记录零件程序指令集记录各自替代数据是否被先前记录成与所述各自零件程序指令集有关的指示,且程序状态管理部分被配置来在把记录零件程序指令保存在保护零件程序文件中之前删除各自替代数据是否被先前记录成与各自零件程序指令集有关的指示。在各种实施方案中,学习模式可被配置来以各自的记录零件程序指令集记录各自替代数据是否被先前记录成与所述各自零件程序指令集有关的指示。在一个实施方案中,指示包括在各自的记录零件程序指令集的起始指令中。在一个实施方案中,各自的记录零件程序指令集可包括以标记语言(例如,XML或其派生语言)写入的指令。在各种实施方案中,各自的记录零件程序指令集可包括以标记语言写入的元素、父元素、容器元素和子元素中的至少一个。在一个实施方案中,指示可包括所述各自的记录零件程序指令集中包括的各自替代数据存在。在一个实施方案中,指示可包括所述各自的记录零件程序指令集中包括的各自的标识符,所述各自的标识符可用以把相应各自替代数据定位在机器视觉检测系统的替代数据存储器部分中。在各种实施方案中,编辑部分包括可用以编辑零件程序的编辑命令,且编辑执行部分被配置,使得当用户使用编辑用户界面输入编辑命令来在零件程序表示中指示的目标位置处编辑程序时,执行的编辑模式在目标位置之前在零件程序中有效上下文起始位置开始,并使用替代执行模式来执行零件程序指令的至少一部分,从而建立有效上下文来在目标位置编辑零件程序。
在各种实施方案中,输入编辑命令可以是在目标位置修改零件程序的命令,且定位在目标位置的零件程序指令可以是将被修改的先前记录的零件程序指令。在一个实施方案中,输入编辑命令可以是在目标位置把指令插入或附加到零件程序中的命令,且定位在目标位置的零件程序指令可以是将被创建、插入或附加到目标位置的零件程序指令。在一个实施方案中,在目标位置建立有效上下文包括在执行对应于定位在目标位置的零件程序指令的控制操作的期望或合适状态建立机器视觉检测系统的硬件状态。在一个实施方案中,零件程序中有效上下文起始位置包括以下中的一个(a)零件程序指令的开始和(b)包括零件程序指令的先前执行的编辑初始化块后的下一指令。这个编辑初始化块在与本文同时提交且以引用的方式并入本文的“System and Method Utilizing An EditingInitialization Block In A Part Program Editing Environment In A Machine VisionSystem”(代理人编号MEIP137678)中公开。为了进一步阐明零件程序中“有效上下文”起始位置,举例来说而非限制,它意指零件程序的执行可从那个特定的位置开始,其中机器视觉检测处于期望或合适状态来执行那个特定位置上或那个特定位置后的下个控制操作和/或对应零件程序指令。举例来说而非限制,在一些实例中,另一类型的有效上下文起始位置可在可执行零件程序指令集紧前面,所述可执行零件程序指令集包括对应于零件程序指令中所述位置的先前存储的系统软件和硬件状态参数或变量的完全集,其中然后可执行所述零件程序指令集来在零件程序指令的所述位置建立或重建操作上相等的软件和硬件状态。在一些实例中,在从有效上下文起始位置开始之后,另一类型的有效上下文起始位置可在实际执行零件程序指令的停止位置紧后面。在一些实例中,如本文中所公开的,在从有效上下文起始位置开始之后,另一类型的有效上下文起始位置可在替代执行模式下执行零件程序指令的停止位置紧后面。在一个实施方案中,学习模式被配置,使得当执行的编辑模式在目标位置建立有效上下文时,学习模式用户界面被配置来显示可被用户操作来在目标位置编辑并插入零件程序指令的学习模式用户界面元素,且所述学习模式用户界面元素包括视频工具选择元素。在一个实施方案中,学习模式被配置,使得当在目标位置建立有效上下文时,学习模式用户界面被配置来显示临近零件程序表示中指示的目标位置指示的上下文状态指示符,且上下文状态指示符被设定来指示已在目标位置建立有效上下文。在一个实施方案中,学习模式被配置,使得当执行的编辑模式使用替代执行模式来执行零件程序指令的至少一部分以建立有效上下文时,上下文状态指示符的状态被设定成特别指示已使用替代执行模式建立有效上下文的状态。在一个实施方案中,上下文状态指示符在临近可编辑零件程序表示包括的指令指针上。在一个实施方案中,执行的编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且编辑用户界面包括可被用户操作来使用实际执行模式以执行足以建立有效上下文来在目标位置编辑零件程序的零件程序指令集的控件。在一个实施方案中,学习模式被配置,使得当执行的编辑模式只使用实际执行模式来执行足以建立有效上下文的零件程序指令时,上下文状态指示符被设定成特别指示已使用实际执行模式建立有效上下文的状态。在一个实施方案中,学习模式被配置,使得当没有在目标位置建立有效上下文时,上下文状态指示符的状态被设定来指示上下文是未知或无效中的至少一个。在一个实施方案中,默认执行的编辑模式在有效上下文起始位置自动开始。在一个实施方案中,默认执行的编辑模式自动使用替代执行模式来执行零件程序指令的至少一部分。在一个实施方案中,执行的编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且当目标位置被表示在以可编辑零件程序表示来表示的目标父元素中时,替代执行模式包括在对应于目标父元素的零件程序指令的起始位置切换到实际执行模式。在一个实施方案中,目标位置包括控制对应于分析获得图像的视频工具的操作的指令,且目标父元素包括控制机器视觉检测系统的操作以建立获得图像的图像获取条件的指令。在一个实施方案中,执行的编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且替代执行模式包括对于无条件地要求物理系统改变以建立有效上下文的指令切换到零件程序指令的实际执行模式。在一个实施方案中,执行的编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且替代执行模式包括切换到零件程序指令集的实际执行模式,所述零件程序指令集在运行模式执行期间提供结果数据,且对于所述零件程序指令集,并没有当前记录对应的替代数据来用作它们相关受控操作以其他方式会产生的结果数据的代替。在一个实施方案中,执行的编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且替代执行模式包括对于控制改变平台相对于成像部分的物理位置的操作的至少一些零件程序指令切换到实际执行模式,且学习模式用户界面包括询问用户是否赞成包括在实际执行移动之前移动物理位置平台的实际执行模式操作的检索框。在各种实施方案中,执行的编辑模式被配置,使得当使用编辑命令修改先前记录的零件程序指令的至少一个以提供修改的零件程序指令且所述修改的零件程序指令被接受来记录在零件程序中时,实际执行相关控制操作且产生并保存相关替代数据。在一个实施方案中,替代数据来自对定位在平台上的实际工件的工件图像的分析,其中在对应于修改的零件程序指令的修改和记录的周期期间获取图像。在各种实施方案中,零件程序指令集包括执行图像获取操作和边缘检测视频工具的指令,所述边缘检测视频工具包括如果执行那么标识所述获得图像中沿检测边缘定位的点的边缘点位置的边缘检测操作,且替代数据包括边缘点位置。在一个实施方案中,在替代执行模式期间,不执行至少图像获取操作和边缘检测操作。在各种实施方案中,机器视觉检测系统是实际机器视觉检测系统的软件仿真器,所述软件仿真器仿真实际机器视觉检测系统的受控软件使得它通过可用在实际机器视觉检测系统上的零件程序指令并通过用户通过机器视觉检测系统的用户界面输入的受控操作来支持虚拟操作。在一个实施方案中,工件包括被配置来提供结合实际机器视觉检测系统的软件仿真器来操作的虚拟工件的工件数据。在一些实施方案中,学习模式包括学习模式用户界面,所述学习模式用户界面包括显示执行零件程序指令产生的结果的结果窗口,且学习模式被配置,使得当特定结果是基于使用执行零件程序指令的替代执行模式的替代数据结果时,学习模式用户界面被配置来显示临近替代数据结果的结果状态指示符,且结果状态指示符被设定来指示所述特定结果是基于替代数据。在一个实施方案中,结果窗口可大约像题为“Machine Vision SystemProgram Editing Environment Including Synchronized User Interface Features,,的专利申请(代理人编号MEIP138244)中公开地出现,所述专利申请与本文同时提交且以引用的方式并入本文。在各种实施方案中,每当结果是基于替代数据且是显示在结果窗口时,结果状态指示符包括用特定颜色的文字,或在所述文字上用特定颜色的亮显等表示所述基于替代数据的结果。关于上下文,为了进一步阐明“上下文”或操作上下文相对于编辑环境的含义,举例来说而非限制,当对用户界面中零件程序进行连续编辑时,希望知道并实施在零件程序中特定编辑位置的特定参数。例如,为了设定正确的阈值、视频工具的尺寸和位置,必须具有包括例如正确平台位置、光级、放大率等的期望视频图像。在一个实施方案中,“软件上下文”可定义成包括这种类型的信息。另外,为了知道对于零件程序继续编辑的顺序是否正确,知道已经进行了什么操作很重要,包括已经测量了什么特征、正在利用坐标系的什么部分等。在一个实施方案中,“软件上下文”可定义成包括这种类型的信息。应理解,根据上文概述和本文公开的各种特征,当初始记录零件程序并且在随后运行模式期间,在已经按顺序执行所有指令的情况下,可提供准确上下文。这样向零件程序提供有效上下文来连续编辑,包括指示零件程序已经产生的任何测量和结果。应该了解,提供用于机器视觉零件程序的简单、具有时效性和强健的编辑环境比提供用于编辑简单的计算机程序的适当的编辑环境困难得多,因为在程序编辑过程中必须揭示并考虑可能危险的动作或机械碰撞。另外,提供用于编辑机器视觉零件程序的简单、具有时效性和强健的编辑环境比提供用于编辑装配机器人程序等(例如,控制机器人几何动作和致动器的程序等)的适当的编辑环境困难得多,因为独特的工件几何形状和表面磨光要求在程序编辑过程中揭示、考虑并定制不定且精细的灯光和成像效果。另外,需要机器视觉检测系统来执行确定工件上不同位置和不同时间点测量和检测的特征之间的关系的操作。因此,提供允许相对不熟练的用户编辑在程序中任意点开始的现有零件程序的强健编辑环境很困难。基于本文的公开内容应该了解,本文公开的替代执行模式和方法特别适用于解决上文概述的问题的组合(例如,需要提供快速执行来建立上下文供编辑等),所述问题对于向通用机器视觉检测系统提供用于零件程序的具有时效性并强健的编辑环境是独特的。本发明的方法是有利的,因为当编辑零件程序时,不需要执行零件程序的所有先前指令来产生真实上下文供后续编辑,使用先前保存的数据的替代数据操作代替执行某些指令集。在实际执行零件程序中记录的操作期间可保存替代数据。本文公开的执行的编辑模式把所述数据代替作为执行以其他方式会通过费时的操作产生所述数据的操作的替代。可节约大量上下文生成时间,从而编辑发生在可近实时地不断刷新来获得准确度的操作上下文内。这样支持相对不熟练的用户使用机器视觉系统的本地用户界面来进行简单的程序修改,而不是不经历可靠真实操作上下文来使用难以使用的文字或图形对象编辑环境。应该注意,本文公开的替代执行模式与之前知道的用于创建并编辑各种类型程序的模拟方法是不同的,因为各种操作的执行并不仅仅被模拟(例如,使用模拟工件等),而是被实际抑制——使用替代数据而不是实际执行。另外,替代数据可能是非常现实的,因为在各种实施方案中它可能是由实际工件上实际检测操作产生的。对于一些机器视觉检测系统,这特别有利,甚至是必需的。本文公开的方法可提供机器视觉检测系统独特需要并独特适于机器视觉检测系统的特别快速并特别真实和准确的编辑环境。
本发明的上述方面和许多伴随的优点将变得更容易理解,同时也参考结合附图描述的以下实施方式变得更加明白,其中:图1是示出通用精确机器视觉检测系统的各种典型组件的图;图2A和2B是类似于图1并包括根据本发明在各种实施方案中可用的特征的机器视觉检测系统的控制系统部分和视觉组件部分的方块图;图3是包括具有多个指令表示的零件程序表示的编辑界面的图;图4是包括其上执行对应于图3的零件程序的工件的图像的用户界面的图;图5A和5B是对应于图3的一些指令表示的零件程序的标记语言码指令的图;图6是包括图3的零件程序表示并进一步包括执行例如在零件程序中插入指令的编辑模式命令或功能的下拉式选单的编辑界面的图;图7是包括图3的零件程序表示并进一步包括已被插入或附加到零件程序表示末端的另外零件程序指令表示的编辑界面的图;图8是包括其上执行对应于图7的零件程序的工件的图像的用户界面的图;图9是包括图7的零件程序表示并进一步包括执行例如在零件程序中修改指令的编辑模式命令或功能的下拉式选单和询问用户是否赞成平台的对应移动的检索框的编辑界面的图;图1OA和IOB是其中通过编辑修改“框工具”视频工具的图8用户界面的图;图1lA和IlB是包括已根据图1OA和IOB描述的修改改变的替代数据的标记语言码指令的图;图12A和12B是示出提供包括实时上下文生成特征的机器视觉系统程序编辑环境的例行程序的一个实施方案的流程图;和图13是示出执行替代执行模式来在零件程序指令表示、元素或节点指示的零件程序位置提供有效编辑上下文的例行程序的一个实施方案的流程图。
具体实施例方式图1是可根据本文描述的方法使用的一个示范性机器视觉检测系统10的方块图。机器视觉检测系统10包括可操作地连接来与控制计算机系统14交换数据和控制信号的视觉测量机器12。控制计算机系统14还被可操作地连接来与监视器或显示器16、打印机18、操纵杆22、键盘24和鼠标26交换数据和控制信号。监视器或显示器16可显示适于控制和/或编程机器视觉检测系统10的操作的用户界面。视觉测量机器12包括可移动工件平台32和可包括变焦镜头或可换透镜的光学成象系统34。变焦镜头或可换透镜通常向光学成象系统34提供的图像提供各种放大率。机器视觉检测系统10通常比得上上文讨论的视觉系统的QUICK VISION 系列和QVPAK #:件和类似现有技术的市售精确机器视觉检测系统。机器视觉检测系统10也在共同让渡的美国专利案7, 454,053和7,324,682以及美国专利公开案2010/0158343和2011/0103679中进行描述,上述文献中的每一个都以引用的方式全文并入本文。图2A和2B是类似于图1的机器视觉检测系统并包括根据本发明在各种实施方案中可用的特征的机器视觉检测系统100的控制系统部分120和视觉组件部分200的方块图。如下文更详细描述,控制系统部分120用以控制视觉组件部分200。如在图2A中示出,视觉组件部分200包括光学总成部分205、光源220、230和240和具有中央透明部分212的工件平台210。工件平台210是可控制地可沿位于通常与可设置工件20的平台的表面平行的表面中的X和Y轴移动。光学总成部分205包括照相机系统260、互换物镜250,并且可包括具有透镜286和288的炮塔透镜总成280。或者对于炮塔透镜总成,可包括固定或手动互换改变放大率透镜或变焦镜头配置等。如下文进一步描述,通过使用可控电动机294,光学总成部分205是可控制地可沿通常与X和Y轴正交的Z轴移动。将使用机器视觉检测系统100来成像的工件20或支承多个工件20的托盘或夹具被放置在工件平台210上。工件平台210可被控制以相对于光学总成部分205移动,从而互换物镜250在工件20上位置之间移动,和/或在多个工件20间移动。平台灯220、同轴灯230和表面灯240中的一个或多个可分别发出来源光222、232或242来照明工件20。来源光被反射或发射为工件光255,工件光255穿过互换物镜250和炮塔透镜总成280,且由照相机系统260聚集。照相机系统260获取的工件20的图像在信号线262上输出到控制系统部分120。光源220、230和240可分别通过信号线或母线221、231和241连接到控制系统部分120。为了改变图像放大率,控制系统部分120可沿轴284旋转炮塔透镜总成280,以通过信号线或母线281选择炮塔透镜。在各种示范性实施方案中,可使用驱动致动器、连接电缆等的可控电动机294来相对于工件平台210沿垂直Z轴移动光学总成部分205,以沿Z轴移动光学总成部分205,从而改变照相机系统260获取的工件20的图像的焦点。本文使用的术语Z轴指的是旨在用于聚焦光学总成部分205获得的图像的轴。当使用时,可控电动机294是通过信号线296连接到输入/输出接口 130。如在图2A中示出,在各种示范性实施方案中,控制系统部分120包括控制器125、电源部分128、输入/输出接口 130、存储器140、工件程序产生器和执行器150、记录器翻译器155、学习模式组件156、运行模式组件157、编辑部分160、替代数据管理器180、程序状态管理器185、节点管理器190和自动滚屏管理器195。这些组件中的每一个和下文描述的另外的组件可由一个或多个数据/控制母线和/或应用编程接口或由各种元件之间的直接连接互连。输入/输出接口 130包括成像控制接口 131、运动控制接口 132、光控制接口 133和透镜控制接口 134。运动控制接口 132可包括位置控制元件132a和速度/加速控制元件132b,但是这些元件可被合并和/或是不能区分的。例如,在可用时,光控制接口 133控制机器视觉检测系统100的各种对应光源的选择、功率、开关和选通脉冲定时。存储器140包括图像文件存储器部分141、可包括一个或多个零件程序142PP等的工件程序存储器部分142、视频工具部分143和替代数据存储器部分144。视频工具部分143包括视频工具部分143a和确定对应视频工具中每一个的⑶1、图像处理操作等的其它视频工具部分。许多已知视频工具包括在例如上文讨论的视觉系统的QUICK VISION 系列和相关QVPAK #:件的市售机器视觉检测系统中。视频工具部分143也包括支持定义可操作在视频工具部分143包括的各种视频工具中的各种感兴趣区域(ROI)的自动、半自动和/或手动操作的感兴趣区域(ROI)产生器143x。替代数据存储器部分144包括替代数据144SD。如下文更详细地描述,根据本发明,当编辑零件程序时,不需要执行零件程序的所有步骤来产生继续编辑所需的上下文,可使用先前保存的数据作为替代数据来模拟某些上下文。大体来说,存储器部分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可都被认为是连接到控制器125的通用机器控制器块MC的部分。工件程序产生器和执行器150负责创建并执行零件程序。应了解,术语“工件程序”和“零件程序”在本文可互换使用。在各种示范性实施方案中,根据工件程序产生器和执行器150的操作,当用户利用机器视觉检测系统100创建工件20的零件程序时,用户通过自动、半自动或使用工件编程语言来手动显式编码指令,和/或通过在学习模式(例如,由学习模式部分156控制)中操作机器视觉检测系统100来产生指令,从而产生零件程序指令,以提供所要图像获取训练顺序。例如,训练顺序可包括设置视场(FOV)中工件特征、设定光级、对焦或自动对焦、获取图像并提供应用于图像的检测训练顺序(例如,使用视频工具)。学习模式操作,使得顺序被获取或记录并转换成对应零件程序步骤(即,指令)。当零件程序在运行模式(例如,由运行模式部分157控制)中执行时,这些零件程序步骤将使机器视觉检测系统复制培训的图像获取和检测操作来自动检测匹配创建零件程序时使用的工件的工件。利用记录器翻译器155来把机器操作翻译成零件程序代码。换句话说,如果用户执行动作(例如,改变用以测量工件上特征的视频工具),那么产生翻译成机器可读语言的基本指令,且也可执行逆向翻译。如下文将更详细描述,在本发明的某些实施方案中,零件程序中某些标记语言指令也可在用户界面被翻译成指令表示。在一个特定示范性实施方案中,标记语言代码可以是XML类代码。如下文将参照图2B更详细描述,编辑部分160提供或激活与编辑零件程序相关的各种操作和用户界面特征。替代数据管理器180连接到根据本发明可记录在零件程序中的替代数据。在某些实施中,替代数据管理器180负责从正常产生替代数据的输出获得替代数据,并提供将被写成零件程序的替代数据。在一个实施方案中,程序状态管理器185管理是否保护程序。在一个实施方案中,未保护零件程序可包括存储的替代数据,而被保护零件程序已删除任何替代数据。在一个示范性实施方案中,被保护程序是编辑过程已经完成,例如可在运行模式中用于工厂的程序。在一个实施方案中,用户可选择将被保护的零件程序,此时程序状态管理器185自动删除所有替代数据,使得在运行时间零件程序不担负额外执行步骤。当未保护程序使得替代数据保持记录在零件程序中时,且当编辑部分160召回零件程序,替代数据被指示成可用时,程序状态管理器185也负责。在一个实施方案中,节点管理器190负责管理分配给零件程序中节点的节点号。在一个实施方案中,在零件程序的表示中,每个指令表示被分配一个节点号。在某些实施中,可利用组织树结构,其中有父节点和子节点。在某些实施中,记录器翻译器155产生的每个零件程序表示线被节点管理器190分配一个节点号。自动滚屏管理器195利用节点管理器190分配的节点号来同时在不同窗口显示相关零件程序元素的有关元素和对应编辑功能。换句话说,如果用户想看看工件的哪些测量与零件程序中哪些指令表示和编码指令有关,那么自动滚屏管理器195将在各自的窗口中自动滚屏到零件程序表示中相关线和/或对应于相关节点号的编码指令。相关编辑特征和功能也在题为“Machine Vision System Program EditingEnvironment Including Synchronized User Interface Features,,(代理人编号MEIP138244);“System and Method Utilizing An Editing Initialization Block InA Part Program Editing Environment In A Machine Vision System”(代理人编号MEIP137678)和“Machine Vision System Editing Environment For A Part Program InWhich A Continuous Stream Of Image Acquisition Operations Are Performed DuringA Run Mode”(代理人编号MEIP137944)的专利申请中描述,所述专利申请与本文同时提交且以引用的方式并入本文。图2B示出图2A的编辑部分160的另外组件。如图2B中示出,编辑部分160包括编辑操作控制器174、编辑用户界面部分176、编辑命令部分177和编辑执行部分178。编辑操作控制器174控制编辑功能的操作,且编辑用户界面部分176向用户界面特征提供编辑功能。编辑用户界面部分176包括程序指令表示窗口 176PI,程序指令表示窗口 176PI包括表示用户界面特征176R,表示用户界面特征176R包括节点用户界面特征176N。如下文将参照图3更详细描述,程序指令表示窗口 176PI提供零件程序表示。在一个实施方案中,零件程序表示可用树结构来提供。表示用户界面特征176R提供例如可取决于上下文状态和获得上下文的方式(例如,上下文是否是由替代数据产生、由实际运行等产生)来改变颜色的插入指针的特征。关于节点用户界面特征176N,在一个实施方案中,它们可包括例如图标或破碎图标和颜色亮显的特征,以指示节点是否有效等。编辑执行部分178在编辑过程期间负责各种执行模式,且包括替代模式部分180、实际模式部分191和编辑执行用户界面特征部分192。替代模式部分180包括节点分析器181,节点分析器181包括替代数据操作181A和机器操作181B。如下文将更详细描述,当替代模式部分180操作替代执行模式时,根据本发明,替代数据用以产生继续编辑操作的上下文。在一个实施方案中,节点分析器181确定零件程序执行是否已达到目标节点(例如,其中将在零件程序中进行修改)。节点分析器181根据涉及节点的类型来确定是否将执行替代数据操作181A或实际机器操作181B。大体来说,一旦达到目标节点,就执行实际机器操作,其中对于在目标节点之前的零件程序指令,可利用替代数据操作来产生继续编辑操作所需的至少一些上下文。如果替代数据丢失,那么可促使用户允许/执行实际机器操作来产生所需上下文。在一个实施方案中,每个节点被分析来确定替代数据操作是否可用,包括替代数据是否存在、替代数据是否是替代数据操作的正确类型节点,或者是否需要利用实际机器操作。实际模式部分191包括更传统地由先前机器视觉系统执行的操作。应了解,实际模式部分191也可被替代模式部分180调用,来在合适时执行机器操作181B。实际模式部分191包括机器操作191A和数据操作191B。机器操作191A执行实际机器操作(例如,移动平台作为视频工具操作的部分),而数据操作191B通常输出数据。编辑执行用户界面特征192提供用户界面特征来执行编辑功能(例如,关于各种执行操作状态的指示,例如,指示零件程序的什么部分具有利用的替代数据或已经通过实际执行运行等的色码)。编辑命令177包括运行段部 分177A、修改部分177B和插入/附加部分177C。插入/附加部分177C的操作将参照图6-8在下文更详细描述,而修改部分177B操作将参照图9-11B在下文更详细描述。大体来说,运行段部分177A执行零件程序的选择段的实际运行。应了解,为了运行零件程序的选择段,必须建立选择段的合适上下文。如下文将更详细描述,根据本发明,可通过利用替代数据来建立合适上下文。如果零件程序某一部分不存在替代数据,那么可运行段来产生所需替代数据。应了解,在先前机器视觉系统中,由于需要导向选择段的合适上下文,所以运行零件程序的单独段而不运行零件程序的所有先前部分是困难的。例如,如果段需要降低平台,但系统不知道平台的当前χ-γ-ζ位置,那么把平台降低到未知的位置就是不可取的。因此,在先前实施方案中,通常利用的技术将从开始运行整个零件程序以能够运行中间段,对于中间段所有先前操作可需要大量时间来执行。相反,根据本发明,替代数据可用以建立合适上下文来进行编辑或运行零件程序段,而不需要从头运行整个零件程序。修改部分177B与运行段部分177A的操作具有某些相似。大体来说,当选择修改零件程序中指令表示时,替代模式可用于在将被修改的指令之前的零件程序部分。在一个实施方案中,当选择零件程序中指令表示的修改命令时,指令表示的节点被指定为目标节点。一旦达到目标节点,编辑器就切换出替代模式并切换进入实际执行模式(例如,如由实际模式部分191控制)且执行节点的第一相关零件程序指令。在一个实施方案中,如果被选择用于修改的指令对应于子节点,那么实际执行可被指定为从父节点开始。在一个特定示范性实施方案中,如果与框工具相关的子节点将被修改,那么涉及建立框工具的图像获取的父节点可以是实际执行被设定为开始所在的节点。关于插入/附加组件177C,如果插入在子节点之间,那么也可需要执行父节点来执行所要插入。应了解,在某些实施中,附加操作可通常被认为是插入操作的特别例子,它发生在现存零件程序的末端。图3是包括具有多个起始零件程序指令表示351-364的零件程序310的表示的编辑界面300的图。编辑界面300也包括各种测量和/或例如选择条320的操作选择条。零件程序表示310的特别指令表示的操作将参照图4在下文更详细描述。图4是示出包括具有工件415的视场窗口 410的图像的用户界面400的图,对应于图3的零件程序在用户界面400上执行。用户界面400也包括各种测量和/或例如选择条420和440的操作选择条、实时X-Y-Z (位置)坐标窗口 430、光控制窗口 450和视频工具参数框460。如下文将更详细描述,工件415上的各种特征是根据例如边缘点集PTX、PTY、PT3和PT4、线XLINE、YLINE, L3和L4、原点XYORIGIN和交点12的图3的相关零件程序指令表不来确定的。以下描述将参照图3的起始零件程序指令表示351-364和图4的工件415上的对应特征。在一个实施方案中,指令表示351-364中的每一个与节点相关,且被分配一个节点号。在某些实施中,利用树结构,其中一些指令表示与父节点相关,且一些与子节点相关。例如,子节点指令表示 351A-351D、353A-353C、354A-354B、361A-361C 和 362A-362B 分别与父节点指令表示351、353、354、361和362相关。也应了解,在一个实施方案中,如显示在编辑界面300中的指令表示351-364包括来自零件程序的标记语言指令的图标和标签。在一个实施方案中,零件程序的标记语言可包括XML类代码。指令表示351-364因此指向被执行的相关代码指令,如下文将参照图5A和5B更详细描述。如图3中示出,零件程序表示310开始于指示用户在工件415上手动选择一个位置充当粗原点ROP (未示出)的指令表示351和352,且然后把原点对准粗原点R0P。更一般来说,指令表示351A、351B、351C和351D指示用户建立并利用手动工具来定义粗原点ROP且指令表示352把原点对准粗原点R0P。指令表示353然后指示将打开框工具来测量线XLINE。更一般来说,指令表示353A和353B指示用户建立(例如,包括移动平台到指定位置并获取对应图像)并利用框工具来确定边缘点PTX。框工具的功能和操作和其它边缘检测视频工具在技术中是已知的,且在先前并入的参考中更详细进行了描述。框工具确定的边缘点PTX然后由指令表示353C利用来定义线XLINE。类似地,指令表示354指示将打开框工具来测量线YLINE,其中指令表示354A指示用户利用框工具来确定边缘点PTY,所述边缘点PTY然后如被指令表示354B指示地利用来定义线YLINE。指令表示355然后指示交点XYORIGIN是在线XLINE和YLINE的交点确定的。指令表示356然后指示命令机器视觉系统来把原点对准点XYORIGIN。指令表示357然后指示命令机器视觉系统来把工件415的X轴对准线XLINE。如下文将参照图5更详细描述,且如注释行358指示,指令表示351-357的操作建立用于执行另外测量的工件415的正确位置和定位。指令表示361然后指示将打开框工具来测量线L3。更一般来说,指令表示361A和361B指示用户建立(例如,包括移动平台到指定位置并获取对应图像)并利用框工具来确定边缘点PT3,然后如指令表示36IC指示地利用边缘点PT3来定义线L3。如下文将更详细描述,用以测量线L3的框工具(例如,图4中示出为框工具470)和相关指令表示361和361A-361C在图5A和5B和9-11B中被用作例子来示出怎样产生、存储并修改替代数据。返回图3,指令表示362指示将打开框工具来测量线L4,其中指令表示362A指示用户利用框工具来确定边缘点PT4,所述边缘点PT4随后如指令表示362B指示地用来定义线L4。指令表示363指示用户定义选择的位置公差,且指令表示364指示交点12是在线L3和L4相交的地方确定的。在存储并退出对应于表示310的零件程序之后,当召回零件程序用来编辑时,先前的实施方案要求从头执行整个零件程序,从而产生有效上下文来继续编辑零件程序。虽然通过每当召回零件程序用于编辑时执行所有指令,先前实施方案产生准确的结果和零件程序,但是执行所有指令可能占用大量时间(尤其是需要例如硬件交互等的某些费时过程的那些指令)。如下文将更详细描述,根据本发明,不需要从头执行整个零件程序,可把先前保存的数据用作替代数据来模拟有效上下文继续编辑零件程序。换句话说,在一个实施方案中,当对零件程序进行继续编辑从而在测量工件415时,知道某些参数是很有用的。例如,为了知道视频工具正确的阈值、尺寸和位置,必须有正确的视频图像,包括例如正确平台位置、光级、放大率的信息。在一个实施方案中,这些信息可被认为是“软件上下文”的部分。另外,为了知道顺序是否正确来继续编辑零件程序,知道已经做了什么,包括已经测量了什么特征、利用坐标系的什么部分,是有用的。在一个实施方案中,这个信息可被认为是软件上下文的部分。在一个实施方案中,上下文通常被认为是在一个状态下建立机器视觉检测系统的用户界面,使得所有本机接口控制元件为修改零件程序做好准备。如上文所述,当初始且在之后运行时间记录零件程序时提供准确上下文,因为所有零件程序指令(例如,对应于表示351-364)通常是按顺序执行。如上文所述,这提供有效上下文来继续编辑零件程序,包括指示零件程序已经产生的任何测量和结果(例如,如相对于用户界面400中工件415示出的线XLINE、YLINE、L3、L4和交点XYORIGIN和12的指示)。如下文将更详细描述,根据本发明,当编辑零件程序时,不需要执行零件程序的所有指令表示来产生所需上下文,可通过使用先前保存的数据作为替代数据来模拟某些上下文。简单地说,在执行零件程序的记录或运行时间期间,确定上下文所需的数据与零件程序存储在一起。然后,在之后,可通过利用保存的数据作为替代数据产生所需上下文来模拟某些结果。因此,通过避免执行费时操作(例如,需要例如移动平台、边缘检测、对焦、光改变、模式匹配等的硬件交互的操作),可节约大量时间。之后可用作替代数据的保留数据将在下文参照图5A和5B更详细描述。图5A和5B是对应于图3的零件程序表示的一些指令表示的标记语言码指令的图500A和500B。更一般来说,图5A和5B示出对应于图3用于测量线L3的指令表示361和361A-361C的XML类代码形式的零件程序指令。应了解,在一个实施方案中,指令表示361和361A-361C包括来自图5A和5B的XML类代码指令的图标和标签。指令表示361和361A-361C本身并不执行,而是指向执行的图5A和5B的相关代码指令。如图5A和5B中示出,XML类代码指令包括在一个实施方案中可对应于图3的指令表示361、361A、361B和361C的节点1.D.号码561、561A、561B和561C。XML类代码指令也包括图像位置的某些位置信息510和框工具的某些框工具位置信息520,例如可在图4的用户界面400的区域430和460中显示。如图5B中示出,数据530与之后可用作替代数据来模拟上下文的零件程序存储在一起(例如,如下文将参照图6-8更详细描述)。更一般来说,当图3的指令表示361B指示图4的框工具470被运行来确定边缘点集PT3,边缘点集PT3相对于工件的部分坐标系的位置被存储在XML类代码指令中作为数据530。如下文将参照图1lA和IlB更详细描述,可修改零件程序,这样可产生替代数据530的修改。图6是包括图3的零件程序表示310且包括用于执行例如把指令插入零件程序的各种编辑模式命令或功能的下拉式选单620的编辑界面600的图。如图6中示出,下拉式选单620包括执行插入操作的选择621、执行修改操作的选择622、执行删除操作的选择623、执行运行选择操作的选择624、执行运行选择操作的选择625、执行切换断点操作的选择626、执行设置编辑初始化块标示操作的选择627、执行清晰编辑初始化块标示操作的选择628和执行促进步回路操作的选择629。在一个实施方案中,当用户选择特定指令表示(例如,在图6的说明中,用户通过使用鼠标移动选择器到指令表示364上然后点击来选择最后的指令表示364)时,可提供下拉式选单620。所选择的指令表示(例如,指令表示364)可由选择器框(例如,如图6示出的选择器框640),或亮显或其它指示器方法来指示。如下文将参照图7和8更详细描述,一旦用户从下拉式选单620 (例如,插入操作的选择621)选择指令表示(例如,指令表示364)和编辑操作,那么先前保存的数据(例如,图5B的数据530)可用作替代数据来建立有效上下文选择编辑零件程序。除了从下拉式选单620选择编辑操作之外,可利用选择627来建立编辑初始化块,这样可帮助保证通过利用替代数据模拟的上下文准确度。如在同时提交并共同让渡的以引用的方式并入本文的题为“System and MethodUtilizing an Editing Initialization Block in a Part Program Editing Environmentin a Machine Vision System”(代理人编号MEIP137678)的申请中所描述,用户可指定指令表示中的一个(例如,指令表示357)作为编辑初始化块标示。一旦用户指定指令表示357作为编辑初始化块标示,这指定所有之前并到指令表示357的指令表示(即,指令表示351-357)编辑组成编辑初始化块650的初始指令表示。指令表示357因此被确定为是编辑初始化步骤的最后起始零件程序指令表示。在一个实施方案中,可在编辑界面600中提供指示指令表示351-357中的每一个是编辑初始化步骤的编辑初始化指示器。在图6的特定示范性说明中,颜色条655 (用阴影线示出)被提供成靠近指令表示351-357来指示它们在编辑初始化块650中。在另外的实施方案中,其它编辑初始化指示器可用来指示编辑初始化指令表示(例如,定义指针、描绘标示、实际指令表示的亮显,而不是靠近步骤的条)。在一个实施方案中,当保存零件程序时,也保存哪些指令表示是编辑初始化指令表示的指示。应了解,如下文将更详细描述,在编辑初始化块650后因此不包括在编辑初始化块中的剩余起始零件程序指令表示361-364可能不是以运行编辑初始化块时相同的方式来运行。在一个实施方案中,指令表示361-364被指定为在剩余指令表示块660中。如下文将更详细描述,在一个实施方案中,编辑初始化块650可用以解决在零件程序的编辑过程期间可发生的条件下某些改变。例如,如果在用户保存零件程序之后用户离开工作站并在之后返回,那么在中间时期可能发生可影响零件程序的编辑的某些改变(例如,不利地移动到平台上的部分等)。然而,由于重运行零件程序的所有先前指令(尤其是需要例如硬件交互等的某些费时过程的那些指令)可能需要的时间量,用户可能希望只重运行帮助保证通过利用替代数据模拟的上下文准确度的某些指令。编辑初始化块650的编辑初始化指令表示表示将重建部分坐标系的部分的起始零件程序指令,以补偿由于执行最后零件程序指令所产生的任何在平台上部分的不利移动。图7是包括图3的零件程序表示310且包括添加的指令表示块770的编辑界面700的图。添加块770包括在已经运行编辑初始化块650之后使用插入操作621插入(或附加)到零件程序的另外零件程序指令表示771-774。插入操作621的特定方面将在下文参照图8更详细描述。图8是包括其上执行图7的对应零件程序指令的工件415的图像的用户界面800的图。如图8中示出,运行编辑初始化块650重建线XLINE和YLINE和点XYORIGIN在工件415上的位置。更一般来说,运行对应指令来利用框工具重建边缘点PTX和PTY在工件415上的位置,线XLINE和YLINE和点XYORIGIN的位置是从边缘点PTX和PTY重新确定的。根据起始零件程序指令表示351-357,这些特征的位置的正确确定保证工件415的位置和定位的准确度,来准确地重新确定部分坐标系。换句话说,如果自从最后保存工件程序310时起,工件415在平台上不利移动,那么运行编辑初始化块650将重建工件415的正确位置和定位来帮助保证基于参考部分坐标系的替代数据产生的任何模拟上下文的准确度。相反,在一个实施方案中,不编辑初始步骤的剩余指令表示块660中起始零件程序指令表示361-364不是以相同方式运行的。替代地,在某些实施中,保存的位置数据(例如,图5B的数据530)可用作确定点集PT3’和PT4’的位置的替代数据。换句话说,可基于如图4示出从零件程序指令表示351-364的起始执行确定的这些点的相对位置提供点集PT3’和PT4’的位置(例如,保存为图5B的数据530)。换句话说,当初始执行并保存零件程序时,保存图4中点PT3和PT4的相对位置(例如,如参考包括点XYORIGIN的部分坐标系)。此后,当召回零件程序310来编辑且运行编辑初始化块650来重建如图8中示出的点XYORIGIN的位置时,不重建点PT3和PT4的位置,点XYORIGIN的先前保存的相对位置被用作替代数据来确定点PT3’和PT4’的位置。换句话说,点PT3’和PT4’的位置可以不基于与表示361A、361B和362A相关的指令的运行,所有这些指令需要硬件交互和边缘检测且需要相对长的时间来执行。在一个实施方案中,不执行不在编辑初始化块中且通常需要某些指定费时操作(例如移动平台、边缘检测、对焦、光改变、模式匹配等的硬件交互)的任何指令。替代地,已提供的任何所得数据(例如,重新确定的边缘点等)是基于替代数据(例如,点PT3’和PT4’相对于点XYORIGIN的位置)的。如上文所述,通过运行编辑初始化块650来重建包括点XYORIGIN的正确位置的部分坐标系的定位,以帮助保证所使用的任何相关替代数据的准确度。应了解,通过不运行某些指定的费时操作,可节约大量时间。这是归因于这些操作可能占用尤其与只需要通过机器视觉系统的控制器来执行计算的操作比较起来相对长的时间来执行的事实。应了解,虽然在图7的例子中只示出这种类型的几个指令表示(例如,指令表示361A、361B和362A),但是可利用这种类型的更多指令表示,对于这种情况节约时间可能极其重要。在一个实施方案中,可执行与表示361C和362B相关的指令(这些指令不需要相对费时的操作,只需要相对快速处理机器视觉系统的控制器来利用点PT3’和PT4’建立线L3’和L4’的位置)来产生上下文。类似地,也可执行与表示364相关的另外指令(这些指令只需要相对快速处理控制器)来确定包括线L3’和L4’的交点的交点12’的上下文。应了解,由与表示361C、362B和364相关的指令执行的计算都属于可在从替代数据确定的估计边缘点PT3’和PT4’上相对快速地执行而不需要用户大量时间或输入的类型。因此,也可执行剩余指令表示块660中与起始零件程序指令表示361-364相关的某些指令来产生上下文。关于插入操作621添加的另外零件程序指令表示771-774,与指令表示相关的特定操作将参照图8进行描述。与指令表示351-364类似,另外零件程序指令表示771-774以树结构组织,其中子节点指令表示771A-771C和772A-772B分别与父节点指令表示771和772相关。如图8中示出,指令表示771指示将打开框工具来测量线LI。更一般来说,指令表示771A和771B指示用户建立(例如,包括把平台移动到所要位置并获取对应图像)并利用框工具来确定边缘点PT1,所述边缘点PTl随后如指令表示771C所指示地用来定义线LI。类似地,指令表示772指示将打开框工具来测量线L2,其中指令表示772A指示利用框工具来确定边缘点PT2,所述边缘点PT2随后如指令表示772B所指示地用来定义线L2。指令表示773指示在线LI和L2的交点确定交点II。指令表示774指示在交点Il和指令表示364确定的交点12’之间确定距离D1。应了解,指令表示774因此示出交点Il和交点12’之间距离的新测量可依靠利用替代数据产生的上下文。更一般来说,能够把上文描述成能够相对快速地确定且基于运行编辑初始化块650保证的相当的准确度的上下文的交点12’的位置用于到交点Il的新测量D1。图9是包括图7的零件程序表示且进一步包括用于执行例如修改零件程序中指令的编辑模式命令或功能的下拉式选单620和询问用户是否赞成平台的对应移动的检索框920的编辑界面900的图。应了解,下拉式选单620类似于上文参照图6描述的下拉式选单。如图9中示出,由于用户选择指令表示(例如,在图9的说明中,用户通过使用鼠标移动选择器到指令表示361B上然后点击来选择指令表示361B),提供下拉式选单620。指令表示361B被指示为由选择器框(例如,如图9中示出的选择器框640)或亮显或其它指示器方法选择的指令表示。在用户选择指令表示361B之后,结果提供下拉式选单620,其中用户选择修改操作622。如下文将更详细描述,一旦用户选择修改操作622,确定将需要移动平台。结果,提供指示将需要同步化系统的指示器框910,且提供要求用户赞成平台的相对移动的检索框920。如下文将更详细描述,选择的指令表示(例如,指令表示361B)用于指定目标节点。对于某些在目标节点之前的指令表示,可利用替代数据来确定有效上下文。一旦达到目标节点,那么实际执行操作可开始,这可能需要执行某些物理操作,例如需要移动平台。图1OA和IOB是示出对应于图9的指令表示361B的框工具尺寸修改的用户界面1000A和1000B的图。图1OA的用户界面1000A示出对应于指令表示36IB的框工具470的保存配置(即,如图5A和5B的XML类代码指定且如图4中示出)。另外,提供检索框1015来进行“修改框工具”操作。如图1OB的用户界面1000B中示出,用户进行修改,从而产生修改的框工具470X。修改的框工具470X尺寸不同,因此确定边缘点PT3X的不同集合,这产生线L3X以及交点I2X和距离DlX的不同确定。由于框工具的长度(即,高度)被缩短,所确定边缘点PT3X的集合比先前确定的边缘点PT3的集合小。更一般来说,边缘点PT3X的集合被示出为包括3个边缘点,而先前确定的边缘点PT3的集合包括4个边缘点。框工具的减小的长度(即,高度)也在用户界面1000B的区域460的高度指示器中被指示,同图4的用户界面400的区域460中指示的高度0.57428相比较,所述高度指示器显示高度0.32536。如下文将参照图1lA和IlB更详细描述,产生更小边缘点PT3X集合的修改也产生对应替代数据的改变。图1lA和IlB是包括已根据图1OA和IOB描述的零件程序的修改改变的替代数据的标记语言码指令的图1100A和1100B。应了解,图1lA和IlB的XML类代码指令与图5A和5B的XML类代码指令类似。如图1lA中示出,长度(即,高度)的缩短被示出为数据1120的部分,对于这个部分高度被示出为减小到0.32536 (S卩,同如图5A中示出的高度0.57428相比较)。如图1lB中示出,数据1130只包括3个检测边缘点(B卩,同图5B的保存的数据530中示出的4个检测边缘点相比较)。也应了解,数据1130中3个检测边缘点的位置与数据530中前3个检测边缘点的位置稍微不同。在某些实施中,这是因为在实际运行模式执行期间,当重运行零件程序时,重运行的测量数据可能与不同执行稍微不同的事实。图12A和12B是示出提供包括实时上下文生成特征的机器视觉系统程序编辑环境的例行程序1200的一个实施方案的流程图。如图12A中示出,在块1210,提供被配置成可操作来使用执行的运行模式执行先前创建的零件程序的运行模式。在块1220,提供被配置成可操作来接收用户输入以控制机器视觉检测系统的操作并记录对应于受控操作的相关零件程序指令从而创建零件程序的学习模式。另外,学习模式包括编辑用户界面,所述编辑用户界面包括零件程序指令的可编辑零件程序表示,所述零件程序表示包括指令表示。在块1230,提供被配置成可操作来编辑零件程序的编辑部分。另外,编辑部分包括可操作来根据与执行的运行模式不同的执行的编辑模式执行先前记录的零件程序指令的编辑执行部分。如下文将参照图12B更详细描述,根据块1230,例行程序继续到点A。如图12B中示出,例行程序从点A继续到块1240。在块1240,学习模式被配置成还可操作来自动记录与各自的记录零件程序指令集有关的各自替代数据。另外,至少一些各自替代数据包括实际执行对应于相关各自的记录零件程序指令集的受控操作产生的数据。在块1250,执行的编辑模式被配置成包括替代执行模式,其中在以可编辑零件程序表示来表示的零件程序指令的替代执行模式期间,对于至少一个零件程序指令集,如果各自替代数据被先前记录成与所述零件程序指令集有关,那么不执行所述零件程序指令集的至少一些成员,从而并没有实际执行它们的相关受控操作。另外,在替代执行模式的后续操作中使用各自替代数据来代替它们没有执行的相关受控操作以其他方式会产生的数据。图13是示出执行替代执行模式来在零件程序指令表示、元素或节点指示的零件程序位置提供有效编辑上下文的例行程序1300的一个实施方案的流程图。在块1310,在有效上下文位置开始替代执行模式。作为有效上下文位置的特定例子,在图7和8的实施方案中,有效上下文位置将在指令表示361,紧跟在运行编辑初始化块650之后。换句话说,由于刚刚执行了编辑初始化块650,它所产生的上下文已知为有效,使得替代执行模式可在它之后立刻开始。在不包括编辑初始化块650的替代性实施方案中,在一个示范性实施方案中,有效上下文位置可主要存在于零件程序的开始。在块1320,例行程序继续到下个节点作为当前节点。在决策块1330,确定当前节点是否是编辑命令的目标节点。如果当前节点是编辑命令的目标节点,那么例行程序继续到块1340,其中实际执行模式在当前节点开始,如下文将更详细描述,此后例行程序继续到决策块1395。作为编辑命令的目标节点的当前节点的特定例子,在图9-11B的实施方案中,指令表示361B是被选择来用修改命令622编辑的指令表示。然而,因为指令表示361B被指定为指令表示361的父节点的子节点,实际执行模式可在对应于指令表示361的父节点开始。因此,在一个实施方案中,目标节点可被认为是与指令表示361相关的父节点,且实际执行模式可在父节点开始,以执行物理建立对应于指令表示361A的测量来提供正确的物理上下文,从而在指令表示36IB编辑。如果在决策块1330确定当前节点不是编辑命令的目标节点,那么例行程序继续到决策块1350,其中确定当前节点是否无条件地要求物理系统改变。例如,如果节点移动平台来成像工件的新的部分(例如,通过简单的“移动”命令等),那么在一些实施方案中这可能无条件地要求物理系统改变。类似地,某些放大率改变是无条件物理系统改变等。然而,应了解,在一些实施方案中,如果这些改变嵌入已经具有相关替代数据的父节点中,且后续节点再次要求类似物理改变(例如,分别是移动或放大率改变),那么它可能不是无条件地要求的,因为它将最终被类似后续指令取代。所属领域的技术人员可基于本公开的教导来确定各种分析当前节点是否无条件地要求物理系统改变的方法。在任何状况下,如果当前节点的确无条件地要求物理系统改变,那么例行程序继续到块1340。如果当前节点不是无条件地要求物理系统改变,那么例行程序继续到块1360。在决策块1360,确定当前节点是否提供结果数据。如果当前节点的确提供结果数据,那么如下文将更详细描述,例行程序继续到决策块1380。如果当前节点不提供结果数据,那么如下文将更详细描述,例行程序继续到块1370,其中在替代执行模式中执行节点,此后例行程序继续到块1395。在决策块1380,确定当前节点是否存在替代数据。如果当前节点的确存在替代数据,那么如下文将更详细描述,例行程序继续到块1390。如果当前节点不存在替代数据,那么例行程序继续到块1340。在块1390,在替代执行模式中执行节点。对于替代执行模式,使用替代数据来代替执行与对应于当前节点的零件程序指令集的至少一些成员相关的控制操作以其他方式会产生的数据,且零件程序指令集的这些成员被跳过,使得没有实际执行相关控制操作。作为特定例子,在图7和8的实施方案中,利用替代数据(例如,图5B的数据530)来代替执行与指令表示361、361A和361B相关的控制操作以其他方式会产生的数据,使得相关指令和控制操作被跳过且并没有实际执行。类似地,关于与指令表示362和362A相关的操作,也使用替代数据,使得相关指令和控制操作被跳过且并没有实际执行。相反,与指令表示361C(例如,用于利用替代数据边缘点定义线L3’)、指令表示362B(例如,用于利用替代数据边缘点定义线L4’)和指令表示364 (例如,用于确定线L3’和L4’之间的交点12’)相关的指令被全部执行来产生相关上下文。换句话说,如图8的用户界面800中示出,线L3’和L4’和交点12’的产生说明可怎样使用替代数据来产生上下文继续编辑零件程序。例行程序然后继续到决策块1395,其中确定是否有另一个节点来在替代执行模式下执行。如果有另一个节点来在替代执行模式下执行,那么例行程序返回到块1320,如果没有,那么例行程序结束。例如,如果通过达到目标节点和执行块1330和1340,执行达到决策块1395,那么在一些实例中,将没有另一个节点来在替代执行模式中执行,因为可能已经建立了上下文来在目标节点上或目标节点内编辑。虽然已经示出并描述了本发明的各种优选和示范性实施方案,但是应了解可在不脱离本发明的精神和范围的情况下进行各种修改。
权利要求
1.一种机器视觉检测系统,包括成像部分、用来支承所述成像部分的视场(FOV)中一个或多个工件的平台、控制部分、显示器和用户界面,其中所述机器视觉检测系统还包括: 被配置成可操作来使用执行的运行模式执行先前创建的零件程序的运行模式; 被配置成可操作来接收用户输入以控制所述机器视觉检测系统的操作并记录对应于所述受控操作的相关零件程序指令从而创建零件程序的学习模式,所述学习模式包括编辑用户界面,所述编辑用户界面包括零件程序指令的可编辑零件程序表示,所述零件程序表示包括指令表示;和 被配置成可操作来编辑零件程序的编辑部分,所述编辑部分包括可操作来根据与执行的所述运行模式不同的执行的编辑模式执行先前记录的零件程序指令的编辑执行部分, 其中: 所述学习模式被配置成还可操作来自动记录与各自的记录零件程序指令集有关的各自替代数据,且至少一些各自替代数据包括实际执行对应于所述相关各自的记录零件程序指令集的受控操作产生的数据;且 执行的所述编辑模式包括替代执行模式,其中在以所述可编辑零件程序表示来表示的零件程序指令的替代执行模式期间,对于至少一个零件程序指令集,如果各自替代数据被先前记录成与所述零件程序指令集有关,那么不执行所述零件程序指令集的至少一些成员,从而并没有实际执行它们的相关受控操作,且在所述替代执行模式的后续操作中使用所述各自替代数据来代替它们没有执行的相关受控操作以其他方式会产生的数据。
2.如权利要求1所述的机器视觉检测系统,其中创建零件程序包括修改先前记录的零件程序指令。
3.如权利要求1所述的机器视觉检测系统,其中所述至少一些各自替代数据包括实际执行基于接收的用户输入来控制的受控操作所产生的数据,且记录所述受控操作来提供所述相关各自的记录零件程序指令集。`
4.如权利要求1所述的机器视觉检测系统,其中执行的所述编辑模式包括实际执行模式,且所述至少一些各自替代数据包括实际执行基于使用所述实际执行模式执行先前记录的相关各自的记录零件程序指令集来控制的受控操作所产生的数据。
5.如权利要求1所述的机器视觉检测系统,其中所述机器视觉检测系统包括可操作来把所述记录零件程序指令保存在可编辑零件程序文件中的程序状态管理部分,且当把所述记录零件程序指令保存为可编辑零件程序文件时,所述可编辑零件程序文件中与各自的记录零件程序指令集有关的各自替代数据也被保存。
6.如权利要求5所述的机器视觉检测系统,其中所述机器视觉检测系统可操作来载入所述保存的可编辑零件程序文件进行编辑,且所述机器视觉检测系统被配置成当载入所述保存的可编辑零件程序文件进行编辑时,自动使所述相关保存的各自替代数据可用于所述替代执行模式中。
7.如权利要求5所述的机器视觉检测系统,其中所述程序状态管理部分还可操作来把所述记录零件程序指令保存在可使用执行的所述运行模式执行的保护零件程序文件中,其中配置执行的所述运行模式和所述保护零件程序文件中的至少一个,使得执行的所述运行模式的结果不受对应于所述保护零件程序文件的任何先前记录的替代数据影响。
8.如权利要求7所述的机器视觉检测系统,其中所述学习模式被配置来在各自的记录零件程序指令集中记录各自替代数据是否被先前记录成与所述各自零件程序指令集有关的指示;且 所述程序状态管理部分被配置来在把所述记录零件程序指令保存在所述保护零件程序文件中之前删除各自替代数据是否被先前记录成与各自零件程序指令集有关的指示。
9.如权利要求1所述的机器视觉检测系统,其中所述学习模式被配置来在各自的记录零件程序指令集中记录各自替代数据是否被先前记录成与所述各自零件程序指令集有关的指示。
10.如权利要求9所述的机器视觉检测系统,其中所述指示包括在所述各自的记录零件程序指令集的起始指令中。
11.如权利要求10所述的机器视觉检测系统,其中所述各自的记录零件程序指令集包括以标记语言写入的指令。
12.如权利要求10所述的机器视觉检测系统,其中所述各自的记录零件程序指令集包括以标记语言写入的元素、父元素、容器元素和子元素中的至少一个。
13.如权利要求12所述的机器视觉检测系统,其中当所述各自的记录零件程序指令集是父元素时,不执行所述父元素中的任何子元素。
14.如权利要求9所述的机器视觉检测系统,其中所述指示包括所述各自的记录零件程序指令集中包括的各自替代数据存在。
15.如权利要求9所述的机器视觉检测系统,其中所述指示包括所述各自的记录零件程序指令集中包括的各自的标识符,所述各自的标识符可用以把所述相应各自替代数据定位在所述机器视觉检测系统的替代数据存储器部分中。
16.如权利要求1所述的机器`视觉检测系统,其中所述编辑部分包括可用以编辑零件程序的编辑命令,且所述编辑执行部分被配置,使得当用户使用所述编辑用户界面输入编辑命令来在所述零件程序表示中指示的目标位置处编辑所述程序时,执行的所述编辑模式在所述目标位置之前在所述零件程序中有效上下文起始位置开始,并使用所述替代执行模式来执行所述零件程序指令的至少一部分,从而建立有效上下文来在所述目标位置编辑所述零件程序。
17.如权利要求16所述的机器视觉检测系统,其中所述输入编辑命令是在所述目标位置修改零件程序的命令,且定位在所述目标位置的所述零件程序指令是将被修改的先前记录的零件程序指令。
18.如权利要求16所述的机器视觉检测系统,其中所述输入编辑命令是在所述目标位置把指令插入或附加到所述零件程序中的命令,且定位在所述目标位置的所述零件程序指令是将被创建、并插入或附加到所述目标位置的零件程序指令。
19.如权利要求16所述的机器视觉检测系统,其中在所述目标位置建立所述有效上下文包括在执行对应于定位在所述目标位置的零件程序指令的控制操作的期望或合适状态中建立所述机器视觉检测系统的硬件状态。
20.如权利要求19所述的机器视觉检测系统,其中所述零件程序中所述有效上下文起始位置包括以下中的一个(a)所述零件程序指令的开始和(b)包括零件程序指令的编辑初始化块后的下一指令。
21.如权利要求16所述的机器视觉检测系统,其中所述学习模式被配置,使得当在所述目标位置建立所述有效上下文时,所述学习模式用户界面被配置来显示可被用户操作来在所述目标位置编辑并插入零件程序指令的学习模式用户界面元素,所述学习模式用户界面元素包括视频工具选择元素。
22.如权利要 求16所述的机器视觉检测系统,其中所述学习模式被配置,使得当在所述目标位置建立所述有效上下文时,所述学习模式用户界面被配置来显示临近所述零件程序表示中指示的所述目标位置的所述指示的上下文状态指示符,且所述上下文状态指示符被设定来指示已在所述目标位置建立有效上下文。
23.如权利要求22所述的机器视觉检测系统,其中所述学习模式被配置,使得当执行的所述编辑模式使用所述替代执行模式来执行所述零件程序指令的至少一部分以建立所述有效上下文时,所述上下文状态指示符的所述状态被设定成特别指示已使用所述替代执行模式建立所述有效上下文的状态。
24.如权利要求23所述的机器视觉检测系统,其中所述上下文状态指示符在临近所述可编辑零件程序表示包括的指令指针上。
25.如权利要求23所述的机器视觉检测系统,其中执行的所述编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且所述编辑用户界面包括可被所述用户操作来使用所述实际执行模式以执行足以建立有效上下文来在目标位置编辑所述零件程序的零件程序指令集的控件。
26.如权利要求25所述的机器视觉检测系统,其中所述学习模式被配置,使得当执行的所述编辑模式只使用所述实际执行模式来执行足以建立所述有效上下文的所述零件程序指令时,所述上下文状态指示符被设定成特别指示已使用所述实际执行模式建立所述有效上下文的状态。
27.如权利要求26所述的机器视觉检测系统,其中所述学习模式被配置,使得当没有在所述目标位置建立有效上下文时,所述上下文状态指示符的所述状态被设定来指示所述上下文是未知或无效中的至少一个。
28.如权利要求16所述的机器视觉检测系统,其中默认执行的所述编辑模式在所述有效上下文起始位置自动开始。
29.如权利要求16所述的机器视觉检测系统,其中默认执行的所述编辑模式自动使用所述替代执行模式来执行所述零件程序指令的至少一部分。
30.如权利要求16所述的机器视觉检测系统,其中执行的所述编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且当所述目标位置被表示在以所述可编辑零件程序表示来表示的目标父元素中时,所述替代执行模式包括在对应于所述目标父元素的零件程序指令的起始位置切换到所述实际执行模式。
31.如权利要求30所述的机器视觉检测系统,其中所述目标位置包括控制对应于分析获得图像的视频工具的操作的指令,且所述目标父元素包括控制所述机器视觉检测系统的操作以建立所述获得图像的图像获取条件的指令。
32.如权利要求16所述的机器视觉检测系统,其中执行的所述编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且所述替代执行模式包括对于无条件地要求物理系统改变以建立所述有效上下文的指令切换到所述零件程序指令的所述实际执行模式。
33.如权利要求16所述的机器视觉检测系统,其中执行的所述编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且所述替代执行模式包括切换到所述零件程序指令集的所述实际执行模式,所述零件程序指令集在运行模式执行期间提供结果数据,且对于所述零件程序指令集,并没有当前记录所述对应的替代数据来用作它们相关受控操作会以其他方式产生的所述结果数据的代替。
34.如权利要求16所述的机器视觉检测系统,其中执行的所述编辑模式包括提供基于执行先前记录的零件程序指令集来控制的受控操作的实际执行的实际执行模式,且所述替代执行模式包括对于控制改变平台相对于所述成像部分的所述物理位置的操作的至少一些零件程序指令切换到所述实际执行模式,且所述学习模式用户界面包括询问所述用户是否赞成包括在移动所述物理位置平台的所述实际执行之前移动所述物理位置平台的实际执行模式操作的检索框。
35.如权利要求1所述的机器视觉检测系统,其中执行的所述编辑模式被配置,使得当使用编辑命令修改所述先前记录的零件程序指令中的至少一个以提供修改的零件程序指`令且所述修改的零件程序指令被接受来记录在所述零件程序中时,实际执行所述相关控制操作且产生并保存所述相关替代数据。
36.如权利要求35所述的机器视觉检测系统,其中所述替代数据来自对定位在所述平台上的实际工件的工件图像的分析,其中在对应于所述修改的零件程序指令的修改和记录的周期期间获取所述图像。
37.如权利要求1所述的机器视觉检测系统,其中所述零件程序指令集包括执行图像获取操作和边缘检测视频工具的指令,所述边缘检测视频工具包括如果执行那么标识所述获得图像中沿检测边缘定位的点的边缘点位置的边缘检测操作,且所述替代数据包括边缘点位置。
38.如权利要求37所述的机器视觉检测系统,其中在所述替代执行模式期间,不执行至少所述图像获取操作和所述边缘检测操作。
39.如权利要求1所述的机器视觉检测系统,其中所述机器视觉检测系统是实际机器视觉检测系统的软件仿真器,所述软件仿真器仿真所述实际机器视觉检测系统的所述受控软件使得它通过可用在所述实际机器视觉检测系统上的零件程序指令并通过所述用户通过所述机器视觉检测系统的所述用户界面输入的受控操作来支持虚拟操作。
40.如权利要求39所述的机器视觉检测系统,其中所述工件包括被配置来提供结合所述实际机器视觉检测系统的所述软件仿真器来操作的虚拟工件的工件数据。
41.如权利要求1所述的机器视觉检测系统,其中所述学习模式包括学习模式用户界面,所述学习模式用户界面包括显示零件程序指令的所述执行产生的结果的结果窗口,且所述学习模式被配置,使得当特定结果是基于使用执行零件程序指令的所述替代执行模式的替代数据结果时,所述学习模式用户界面被配置来显示临近所述替代数据结果的结果状态指示符,且所述结果状态指示符被设定来指示所述特定结果是基于替代数据。
全文摘要
一种机器视觉系统程序编辑环境包括近实时上下文生成。不需要执行零件程序的所有先前指令来产生真实上下文供后续编辑,使用先前保存的数据的替代数据操作代替执行某些指令集。在实际执行零件程序中记录的操作期间可保存替代数据。执行的编辑模式把所述数据代替作为执行以其他方式会产生所述数据的操作的替代。可节约大量上下文生成时间,从而编辑发生在可近实时地不断刷新来获得准确度的操作上下文内。这样支持相对不熟练的用户使用机器视觉系统的本地用户界面来进行简单的程序修改,而不是难以使用文字或图形对象编辑环境。
文档编号G01B11/00GK103106077SQ20121046017
公开日2013年5月15日 申请日期2012年11月15日 优先权日2011年11月15日
发明者B.塞勒, 于大海, R.诺思拉普, 张玉武, 高田彰 申请人:株式会社三丰