具有逗留时间约束的多组合设备故障响应策略

2022-06-27 08:29白雪婷潘春荣
制造业自动化 2022年3期
关键词:线型机械手调度

白雪婷,潘春荣

(江西理工大学 机电工程学院,赣州 341000)

0 引言

在半导体制造业中,组合设备通常由多个加工模块(process module,PM)、校准模块(aligner,AL)、机械手(robot,R)、冷却模块(cooler,CL)和真空锁(loadlock,LL)组成。机械手有单臂、双臂两种。多组合设备有加工紧凑、方便切换等优点[1]。多组合设备由多个单组合设备通过缓冲模块(buffer module,BM)互连组成,BM可以有一个或两个。以组合设备为节点,系统拓扑结构分为线型和树型[2~4,9~12],图1为线型单臂K-组合设备。

图1 多组合设备

对于单组合设备,文献[5~8]做了很多工作。考虑逗留时间约束,文献[5~6]分别针对单臂和双臂设备提出了可调度的条件,并给出了方法帮助得到最优调度。文献[7]分析了双臂组合设备晶圆逗留时间的延迟,提出了实时控制策略。对于多组合设备,结构更加复杂,研究报道较少[2~3,9~11]。针对单臂多组合设备,文献[2,3]求得了线型单臂多组合设备的最优生产周期。文献[10]通过最优BM的配置空间,获得了线型单臂多组合设备的最优1-晶圆周期调度;在文献[11]中,通过建立Petri网模型,应用机械手暂留方法得到了系统的最优1-晶圆周期调度。文献[2~3,9~11]未考虑逗留时间约束,文献[12]获得了线型单臂多组合设备的最优1-晶圆周期调度。

组合设备还有可能发生故障[13,16~20]。如果组合设备并行模块中的一个模块发生故障,仍可能继续运行[14,15]。如果可运行,文献[16]针对单臂组合设备提出了故障响应策略,使晶圆不违反逗留时间约束继续完成加工。文献[18~20]考虑逗留时间约束,提出了组合设备故障后的响应策略。然而当并行模块中的一个PM发生故障后,组合设备会出现不能运行的情况。多组合设备出现故障会导致晶圆加工受到影响,为了解决这个问题,本文对线型单臂多组合设备故障问题,考虑晶圆逗留时间约束,建立了具有并行模块的多组合设备Petri网,提出了线型单臂多组合设备的系统运行中并行模块故障响应策略,通过虚拟晶圆,实现了故障前后的平稳过渡。

1 多组合设备的Petri Net模型

1.1 多组合设备运行过程

令Nn={1,2,…,n}和Ωn={0}∪Nn。如图1所示,C1表示带有两个真空锁的设备,称为头设备,第i台设备称为Ci,i∈NK,CK表示尾设备。设备之间的缓冲区BM用PMi(b[i])表示,加工时间为零,在Ci中被视为加工过程的第b[i]步,在Ci+1中被视为第0步。用PSij表示Ci中的第j步,假设Ci中最后一步是n[i],PSi0和PSi(b[i])分别表示输入和输出模块。每一步的并行PM数量用mij表示,不失一般性,令mi1=2,i∈NK;mij=1,i∈NK,j∈Nn[i]{1,b[i]},仅研究线型单臂多组合设备中每台组合设备并行模块均出现一个模块故障后的问题。

1.2 多组合设备建模

Petri网(Petri net,PN)被广泛应用于制造设备的建模与分析,利用了面向资源的PN的方式来建立模型。由于篇幅有限,在此不做相关介绍。如图2为pi1出现故障模块后Ci,2≤i≤K-1的ROPN模型,机械手用ri表示,pij,j∈Ωn[i],表示晶圆的加工;qij表示卸载晶圆前ri的等待;变迁tij和uij分别表示装载和卸载一枚晶圆。yij表示机械手从第j+2步,j∈Ωn[i]-2,空载移到第j步。xij表示机械手的移动。

图2 pi1出现故障模块后Ci,2≤i≤K-1的ROPN模型

根据参考文献[12],设置初始标识M0如下:1)M0(p10)=n,M0(p1(b[1]))=0,M0(p1j)=1,其中j∉{0,b[i]};2)当2≤i≤K时,M0(pij)=1,其中j∉{0,b[i]};M0(pij)=0,其中j∈{0,b[i]};3)M0(pK0)=0,M0(pKj)=1,其中j∉0;4)对∀i∈Nk和所有j,M0(zij)=M0(dij)=M0(qij)=0,M0(ri)=1。由ROPN模型和变迁触发规则,所有变迁均是可触发的。在初始标识M0,触发变迁序列<y10→u10→x10>,一个晶圆进入库所z11,t11是进程使能,但M0(p11)=K(p11)=1不是资源使能的,从而死锁发生。为了解决这个问题,定义控制策略如下:

