國立交通大學
工業工程與管理學系
碩士論文
以物件導向技術構建不允許等待流程式生產排
程軟體雛形
NO-Wait Flowshop Scheduling Planning Software
prototype with Object-Oriented Approach
研究生:甘富驊
指導教授:許錫美 博士
以物件導向技術構建不允許等待流程式生產排
程軟體雛形
NO-Wait Flowshop Scheduling Planning Software
prototype with Object-Oriented Approach
研究生:甘富驊
Student:Kan Fu Hua
指導教授:許錫美 博士
Advisor:Dr. His-Mei Hsu
國立交通大學
工業工程與管理學系
碩士論文
A Thesis
Submitted To Department Engineering and Management College of Management National Chiao Tung University
In Partial Fulfillment of the Requirements For the Degree of Master
in
Industrial Engineering June 2010
Hsin-Chu, Taiwan, Republic of China
以物件導向技術構建不允許等待流程式生產排
程軟體雛形
研究生:甘富驊 指導教授:許錫美 博士國立交通大學工業工程與管理學系
摘要
本論文彙整 NO-Wait FlowShop(NWF)之相關研究,構建一般化 NWF 排程 問題之軟體雛型。利用 C#結合 SQL 資料庫進行軟體的開發。以 UML 為工具, 描述系統三個階段:需求階段、結構階段和行為階段。在需求階段描述使用者和 資料庫之間所存在的互動,並將這些互動利用使用者案例圖表達;在結構階段表 達系統中所需儲存的資料;行為階段利用循序圖來表達在三種互動程序中運作的 時序,及利用活動圖描述操作流程。 在維護介面除提供工程師直接輸入生產環境相關資料,或由外部 mdb 文件 載入外,另提供查詢、新增、修改和刪除等功能,以維護設備群組、群組、品項、 作業和途程等資料。這些資訊儲存於 SQL Server。在訂單和詳細訂單介面除提供 排程規劃人員直接輸入訂單相關資料,或由外部 mdb 文件載入外,另提供查詢、 新增、修改和刪除等功能,以維護訂單和詳細訂單資訊。這些資訊將儲存於 SQL Srever。在執行排程規劃介面選擇訂單即可執行排程規劃。分析介面提供加工優 序、設備效率、工件投料時間、機台的工件排程和機台閒置時間等資訊。 關鍵字:No-Wait、UML、流程式生產、總排程時間、禁忌搜尋法NO-Wait Flowshop Scheduling Planning Software
prototype with Object-Oriented Approach
Student:Kan Fu Hua Advisor : Dr. Hsi-Mei Hsu
Department of Industrial Engineering and Management
National Chiao Tung University
Abstract
In this study we develop a software prototype for scheduling generalized no-wait flow-shop (NWF) problems. We construct the software with C # and SQL database, and we also use UML to describe the related contains in the software such as requirement stage, structure stage and behavior stage. The intersections between users and databases in the requirement stage are expressed with case diagram. We describe the related information in the structure stage. While in the behavior stage, we use sequence diagrams to express the interactions of subprograms, and we use the activity diagrams to describe the operation processes. In the input interface we load the production scenario related information directed or we can use the external mdb files. The information is stored in the SQL server. The software provides the query, add, modify and delete functions. The outputs are the job processing priorities, equipment utilization rates, job released times, machines operating and idle times, makespan of scheduled jobs.
誌 謝
本篇論文得以順利完成,首先要感謝我的指導教授許錫美博士細心指導和督 促,老師時常的訓練我思考和表達的能力,並教導我在讀 paper 時需要去了解作 者所要表達的核心概念,而老師也常在我遇到瓶頸時,給予我新的想法讓研究之 路得以更順利。 感謝學長元銘在寫程式的期間給予我很多意見,讓我所撰寫的程式得以順利 完成,實驗室的夥伴秀文、金傳、曉嚴、邦豪、佩芸以及學弟妹紫綾、博鈞、冠 衡,還有摯友定瑋、政鋒、其憲。在你們的陪伴和支持之下,在碩士的這兩年期 間才能過的充實且快樂。 最後感謝我的媽、哥哥,給予我極大的支持,讓我得以在碩士兩年期間全心 的做研究,特別感謝家人這二十幾年來的栽培。謹以此論文獻給我最敬愛的家人。 甘富驊 20010.6 于 新竹交大目錄
摘要... I Abstract ... II 誌 謝... III 目錄... IV 表目錄... VIII 第一章 緒論... 1 1.1. 研究背景與動機 ... 1 1.2. 研究目的 ... 2 1.3. 論文架構 ... 2 第二章 文獻探討... 5 2.1 軟體工程 ... 5 2.1.1 軟體程序 ... 5 2.1.2 軟體程序模型 ... 6 2.2 物件導向技術 ... 8 2.2.1 物件導向方法論 ... 9 2.3 UML ... 102.4 Jumping No-Wait Flowshop ... 12
2.5 Jumping No-Wait Flowshop 相關文獻 ... 12
2.6 No-Wait Flowshop Scheduling with Parallel Machines ... 13
第三章 以 UML 塑造 NWF 排程規劃軟體模型 ... 15 3.1 需求分析階段 ... 15 3.2 結構分析階段 ... 17 3.3 行為分析階段 ... 21 第四章 NWF 排程規劃軟體實作 ... 25 4.1 NWF 排程規劃軟體架構 ... 25 4.2 軟體操作流程 ... 26 4.3 以 C#建構系統介面 ... 28 第五章 結論與未來研究工作... 40 5.1 結論 ... 40 5.2 未來研究工作 ... 40
圖目錄
圖 1.1 研究流程... 3 圖 2.1 瀑布式模型... 6 圖 2.2 演進式開發示意圖... 7 圖 2.3 螺旋式模型... 8 圖 2.4 完工延遲時間示意圖... 13 圖 2.5 加工時間間隔示意圖... 14 圖 3.1 系統使用案例圖... 17 圖 3.2 系統使用案例 Realization ... 18 圖 3.3 維護介面類別圖... 19 圖 3.4 執行介面類別圖... 20 圖 3.5 分析介面類別圖... 20 圖 3.6 維護介面循序圖... 21 圖 3.7 執行介面循序圖... 22 圖 3.8 分析介面循序圖... 22 圖 3.9 維護介面活動圖... 23 圖 3.10 執行介面活動圖... 24 圖 3.11 分析介面活動圖 ... 24 圖 4.1 NWF 排程規劃軟體架構 ... 25 圖 4.2 NWF 排程規劃軟體架構之操作流程 ... 27 圖 4.3 NWF 排程規劃軟體登入介面 ... 28 圖 4.4 C#之設備群組維護介面 ... 29 圖 4.5 設備群組之 mdb 文件 ... 29 圖 4.6 C#之設備維護介面 ... 30 圖 4.7 設備之 mdb 文件 ... 30 圖 4.8 C#之品項維護介面 ... 31 圖 4. 9 品項之 mdb 文件 ... 31 圖 4.10 C#之作業維護介面 ... 32圖 4.12 C#之途程維護介面 ... 33 圖 4.13 途程之 mdb 文件 ... 33 圖 4.14 詳細途程之 mdb 文件 ... 33 圖 4.15 C#之訂單相關作業 ... 34 圖 4.16 C#之詳細訂單相關作業 ... 34 圖 4.17 C#之合併排程訂單相關作業 ... 35 圖 4.18 訂單之 mdb 文件 ... 35 圖 4.19 詳細訂單之 mdb 文件 ... 35 圖 4.20 C#之 NWF 執行介面 ... 36 圖 4.21 C#之加工優序分析介面 ... 37 圖 4.22 C#之工件投料時間分析介面 ... 37 圖 4.23 C#之設備效率分析介面 ... 38 圖 4.24 C#之設備閒置時間分析介面 ... 38 圖 4.25 C#之工件投料時間分析介面 ... 39
表目錄
表 3.1 互動程序之使用案例說明檔... 16
表 3.2 維護介面類別整理... 18
表 3.3 執行介面類別整理... 19
第一章 緒論
1.1. 研究背景與動機 排程(Scheduling)是生產管理的重要議題。排程的目的是為達成設定的目標, 利用可用的資源(人力、物料、機器),進行工件生產的規劃工作。一般以訂單達 交率、資源利用率及工件完工時間來評估排程規劃之績效。好的排程規劃除了可 以節省公司成本之外,亦是工廠競爭力的基礎。 流程式生產(Flowshop)是指所有工件的加工途程皆相同。適用的生產情境是 產品大量少樣。有些產業的流程式生產,因生產特性的要求,工件在加工過程中 不允許有待機的情況發生,否則會造成不良品。例如:鋼鐵業、化學業和半導體 業。具有上述加工特性的流程式生產稱為不允許等待流程式生產,簡稱 NWF(No-Wait Flowshop)。 為因應全球化及客製化的需求,一條生產線可能生產多樣產品。造成工件因 產品特性不同,某些工件不需在一些機台上加工,但工件經過機台的先後順序皆 相同。此情況由李氏【15】所觀察到之現象,並將此情境稱為跳躍式不允許等待 流程式生產,簡稱 JNWF(Jumping No-Wait Flowshop)。在 NWF 生產情境中,所 有工件在各機台的加工優序皆相同。但在 JNWF 生產情境中,由於工件可能跳 過一些機台,導致後投料的工件在某些機台上,可能會比早投料之工件先加工, 造成工件在各機台的加工優序不盡相同,其排程比 NWF 更複雜。 在JNWF生產情境中,某些產業有一特殊現象是前段製程共用機台(starting common machine)與後段製程跳躍式(jumping)加工的現象。此情境由蔡氏【16】 所提出並將此情境稱為共用機台之跳躍式不允許等待流程式生產,簡稱JNWF-SCM (Jumping No-Wait Flowshop with a Starting Common Machine) 其和 李氏的情境相似,差異點在於產品皆必頇在第一階段機台上加工,之後就依產品 特性所經過之機台將有所不同,上述兩種情境皆具有後投料之工件在某些機臺上 比早投料之工件早加工,此種加工特性將使得JNWF和JNWF-SCM比NWF更為複
雜,而此兩篇研究皆是以得到最小化總排程時間為目的。
在NWF生產情境中,為因應需求,某些生產階段的加工機台可能有多部等效 機台,有平行機台的NWF排程問題,因有選機台的問題,其解題複雜度較NWF 排程問題高,由朱氏【17】所提出不允許等待之平行機台流程式生產,簡稱 NWF-P(No-Wait Flowshop with Identical Parallel Machines)。朱氏觀察到半導體製 程中具有三階段的製程,第一階段具有平行機台,第二和第三階段則不具有平行 機台。以最小化總排程時間為目標,提出求解上述問題的啟發式演算法。 一般化NWF情境是指將上述NWF情境,皆延伸成多階段多機台的狀態。 本論文根據上述為求解不同NWF情境的排程問題,所提出的啟發式演算法,構 建一般化NWF情境求解排程問題的軟體雛形,以供業界使用。 1.2. 研究目的 本研究在探討 NWF、JNWF、JNWF-SCM 和 NWF-P 四種排程問題情境,觀 察到過去 NWF 排程問題文獻中並無將 NWF 排程問題情境整合成一軟體供業界 使用,因此本研究主要為達成以下兩大目的: (1) 本研究所探討之四種排程問題情境,皆為適用在某種特定階段數和機台數之 下,為使運用在一般化之排程問題情境下,將四種排程問題情境皆延 伸到多階段多機台,以供業界使用。 (2) 利用 C#程式語言工具構建具有互動式介面之軟體,並將 C#和 SQL 資料庫 做結合,每次執行結果之分析資料皆儲存於 SQL 資料庫中,方便使用者 分析資料和列印分析報表資料,分析資料之結果有利於使用者下一階段生產 參數之制定。 1.3. 論文架構
研究流程如圖 1.1 所示。 開始 文獻探討 軟體工程、物件導向技術、UML NWF、JNWF、JNWF-SCM和NWF-P 以UML塑造NWF排程管理系統模型 結束 確定研究目的 NWF排程規劃軟體實作 結論與未來研究工作 圖 1.1 研究流程 論文架構如下: 第一章 緒論 藉由討論研究動機與背景,最後確定研究目的。 第二章 文獻探討 本研究目的在於開發出擁有互動式介面四種 NWF 排程軟體,除了探討四種 NWF 排程問題之外,更探討了關於軟體開發之程式。 第三章 以 UML 塑造 NWF 排程規劃軟體模型 物件導向技術結合資料庫之方式來開發軟體。
第四章 NWF 排程規劃軟體實作
介紹軟體架構、操作流程和實際建構之介面。 第五章 結論與未來研究工作
第二章 文獻探討
2.1 軟體工程
軟體由一群物件與控制物件活動之程式碼形成之集合,主要目的是將真實世 界之行為轉換成模型,並在電腦上模擬真實世界之行為。
軟體工程是鑑於軟體開發具有高風險、高失敗率和高複雜度之困境,由北大 西洋公約組織(North Atlantic Treaty Organization, NATO)提議在軟體開發過程中 導入工程之概念。即針對軟體開發當時的情況選擇最適合、最有效率之方法,故 軟體工程可被描述為【11】: (1) 範圍: 研究軟體開發流程、開發原則、工程技術管理以及相關表示法。 (2) 目標: 在交期內符合客戶需求和開發預算,開發出高品質軟體。 (3) 內容: 包含工程原理、方法學以及軟體流程等。 根據上述說明在開發軟體時,需對不同開發時期設計管理方式,藉此降低開 發軟體之風險和失敗率。以符合軟體工程目標,將開發軟體過程活動規範成適合 之程序。
2.1.1 軟體程序
軟體程式開發軟體之一系列活動。即從問題定義到運作之活動,軟體程序之 制定因需求而有所不同。但基本上軟體程序皆具有下述活動【13】: (1) 軟體規格制定(Software Specification):定義軟體功能和運作上之限制。(2) 軟體設計與實作(Software Design And Implementation):開發符合規格
軟體。
(3) 軟體確認(Software Validation):需經由客戶確認軟體是否符合需求。
(4) 軟體演進(Software Evolution):軟體需持續改善,以符合顧客一直變動之
2.1.2 軟體程序模型
軟體程序模型是簡易且抽象方式來表達軟體程序,用來解釋開發軟體程序之 模型,下述將介紹三種常見之程序模型:
(1) 瀑布式模型
瀑布式模型(Waterfall Model)是開發軟體程序中最早發表之模型,由 Winston W. Royce【12】所提出,此模型是以開發出完整軟體系統為目標。程序步驟 依序為專案規劃、需求與規格、設計與實現、證實與確認和軟體持續改善。 由於下一階段必頇等到前一階段完成才可開始,而每一階段完成皆會產生 文件檔,故當客戶需求變動很大時,利用此模型開發將需耗費龐大的費用。 專案規劃 需求與規格 設計與實現 證實與確認 軟體持續改善 圖 2.1 瀑布式模型 (2) 演進式開發 演進式開發(Evolutionary Development) 【13】是先建立軟體雛形,再根據使 用者的意見進行新增和修改功能,經由持續改善之動作使軟體雛型之功能越來越 適合使用者。演進式開發在開發效率、開發彈性和符合使用者需求,這三方面皆
大綱描述 需求與規格 設計與實現 證實與確認 初始版本 中間版本 最終版本 圖 2.2 演進式開發示意圖 (3) 螺旋式模型
螺旋式模型(Spiral Model)是由 Boehm【1】所提出,此方法有別於瀑布式模 型和演進式開發。此模型是利用螺旋之方式來表達程序,螺旋內之每一迴圈皆代 表一個階段,從最內圈專案目標制定,次內圈風險評估、需求確認和開發計畫, 到最外圈細部設計和驗收設計,而此螺旋之迴圈又分為四大部分: A. 目標與限制之制定:針對專案制定目標和限制 B. 風險評估與降低:針對專案中產生風險之部分進行評估,並提出降低風 險之計畫。 C. 開發與驗證:開發設計軟體並驗證是否符合使用者需求。 D. 計畫:針對目前專案,進行評估已決定是否進行下一階段之計畫。 螺旋式模型相較於瀑布式模型開發多了持續改善之外,最重要的是多了風 險評估這一部分,經由風險評估將可提早發現軟體不可行性之部份,可使開發軟 體成功率提高。
圖 2.3 螺旋式模型 「資料來源:Boehm【1】」
2.2 物件導向技術
物件導向技術是觀察真實世界的運作和互動是物件導向發展出來。此技術是 將常用到的功能封裝成物件,當軟體設計師需用到功能時僅需直接選取物件,並 直接規劃出軟體所需結構,而此技術可提高開發效率、軟體品質和降低開發成 本,下述將介紹物件導向的基本概念【14】: (1) 物件 物件(Object)即為真實世界中人類所定義各式各樣的物體。物件是具有狀態、 行為與識別的實體或抽象物體,物件包含屬性、狀態和方法。其中屬性用來識別 和其他物件不同,方法是物件間互動之工具,狀態為在某段時間內物件狀態。(2) 類別 類別(Class)是將所有具有相同屬性和方法之物件歸類成一個集合,在開發軟 體中類別之定義是極為重要。因為軟體中有極多之類別,若沒有詳細的說明和定 義,造成類別之間造成混淆,最終將導致未來維護上將極為困難。 (3) 封裝 封裝(Encapsulation)是指將物件的相關資料和方法包裝成一個物件,而此物件 又包含兩大部分,一是物件外觀行為之介面,另一部分是用來控制物件行為之程 式碼。 (4) 繼承 繼承(Inheritance)是將具有相同屬性和方法之類別歸類到一個通用之類別。此 時通用類別即稱為父類別,具有特殊性的類別則被稱為子類別,使用繼承概念可 達到程式碼再用和減少重覆描述,達到減輕系統之負擔。 (5) 多型 多型(Polymorphism)是指不同之類別中,可以利用相同之方法,而接受訊息之 物件可以屬於任何一種類別。利用多型的目的是希望以相同之介面來處理不同的 物件,或是相同的物件但用不同的方法運作。藉此簡化系統發展之複雜性並可增 加軟體之彈性。
2.2.1 物件導向方法論
物件導向程序開發過程包含五個階段分別為需求分析、系統分析、設計、實 作和測詴。針對這些過程有很多學者提出了許多方法,在物件導向方法論,近年 來較為常用的方法有以下幾種: (1) Booch 方法論 Booch 【2】 在 1986 年時所提出的方法論,其提出利用四種模式搭配六種 圖示工具來描述系統動態及靜態行為,其中邏輯模式是利用類別圖和物件圖來表達;實體模式利用模組圖和處理圖表達;動態模式利用狀態轉換圖和互動圖表 達,最後一個模式為靜態模式則包括邏輯模式和實體模式。
(2) Rumbaugh 方法論
由 Rumbaugh【4】所提出的物件模式技術(Object Model Technique)其著重在 分析部分,其將分析分為下列三步驟: (a) 問題描述:此部分是藉由不斷和使用者討論,直到確定真正需求為止。 (b) 構建三種模式雛型 1. 物件模式:描述靜態物件的狀態 2. 動態模式:描述物件間彼此之間互動關係 3. 功能模式:描述物件彼此互動間所需資料轉換情形 (c) 設計者針對和使用者討論之模型進行設計
(3) Jacobson 方法論
由 Jacobson[3]所提出的 OOSE 方法,是第一個提出以使用案例(Use Case)建 立抽象的模式。藉由描述系統與使用者之間的關係,找出真正的需求,並按此需 求去設計符合需求的軟體。
由於提出的物件導向方法論眾多,各種方法論也各有優缺點,因此也常導致 設計者很難清楚到底該用哪種方法。最後由 Booch、Rumbaugh 和 Jacobson 整合
各家方法的優點,逐漸形成了目前最常用的 UML[5](Unified Modeling Language)。
2.3 UML
UML 是由 Booch、Rumbaugh 和 Jacobson 三人共同將各家不同的方法整合成 圖形化的塑模語言。在 1996 年 UML0.9 版檔中【6】說明 UML 主要目的是成為 標準語言,即 UML 不僅整合了各家方法論的優點,提供相當完整的視覺模型讓 設計者和使用者之間更容易溝供彼此的想法,在隔年 UML 的好處被 OMG(Object
介紹 UML 組成的三大基本元素【15】: (1) 事物(Thing)
為 UML 模型中最基本的成員。 (a) 結構事物(Structural Things)
(b) 行為事物(Behavioral Things) (c) 群組事物(Grouping Things) (d) 附註事物(Annotational Things) (2) 關係(Relationships) 描述事物之間的關係。 (a) 相依關係(Dependency) (b) 一般化關係(Generationalization) (c) 結合關係(Association) (d) 實現關係(Realization) (3) 圖形(Diagram) 利用來將所有事物的集合加以分類。 (a) 類別圖(Class Diagram)
(b) 部署圖(Deployment Diagram)
(c) 元件圖(Component Diagram)
(d) 物件圖(Object Diagram)
(e) 使用案例圖(Use Case Diagram)
(f) 順序圖(Sequence Diagram)
(g) 合作圖(Collaboration Diagram)
(h) 狀態圖(State chart Diagram)
(i) 活動圖(Activity Diagram)
在 UML 方法論中建造模型最好的方法是反覆程式【7】(Iterative Process),而 一個系統開發程式具備有五大步驟分別為:需求、分析、設計、實作和測詴。利
用反覆程序即代表非經過一次流程就設計完成,而是經過不斷的重覆程序才能得 到最終產品。每一次反覆所著重的步驟亦不一樣,前其是著重在需求階段;中後 期則著重在設計和實作階段。
UML 主要是採用 Philippe Kruchten【8】所提出的 4+1 觀點,並利用所提出的
觀點來進行塑模,所提出的觀點如以下所述: (1) 邏輯觀點:主要在描述軟體所提供的功能,需滿足使用者的需求。 (2) 程式觀點:主要表達系統績效和可擴充性 (3) 開發觀點:表達追求元件再利用的目標 (4) 實體觀點:表達系統結構配置管理 (5) 使用案例觀點:系統是由使用者、設計師和系統整合者的觀點來描述
2.4 Jumping No-Wait Flowshop
由 Dipak【11】探討在 NWF 生產線下並以最小化總排程時間為目標,針對 此情境提出一套有效的初始解,其初始解的概念是先根據工件的總加工時間由 大排到小,之後利用成對工件插入方式來嘗詴找出目前最好的解,若僅剩下單 數工件將之視為成對工件處理。
2.5 Jumping No-Wait Flowshop 相關文獻
在 JNWF 排程問題中,最先是由李氏【16】所提出,其探討在 JNWF 生產線 下並以最小化總排程時間為目標,其提出一套有效率的禁忌搜尋法來求解。作者 針對 JNWF 特性來設計初始解,其提出的概念是以兩工件相鄰排序時所產生的 完工延遲時間(delay time)為中心,作者考慮到當相鄰工件完工延遲時間(delay time)越小時,則代表所造成的機台延遲會較小,如圖 2.4,並希望藉此縮短排程 時間,
M1 M3 M4 J1 M2 J1 J1 J2 J2 J2 時間 M5 M1 M3 M4 J1 M2 J1 J1 時間 M5 完工延遲時間(-) J2 J2 J2 完工延遲時間(+) 圖 2.4 完工延遲時間示意圖 在算出兩兩相鄰工件完工延遲時間,首先以總加工時間最小的工件為排序第 一,接下來則尋找和排序第一工件完工延遲時間最小的為排序第二工件,依此類 堆直到所有工件排完,則得到初始解。在改善解方面作者考慮兩方面,一為加工 開始時間差,由於工件投料時間差可能過大,因此藉由拆開相鄰工件來改善解, 另一方面則利用相鄰兩工件共用機台數越少,代表機台使用率越高,並縮短排程 時間,以上述兩方面來改善解。 在 JNWF 排程問題被探討之後,由蔡氏【17】探討在 JNWF-SCM 生產線下 並以最小化總排程時間為目標,並提出一套有效率的禁忌搜尋法求解。其求解初 始解的概念從兩方面來考量,一為由於所有的工件皆需在第一部機台上加工,所 以減少第一部機台閒置時間為重要目標,所以排序第一的工件是在第一部機台上 總加工時間最少的工件,另一方面則著重於兩工件相鄰排序時所產生的完工延遲 時間(delay time)為中心,在計算出兩兩相鄰工件完工延遲時間,則以和排序第一 工件完工時間差最小的為排序第二的工件,依此類推直到所有工件排序完為止, 即得到初始解。在改善解亦分成兩方面,一為針對 JNWF-SCM 排程問題特性, 針對第一部機台的閒置時間著手,另一方面則是以減少共用機台著手。
2.6 No-Wait Flowshop Scheduling with Parallel Machines
朱氏【18】探討NWF-P具有三階段排程問題並以最小化總排程時間為目標, 且提出一套有效率的禁忌搜尋法求解和提供一有效機制去評估是否關閉其中一 部機台,而達到降低成本且不會降低產出。其初始解的概念是從機台觀點出發, 以總加工時間最小工件為排序第一,利用使工件加工時間推算出工件在三個階段
各別最早可開始進行加工的機台並記錄時間,之後分別計算第一、二階段和第 二、三階段最早可開始加工時間間隔,如圖2.5,並找出一工件排進去之後可使 得第一、二階段和第二、第三階段間隔加總最小為下一排序工件,並藉此方法減 少機台閒置時間,以達到縮短排程時間。在評估機制方面,作者計算出各機台的 機台利用率,並提出一邊際獲利公式來評估最適合的機台數,其邊際獲利考量到 的有降低排程時間所能獲得的利率再加上機台效率差和(機台利用率減少/增加/ 獲利)乘積,當邊際利潤越大時即代表此為最適合機台數。 M1(1) M3 J1 M2 J1 J1 J2 J2 J2 時間 M1(2) 第一階最早開 始加工時間 第二階最早開 始加工時間 第三階最早開 始加工時間 第一、二階段最早 開始加工時間間隔 第二、三階段最早 開始加工時間間隔 圖 2.5 加工時間間隔示意圖 曾氏【19】探討 NWF-P 具有多階段且多機台的排程問題並以最小化總排 程時間為目標,提出一套有效率的禁忌搜尋法,其初始解的概念是延伸朱氏的 概念至多階段多機台,最後改善解再利用禁忌搜尋法求解。
第三章 以 UML 塑造 NWF 排程規劃軟體模型
此章描述如何運用 UML 塑造排程規劃軟體模型,依前述文獻探討將採用塑 造模型最好的反覆程序手法來塑造模型。一般來說軟體開發流程大致可分為需求 分析、系統分析、設計、實作與測詴等步驟,以下依此流程並搭配 UML 工具來 塑造排程規劃軟體模型。3.1
需求分析階段 此階段主要目的在分析使用者的需求,並對分析完的結果找出相對應的使用 案例(Use Case)。以下描述需求分析階段的步驟: 步驟一、確定系統內的行為者 在此步驟先找出系統中的行為者,在本研究中主要在探討使用者(工程師與排 程規劃員)和資料庫系統之間所存在三項互動程序,(1)維護介面:維護生產環 境資訊;(2)執行介面:訂單相關作業程序與執行排程規劃;(3)分析介面: 工件及機台分析資料與報表分析。在此步驟定義系統中的行為者,是指使用者和 資料庫系統。 步驟二、確定系統內行為者目的,並找出相對應的使用案例 說明行為者目的,並依序將其轉換為所對應的使用案例。 以下分別描述步驟一所描述三項互動程序: (1) 維護介面 生產環境包含五大資訊,分別為設備群組、設備、品項、作業和途程。這些 資訊的維護責任是屬工程師。排程規劃員除非有經過工程師授權,否則無法更改 此部分的生產環境資訊。 (2) 執行介面 互動程序內分為兩部分,一為訂單相關作業程序,此部分是提供使用者進行 查詢訂單、新增訂單、更新訂單和刪除訂單等功能。另一為排程規劃,讓使用者選擇訂單並設定參數,即可經由軟體運算之後可得到最佳排程規劃。 (3) 分析介面 在執行完排程規劃,除可得到最終解外還可得到有關生產製造的資訊,分別 為加工優序、投料時間、設備效率、機台的工件排程和設備閒置時間。 將上述三項互動程序轉化成系統的三個使用案例,如表 3.1~表 3.3 為使用案 例的說明檔。 表 3.1 互動程序之使用案例說明檔 使用案例名稱 使用者與資料庫系統互動程序 行為者名稱 使用者、資料庫系統 目的 得到最終解 使用者案例描述 描述使用者與資料庫系統三項互動程序 (1) 維護介面: 包括設備群組、設備、品項、作業和途程等資訊設定。 (2) 執行介面: 包括兩部分一為訂單查詢、新增、更新和刪除功能,另 一為情境選擇並執行排程規劃。 (3) 分析介面: 為加工優序、投料時間、設備效率、機台的工件排程和 設備閒置時間。 步驟三、建立使用案例圖 在此步驟根據步驟一和步驟二分析,將行為者和使用案例做結合,並繪出使 用案例圖,如圖 3.1 所示。
維護介面 執行介面 分析介面 資料庫系統 使用者 (工程師、排程規劃員) 圖 3.1 系統使用案例圖
3.2
結構分析階段 分析階段的描述,藉由類別圖(Class diagram)描述系統的靜態結構,主要目 的是定義物件基礎,以下分別對上述三個使用案例進行結構分析階段說明。 步驟一、建立使用案例 Realization 首先將三個使用案例進行 Realization,其表達如圖 3.2 所示,此步驟的目的是 將需求分析階段的描述行為,更具體化的呈現出來。維護介面 執行介面 分析介面 執行介面 Realization 維護介面 Realization 分析介面 Realization 使用者 (工程師、排程規劃員) 圖 3.2 系統使用案例 Realization 步驟二、建立系統使用案例類別圖 依需求分析階段的使用案例說明文件,利用三項類別建立類別圖。三項類 別為實體類別、介面類別和控制類別。實體類別是指系統內執行的個體;介面類 別是指使用者與系統互動的介面;控制類別是指實現指定事件的行為。接下來分 別整理三個使用案例的類別表,如表 3.2,3.3,3.4,並介紹三個使用案例的類 別圖,如圖 3.3,3.4,3.5。 (a) 維護介面 表 3.2 維護介面類別整理 介面類別 Maintain_Interface 控制類別 Maintain_Managner
(b) 執行介面 表 3.3 執行介面類別整理 介面類別 Execute_Interface 控制類別 NWF、JNWF、JNWF-SCM 和 NWF-P 實體類別 Order、SQL_server (c) 分析介面 表 3.4 分析介面類別整理 介面類別 Report_Interface 控制類別 Report_Manager 實體類別 Item_sequence、Item_batch_feeding、eq_eff、eq_schedule、 eq_idle_time 和 SQL server <<interface>> Maintian_Interface +Maintain_Information() Maintain_Managner Item -Item_NO -Order_NO -Route_NO -Item_Qty Route -Route_NO -Order_NO -Operations Operation -Operation_NO -Eq_grp_NO -Operation_time -Set-up_time Eq_grp -Eq_grp_NO -Eq-grp_qty Eq(Equipment) -Eq_NO -Eq_grp_NO 1 0..* 0..* 0..* 0..* 0..* 1 1 1 1 SQL_server -Information 圖 3.3 維護介面類別圖
<<interface>>
Execute_Interface -Order_NO-due day -product_qty Order +Calculate() JNWF +Calculate() JNWF-SCM +Calculate() NWF-P 0…* 1 1 1 1 1 -Information SQL_server +Calculate() NWF 圖 3.4 執行介面類別圖 <<interface>> Report_Interface -Information SQL_server -Sequence Item_Sequence -Effecienct Eq_eff -idle_time Eq_idle_time -batch feeding Item_batch feeding 1 1…* 1 1 1 1 1…* 1…* 1…* 1…* -schedule eq_schedule 圖 3.5 分析介面類別圖
3.3
行為分析階段 在此階段將使用循序圖和活動圖來描述在使用案例中所描述的互動程序。 步驟一、建立三種案例的循序圖 在循序圖包含三種元素分別為物件、訊息和生命線,物件是指在系統內互關 棟系扮演的角色,訊息是指兩物件之間訊息交流,生命線表該物件在互動時生命 週期。 (a) 維護介面 此循序圖為表達工程師維護生產環境資訊之步驟,維護介面循序圖如圖 3.7。Eq_grp Eq Item Operation Route
工程師 SQL_server 載入Eq_grp資訊 紀錄Eq_grp資訊 載入Eq資訊 紀錄Eq資訊 載入Item資訊 紀錄Item資訊 載入Operation資訊 記錄Operation資訊 載入Route資訊 紀錄Route資訊 圖 3.6 維護介面循序圖
(b) 執行介面 此循序圖為表達排程規劃員或工程師執行規劃排程所需之步驟,如圖 3.8。 排程規劃員 或 工程師 Order SQL_Server 載入Order資訊 紀錄Order資訊 JNWF JNWF-SCM NWF-P NWF 擷取Order資訊 擷取Order資訊 擷取Order資訊 擷取Order資訊 記錄計算資訊 記錄計算資訊 記錄計算資訊 記錄計算資訊 圖 3.7 執行介面循序圖 (c) 分析介面 此循序圖為表達排程規劃員或工程師查詢生產製造資訊之步驟,如圖 3.9。 Eq_schedule SQL_server
Item_Sequence Item_batch_feeding Eq_eff Eq_Idle_Time
擷取Item_Sequence資訊 擷取Item_batch_feeding資訊 擷取Eq_eff資訊 擷取Eq_schedule資訊 擷取Eq_Idle_time資訊 圖 3.8 分析介面循序圖
輸入或載入生產環境資訊(設備群 組、設備、品項、作業和途程) 紀錄生產環境資訊 是 否 Start End 修改正確 修改生產環境資訊(設備群組、 設備、品項、作業和途程) 步驟二、建立三種案例的活動圖 活動圖主要是描述案例中各物件相互之間互動的流程,並以活動為導向描述事 件的流程。說明系統作業流程從何時開始到何時結束,並可說明物件之間的互動行 為。 (a) 維護介面 表達工程師從輸入或載入生產環境資訊到結束修改環境資訊之過程,如圖3.10。 圖 3.9 維護介面活動圖
選取生產製造資料(加工優序、工件投料時間、 設備效率、機台的工件排程和設備閒置時間 顯示生產製造資料 Start End 匯出Excel檔案 輸入或載入訂單資訊 是 否 Start End 紀錄訂單資訊 選取加工訂單 利用演算法進行排程規劃 更改訂單 資訊 (b) 執行介面 表達排程規劃員從輸入或載入訂單資訊到執行排程規劃之過程,如圖3.11。 圖 3.10 執行介面活動圖 (c) 分析介面 表達工程師或排程規劃員查詢生產製造資訊之過程,如圖3.12。
第四章 NWF 排程規劃軟體實作
在此章分為三部分來介紹 NWF 排程規劃軟體。第一部分為 NWF 排程規劃 軟體架構,在此部分描述使用者(工程師和排程規劃人員)和 NWF 排程規劃軟體 之間的互動關係;第二部分為 NWF 排程規劃軟體操作流程,此部分描述使用者 (工程師和排程規劃人員)從登入此軟體到產生排程規劃結果之間的過程;第三部 分介面功能和操作,在此部分介紹介面所提供的功能和操作過程和規劃排程的角 色。4.1
NWF 排程規劃軟體架構 在此排程規劃軟體,工程師和排程規劃人員是扮演操作此軟體之角色。 SQL Server 是扮演著儲存資訊和提供資訊之角色。利用 C#所寫出來的排程規劃軟體 則是上述兩者之間資訊傳遞的橋樑。mdb 文件是指 Microsoft Access 使用的資 料庫格式,由工程師直接在 Microsoft Access 直接建構此文件。本論文所構建 的 NWF 排程規劃軟體架構如圖 4.1 所示。 工程師 or 排程規劃人員 排程規劃軟體介面 工程師權限 mdb 文件 SQL Server 存入生產環 境資訊 (工程師) 存入訂單資訊 (排程規劃員&工程師) 載入生產環 境資訊 (工程師) 載入訂單資訊 (排程規劃員&工程師) 根據選擇訂單 擷取所需資訊 存入執行排程 規劃結果 圖 4.1 NWF 排程規劃軟體架構4.2
軟體操作流程 此軟體是提供工程師和排程規劃人員使用。由工程師或排程規劃人員進入到 軟體登入介面,藉由帳號軟體會自動判別是工程師或排程規劃人員,隨之提供不 同的使用介面。此軟體提供三大介面操作分別為維護介面、執行介面和分析介面。 在維護介面除提供工程師直接輸入生產環境相關資料,或由外部 mdb 文件 載入外,另提供查詢、新增、修改和刪除等功能,以維護設備群組、群組、品項、 作業和途程等資料。這些資訊儲存於 SQL Server。在訂單和詳細訂單介面除提供 排程規劃人員直接輸入訂單相關資料,或由外部 mdb 文件載入外,另提供查詢、 新增、修改和刪除等功能,以維護訂單和詳細訂單資訊。這些資訊將儲存於 SQL Srever。在執行排程規劃介面選擇訂單和設定 Epoch_Length 即可執行排程規劃。 分析介面提供加工優序、設備效率、工件投料時間、機台的工件排程和機台閒置 時間等資訊。 分析介面除提供加工優序、設備效率、工件投料時間、機台的工件排程和機 台閒置時間等資訊外,另提供查詢功能方便掌握資訊,工程師亦具有排程規劃員 操作權限。軟體操作流程如圖 4.2。工程師或排程規劃員 輸入或載入設備群 組、設備、品項、作 業和途程資訊 修改設備群組、設 備、品項、作業和途 程資訊 修改正確 輸入或載入訂單、 詳細訂單資訊 修改訂單、 詳細訂單資訊 修改正確 選取訂單並設定 Ephch_Length 執行排程規劃 顯示加工優序、工件投料時間、設 備效率、機台的工件排程和機台閒 置時間資訊 工程師 排程規劃員 NWF排程規劃軟體 登入介面 帳號與密碼 是否正確 否 是 維護介面 執行介面 分析介面 圖 4.2 NWF 排程規劃軟體架構之操作流程
4.3
以 C#建構系統介面 在此節將介紹利用 C#實現利用 UML 所做的系統分析,將介紹從使用者登 入介面後,依序介紹上述三種互動程序(a)維護介面;(b)執行介面;(c) 分析介面,而此規劃軟體限制有兩部分分別為總機台數限制為 100 台;總工件數 限制為 1000 個。 (a) 登入介面 登入介面藉由帳號登入區別工程師與排程規劃人員使用功能。登入介面如圖 4.3 所示。若工程師登入切換至設備群組介面,工程師的帳號為 engineer 密碼為 001;排程規劃員切換至訂單介面,排程規劃員的帳號為 engineer 密碼為 002。 圖 4.3 NWF 排程規劃軟體登入介面 (b) 維護介面 在維護介面中各資訊間關係將在作業和途程兩部分設定,在作業方面設定品 項在各群組設備的作業時間和整備時間;在途程方面設定品項在各群組設備的加 工順序,下述將依序介紹設備群組、設備、品項、作業和途程等資料設定的操作 (1) 設備群組 設備群組維護介面包括設備群組編號、設備群組名稱、生效日、失效日、設單一機台或平行機台之資料。設備群組維護介面如圖 4.4 所示,載入設備群組資 訊的 mdb 文件,如圖 4.5 所示。 圖 4.4 C#之設備群組維護介面 圖 4.5 設備群組之 mdb 文件 (2) 設備 設備維護介面包括設備編號、設備群組編號、設備名稱、設備類型、生效日、 失效日和設備描述。載入的設備資訊頇和設備群組資訊對應,才能得知設備群組 中有哪些設備。設備資訊顯示在下方資訊表格。介面如圖 4.6 所示,載入設備資 訊的 mdb 文件,如圖 4.7 所示。
圖 4.6 C#之設備維護介面 圖 4.7 設備之 mdb 文件 (3) 品項 品項維護方面包括品項編號、品項名稱、生效日、失效日、單位、品項種 類和品項描述。品項編號賦予每個工件編號,而品項種類根據其加工途程不同來 進行分類。舉例來說:品項需經過所有機台加工為 A 類;品項在某些機台不加 工為 B 類;在某些機台上不加工但全部品項需在第一階段機台加工為 C 類。目 前的品項資訊顯示在介面下方的表格。品項維護介面如圖 4.8 所示,載入品項資 訊的 mdb 文件,如圖 4.9 所示。
圖 4.8 C#之品項維護介面 圖 4. 9 品項之 mdb 文件 (4) 作業 作業維護介面包括作業編號、設備群組編號、作業名稱、品項編號、作業時 間、閒置時間和作業描述。作業介面設定作業在工作站的作業時間和閒置時間, 並設定品項包含幾項作業。介面如圖 4.10 所示,載入作業資訊的 mdb 文件,如 圖 4.11 所示。
圖 4.10 C#之作業維護介面 圖 4.11 作業之 mdb 文件 (5) 途程 途程維護介面分為上下兩部分,上面的資料包括途程編號、途程名稱、生效 日、失效日、作業數和途程描述。其中作業數代表此途程編號需經過多少工作站 的數量。下面是提供給使用者針對不同的品項編號設定不同的加工途程。途程維 護介面如圖 4.12 所示,載入途程和詳細途程資訊的 mdb 文件,如圖 4.13 和圖 4.14 所示。
圖 4.12 C#之途程維護介面 圖 4.13 途程之 mdb 文件 圖 4.14 詳細途程之 mdb 文件 (c) 執行介面 此部分依序介紹訂單相關介面和執行排程規劃的介面。 (1) 訂單相關作業
此分三部分,第一部分訂單資料包括訂單編號、客戶編號、訂購日期、訂 單交期和訂購品項數量,如圖 4.15 所示;第二部分是設定第一部分訂單中包含 的品項編號和品項數量,如圖 4.16 所示;第三部分是設訂合併訂單、查詢和刪 除訂單部分,如圖 4.17 所示。載入訂單和詳細訂單資訊的 mdb 文件,如圖 4.18 和圖 4.19 所示。 圖 4.15 C#之訂單相關作業 圖 4.16 C#之詳細訂單相關作業
圖 4.17 C#之合併排程訂單相關作業 圖 4.18 訂單之 mdb 文件 圖 4.19 詳細訂單之 mdb 文件 (2) 執行排程規劃 在 NWF 執行排程規劃介面,先設定機台啟始加工時間設定,此分 為三部分分別為機台時間歸零;接續前一排程機台狀況;自行設定。再
選擇訂單之後將根據內部設定 Epoch_Length 值 50,點選執行排程規 劃,即可得到排程規劃結果。執行介面如圖 4.20 所示。 執行排程規劃會依據設備群組是否為平行機台和品項種類來執行不同情境的排 程規劃,(1)非平行機台且品項種類為 A 則執行 NWF 情境;(2)平行機台且 品項種類為 A 則執行 NWF-P 情境,(3)品項種類為 B 和 C 則分別執行 JNWF 和 JNWF-SCM 情境。 圖 4.20 C#之 NWF 執行介面 (d) 分析介面 介紹 C#中生產製造資料顯示的介面,依序為加工優序、工件投料時間、設 備效率、機台的工件排程和設備閒置時間。 (1) 加工優序 在此介面除顯示加工優序和完工時間外,還提供查詢功能,如圖 4.21 所示。
圖 4.21 C#之加工優序分析介面 (2) 工件投料時間 顯示工件的投料時間並提供查詢功能。其中表格上的工件編號_S 欄位代表 開始投料時間點,而工件編號_E 欄位代表結束投料時間點,如圖 4.22 所示。 圖 4.22 C#之工件投料時間分析介面 (3) 設備效率 顯示所有設備的效率並提供查詢特定日期效率,如圖 4.23 所示。
圖 4.23 C#之設備效率分析介面 (4) 機台的工件排程 顯示依據加工優序來排列各工件的開始加工時間和結束加工時間並提供查 詢功能,如圖 4.24 所示。 圖 4.24 C#之設備閒置時間分析介面 (5) 設備的閒置時間 顯示設備每階段設備閒置時間並提供查詢功能。其中表格上的工件編號_S
第五章 結論與未來研究工作
本研究目的是將 NWF、JNWF、JNWF-SCM 和 NWF-P 四種排程問題,利用 C#程式語言整合四種排程問題的軟體雛形,為使軟體符合排程規劃員的需求, 在開發軟體之前,針對建構軟體的文獻探討,為避免浪費太多時間開發出排程規 劃員不需要的功能,在文獻探討中以反覆式開發程序來當作開發的基礎。5.1
結論 (1) 提供使用者在使用一個軟體的情況之下,能模擬四種不同情境的排程。 (2) 本研究建構軟體適用於 NWF、JNWF、JNWF-SCM 和 NWF-P 四種排程問題, 皆以最小化總排程時間為目標。 (3) 在維護介面提供載入環境的功能之外,並在各維護介面提供查詢、新增、修 改和刪除功能,讓工程師彈性的調整生產環境資訊。 (4) 本研究針對執行完之排程規劃結果,整理成加工優序、工件投料時間、設備 效率、機台的工件排程和機台閒置時間五種分析資訊。並提供查詢功能,方 便工程師或排程規劃員快速了解情況和做下一次的生產決策。5.2
未來研究工作 目前已完成工作是將四個排程問題,一般化成為多機台多階段的適用情境,未 來研究未來將繼續的工作如下: (1) 加入更多NWF排程相關情境。 (2) 針對多階段多機台的情況,提出更適合的塔布演算法,搜尋近似最佳解。 (3) 加入更多相關分析資料的功能。 (4) 未來亦可在運算速度和求解兩者之間,取得可接受的範圍,發展不同的演算 法,以更符合使用者的需求。參考文獻
【1】Pressman, R.S., Software Engineering Practitioner ’s Approach, McGraw-Hill ,1993.
【2】Booch, G. ,Object Oriented Analysis and Design with Application, The Benjamin/Cummings Publishing Company,1994.
【3】Jacobson, I., Object Oriented Software Engineer, Addison-Wesley Publishing Company,1995.
【4】Rumbaugh, J., Blaha, M and Premerlani, W. Object Oriented Modeling and Design, Prentice Hall, 1991.
【5】Rumbaugh. J, Booch, G. and I. Jacobson, The UML Reference Guide, Addison WesleyLongman, 1999
【6】Booch, G., Rumbaugh, J. and I. Jacobson, The Unified Modeling Language for Object - Oriented Development Documentation Set Version 0.9 Addendum,
Rational Software Corporation,1996.
【7】Philippe Kruchten, The Rational Unified Process:An Introduction, Addison Wesley, 1999.
【8】Philippe Kruchten, The 4+1 View Model of Software Architecture. IEEE Software 12(6) , 1995, pp.42-50.
【9】Sriskandarajah, C., Performance of scheduling algorithms for no-wait
flowshops with parallel machine, European Journal of Operational Research Vol.70, 1993, pp.365-378.
【10】Dipak Laha, Uday K. Chakraborty, A constructive heuristic for minimizing makespan in no-wait flow shop scheduling, The International Journal of Advanced Manufacturing Technology Vol.41, 2009, pp.97-109
【11】鄭炳強,軟體工程-從實務出發,智勝文化事業有限公司,2007 【12】趙善中等著,軟體工程,儒林圖書公司,2003
【13】lan Sommerville著,陳玄玲編,軟體工程第八版,台灣培生教育,2006 【14】楊正甫、應敏貞,物件導向系統分析與設計,松岡電腦圖書資料股份有限公 司,2004 【15】孫惠民,UML設計實作寶典,學貫行銷股份有限公司,2003 【16】李東森,跳躍式no-wait 生產線工件排程方法之研究,國立交通大 學工業工程與管理學研究所碩士論文,2007 【17】蔡宗翰,共用機台之跳躍式不允許等待流程式生產排程,國立交通大 學工業工程與管理學研究所碩士論文,2008 【18】朱馨吟,工件不允許等待之平行機台流程式生產排程,國立交通大 學工業工程與管理學研究所碩士論文,2008 【19】曾秀文,多階段平行機台工件不允許等待之流程式生產排程,國立交通 大學工業工程與管理學研究所碩士論文,2009
附錄 A
A.1
載入生產環境資訊 載入生產環境資訊部分,由工程師依序載入設備群組、設備、品項、作業和 途程資訊,以下將描述載入生產環境資訊。A.1.1
設備群組 設備群組是由一或多部等效機台所組成的群體,設定的設備數量代表在此 設備群組內為單機台或是多部平行機台的情況。設備群組維護介面及欄位定義說 明,如圖 A.1 和表 A.1 所示 圖 A.1 設備群組維護介面 表 A.1 設備群組欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 設備群組編號 int 10 設定設備群組編號,此編號具 有唯一性不可重覆。 必要輸入 設備群組名稱 char 10 設定設備群組名稱。 生效日 int 10 設定此設備群組啟用日期。 失效日 int 10 設定此設備群組停用日期。 設備數量 int 10 設定此設備群組內設備數量。 必要輸入 單位 char 10 設定此設備群組計算單位。 設備群組描述 char 10 設定此設備群組的備註。A.1.1.1
載入設備群組資訊 Step.1 點選表單列中的維護介面,並選取設備群組維護,如圖 A.2 所示。圖 A.2 選取設備群組維護畫面
Step.2 點選【載入設備群組資訊】,會出現下述畫面,如圖 A.3 所示。
Step.3 在彈出清單中,選取存有設備群組資料的 mdb 文件。
圖 A.3 載入設備群組資訊
圖 A.4 設備群組確認
Step.5 確認的資料,儲存於 SQL Server 並顯示在介面上,如圖 A.5。
圖 A.5 顯示設備群組資訊
A.1.2
設備設備是屬於設備群組內的機台,表示設備屬於特定的設備群組。設備維護 介面及欄位定義說明,如圖 A.6 和表 A.2。
圖 A. 6 設備維護介面 表 A.2 設備欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 設備編號 int 10 設定設備編號,此編號具有唯 一性不可重覆。 必要輸入 設備群組編號 int 10 設定設備群組編號,此編號具 有唯一性不可重覆。 必要輸入 設備名稱 char 10 設定設備名稱。 設備類型 char 10 設定設備型態。例固定式、移 動式。 生效日 int 10 設定此設備啟用日期。 失效日 int 10 設定此設備停用日期。 單位 char 10 設定此設備計算單位。 設備描述 char 10 設定此設備的備註。
A.1.2.1
載入設備資訊Step.1
點選表單列中的維護介面,並選取設備維護。Step.2
點選【載入設備資訊】,出現下述畫面,如圖 A.7 所示。Step.3
在彈出清單中,選取存有設備資料的 mdb 文件。圖 A. 7 載入設備資訊
Step.4
載入 mdb 文件後,再點選【確認】。Step.5
確認的資料,儲存於 SQL Server 並顯示在介面上,如圖 A.8 所示。圖 A.8 顯示設備資訊
A.1.3
品項品項是指公司生產的產品,每一個品項編號皆代表一個產品,再根據加 工途程不同劃分成不同的品項種類。品項維護畫面及欄位定義說明,如圖 A.9 和 表 A.3 所示。
圖 A.9 品項介面 表 A.3 品項欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 品項編號 int 10 設定品項編號,此編號具有唯 一性不可重覆。 必要輸入 品項名稱 char 10 設定品項名稱。 生效日 char 10 設定此品項啟用日期。 失效日 char 10 設定此品項停用日期。 單位 char 10 設定此品項計算單位。 品項種類 char 2 依據品項的加工途程進行分 類。例:品項需經過所有機台 加工為 A 類、品項在某些機 台不加工為 B 類、在某些機台 上不加工,但全部品項需在第 一階段機台加工為 C 類。 必要輸入 品項描述 char 10 設定此品項的備註。
A.1.3.1
載入品項資訊Step.1
點選表單列中的維護介面,並選取品項維護。Step.2
點選【載入品項資訊】,出現下述畫面,如圖 A.10 所示Step.3
在彈出清單中,選取存有品項資料的 mdb 文件。圖 A.10 載入品項資訊
Step.4
載入 mdb 文件之,再點選【確認】。Step.5
確認的資訊,儲存於 SQL Server 並顯示在介面上,如圖 A.11 所示。圖 A.11 顯示品項資訊
3.4
作業作業是設定每個品項在各個設備群組所需作業時間和閒置時間。作業維護介 面及欄位定義說明,如圖 A.14 和表 A.4 所示。
圖 A.12 作業維護介面 表 A.4 作業欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 作業編號 int 10 設定作業編號,此編號具有 唯一性不可重覆。 必要輸入 設備群組編號 int 10 設定設備群組編號,此編號 具有唯一性不可重覆。 必要輸入 作業名稱 char 10 設定此作業名稱。 品項編號 int 10 設定品項編號,此編號具有 唯一性不可重覆。 必要輸入 作業時間 int 4 設定此作業時間。 必要輸入 設置時間 int 4 設定此設置時間。 必要輸入 作業描述 char 10 設定此作業的備註。
A.2.4.1
載入作業資訊Step.1
點選表單列中的維護介面,並選取作業維護。Step.2
點選【載入作業資訊】,會出現下述畫面,如圖 A.13 所示。Step.3
在彈出清單中,選取存有作業資料的 mdb 文件。圖 A.13 載入作業資訊
Step.4
載入 mdb 文件後,再點選【確認】。Step.5
確認的資訊,儲存於 SQL Server 並顯示在介面上,如圖 A.14 所示。圖 A.14 顯示作業資訊
3.5
途程設定途程是用來設定途程共有幾道加工過程,而詳細途程是設定品項的加工途 程。途程維護介面、途程和詳細途程欄位定義說明,如圖 A.15、表 A.5 和表 A.6 所示。
圖 A.15 途程維護介面 表 A. 5 途程欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 途程編號 int 10 設定途程編號,此編號具有 唯一性不可重覆。 必要輸入 途程名稱 char 10 設定途程名稱。 作業數 int 10 設定此途程作業數。 必要輸入 生效日 int 10 設定此途程啟用日期。 失效日 int 10 設定此途程停用日期。 途程描述 char 10 設定此途程的備註。 表 A.6 詳細途程欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 途程編號 int 10 設定途程編號,此編號具有 唯一性不可重覆。 作業排序 int 10 設定作業順序。 作業編號 int 10 設定此作業的編號,此編號 具有唯一性不可重覆。 品項編號 int 10 設定此途程的編號,此編號 具有唯一性不可重覆。
A.1.5.1
載入途程資訊Step.2
點選【載入途程資訊】,會出現下述畫面,如圖 A.16 所示。Step.3
在彈出清單中,選取存有途程資料的 mdb 文件。圖 A.16 載入途程資訊
Step.4
載入 mdb 文件後,再點選【確認】,如圖 A.17 所示圖 A.17 確認途程資訊
圖 A.18 顯示途程資訊
A.1.5.2
載入詳細途程資訊Step.1
點選【載入詳細途程資訊】,會出現下述畫面,如圖 A.43 所示。Step.2
在彈出清單中,選取存有詳細途程資料的 mdb 文件。 圖 A. 19 載入詳細途程Step.3
在彈出清單中,選取存有詳細途程資料的 mdb 文件。Step.4
載入 mdb 文件的資料後,儲存於 SQL Server 並顯示在介面上,如圖 A.20 所示圖 A.20 顯示詳細途程資訊
A.2
修改生產環境資訊 在上述步驟載入完生產環境資訊後,介紹利用介面上所提供的功能調整生產 環境資訊。A.2.1
設備群組 在設備群組維護介面,介紹如何使用查詢、新增、修改和刪除功能,檢閱資 料和調整設備群組資訊。A.2.1.1
查詢設備群組Step.1
點選【查詢】按鈕,並選取查詢設備群組編號,如圖 A.21 所示。圖 A.21 查詢設備群組
Step.2
點選【確認】之後,畫面上會顯示查詢設備群組的資訊,如圖 A.22 所 示。 圖 A.22 顯示所查詢設備群組資訊A.2.1.2
新增設備群組Step.1
點選【新增】按鈕,出現圖 A.23 的輸入方塊。 圖 A.23 新增設備群組Step.2
在輸入方塊內,輸入新增的設備群組資料,如圖 A.24 所示。圖 A.24 設備群組資料確認
Step.3
點選【確認】,會將資料儲存 SQL Server 並顯示在介面,如圖 A.25 所 示。圖 A.25 顯示所新增設備群組資訊
A.2.1.3
修改設備群組圖 A.26 修改設備群組
Step.2
點選【確認】,將資料儲存於 SQL Server 並顯示在介面,如圖 A.27 所 示。圖 A. 27 顯示所修改設備群組資訊
A.2.1.4
刪除設備群組圖 A.28 選出欲刪除設備群組
Step.2
點選【刪除】,即可刪除當前設備群組,如圖 A.29 所示。 圖 A.29 顯示刪除設備群組資訊A.2.2
設備 在設備維護介面,將依序介紹如何使用查詢、新增、修改和刪除功能,檢閱 資料和調整設備資料。A.2.2.1
查詢設備Step.1
點選【查詢】按鈕,並輸入查詢設備編號。Step.2
點選【確認】,畫面上會顯示查詢設備的資訊,如圖 A.30 所示。圖 A.30 顯示所查詢設備資訊
A.2.2.2
新增設備Step.1
點選【新增】按鈕,會出現圖 A.31 的輸入方塊。 圖 A.31 新增設備Step.2
在輸入方塊內,輸入新增的設備資料。Step.3
點選【確認】,將資料儲存於寫入 SQL Srever 並顯示在介面。A.2.2.3
修改設備Step.1
點選【修改】按鈕,出現圖 A.32 輸入方塊。圖 A. 32 修改設備
Step.2
點選【確認】,資料儲存於 SQL Server 並顯示在介面。A.2.2.4
刪除設備Step.1
利用查詢功能查出特定設備。Step.2
再點選【刪除】,即可刪除當前設備。A.2.3
品項 在品項維護介面,介紹如何使用查詢、新增、修改和刪除功能,檢閱資料和 調整品項資料之動作。A.2.3.1
查詢品項Step.1
點選【查詢】按鈕,並輸入查詢品項編號,如圖 A.33。圖 A. 33 查詢品項
Step.2
點選【確認】之後,畫面上會顯示查詢品項的資訊,如圖 A.34 。 圖 A.34 顯示所查詢的品項資訊A.2.3.2
新增品項Step.1
點選【新增】按鈕,出現圖 A.35 的輸入方塊。圖 A.35 新增品項
Step.2
在輸入方塊內,輸入新增的品項資料。Step.3
點選【確認】,將資料儲存於 SQL Srever 並顯示在介面。A.2.3.3
修改品項Step.1
點選【修改】按鈕,出現圖 A.36 輸入方塊。 圖 A.36 修改品項Step.2
在輸入方塊內,輸入修改的品項資料。Step.3
點選【確認】,將資料儲存於 SQL Server 並顯示在介面。A.2.3.4
刪除品項Step.1
利用查詢功能查出特定品項。Step.2
再點選【刪除】,即可刪除當前品項資訊。A.2.4
作業 在作業維護介面,介紹如何使用查詢、新增、修改和刪除功能,檢閱資料和 調整作業資訊之動作。A.2.4.1
查詢作業Step.1
點選【查詢】按鈕,並選取查詢作業編號和設備群組編號,如圖 A.37 所示。 圖 A.37 查詢作業Step.2
點選【確認】,畫面上會顯示查詢作業的資料,如圖 A.38 所示。圖 A.38 顯示所查詢作業資訊
A.2.4.2
新增作業Step.1
點選【新增】按鈕,出現圖 A.39 的輸入方塊。 圖 A.39 新增作業Step.2
在輸入方塊內,輸入欲新增的作業資料。Step.3
點選【確認】,將資料儲存於寫入 SQL Server 並顯示在介面的清單中。A.2.4.3
修改作業Step.1
點選【修改】按鈕,出現圖 A.40 輸入方塊。 圖 A.40 修改作業Step.2
點選【確認】,將資料寫入 SQL 並顯示在介面的清單中,如圖 A.41 所示。 圖 A.41 顯示所修改作業資訊A.2.4.4
刪除作業 Step.1 利用查詢功能查出特定作業。 Step.2 點選【刪除】,即可刪除當前作業。在途程維護介面,介紹如何使用查詢、新增、修改和刪除功能,檢閱資料和 調整途程與詳細途程資料之動作。
A.2.5.1
查詢途程Step.1
點選【查詢】按鈕,並選取查詢途程編號,如圖 A.42 所示。 圖 A. 42 查詢途程Step.2
點選【確認】,畫面上會顯示所查詢途程的資訊。A.2.5.2
新增途程Step.1
點選【新增】按鈕,會出現圖 A.43 的輸入方塊。 圖 A.43 新增途程Step.2
在輸入方塊內,輸入新增的途程資料。Step.3
點選【確認】,將資料儲存於 SQL Server 並顯示在介面。A.2.5.3
修改途程Step.1
點選【修改】按鈕,出現圖 A.44 輸入方塊。 圖 A.44 修改途程Step.2
點選【確認】,將資料儲存於 SQL Server 寫入 SQL 並顯示在介面。A.2.5.4
刪除途程Step.1
利用查詢功能查出特定途程。Step.2
點選【刪除】,即可刪除當前途程。A.2.5.5
修改途程Step.1
點選【修改詳細途程】按鈕,再選擇修改的品項編號和途程編號,會 出現圖 A.47 畫面。圖 A.45 修改詳細途程
Step.2
利用介面上的【<】或【>】來設定詳細途程。Step.3
點選【確認】按鈕,會在清單中顯示修改的詳細途程,如圖 A.48 所 示。 圖 A.46 顯示所修改的詳細途程A.2.5.6
刪除詳細途程Step.1
選取刪除的【品項編號】的詳細途程。Step.2
點選【刪除】按鈕,刪除的結果,如圖 A.49 所示。圖 A.47 刪除詳細途程
A.3
載入訂單和詳細訂單資訊 在載入訂單資訊部分,由排程規劃員依序載入訂單和詳細訂單資訊,以下描 述載入訂單資訊。A.3.1
訂單設定 訂單是指由顧客下單,指定所需訂購的品項種類的數量共有多少。訂單維護 畫面及欄位定義說明,如圖 A.50 和表 A.7 所示。 圖 A.48 訂單維護畫面表 A.7 訂單欄位定義說明 欄位名稱 型別 長度 欄位說明 備註 訂單編號 int 10 設定訂單編號,此編號具有 唯一性不可重覆。 必要輸入 客戶編號 int 10 設定客戶編號。 必要輸入 訂購日期 int 10 設定此訂單下訂日期。 必要輸入 訂單交期 int 10 設定此訂單需交付日期。 必要輸入 訂單品項數量 int 10 設定此訂單總品項數。 必要輸入 訂單描述 char 10 設定此訂單的備註。
A.3.1.1
載入訂單資訊Step.1
點選【載入訂單資訊】,會出現下述畫面,如圖 A.51 所示。Step.2
在彈出清單中,選取存有訂單資料的 mdb 文件。 圖 A.49 載入訂單資訊Step.3
在彈出清單中,選取存有訂單資訊的 mdb 文件。Step.4
載入 mdb 文件後,再點選【確認】。圖 A.50 顯示訂單資訊
A.3.2
詳細訂單設定 在詳細訂單是設定在特定訂單下,包含何種品項,再設定個別品項的數量。 詳細訂單維護畫面及欄位定義說明,如圖 A.53 和表 A.8 所示。 圖 A.51 詳細訂單維護畫面 表 A.8 詳細訂單欄位說明 欄位名稱 型別 長度 欄位說明 備註 訂單編號 int 4 設定訂單編號,此編號具有 唯一性不可重覆。 必要輸入 品項編號 int 4 設定品項編號,此編號具有 唯一性不可重覆。 必要輸入A.4.2.1
載入詳細訂單資訊Step.1
點選【載入詳細訂單資訊】,出現下述畫面,如圖 A.54 所示。Step.2
在彈出清單中,選取存有詳細訂單資料的 mdb 文件。圖 A.52 載入詳細訂單資訊
Step.3
載入 mdb 文件後,再點選【確認】。Step.4
確認的資料,會儲存於 SQL Server 並顯示在介面上,如圖 A.55 所示圖 A.53 顯示詳細訂單資訊
A.4
修改訂單和詳細訂單資訊單資訊的調整。
A.4.1
訂單 在訂單維護介面,介紹如何使用查詢、新增、修改和刪除功能,進行檢閱資 訊和調整訂單資訊之動作。A.4.1.1
查詢訂單Step.1
點選【查詢】按鈕,並選取查詢訂單編號,如圖 A.56 所示。 圖 A.54 查詢訂單Step.2
點選【確認】之後,畫面上會顯示所查詢訂單的資訊,如圖 A.57。 圖 A.55 顯示所查詢訂單資訊A.4.1.2
新增訂單圖 A.56 新增訂單
Step.2
在輸入方塊內,輸入新增的訂單資料。Step.3
點選【確認】,將資料儲存於 SQL Server 並顯示在介面。A.4.1.3
修改訂單Step.1
點選【修改】按鈕,會出現圖 A.59 輸入方塊。 圖 A.57 修改訂單圖 A.58 顯示所修改訂單資訊