通道优先化方法和系统 【技术领域】
本发明涉及对通道进行优先化(prioritize)的方法和系统。
背景技术
自动光学检查(AOI)系统通常包括许多传送带,传送带将被检装置(DUT)传送到检查区用于检查。摄像头位于检查区,用于捕获每一个DUT的图像。计算装置处理每一个DUT图像,以确定DUT是否通过一系列检查标准。因为摄像头是相对昂贵的装置,因此在AOI系统中通常使用单个摄像头。该摄像头可以经由XY工作台(XY-table)在传送带之间移动。
当一条传送带上的DUT的图像已经被摄像头捕获时,则该摄像头被移到最先在其上存在DUT的另一条传送带之上。尽管这一用于摄像头移动的规则是起作用的,但它并不总是移动摄像头的最佳方式,特别是当耦合到AOI系统的上游(upstream)系统和下游(downstream)系统具有与AOI系统不同的吞吐量时。
【发明内容】
本发明的一个技术方案提供了一种方法,该方法包括对至少两个通道进行优先化,该优先化是至少根据每个通道中的处理区中的单元的可用性和邻近处理区的至少另一个区中的另一单元的可用性进行的。该方法还包括将一装置移向最高优先级通道的处理区。
本发明的另一技术方案提供了一种系统,该系统包括至少两个通道,每一个通道具有处理区和邻近所述处理区的另一个区。所述系统还包括用于移向所述至少两个通道中的一个的处理区的装置,以及控制器,该控制器至少根据每个通道中的处理区中的单元的可用性和所述至少另一个区中另一单元的可用性,对所述至少两个通道进行优先化,并且所述控制器将所述装置移向最高优先级通道的处理区。
【附图说明】
参考图将更好地理解本发明,其中:
图1是根据本发明实施例的自动光学检查(AOI)系统的图;
图2是示出图1中的AOI系统中使用的PC的元件的框图;以及
图3是根据本发明另一实施例,示出图1的AOI系统中用于确定摄像头移向许多传送通道中的哪一个的步骤序列的流程图。
具体实施例
如附图中为说明性目的所示,本发明可以是一种方法,用于确定装置应当移向许多通道中的哪一个。现有的方法通常将装置移向最先在其处理区中存在被检单元的那个通道。参考图3,实施本发明的方法通常包括:至少根据以下条件优先化至少两个通道:每个通道中的处理区中的单元的可用性和在至少一个邻近所述处理区的区中的另一个单元的可用性。在优先化所述通道之后,本方法包括将所述装置移向最高优先级通道的处理区。
本方法例如可以在自动光学检查(AOI)系统中实现,所述AOI系统例如是图1中所示的AOI系统2。AOI系统2包括三个传送带或通道4A、4B、4C,光传感器6、步进电机8、可编程逻辑控制器(PLC)10、控制器、伺服驱动器14和XY运动工作台16,XY运动工作台16具有安装在其上的图像捕获装置,所述图像捕获装置例如是但不限于是摄像头18。摄像头18至少包括一个摄像机和照明系统(两者都未示出)。控制器可以是任何计算装置,例如是个人计算机(PC)12、嵌入式控制器和基于ARM处理器的系统,但不限于此。PLC 10驱动步进电机8,使得以相同的速度或者不同的速度移动各个传送通道4A、4B、4C。当传送通道4A、4B、4C被移动时,每一个传送通道都将一个或多个被检单元(UUT)20A-20C、22a-22c、24传送经过为每个通道4A、4B、4C定义的入口区30、处理区32和出口区34。入口区30用作缓冲区,用于容纳从上游系统(未示出)向处理区32前进的UUT,所述上游系统耦合到AOI系统2并且具有比AOI系统2更高的吞吐量。出口区34用作另一个缓冲区,用于容纳离开处理区32去往下游系统(未示出)的UUT,所述下游系统耦合到AOI系统2并且具有比AOI系统2更低的吞吐量。如果处理区32未被占用,则UUT将直接被传送到处理区32而不必在入口区30停留。然而,如果处理区32被占用,则UUT首先被传送到入口区30,以等待当处理区32不被占用时,轮到被进一步向前传送到处理区32。UUT在处理区32中经过处理后,UUT在处理区32中等待直到出口区34不被占用。当出口区34未被占用时,UUT被传送离开处理区32,移进出口区34。传感器6沿着每个通道4A、4B、4C设置,以检测在所述三个区30、32、34的每一个中是否有UUT。传感器6还位于所述三个区30、32、34的外部,以使得PLC 10能够确定是否有UUT移进入口区30。XY工作台16经由伺服驱动器14可以移动到通道4A、4B、4C中地任何一条的处理区32,以将摄像头18定位于处理区32之上。PLC 10定期地(例如每400毫秒一次)捕获来自传感器6的信号,并且将每个区30、32、34中的UUT可用性状态提供给PC 12。根据在不同时间捕获的信号,PLC 10还能够将UUT运动状态提供给PC 12。PLC 10经由RS232耦合线(link)40连接到PC 12上。PC 12经由SyncNet耦合线42连接到伺服驱动器14,SyncNet耦合线42支持本技术领域的技术人员公知的标准运动控制协议。
在使用期间,PLC 10激励步进电机8,以分别移动位于每个传送通道4A、4B、4C上的UUT 20A-20C、22a-22c、24经过各个入口区、处理区和出口区30、32、34。在检测到UUT存在于摄像头16所在的通道4A、4B、4C的处理区32后,PC 12使用摄像头16捕获UUT的图像并且检查所述图像,以确定是否在UUT中存在缺陷。在UUT被检查之后,PLC 10驱动步进电机8,以将经过检查的UUT移进通道4A、4B、4C的出口区34,用于进一步传送到下游系统(未示出)。当该经过检查的UUT被移动时,PC 12执行上述方法,以确定摄像头接下来移向哪一个通道。马上将详细描述所述方法。在PC 12确定摄像头18要移向的传送通道4A、4B、4C之后,PC 12命令伺服驱动器14移动XY工作台16,以将摄像头18定位于通道4A、4B、4C之上。更具体而言,XY工作台16被移动,以将摄像头18定位于UUT的参照位置(fiduciary location)(未示出)上方。如果要使用AOI系统2检查不同类型的UUT,则摄像头18被移向每种UUT类型的参照位置直到找到了参照的位置。
PC 12包括可以适当地编程以执行通道优先化方法的典型元件。所述元件包括经由系统总线54连接到系统存储器52的可编程处理器50。可编程处理器50访问系统存储器52和其它输入/输出(I/O)信道56和外围装置58。PC 12还包括至少一个程序存储装置60,例如CD-ROM、卡带、磁介质、EPROM、EEPROM、ROM等。PC 12存储实现通道优先化方法的一个或多个计算机程序。处理器12读并且执行所述一个或多个计算机程序来实现所述方法。每个计算机程序可以以任何希望的计算机编程语言(包括机器语言、汇编语言、高级程序语言或面向对象编程语言)实现。在任何情况中,语言可以是已经编译的或已经解释的语言。
接着将参考示出步骤序列70的图3来描述通道优先化方法。当AOI系统2处于空闲(idle)状态或者AOI系统2不执行任何UUT检查时,调用该方法。序列70在“根据单元可用性对通道进行优先化”步骤72开始,其中PC 12根据在每个通道4A、4B、4C的入口区30中的第一UUT22A-22C、处理区32中的第二UUT 20A-20C和出口区34中的第三UUT24的可用性而对传送带4A、4B、4C进行优先化。PLC 10使用传感器6检测在区30、32、34中的每一个中的UUT 20A-20C、22A-22C、24的可用性,并且将UUT可用性信息在UUT可用性消息中发送给PC 12。UUT可用性消息包括这样的比特,其指示每个通道4A、4B、4C的每个区30、32、34中是否存在UUT。换而言之,存在对应于三个通道4A、4B、4C中的每一个的每个区30、32、34的比特,该比特指示在该区的UUT的可用性。对于每个比特,逻辑1值指示在对应的区30、32、34中存在UUT,而逻辑0值指示在对应的区30、32、34中没有UUT。换而言之,对应于区30、32、34的逻辑1值和逻辑0值分别指示区30、32、34被占用和未被占用。PC 12通过给由每个比特表示的状态分配权重来处理UUT可用性信息。例如,PC 12将权重4与在处理区32中存在UUT的状态相关联。PC 12将权重2与在入口区30中存在UUT的状态相关联以及将权重1与在出口区34中存在UUT的状态相关联。权重指示所述状态在确定摄像头18移向通道4A、4B、4C中哪一个的过程中的相对重要性。在适当时可以使用其它权重。例如,如果下游系统具有比AOI系统2更高的吞吐量,则分配给未在出口区34中存在UUT的状态的权重可以高于分配给在入口区30中存在UUT的状态的权重。对于每个通道的三个区30、32、34,如下表1所示,对于每个通道4A、4B、4C总共可能有8种不同的状态组合。在表1中,“1”指示在区中存在UUT而“0”指示在区中没有UUT。在表1中还示出了每种状态组合的输出权重。
表1
PC 12在“根据单元可用性对通道进行优先化”步骤72中获得每个通道4A、4B、4C的输出权重。对于图1中示出的摄像头18位于通道4A之上的情况,PC 12确定所有三个通道4A、4B、4C的输出权重。PC 12将评估通道4A的输出权重,尽管在该通道4A的处理区32中的UUT 20A刚刚被检查过。尽管经过检查的UUT 20A在物理上仍存在于那里,但是,将认为通道4A的处理区32未被占用。根据表1中的与UUT可用性相关联的权重,通道4A、4B、4C将分别具有输出权重3、6和7。尽管在与摄像头18相邻的位置的通道4B中有UUT 20B,但是在“根据单元可用性对通道进行优先化”步骤72中确定:由于通道4C具有比通道4A、4B更高的输出权重,因此通道4C具有比通道4A、4B更高的优先级。
序列70接着进行到“是否找到第一最高优先级通道?”判定步骤74,其中PC 12确定是否只有一个通道具有最高输出优先级。如果只有一个具有最高输出优先级的通道,则PC 12将该通道识别为具有最高优先级。在图1中所示的情况中,PC 12将确定:在三个通道4A、4B、4C中,通道4C具有最高优先级。序列70然后进行到“移动到识别的通道”步骤76,其中,PC 12发送必要的指令给伺服驱动器14,命令伺服驱动器14调整XY工作台16的位置,以将附接在XY工作台16上的摄像头18移动到最高优先级通道的处理区32。对于在图1中的情况,序列70在该步骤76处结束。然而,在其它情况中,可能在“根据单元可用性对通道进行优先化”步骤72中将两个或更多通道4A、4B、4C评估为具有同样的最高优先级。在这种情况中,序列70将不会在“移动到识别的通道”步骤76中结束,而是会进一步进行。如果在“是否找到第一最高优先级通道”判定步骤74中确定有具有同样的最高输出优先级的两个或更多通道,则序列70进行到步骤“根据单元运动对通道进行优先化”步骤78。在该步骤78中,PC 12进一步处理由PLC 10发送的UUT运动消息。UUT运动消息包括这样的比特,其指示UUT 20A-20C、22A-22C、24是否移进通道的每一个区30、32、34。换而言之,存在与三个通道4A、4B、4C的每一个中每一个区30、32、34相对应的比特。对于每个比特,逻辑1值指示有UUT将移进对应区,而逻辑0值指示没有UUT移进该区30、32、34。和UUT可用性状态一样,PC 12通过给由每个比特表示的状态分配权重来处理UUT运动信息。例如,PC 12将权重4与UUT将移进处理区32的状态相关联。PC 12还将权重2与UUT将移进入口区30的状态相关联以及将权重1与没有UUT移进出口区34的状态相关联。在任一时间都只能要么是UUT将移进入口区30要么是UUT将移进处理区32的AOI系统2中,则如在以下表2中所示,对于每个通道总共可能有4种不同的状态组合。在表2中,“1”指示UUT将移进区,“1*”表示UUT存在于区中或者将移进该区,而“0”指示没有UUT存在于区中或者移进该区。在表2中还示出每种状态组合的对应的输出权重。
表2
PC 12使用表2中的权重来获取在“根据单元可用性对通道进行优先化”步骤72中确定的具有最高输出权重的两个或更多通道中的每一个的输出权重。序列70接着进行到“是否找到第二最高优先级通道?”判定步骤80,其中,PC 12再一次确定是否存在具有最高输出优先级的单个通道。如果只有一个具有最高优先级的通道,则PC 12将该通道识别为具有最高优先级。序列70然后进行到“移动到识别的通道”步骤76,其中,PC 12将必要的指令发送给伺服驱动器14,命令伺服驱动器14调整XY工作台16的位置,以使得附接在XY工作台16上的摄像头18移动到最高优先级通道4A、4B、4C的处理区32。然而,如果在“是否找到第二最高优先级通道?”判定步骤80中确定:又存在两个或更多具有最高输出权重的通道4A、4B、4C,则序列70进行到“是否有一个最近的通道?”判定步骤82。在步骤82中,PC 12确定出:所述两个或多个通道中是否有与摄像头18当前位于其上方的那个通道距离最短的一个通道。如果在该步骤82中确定只有一个通道4A、4B、4C最接近于摄像头18,则序列70进行到“移动到识别的通道”步骤76,以将摄像头移到该通道4A、4B、4C。然而,如果在“是否有一个最近的通道?”判定步骤82中确定有两个通道离摄像头18同样距离,则序列70进行到“识别任何通道”步骤84,其中,PC 12任意将这两个通道中的任何一个识别为最高优先级通道。例如,PC可能将最后确定到摄像头18的距离的通道识别为最高优先级通道。然后,序列70在“移动到识别的通道”步骤76中结束,其中,摄像头18移向识别的通道。在这种方式中,PC 12能够在UUT检查之间将摄像头18移向通道,使得可以最优化AOI系统2的吞吐量。
应当注意,根据所述通道优先化方法,摄像头18可能移向具有未被占用的处理区32的第一通道4A、4B、4C。在这种情况中,PC 12将不会在该通道处执行任何检查,而是每次接收到UUT可用性消息和UUT运动消息时将继续调用所述通道优先化方法。因此,摄像头18可能移向另一通道而不在该第一通道处执行任何检查。换而言之,PC 12会将摄像头18移向最高优先级通道,而不考虑所述通道的处理区是否被占用。因此,摄像头18可能在通道之间移动,而在所述通道的任何处理区32处没有要检查的UUT。然而,如果处理区32被UUT占用,则将在下一次调用通道优先化方法以将摄像头18移向别处之前检查该UUT。
尽管本发明描述为在上述实施例中实现,但是不应当理解为限制于此。例如,本发明还可以在除AOI系统以外的系统中实现,其中,装置可以在多通道传送系统的通道之间移动,所述多通道传送系统传送用于由装置处理的UUT。这些系统包括自动X射线检查(AXI)系统、拣放机器、线上测试(ICT)系统、功能测试系统、锡膏给料机、内联(inline)条形码激光打标系统和甚至涉及生命科学应用的系统。当本发明用于这些其他系统时,装置可能不再是图像捕获装置而是适合在该系统中用来执行对应的任务的对应的装置。例如,在AXI系统中,装置是X射线成像装置。
在另一示例中,所描述的AOI系统只包括三条通道。不应当理解为限制于此。本发明能够用于任何具有两个或多个通道的系统,用于确定装置移向所述通道中的哪一个之上。在又一示例中,尽管有为每个通道定义的三个区,但是,本发明将在为每个通道定义有两个或更多区时起作用。例如,在一个实施例中,可能有邻近处理区的入口区。换而言之,没有能够容纳UUT的出口区。在另一实施例中,可能有邻近出口区的处理区。在这样的情况中,根据在所述两个区中的每一个中的单元的可用性对通道进行优先化。对于具有入口区和处理区的通道,最高优先级例如可以给予UUT在其两个区中的每一个中都可用的通道。对于具有处理区和出口区的通道,最高优先级例如可以给予UUT在其处理区可用而在其出口区没有UUT可用的通道。如果两个或更多通道具有同样的UUT可用性状态,则可以相应地使用其它用于根据UUT运动状态和该通道离装置的距离而确定装置所移向的通道的步骤。
尽管描述了涉及将权重与每个状态关联的优先化,但不应该理解为限制于此。例如,PC 12可以仅包括这样的表格,所述表格包括按优先级降序排列的状态。在表3中示出了这样的表格的示例。
表3
在确定许多通道中的哪一个(些)具有最高优先级的过程中,PC 12首先将每个通道的UUT可用性状态与表3中的最高优先级状态“110”进行比较。如上所述,如果只存在一个其UUT可用性状态与该最高优先级状态匹配的通道,则PC将该通道返回为具有最高优先级。如果没有UUT可用性状态与表3中的最高优先级状态匹配的通道,则PC 12将每个通道的UUT可用性状态与表3中的第二高优先级状态“111”进行比较,以确定是否存在匹配。重复该步骤,直到PC找到一个或多个具有与表3中的特定优先级状态相匹配的UUT可用性状态的通道。可替换地,还能够使用if-then-else语句来执行所述匹配。如果只有一个通道具有与该优先级状态匹配的UUT可用性状态,则该装置移向该通道。否则,可以使用类似的表格或if-then-else语句来根据UUT运动状态确定装置移向的通道。