定义1.1:在标识M,只有M(pi(j+1))=mi(j+1)-1,j∈Ωn[i]-1,变迁yij可触发;只有M(pij)=mij,j∈Nn[i],变迁yi(n[i])可触发。

根据定义1.1,系统的ROPN模型是无冲突的,且能描述初始暂态和终止暂态过程。

当多组合设备中每台组合设备并行模块均出现一个模块故障后,为避免变迁xi1和xi(b[i])不可控而出现系统死锁的情况,同时为了保证通过一个暂态过程实现故障前后的两个不同过程过渡,将针对工序pij,i∈NK,j=1并行模块同时出现一个模块故障后,进行有效的防死锁说明。根据图2,用f来表示ci1,ci2,ci3和ci4的控制函数,分别为:

2 多组合设备的稳态调度

根据参考文献[12],可得到以下时间特性。

基于ROPN,pij,j∈Nn[i],中的晶圆加工周期为:

晶圆加工完成以后,可能逗留时间为τij,τij≥αij,有:

在一个周期内,机械手的活动周期ψi为:

晶圆在库所pij,i∈Nk,j∈Nn[i]{b[i]}中的逗留时间为:

由多组合设备Petri网有活性,当在任意标识M,有τij∈[αij,αij+δij],i∈NK,j∈Nn[i]{b[i]}。

在式(5)中,移除机械手等待时间,可获得晶圆加工时间的下界:

在逗留时间约束,τij∈[αij,αij+δij],晶圆加工时间的上界为:

系统的生产节拍为Θ=maxΠijL,i∈Nk,j∈Ωn[i]。

根据图2中Petri网的特点以及式(5)~式(10),可得出线型多组合设备在pij中,i∈NK,j=1,出现一个故障模块前后的调度均遵循算法2.1,并可得到系统稳态调度状态下的机械手等待时间,如表1所示。

表1 算法2.1

根据以上算法,须先通过式(9)~式(10)求出晶圆在各个工序的允许逗留时间窗[ΠijL,ΠijU]。如果∀j∈Nn[i]{b[i]},∃Πh≤Θ≤ΠijU,则系统按照算法2.1中语句2)~8)调度。如果∃j∈Nn[i]{b[i]}有ΠijU<Θ,则系统按照算法2.1中语句10)~22)调度。如果故障后仍可调度,它的稳态调度将不同于故障前,而这两个不同的稳态转换就很有意义。

3 故障响应策略

3.1 多组合设备故障前后仍可调度情形

情形3.1用pi1g表示工序pi1第g个并行模块。假设故障前系统中,∀j∈Nn[i]{b[i]}有Θ≤ΠijU,则调度算法2.1满足条件。基于假设,当G(ui1)>g时,∃j∈Nn[i]{b[i]}有ΠijU<Θ,并求得:ℵi≥0,说明故障后仍可调度。当系统出现故障,稳态调度不同于故障前。保证约束条件,控制策略将使pi1中未加工完成的晶圆取出。

G(ui1)表示故障出现后触发ui1的次数,故障响应策略4.1如下:

1)在G(ui1)=g时,令f(ci1)=0,f(ci2)=1触发xi1i0,同时将一个虚拟晶圆放入pi2。G(ui1)>g时,令f(ci1)=1,f(ci2)=0触发xi1。若G(ui1)>g,机械手将从pi0取出一片真实晶圆。

2)若故障晶圆在库所pi(b[i]),当G(ui1)=g+h时,i=NK-(h+1),h∈Nn,令f(ci3)=0,f(ci4)=1触发xi(b[i])i0,同时在pi(b[i]+1)中放置一枚虚拟晶圆。在G(ui1)=g+h时,i=NK-NK-(h+1),h∈Nn,则令f(ci3)=1,f(ci4)=0触发xi(b[i])。

3)若G(ui1)=g,当M(pi2)=0时,系统遵循故障后调度算法。

