崔 潔,霍 杰,劉子陽,徐品烈
(北京中電科電子裝備有限公司,北京 100176)
一臺新型半導體專用設備的成功研發,是橫跨電子、機械、自動化、光學和計算機等眾多學科,涉及機、光、電、軟件等眾多核心技術和高科技領域。所以,設備軟件是在特定的機械電氣硬件環境下運行滿足客戶的工藝要求。同時,設備軟件作為軟件的一部分,廣泛應用于工業生產中。下面將從軟件的角度,結合專用設備的特點,具體介紹自頂向下的設備軟件的模塊化具體設計方法。
一般,半導體電子設備供應商根據半導體市場需要、客戶的工藝要求,設計開發具備什么樣功能和性能的半導體專用設備;而要達到設備設計要求,需要機、電、軟件協調配合實現設備整機和各功能部件;然后通過裝配調試設備,最終滿足客戶工藝要求和市場的需要。另外,后續還需要對設備進行定期追蹤維護和技術升級。總起來說,設備開發的流程如圖1所示,是一個自頂向下、不斷細化的過程。

圖1 設備開發流程圖
自頂向下作為一種軟件工程化的設計思想,適用于設計各種規模的系統開發,是一種逐步求精設計程序的過程和方法。軟件工程的目的是倡導工程的原理、原則和方法進行軟件開發,軟件開發的流程是覆蓋整個軟件生存期的系統開發、運行和維護等全過程。
其中,瀑布式開發方法是經典的軟件生命周期開發方法,是嚴格按照軟件開發的步驟進行實施的一種軟件開發方法。瀑布式開發方法將開發過程自上而下分為系統計劃、需求分析、系統設計、系統編碼、系統測試和系統運行維護6個階段。各個階段順序執行,當前活動接受上一項活動的工作結果,并作為輸出傳給下一項活動。同時評審該項活動的實施,若確認則繼續下一項活動,否則返回到前面一個活動,甚至更前面的活動。具體軟件開發流程如圖2所示。

圖2 軟件開發流程
設備軟件是運行于電氣設計硬件平臺之上,驅動設備各個部件來完成系統的集成控制。從圖1、2不難看出,設備和軟件的開發流程無論是從過程還是時間控制上都是一致的。設備軟件主要根據設備機械結構、電氣設計系統,工藝特點,從軟件系統的主框架著手,細化系統構成,自頂向下,逐步細化設計子系統的過程進行階段化、模塊化設計,具體包括分析、設計開發和測試階段完成設備軟件的需求分析、設計和實現,以及測試維護。
在軟件工程思想中,模塊化是軟件設計的基本策略。模塊化設計的核心是保持模塊的獨立性,主要通過兩個方面來度量,一個是模塊本身的內聚,另一個是模塊間的耦合。前者是模塊內各個組成部分的相互聯系,后者是一個模塊與其他模塊間的聯系。模塊的獨立性愈高,模塊內的聯系越強,模塊間的聯系越弱。因此,為了保證模塊化的獨立性高,主要通過加強內聚和減少耦合來實現。設備系統由各個子系統(部件)組成,軟件系統設計過程也是子系統(部件)的設計過程,對應設備軟件的模塊化設計。下面以切割清洗設備軟件設計為例,主要從模塊的內聚和模塊間的耦合兩方面介紹設備軟件的模塊化設計。該設備軟件主要包含全自動上下料、切割和清洗等3個模塊,具體模塊化流程圖如圖3所示。

圖3 切割清洗設備軟件模塊化流程圖
內聚是從功能的角度對模塊內部的聚合能力進行度量。按聚合能力的從強到弱,模塊可以劃分為功能性、順序性、通訊性、過程性、時間性、邏輯性和偶然性模塊。
設備軟件的設計是以設備系統的功能實現為基礎,尤其是各個部件的具體功能。因此,我們選擇功能性模塊進行設備軟件的模塊化設計,功能性模塊作為模塊內聯系最強的一類模塊,其中所有的部分功能都結合在一起,用于完成一個單一的功能。例如在圖3中,切割清洗設備的全自動上下料模塊內,包含上片/預上片、傳輸和下片等子功能,傳輸內又分從工作臺傳輸料到清洗臺和把下一個預作業料放到工作臺上兩個子功能。綜上所述,所有的子功能組合在一起就組成了全自動上下料模塊,實現了設備傳輸全自動化功能。
綜上所述,“一個模塊,一個功能”已成為模塊化設計的一條準則。功能性模塊的高內聚的特點以及設備系統的特點,功能性模塊成為了設備軟件設計的最佳首選。
軟件系統之所以劃分為若干模塊,是為了便于解決大問題,化整為零,但最后總要將各個模塊聯系起來,所以模塊間發生聯系是必然的。因此,為完成一個設備系統軟件除了考慮功能(實現什么)和邏輯(內部怎樣)還需要考慮狀態(使用的條件與環境)的設計。
功能模塊間的理想關系是怎樣的,耦合對這一關系進行了說明,和內聚類似,同樣從強到弱可以劃化為內容耦合、公共耦合、外部耦合、控制耦合、特征耦合、數據耦合和非直接耦合等。作為相對比較弱的耦合方式,數據耦合是通過參數表進行模塊間交換數據,實現模塊間數據通信,交換的數據都是比較簡單的變量,如果交換的是數據結構,就變成了特征耦合,耦合程度會比數據耦合稍高。
在設備系統中,各個部件間的過渡會通過一些連接件或者中間件實現,設備軟件系統模塊間的設計主要通過數據耦合實現,如圖3所示,自動上下料模塊的上片完成,或者下一個作業料傳輸到工作位后會通知對準切割模塊進行對準切割功能,該功能完成后會通知上下料模塊進行傳輸,傳輸料到清洗位會通知清洗模塊進行清洗。總之模塊間的耦合關系通過簡單的開始、結束等變量就可以實現模塊間的聯系。另外,相對復雜龐大的設備軟件系統也可以選耦合相對數據耦合稍高些的特征耦合方法實現。
綜合上述,設備軟件設計不僅需要能實現設備的功能,滿足客戶的要求,而且要有一個良好的設計。這里,結合設備軟件具有獨特電氣硬件平臺環境的特點,最終選擇符合軟件工程化思想的自頂向下、逐步細化、高內聚低耦合的模塊化設計進行設備軟件的設計,完成設備的工藝需求。