宮 晨,宋麗娟,劉玉倩
(中國電子科技集團公司第四十五研究所,北京 101601)
近年來,隨者國家大力扶持及國內本土半導體設備制造企業的快速成長,我國的半導體設備制造行業的發展充滿了生機,但是本土廠商在半導體制造的核心設備研發制造上仍然遠遠落后于國外先進設備,供應的設備不僅主要集中在前后道工序中精度要求相對較低的設備品種中,而且設備的穩定性和可靠性也遠不及國外先進設備,大大地制約了本土制造的競爭力。
異常處理是軟件設計中最關鍵的一環,它能提高軟件系統的健壯性,使系統長期穩定可靠的運行。在半導體設備中,設備長時間高效、可靠、穩定的運行是最基本的要求,在一些大型自動化設備中,各工位同步執行,并且設備運行時無人值守,所以更應開發一套適合工業設備運行的異常處理機制去監視、報警顯示、處理當前實時捕捉到的所有異常。
傳統的異常處理方法是系統運行的某一模塊內發生故障時,設備停止運行,并彈出異常消息框,用戶關閉設備重新運行或解決故障后設備再繼續運行,這僅適用于小型、簡單且對生產效率要求不高的手動設備,見圖1。

圖1 傳統異常處理流程圖
現在自動化程度高的設備特別是復雜大型設備,往往UPH產效率要求更高,各機構間同步動作更多,這就需要一套更靈活的異常監控、處理方法,它不僅能夠快速、實時地捕捉到異常,將當前所有異常全部匯總反饋給使用者,并能根據不同的異常源進行靈活區分處理,在保證設備穩定可靠運行的同時,以更大的效率來提高設備的整體生產效率。
本文提供一種多等級多線程異常處理機制,多線程模塊采用事件同步方式保證各機構同步運動,另外將設備異常等級也劃分為:警告、一般故障、嚴重故障3個層次,異常發生時統計當前所有異常進行反饋。警告時設備蜂鳴器報警黃燈亮,設備各機構仍正常運行,用戶可以選擇任一時間去解決警告;一般故障發生時,設備蜂鳴器報警黃燈閃爍,包括邏輯一般故障和IO一般故障。邏輯一般故障是指功能邏輯模塊群中某模塊發生工藝異常,此時僅當前模塊中斷執行。IO一般故障主要針對整個設備一些IO需求異常,如大氣壓力、真空度不夠等,此時置“停止”信號為真,所有機構到停止位中斷運行;嚴重故障發生時,設備蜂鳴器報警紅燈亮,異常發生處置位嚴重故障標志及自動事件退出標志,確保所有機構里線程模塊自動安全退出。異常機構設計時,可以根據設備自身情況,選擇完全軟件控制或軟硬件結合控制。
2.2.1 模塊構造
此異常處理方案是在控制系統軟件進程內部建立若干worker線程,這些線程的優先級相同并低于進程的UI線程,即后臺執行,以保證人機界面的正常操作與顯示。這些線程模塊包括:A異常登記及嚴重故障處理線程、B I/O狀態讀寫及故障信號監視線程、C對話框故障顯示線程、D若干個功能邏輯模塊線程群。另有E硬件IO異常處理模塊。見圖2。