故障前系统中∀j∈Nn[i]{b[i]},有Θ≤ΠijU,系统按照算法2.1中语句2)~8)调度。故障后系统中∃j∈Nn[i]{b[i]},有ΠijU<Θ,系统按照算法2.1中语句10)~22)调度,故障前后系统的两个稳态调度均可行。故障后,τij=Θ-(4λi+3μi)-ωi(j-1)。1)当Πi(j-1)U<Θ时,ωi(j-1)=Θ-(αij+δij+4λi+3μi),τij=Θ-(4λi+3μi)-ωi(j-1)=Θ-(4λi+3μi)-(Θ-(αij+δij+4λi+3μi))=αij+δij;2)当Πi(j-1)U>Θ时,ωi(j-1)=0,τij=Θ-(4λi+3μi)-ωi(j-1)<(αij+δij+4λi+3μi)-(4λi+3μi)-0=αij+δij。因此,τij≤αij+δij,满足晶圆逗留时间约束。

根据响应策略3.1,图3为情形3.1的实例响应策略执行图,并为其他故障情形提供参考。

图3 实例响应策略变化图

3.2 多组合设备故障前可调度而故障后不可调度情形

情形3.2假设故障前系统中,∃j∈Nn[i]{b[i]}有ΠijU<Θ,则根据算法2.1调度。基于假设,故障后,当G(ui1)>g时,∃j∈Nn[i]{b[i]}有ΠijU<Θ,并求得:1)ωi(j-1)=mi(j-1)×Θ-(αij+δij+4λi+3μi),j∈Ei,ωi(j-1)=0,j∈Fi;2)ωi(n[i])=min{mi(n[i])×Θ-(4λi-1+3μi-1+ω(i-1)(b[i-1]-1)) -(4λi+3μi),ℵi},i≠1;ωi(n[i])=ℵi,i=1;ωi(b[i]-1)=ℵi,i≠K,ℵi<0构成故障后系统不可调度条件。故障后,按照故障前机械手等待时间调度。故障响应策略3.2将使pi1g中问题晶圆取出至真空锁,同时使得故障后晶圆损失最小。

1)故障后在G(ui1)=g时,令f(ci1)=0,f(ci2)=1触发xi1i0,同时将一个虚拟晶圆放入pi2。在G(ui1)>g时,则令f(ci1)=1,f(ci2)=0触发xi1。若G(ui1)>g,机械手将从pi0取出一片虚拟晶圆。

2)当故障晶圆在pi(b[i])时,在G(ui1)=g+h时,i=NK-(h+1),h为正整数,令f(ci3)=0,f(ci4)=1触发xi(b[i])i0,同时在pi(b[i]+1)中放置一枚虚拟晶圆。在G(ui1)=g+h时,i=NK-NK-(h+1),h为正整数,则令f(ci3)=1,f(ci4)=0触发xi(b[i])。

3)当把系统中的所有真实晶圆取出载入真空锁后,停机处理。

故障前系统满足工作负载不平衡状态下调度算法,故障后也满足工作负载不平衡状态下的条件。故障前设备中存在真实晶圆,这些晶圆在故障后不违反驻留时间约束。

4 实例论证

例1 在一个2-组合设备中,PS10是真空锁,PS20是输入缓冲区,PS12是输出缓存区。设备加工参数分别为:C1,(α10,α11,α12,α13;λ1,μ1)=(0,85,0,31;2,1);C2,(α20,α21,α22,α23;λ2,μ2)=(0,75,36,30;3,1)。晶圆加工路径为:LL→PS11→PS12(PS20)→PS21→PS22→PS23→PS20(PS12)→PS13→LL。在完成必要的加工后,晶圆可以在PS11,PS13,PS21,PS22,PS23内能够停留的时间分别为40,28,26,20,16,即δ11=40,δ13=28,δ21=26,δ32=20,δ23=16。

根据式(7)~式(9),对于C1,有Π10L=11,Π11L=48,Π11U=68,Π12L=11,Π13L=42,Π13U=70,ψ11=24。因此,Π1=48。对于C2,Π20L=15,Π21L=45,Π21U=58,Π22L=51,Π22U=71,Π23L=45,Π23U=61,ψ21=32。因此,Π2=51。从而,Θ=max{48,51}=51。得出∩j∈Nn[i]{b[i]}[ΠijL,ΠijU]≠∅,根据算法2.1,设置机械手等待时间如下:ω10=0,ω11=0,ω12=0,ω13=27;ω20=0,ω21=0,ω22=0,ω23=19。因此,故障前遵循调度算法。故障后Γ11L=96,Γ11U=136,Π21L=90,Π21U=116,稳态生产节拍为96。此时根据算2.1,这种情形仍可调度。

