近年來,隨著信息化技術的不斷提高,位于企業上層計劃管理與底層工業控制之間的 面向CIMS的生產調度系統逐步形成并得到迅速發展。作為MES的一個重要環節,車間作業調度貫穿于企業的整個生產過程中,是保證車間生產在動態實時環境下能夠高效可靠運行的關鍵。有關資料表明,制造過程中的大部分時間消耗在非切削過程。因此,有效的調度方法和優化技術可以使車間設備和人員得到充分的利用,賦予企業生產活動以柔性,提高效率,降低成本,實現企業利益的最大化。針對MES中的生產管理進行深入研究,在此基礎上開發了適用于中小型企業的生產調度原型系統,并詳細分析了該系統的功能特點以及具體的實現方案。
1 系統設計思想
MES的應用環境主要是生產車間,其任務是對整個車間的制造過程進行優化,根據動態生產過程中的實時數據做出相應的分析和處理,為操作人員和管理人員提供計劃的執行、跟蹤以及所有資源的當前狀態信息。
生產調度作為MES中的重要模塊,對應于生產管理系統的短期計劃安排,主要目標是通過良好的作業加工排序最大限度減少生產過程中的準備時間,優化某一項或幾項生產目標,為生產計劃的執行和控制提供指導。生產調度直接控制生產的穩定和有序的執行,良好的生產調度能夠預先解決生產中的干擾,縮短產品在車間的流動時間,減少在制品庫存,保證準時交貨。MES是面向敏捷車間的先進生產管理系統,如何設計并實現作為其核心功能的調度系統是重要的研究內容。
在不同的問題環境中,生產調度的優化目標也不同(如加工總流程時間最短、零件按期交貨、設備利用率最高等),目前還沒有哪一種算法能夠使得各種性能指標均取得較為滿意的值。另外考慮到車間生產過程的動態性,完全依靠計算機進行調度可能無法滿足實際要求。因此,本系統的設計構想是:針對不同的優化目標設計不同的調度算法,對零件進行初步加工排序并以甘特圖顯示調度結果,同時結合直方圖對機床加工負荷進行分析與安排,充分發揮調度人員的智慧和經驗,通過人機交互對調度結果進行手動調整,直至滿足要求。
2 系統模塊組成及主要功能
系統包括以下幾個功能模塊:系統管理、基礎數據管理、調度數據管理、算法設計、加工調度、人工調整、車間信息顯示、檢測加工沖突和調度結果輸出,各模塊的關系及詳細功能劃分。
主要功能模塊說明如下:
a)調度數據管理模塊:該模塊的主要功能是為每組加工任務建立一張調度表,用以對排序計算所需的基本數據(包括零件編號、工序編號、批量、加工時間、所用機床等)進行管理,在算法設計時將直接從選定的調度表中提取數據進行加工排序;
b)算法設計模塊:在本系統中采取基于規則的啟發式方法來解決多道工序競爭一臺機床時的工件排序問題和一道工序可在多臺機床上加工時的機床選擇問題,該模塊包含幾個子模塊,以對應不同的優化目標,根據相應的目標分別選擇優先分配規則并進行算法設計;
c)加工調度模塊:根據定單情況和實際生產需要選擇調度目標,通過已設計好的算法對零件進行加工排序,確定每臺機床上不同工序的加工順序和各道工序的開工、完工時間,并將排序結果用甘特圖的形式顯示在屏幕上;
d)人工調整模塊:利用調度人員的經驗對動態生產過程中的實際情況進行分析和處理,通過人機交互,對計算機排序結果進行手工拖動,直至獲得滿意的結果;
e)車間信息顯示模塊:以甘特圖的形式顯示零件的工藝路線及每道工序的加工狀態,以直方圖的形式顯示每臺機床的加工負荷,作為人工調整的依據;
f)檢測加工沖突模塊:人工調整之后,檢測每臺機床上不同加工任務之間是否存在時間重疊,即某道工序的開始時間是否在該機床前一加工任務的結束時間之前;對于某些多工位允許有部分加工重疊時間的機床,則檢測其加工重疊時間是否在允許的時間沖突范圍內;
g)調度結果輸出模塊:保存最終調度結果,并以甘特圖和數據表格兩種方式輸出,甘特圖使得各臺機床上所安排的加工任務及其先后順序一目了然,數據表格為調度人員和操作人員提供工序開始時間、加工時間、結束時間等詳細數據,此結果即作為車間生產的依據。
3 系統實現關鍵技術
3.1 調度結果的顯示
對于調度人員及操作人員來說,調度結果的顯示要求簡單明了、方便查詢,并能提供每道工序的基本加工信息。本系統采用兩種甘特圖來顯示調度結果:一種以機床為縱坐標,顯示每臺機床上不同任務的加工順序,為操作人員提供加工依據;另一種以零件為縱坐標,顯示不同零件的工藝路線及每道工序的加工狀態,方便調度人員在不同時間段對零件的加工進程進行查詢。
每項任務(即每道工序)均由程序內部控件生成,在基礎數據管理中設定零件的顏色代碼,顯示調度結果時同一零件的各道工序用同種顏色表示,而不同零件的顏色不可重復,以便于調度人員進行瀏覽。考慮到甘特圖是從總體上顯示該車間整批加工任務的調度結果,無法顯示精確信息,因此在結果輸出界面中設置工件基本信息框,當選中某道工序時在信息框中顯示該工序的基本加工信息,包括工件號、工序號、加工設備、開始時間和結束時間等。
3.2 人工調整
將調度結果甘特圖中的各道工序設置為允許鼠標進行拖動,則可根據車間生產的實際情況對計算機排序結果進行手動調整,同時工件基本信息框中的加工信息也將隨著工序位置的變化而改變。手工調整有以下幾點約束:某道工序移動時,其同一零件上的后續工序將同時移動相應的時間長度;工序向前移動時,其開始時間不能大于其前道工序的結束時間;零件第一道工序的開始時間不能小于零。
3.3 調度結果存儲方式
在數據庫中,調度結果用臨時表和正式表兩種方式進行存儲。臨時表只有一張,用來存儲計算機排序后的臨時加工數據,生成甘特圖時將從此表中提取數據。調度結果經過人工調整,滿足車間生產實際情況和機床能力要求后,方可存入與相應加工任務表同名的正式表中,永久保存調度結果且作為派工依據,同時將刪除臨時表中的數據。
3.4 系統實現
鑒于上述系統的設計思想和關鍵技術,本系統采用Client/Server結構,以Visual Basic6.0為開發工具,利用ODBC接口(open database connectivity,開放式數據庫連接)訪問數據庫管理系統,開發出簡單實用的車間生產調度系統,其調度主界面。
4 結束語
本文介紹的面向CIMS的生產調度系統針對MES中生產管理的具體要求和特征,提出了一種面向中小型企業的車間生產調度系統模型,并開發出了實用的原型系統,針對不同優化目標對零件進行計算機排序結合手動調整,從而合理安排生產過程和機床負荷,減輕調度人員的負擔,優化車間生產運作,提高生產效率。