圖2 軟硬件結合多線程多等級異常處理原理圖
A模塊:開辟一個線程將所有的異常源記錄下來,并判斷是否嚴重故障標志為真,如果為真則進行嚴重故障處理,將所有電機緊急停止、相關模擬量輸出電壓置0 V,確保設備安全。
B模塊:通過相關通訊協議與E交互使E執行相應IO動作,并開啟內部線程實時監視E內IO異常狀態的返回。
C模塊:對話框內設計一線程,將當前A內記錄的所有異常根據異常分類分別顯示到對話框內的警告、故障列表框內。
D模塊:開辟若干個線程,每個線程對應同步執行的機構或邏輯動作。
E模塊:IO異常發生則硬件內部程序自動觸發并立即處理。
2.2.2 異常交互及處理
(1)警告異常。警告異常:當發生警告異常時,E機制立即捕捉到,并自動報警提示用戶,線程B實時監控讀取出當前I/O警告信息,A線程讀取并登記此警告信息,用戶想查找時,可以通過C顯示讀取。D機構仍自動運行,不停機,而當過了一定時間后,B中的I/O警告信號導致了D機構內某模塊運行條件不足而中斷運行。過程走E-B-A-C和B-D路線。
警告異常處理:用戶可以暫時不用解決,這只是暫時提醒用戶,不久后設備會因為當前機構模塊“硬IO中斷”而暫停運行,用戶可在仍運行時或停止后解決。如“上料貨盤滿”用戶只要清空貨盤即可,此時警告故障自動解除,C模塊內警告提示也將自動消失,設備恢復正常。
(2)一般故障異常。邏輯一般故障:D機制內某一模塊內部發生了一般故障,則此模塊自動軟中斷,通過while循環自鎖此“異常狀態”、報警、傳遞描述好故障源詳細信息給A登記,用戶可以通過C去讀取錯誤信息并解決。D異常處與B交互去觸發E修改此模塊相關的面板“啟動”按鈕開關狀態為“停止”,別的模塊不受影響。過程路線D-B-E和D-A-C。
IO一般故障:E內部流程發現某IO一般故障異常,自動觸發設備“停止”按鈕信號及相關處理,B讀取到異常信號后傳遞給 D和 A,D內各機構在邏輯內設定的停止位通過while循環“停止信號”暫停設備運行,A登記異常信息后并提交C顯示。過程路線-E-B-D和E-B-A-C,見圖3。

圖3 IO一般故障路線圖表
一般故障異常處理:用戶直接解決當前一般故障包括I/O和邏輯一般故障,并按設備面板相關“啟動”按鈕等方式取消“停止”信號,恢復設備自動運行。
(3)嚴重故障異常。嚴重故障異常:此時D機構某模塊發生嚴重故障則立即發消息,并登記嚴重故障的詳細分析給A機構,然后D發消息給B,B通知E觸發停止所有面板“啟動”按鈕為停止狀態。A機構收到D的嚴重消息會立即執行嚴重處理方案:急停所有電機運行,回傳線程退出事件給機構D,機構D內部所有模塊全體內部線程安全退出。過程路線D-A-C和D-B-E,路線因模塊為線程而并行執行。
嚴重故障異常處理:用戶必須重新初始化設備,初始化內部重新開辟D內部所有邏輯功能模塊線程,成功后并按設備面板“啟動”恢復整機自動運行即D內各模塊的自動運行。
2.3.1 模塊構造
實現原理同軟硬件結合異常方式一樣,建立A,B,C,D四個模塊,A模塊為異常登記及IO異常、嚴重故障異常處理。B模塊為IO狀態讀寫,C對話框故障顯示線程,D模塊為若干個功能邏輯模塊線程群,見圖4。
與軟硬件結合異常處理方式內各模塊比較,A模塊增加IO異常狀態的監控及處理。B模塊因為不需要與E進行交互了,不用讀取是否發生IO異常了,則僅進行IO讀寫操作。C,D模塊不變。
2.3.2 異常交互及處理
警告異常:A線程實時與B模塊的IO讀寫接口進行交互,當警告發生,則自動登記此警告信息,用戶想查找時,可以通過C顯示讀取。D機構仍正常運行,而當過了一定時間后,IO信號導致了D機構內某模塊運行條件不足而中斷運行。過程走B-A-C和B-D路線。
一般故障異常:邏輯一般故障走D-B和D-A-C路線。IO一般故障走:B-D和B-A-C路線。
嚴重故障異常:嚴重故障異常走D-A-B和D-A-C路線。
警告、一般故障、嚴重故障異常的處理方式,與軟硬件相結合方式中的異常處理方式一致。

圖4 軟件多線程多等級異常處理原理圖
與傳統異常處理方法相比,多線程多等級異常處理機制更適合自動化程度高、無人值守的半導體設備,其多等級異常方式使處理更加靈活。同時根據設備自身情況可以選擇采用軟件或軟硬件結合的處理模式,其中軟硬件結合的模式實時性更高,占用軟件資源更少。軟件異常處理方式更加簡單。該多線程多等級異常處理機制在LTCC全自動精密絲網印刷系統、6英寸自動雙面曝光機等多項半導體設備成功使用,對于半導體設備異常處理的設計具有一定借鑒價值。
[1]VERWORD T,HUNTR.Intrusion detection techniques and approaches[J].Computer Communication,2002,25(15):1356.1365.
[2]侯捷,Win32多線程程序設計[M].武漢:華中科技大學出版社,2002.