根据响应策略3.1,故障后,触发ui1之前若G(xi1)≤1,每触发xi1i0一次,ri从pi0取出一枚虚拟晶圆,同时在pi2中放入一枚虚拟晶圆,系统仍按故障前调度算法进行;若G(xi1)>1,机械手将从pi0取出一片真实晶圆,系统按照故障后调度算法进行,机械手等待时间设定如下:ω10=0不变,ω11=0不变,ω12=0不变,ω13=27→46;ω20=0不变,ω21=0→25,ω22=0→35,ω23=19→4。在q11中的晶圆逗留时间τ11=91→85∈[85,125],τ13=40→59∈[31,59],τ21=8 7 →8 1 ∈[7 5,1 0 1],τ22=3 6 →5 6 ∈[3 6,5 6],τ23=36→46∈[30,46]。因此各工序的晶圆严格遵循逗留时间约束。图4为响应策略调度甘特图。

图4 实例1调度情形甘特图

例2 在一个2-组合设备中,PS10是真空锁,PS20是输入缓冲区,PS12是输出缓存区。设备加工参数分别为:C1,(α10,α11,α12,α13;λ1,μ1)=(0s,181s,0,31;2,1);C2,(α20,α21,α22,α23;λ2,μ2)=(0s,165s,36,30;3,1)。晶圆加工路径为:LL→PS11→PS12(PS20)→PS21→PS22→PS23→PS20(PS12)→PS13→ LL。在完成必要的加工后,晶圆可以在PS11,PS13,PS21,PS22,PS23内能够停留的时间分别为80,28,52,20,16,即δ11=80,δ13=28,δ21=52,δ32=20,δ23=16。

根据式(7)~式(9),对于C1,有Π10L=11,Π11L=96,Π11U=136,Π12L=11,Π13L=42,Π13U=70,ψ11=24。因此,Π1=96。对于C2,Π20L=15,Π21L=90,Π21U=116,Π22L=51,Π22U=71,Π23L=45,Π23U=61,ψ21=32。因此,Π2=90。从而,Θ=max{96,90}=96。得出∃j∈Nn[i]{b[i]}有ΠijU<Θ使得∩j∈Nn[i]{b[i]}[ΠijL,ΠijU]=∅,根据算法2.1,设置机械手等待时间如下:ω10=0,ω11=0,ω12=26,ω13=46;ω20=0,ω21=25,ω22=35,ω23=4。因此,故障前遵循调度算法。故障后Γ11L=192,Γ11U=272,Π21L=180,Π21U=232,稳态生产节拍为192。此时根据算法2.1,这种情形不可调度。

根据响应策略3.2,故障后,触发ui1之前若G(xi1)≤1,每触发xi1i0一次,ri将从pi0取出一枚虚拟晶圆,同时在工序pi2中放入一枚虚拟晶圆,系统仍按故障前调度算法进行;若G(xi1)>1,机械手将从pi0取出一片虚拟晶圆,系统按照故障前调度算法进行,直至系统将所有的真实晶圆卸载出来,然后停机处理。图5为实例2故障响应策略甘特图。

图5 实例2调度情形甘特图

5 结语

在半导体晶圆制造业,线型单臂多组合设备可能出现故障导致不能及时运行。研究具有并行模块的多组合设备出现故障后的运行控制策略有重要意义。由于有逗留时间约束的多组合设备模块故障响应问题更为复杂,本文发现了有晶圆逗留时间约束条件下,多组合设备中每台组合设备并行模块均出现一个模块故障后的有效调度问题。针对多组合设备故障后调度的可行与不可行调度,提出了相应的暂态过渡的运行控制方法,以实现故障后系统稳态调度。但本文仅研究了线型单臂多组合设备中每台组合设备并行模块均出现一个模块故障后的调度问题,而树型单臂多组合设备出现并行模块故障问题还有待进一步研究。

猜你喜欢
线型机械手调度
一种用于厢式压滤机的可调节悬浮机械手
变化环境下考虑线型不确定性的水文设计值估算分析
湘潭高月塘大桥施工线型监控与合拢策略研究
加权融合方法在船型开发中的应用
基于机器视觉的开关操纵机械手研究
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
人体体感感知机械手设计与实现
电力调度自动化中UPS电源的应用探讨
基于强化学习的时间触发通信调度方法
拆弹帮手