TWI739111B - 使用方塊式工作流程的限制編程的方法、系統及電腦可讀取媒體 - Google Patents

使用方塊式工作流程的限制編程的方法、系統及電腦可讀取媒體 Download PDF

Info

Publication number
TWI739111B
TWI739111B TW108118173A TW108118173A TWI739111B TW I739111 B TWI739111 B TW I739111B TW 108118173 A TW108118173 A TW 108118173A TW 108118173 A TW108118173 A TW 108118173A TW I739111 B TWI739111 B TW I739111B
Authority
TW
Taiwan
Prior art keywords
workflow
solution
block
manufacturing environment
model
Prior art date
Application number
TW108118173A
Other languages
English (en)
Other versions
TW202006614A (zh
Inventor
大衛艾佛頓 諾曼
Original Assignee
美商應用材料股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商應用材料股份有限公司 filed Critical 美商應用材料股份有限公司
Publication of TW202006614A publication Critical patent/TW202006614A/zh
Application granted granted Critical
Publication of TWI739111B publication Critical patent/TWI739111B/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Computer Security & Cryptography (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文所述的實施例係提供一種用於執行方塊式(BB)工作流程以解算與半導體製造環境相關的限制編程(CP)模型的技術。實施例係包括接收包含複數個方塊的至少一個BB工作流程。複數個方塊可以指定一組操作。實施例係包括存取對應於複數個方塊的複數個方塊定義。實施例係包括藉由依據複數個方塊定義而執行的該組操作來執行至少一個BB工作流程,該組操作包括提取來自半導體製造環境的資料,該資料包含與製造環境中的裝備相關的靜態資料與動態資料,依據資料與BB工作流程中定義的至少一個限制來建立CP模型;使用解算器來確定CP模型的解算方案;以及將解算方案公佈到半導體製造環境中的至少一個部件。

Description

使用方塊式工作流程的限制編程的方法、系統及電腦可讀取 媒體
本揭示的實施例一般係關於限制編程,且更特定為使用方塊式工作流程的限制編程的技術。
許多不同行業的製造工廠負責生產用於生活各個方面的產品。舉例而言,在半導體製造的情況下,半導體製造設施製造日常生活中普遍存在的產品(例如,微處理器、記憶體晶片、微控制器、及其他半導體裝置)。這些半導體裝置係用於各種應用,其實例包括汽車、電腦、家用電器、蜂窩式電話、及許多其他者。此外,近年來,應用的數量以及裝置(包括半導體裝置)的需求都穩定增加。這種需求的增加促使製造設施越來越意識到增加產品種類以及減少交貨時間。
每一製造環境都是獨特且極其複雜的,通常需要大量資金以用於必要的裝備、工具、設施等。因為製造是如此資本密集,即使設施效能的小幅增加(例如,依需求建設、縮短從訂單到交貨的時間等)也會對財務效能產生很大影響(例如,透過更精簡的製造來降低成本,釋放與閒置庫存相關的資金等)。針對此原因,許多製造設施最近開始對於在設施中實施用於管理複雜性、提供高品質、準時交貨等的排程系統感興趣。製造設施中的排程係涉及進行關於應該執行什麼操作以及這些操作的順序的複雜決定。因此,許多排程系統係涉及限制編程的使用。
限制編程可以用於包括排程的各種限制問題,其中排程問題係涉及將任務進行排程時的時間及/或值限定。限制編程可以用於找到能夠滿足所有限制的解算方案。限制編程包括一組搜尋變量、用於針對變量中之每一者設定可能值的邊界的界域、及一組限制。典型的排程問題係涉及針對每一任務建立搜尋變量,並包括用於表示可以處理任務的裝備的至少一個變量與用於表示任務的開始時間的至少另一變量。在一些情況下,變量可以包括任務的結束時間、任務暫停、任務恢復、及其他者。
用於建立限制編程模型的現有技術需要使用客製化代碼。然而,客製化代碼難以維護且不靈活,而難以進行修改。舉例而言,在許多情況下,製造設施可能會進行改變,以應對新應用、工具改善等。然而,在使用客製化代碼建立的限制編程模型的情況下,適應這種改變可能需要製造設施可能無法取得的專業技術等級(例如,終端使用者可能沒有編碼經驗等),需要足夠的時間支持,需要大量的成本(例如,由於設施的複雜性)等。
本文揭示的實施例包括製造環境中的使用方塊式(BB)工作流程的限制編程(CP)的方法、系統、及電腦程式產品。在一個實施例中,揭示一種用於執行方塊式(BB)工作流程以解算與半導體製造環境相關的限制編程(CP)模型的方法。該方法包括以下步驟:接收包含複數個方塊的至少一個BB工作流程,其中複數個方塊指定用於解算CP模型的一組操作;存取對應於複數個方塊的複數個方塊定義;以及藉由依據複數個方塊定義而執行的一組操作來執行至少一個BB工作流程,該組操作包含:從半導體製造環境中提取資料,其中資料包含與製造環境中的裝備相關的靜態資料與動態資料;依據資料與BB工作流程中所定義的至少一個限制,建立CP模型;使用解算器來確定CP模型的解算方案;以及將解算方案公佈到半導體製造環境中的至少一個部件(解算方案可以首先後處理成該一個部件可以使用的格式),其中解算方案係用於確定半導體製造環境的製造排程。
另一實施例提供一種包含電腦程式代碼的非暫態電腦可讀取媒體,電腦程式代碼在執行時實行用於執行方塊式(BB)工作流程的操作,以解算與半導體製造環境相關的限制編程(CP)模型。該操作包括:接收包含複數個方塊的至少一個BB工作流程,其中複數個方塊指定用於解算CP模型的一組操作;存取對應於複數個方塊的複數個方塊定義;以及藉由依據複數個方塊定義而執行的一組操作來執行至少一個BB工作流程,該組操作包含:從半導體製造環境中提取資料,其中資料包含與製造環境中的裝備相關的靜態資料與動態資料;依據資料與BB工作流程中所定義的至少一個限制,建立CP模型;使用解算器來確定CP模型的解算方案;以及將解算方案公佈到半導體製造環境中的至少一個部件(解算方案可以首先後處理成該一個部件可以使用的格式),其中解算方案係用於確定半導體製造環境的製造排程。
又另一實施例提供一種包含至少一個處理器與包含程式的記憶體的系統,該程式在藉由至少一個處理器執行時實行用於執行方塊式(BB)工作流程的操作,以解算與半導體製造環境相關的限制編程(CP)模型。該操作包括:接收包含複數個方塊的至少一個BB工作流程,其中複數個方塊指定用於解算CP模型的一組操作;存取對應於複數個方塊的複數個方塊定義;以及藉由依據複數個方塊定義而執行的一組操作來執行至少一個BB工作流程,該組操作包含:從半導體製造環境中提取資料,其中資料包含與製造環境中的裝備相關的靜態資料與動態資料;依據資料與BB工作流程中所定義的至少一個限制,建立CP模型;使用解算器來確定CP模型的解算方案;以及將解算方案公佈到半導體製造環境中的至少一個部件(解算方案可以首先後處理成該一個部件可以使用的格式),其中解算方案係用於確定半導體製造環境的製造排程。
本文所述的實施例係呈現使用方塊式(BB)工作流程來解算製造環境中的限制編程(CP)模型的技術。終端使用者可以使用工作流程來構建CP系統,該CP系統係依據從製造環境取得的資料及/或使用者經由BB工作流程所定義的限制來建立及確定CP模型的解算方案,而解算方案可以用於在製造環境內進行排程及派送(例如,在後處理成製造環境的一或更多個部件可以使用的格式並公佈到一或更多個部件之後)。舉例而言,每一工作流程包含為了確定用於CP模型的解算方案而執行的一系列操作的順序(例如,由工作流程的一或更多個方塊表示)。這些操作的實例可以包括檢索來自不同來源的資料,操縱資料並變換成不同格式,分析資料,依據資料建立CP模型(在一些情況下,依據使用者定義的限制及/或參數),確定CP模型的解算方案,操縱解算方案並變換成不同格式,依據解算方案確定製造排程,將解算方案及/或排程提供或公佈到多個輸出等。藉由在工作流程內佈置及/或修改方塊,終端使用者(例如,在製造環境中)可以讓CP系統適應於製造環境的任何改變,而不需要具有專門的編程知識或是編寫複雜的腳本及代碼。
如今,製造設施具有非常複雜的環境,其中設施通常執行與產品製造相關的一些不同任務。這些任務可以包括但不限於用於維修製造環境內的工具(或裝備)的任務、用於使用製造工具的任務、用於改變工具設定的任務、用於檢查製造工具的任務、用於在資源(或未完成的產品)上實行一或更多個處理以製造完成的產品的任務等。在半導體製造的情況下,半導體製造處理通常分為二個部分「前端」及「後端」,二者使用不同類型的半導體製造裝備。前端通常指稱晶圓製造。舉例而言,前端製造設施通常以空白半導體晶圓(例如,矽晶圓)開始,並實行各種處理(例如,光刻、沉積、蝕刻、清潔、離子注入、化學及機械拋光等),以製造完成的晶圓,其中在晶圓上具有許多半導體晶粒。後端通常指稱單獨半導體的組裝及測試。舉例而言,一旦前端生產處理完成,則將完成的晶圓轉移到通常實行功能(例如,將完成的晶圓切割成單獨的半導體晶粒、測試、組裝、封裝等)的後端製造設施。因此,前端及後端處理可以包括由製造環境內的一些不同工具或自動化裝置實行的數百個處理步驟。為了滿足對於製造產品的不斷增加的需求,對於製造環境而言,將製造環境內所實行的一系列複雜任務進行排程及/或控制製造環境內的工具(或工具群組)及自動化裝置變得越來越重要。
為了在製造環境中實行排程,有時候使用CP模型。CP可以用於找到能夠滿足所有限制的解算方案。CP包括一組搜尋變量、用於針對變量中之每一者設定可能值的邊界的界域、及一組限制。排程問題係涉及針對每一任務建立搜尋變量:用於表示可以處理任務的裝備的至少一個變量,以及用於表示任務的開始時間的至少另一變量。通常包括其他變量。在許多情況下,必須修改CP模型以考慮製造環境中的製造循環的改變(例如,處理流程的改變、處理時間的改變、不同的工具群組、引入的新工具、及類似者)的問題(例如,工具故障、輸出產品中的缺陷、維護操作、及類似者)、新的輸入順序、順序的改變等。保持使用現有技術所配置及維護的CP模型係涉及修改客製化代碼。此舉可能涉及具有專門編程知識的使用者所編寫的複雜的腳本及代碼,並涉及大量時間、降低的生產率等。
如下面將更詳細描述的,實施例提供可以用於透過使用方塊式工作流程來定義及配置可以由終端使用者(例如,製造設施中)打開、配置、及擴展的CP處理的技術。舉例而言,終端使用者可以使用本文所述的技術來擴展工作流程(例如,包括附加步驟等),調整工作流程的處理順序,配置(或客製化)工作流程內的該組操作等,而不需要理解或編寫任何代碼。因此,本文所述的CP系統向製造設施提供配置及維護CP處理的能力,而不論環境是否改變,並且不需要專門的編程知識或者與習知技術相關聯的困難且耗時的操作。
一個實施例係包括一種用於藉由方塊式(BB)CP部件執行至少一個BB工作流程以建立及解算與製造環境(例如,前端或後端半導體設施或工廠)相關的CP模型的方法。在製造環境內,可以使用一些工具(或裝備)來處理原材料或半成品(例如,未完成的產品),以生產完成的產品。舉例而言,在半導體製造中,在前端處理、後端處理等期間,可以使用一或更多個工具來處理一或更多個批次。對於前端而言,一或更多個批次通常係指稱一或更多個空白半導體晶圓。對於後端而言,一或更多個批次通常係指稱一或更多個半導體晶粒(例如,在完成的半導體晶圓上)。
在一個實施例中,BB CP部件允許確定依據製造設施及其部件的狀態而建立的CP模型的解算方案。解算方案通常係指稱滿足模型的限制的一組值(例如,分配給CP模型中的變量)。限制通常係指稱應用於CP模型中的變量的限定(例如,時間及/或值限定)(例如,只有在計數器具有大於閾值的值時才能開始檢查任務)。變量通常包括任務狀態變量(例如,任務開始、任務結束、任務暫停、任務恢復等)、任務裝備變量(例如,表示能夠實行任務的站點)等。變量的界域係定義該變量的允許值。界域係針對變量中之每一者的可能值而設定邊界。
為了建立CP模型,BB CP部件可以從製造環境中提取資料。資料可以包括靜態資料(例如,源系統所使用的裝備、裝備的不同零件的能力等)與動態資料(例如,當前裝備狀態、當前藉由源系統的裝備處理的產品、產品特徵等)。BB CP部件亦可以利用使用者經由BB工作流程所定義的限制來建立CP模型。舉例而言,BB CP部件可以藉由使用複數個變量、界域、限制、及類似者來定義邏輯,而建立CP模型。為了解算CP模型,BB CP部件可以將CP模型提供到CP解算器,以確定滿足限制的解算方案。CP解算器的實例係為Gecode,而使用搜尋引擎(例如,深度優先搜尋、分支定界等)來找到CP模型的解算方案。解算方案可以是包含所有變量的單一值的模型。BB CP部件可以將所確定的解算方案公佈到至少一個裝置或部件(例如,在製造環境中實行排程/派送等)。在某些實施例中,針對解算方案進行後處理,以將解算方案轉換成至少一個裝置或部件可以使用的格式。在一些實施例中,排程部件係用於依據解算方案來確定製造排程(例如,根據解算方案中的變量的值的排程)。經過後處理的解算方案及/或排程可以處理及/或轉換成附加的裝置或部件可以使用的形式,並且可以(例如,經由派送器)公佈到附加的裝置及/或部件。
在一個實施例中,BB CP部件係依據BB工作流程內的各種方塊來實行上述操作中之每一者。當BB CP部件執行工作流程時,BB工作流程的每一方塊係指定BB CP部件所實行的該組操作的一或更多個操作。使用本文所述的技術,使用者可以藉由改變BB工作流程中的方塊的順序,增加/移除BB工作流程中的方塊,增加/移除BB工作流程中的方塊之間的鏈路(例如,表示資料流程)等,而編輯/客製化操作序列(藉由BB CP部件執行)。舉例而言,使用者可以經由支援拖曳輸入的使用者介面來產生及/或編輯BB工作流程。此外,本文所述的技術亦允許使用者利用一或更多個BB規則及報告來配置BB工作流程的一或更多個方塊內的一些或所有操作。舉例而言,在執行BB工作流程中的一或更多個方塊之後,BB CP部件可以進一步評估針對各別工作流程方塊而配置的至少一個BB子規則或報告,以實行工作流程方塊所指定的操作。以此方式讓製造設施能夠編輯及客製化(例如,不需要理解或編寫代碼)CP操作,以考慮製造設施中的任何改變。BB報告、規則、及子規則可以藉由使用者建立,並允許使用者在不需要理解或編寫任何代碼的情況下配置BB工作流程中的每一方塊的操作。以此方式,本文所述的技術允許使用者客製化CP工作流程中的方塊的操作,該等操作可以用於提取資料,轉換資料,及/或實行錯誤檢查。
應注意,為了方便起見,關於半導體裝置的製造的術語係用於作為可以使用本文所述的技術而依據所產生的解算器來排程的製造生產處理的參照實例的以下大部分描述中。類似地,以下實施例中的許多者係使用前端及後端半導體製造設施作為製造環境類型的參照實例,其中本文所述的技術可以用於提供可以由終端使用者打開、擴展、及完全配置的CP系統。然而,應注意,本文所述的技術亦可以應用於其他類型的製造環境(例如,在其他行業中)、製造處理等。
第1圖係為圖示可以實現本揭示的態樣的製造環境(或系統)100的架構的方塊圖。舉例而言,在一個實施例中,製造環境100係為半導體製造系統的實例。如圖所示,製造環境100包括經由網路122連接的計算系統110、製造執行系統(MES)130、工廠儲存系統140、派送器160、運行儲存器150、及外部儲存系統170。通常,網路122可以是廣域網路(WAN)、區域網路(LAN)、無線LAN(WLAN)等。工廠儲存系統140、外部儲存系統170、及運行儲存器150通常可以是任何類型的儲存系統,並包括例如關係及/或分層資料庫、分佈式檔案系統等。在一個實施例中,計算系統110、MES 130、及派送器160可以是具有網路介面的任何類型的實體計算系統(例如,桌上型電腦、膝上型電腦、移動裝置、平板電腦、伺服器計算系統、閘道電腦、及類似者)。
MES 130通常經配置以管理及控制製造環境100內的半成品(WIP)的操作。舉例而言,MES 130可以監測製造環境100中操作的一或更多個工具(或裝備)的操作,直接從工具接收資料,分析來自工具的資料,及/或收集資料。在一個實施例中,MES 130可以將資料(從工具接收)儲存到工廠儲存系統140中。儲存在工廠儲存系統140中的這種資訊可以包括關於當前WIP、當前工具狀態、製造資料等的資訊。
如圖所示,計算系統110包括BB CP部件120。BB CP部件120通常表示經配置以實現本文所述的一或更多種技術的邏輯(例如,軟體應用程式、裝置韌體、ASIC等)。舉例而言,BB CP部件120可以實行第5圖所示的方法500、第6圖所示的方法600,及/或本文所述的任何技術(或技術的組合)。在一個實施例中,BB CP部件120藉由執行使用者所定義的BB工作流程(例如,經由使用者介面)來建立及確定CP模型的解算方案。舉例而言,在半導體製造的情況下,製造系統可以實行與半導體晶圓的製造相關的一些不同任務(例如,與前端處理相關聯)、晶圓上的半導體晶粒的切割、組裝、及測試(例如,與後端處理相關聯)、及類似者。BB CP部件120可以檢索來自製造環境100的資料(例如,來自MES 130及其他裝置/部件(例如,材料控制系統(MCS)及/或其他工具))。在一個實施例中,BB CP部件120係依據資料(首先可以變換或轉換成用於CP的適當格式)並依據使用者經由BB工作流程而定義的限制來建立CP模型。然後,BB CP部件120係使用解算器來確定滿足CP模型的所有限制的CP模型的解算方案。可以針對解算方案進行後處理(例如,藉由將解算方案轉換成與至少一個其他部件(例如,排程部件,亦可以位於計算系統110或一個單獨系統上)或裝置兼容的格式),然後可以公佈到至少一個其他部件或裝置。
在一些情況下,製造系統可能需要處理大量批次。為了管理處理,排程部件可以依據BB CP部件120所確定的解算方案而週期性產生排程(例如,每五分鐘、十分鐘、或一些其他可配置的時間週期),以將一些或所有批次分配到可使用的工具,針對批次進行排序等。舉例而言,排程可以包括應該在哪個工具上以及在什麼時間處理哪些任務的列表。在一個實施例中,依據解算方案而產生排程,然後提供到派送器160,派送器160通常經配置以將批次派送(例如,根據排程)到工具,以進行處理。舉例而言,派送器160可以根據所產生的排程而讓製造環境內的一或更多個裝置自動化。可替代或附加地,解算方案及/或排程可以藉由BB CP部件120或另一部件寫入(或保存)到外部儲存系統170。維護外部儲存系統170中的解算方案、後處理結果、及/或排程係允許解算方案及/或排程可以用於不同的實體。
在一個實施例中,BB CP部件120經配置以執行一或更多個BB工作流程,以解算CP模型。BB CP部件120可以接收包括複數個方塊的工作流程(例如,終端使用者經由使用者介面建立),其中工作流程中的每一方塊指定在BB CP部件120執行各別方塊時實行的一或更多個操作。相對於習知腳本解決方案,此工作流程可以更容易地編輯及/或客製化(例如,藉由使用者),而不需要任何專門的編程知識。舉例而言,使用者可以重新佈置工作流程中的方塊(例如,調整BB CP部件120所實行的與建立或解算CP模型相關的步驟),將方塊增加到工作流程(例如,增加BB CP部件120所實行的與建立或解算CP模型相關的步驟),及/或從工作流程移除方塊(例如,移除BB CP部件120所實行的與建立或解算CP模型相關的步驟)。如下所述,使用者亦可以利用BB子規則及/或報告來配置工作流程中的一或更多個方塊的指定操作。以此方式提供可以完全配置的CP系統,而允許製造系統根據需要調整CP系統,而沒有涉及修改客製化代碼的複雜性。
在一個實施例中,針對每一CP運行,BB CP部件120經配置以將與工作流程的方塊相關聯的一些或所有輸入及/或輸出資料寫入運行儲存器150。此資料在CP運行的一或更多個步驟處取得製造系統的狀態,而在解算方案或基於解算方案的排程存在問題的情況下,使得製造系統可以再現該問題,因為可以從運行儲存器150取得再現所發生的事物所需的所有資料。以此方式,製造系統可以藉由回顧性調試系統來解決任何問題。
然而,應注意,第1圖僅圖示製造環境100的一種可能佈置。更通常而言,該領域具有通常知識者將理解,製造系統的其他實施例亦可以經配置以根據本文所述的技術來實現CP技術。舉例而言,儘管計算系統110、MES 130、及派送器160係圖示為單獨實體,但是在其他實施例中,這些部件可以被包括而作為一個計算系統的一部分。
第2圖進一步圖示根據一個實施例的相對於第1圖描述的BB CP部件120的實例。BB CP部件120經配置以建立及解算與製造環境100及其部件相關的CP模型。舉例而言,CP模型(藉由BB CP部件120建立)可以指定基於複數個變量、界域、限制、及類似者的邏輯(例如,利用可執行程式的形式)。CP模型的解算方案可以包含模型,該模型包括滿足CP模型的限制的變量的單一值。
如圖所示,BB CP部件120包括BB工作流程引擎210、BB報告引擎220、CP引擎230、BB報告及規則(RR)儲存系統250、及BB工作流程儲存系統(例如,資料庫)202。在一個實施例中,BB工作流程引擎210係與BB報告引擎220及CP引擎230互動並管理BB報告引擎220及CP引擎230,以建立及解算與製造環境100相關的CP模型。BB工作流程儲存系統202包括一或更多個BB工作流程,一或更多個BB工作流程中之每一者可以用於(例如,藉由BB CP部件120)實行與建立及解算CP模型相關的操作。BB工作流程可以藉由使用者建立、編輯、及/或客製化,並儲存在BB工作流程儲存系統202中。
在一個實施例中,BB工作流程引擎210接收至少一個BB工作流程(例如,來自使用者)或檢索至少一個BB工作流程(例如,來自BB工作流程儲存系統202等),並以BB工作流程中所指定的順序來執行每一方塊。如上所述,當BB工作流程引擎210執行各別方塊時,BB工作流程中的每一方塊係指定所實行的一或更多個操作(例如,藉由BB報告引擎220、CP引擎230等之一者)。可以包括在BB工作流程內的操作的實例包括但不限於檢索關於製造設施的資料,變換及操縱資料,依據資料並依據使用者所定義的BB工作流程中的限制來建立CP模型,確定CP模型的解算方案,讓解算方案可以用於一或更多個請求者,保存關於製造設施的狀態的資訊,針對CP模型、解算方案、及資料實行錯誤檢查,向使用者報告錯誤,依據解算方案產生排程,公佈排程等。以此方式,BB工作流程引擎210可以控制BB CP部件120實行以提供解算方案的操作序列。
根據各種實施例,取決於BB工作流程中所指定的方塊,BB CP部件120可以使用BB工作流程引擎210、BB報告引擎220、或CP引擎230中之一者來執行各別方塊。舉例而言,在一個實施例中,BB CP部件120可以經由BB報告引擎220而從工廠儲存系統140提取關於製造環境100的資料。在一些實施例中,針對關於製造環境100的資料,BB報告引擎220可以查詢其他系統及/或網路服務(例如,使用代表性狀態轉移(REST)或一些其他通訊協定)。舉例而言,這樣的資料可以包括製造環境100中的裝備的描述、裝備的不同零件的能力、裝備的當前狀態、當前正由裝備所處理的產品、產品的特性、及類似者。
在提取資訊之後,BB CP部件120可以使用BB報告引擎220,以在所提取的資料上實行一或更多個變換或操縱。舉例而言,從工廠儲存系統140提取的資料可以是製造環境100專用或專有並與BB CP部件120不兼容的格式(或模式)。在這些情況下,BB報告引擎220可以將資料從專有格式轉換成與BB CP部件120的其餘部分兼容的共通模式。此外,BB報告引擎220可以評估專有格式的資料與用於錯誤的共通模式資料,並且若偵測到錯誤,則更正共通模式資料中的錯誤,並向使用者報告錯誤(例如,經由電子郵件,儲存在資料庫中等)。在一些實施例中,BB報告引擎220可以使用BB RR儲存系統250內的至少一個BB子規則及/或報告,以實行資料提取、資料轉換、錯誤檢查等。舉例而言,BB報告及/或規則可以藉由使用者建立,並允許使用者在不需要理解或編寫任何代碼的情況下配置BB工作流程中的每一方塊的操作。以此方式,本文所述的技術允許使用者客製化CP工作流程中的方塊的操作,該等操作可以用於提取資料,轉換資料,及/或實行錯誤檢查。
在一個實施例中,一旦BB報告引擎220將所提取的資料轉換成共通CP模式,並在共通模式資料上實行錯誤檢查,則BB工作流程引擎210可以評估資料,依據資料及限制而建立CP模型,確定CP模型的解算方案,及類似者。在一些實施例中,BB工作流程引擎210可以使用CP引擎230來建立CP模型及確定解算方案。應注意,儘管CP引擎230與BB報告引擎220係圖示為在BB CP部件120內,但是在一些實施例中,CP引擎230及/或BB報告引擎220可以在BB CP部件120的外部。
可以利用藉由使用者建立並儲存在BB報告及規則(RR)儲存系統250中的一或更多個BB規則及/或報告來配置CP引擎230。一或更多個BB報告可以用於配置、定義、及/或修改限制,指定設定,將資料轉換成CP引擎230所理解的格式等。可附加或可替代地,可以使用一或更多個BB規則(藉由使用者建立)來配置CP模型的物件功能,確定哪些限制將控制CP模型,處理用於建立及解算CP模型的CP引擎230的結果(例如,可以包括將結果轉換回共通模式等),及類似者。
在一個實施例中,一旦CP引擎230確定解算方案,則CP引擎230將解算方案提供到BB工作流程引擎210,而可以將解算方案或基於解算方案的排程公佈到派送器160或外部儲存系統170中之至少一者。在一個實施例中,在將解算方案或依據解算方案而確定的排程公佈到派送器160或外部儲存系統170中之至少一者之前,BB工作流程引擎210可以使用至少一個BB報告及/或規則(例如,在BB RR儲存系統250內)來處理解算方案(例如,將解算方案轉換成製造環境所使用的格式等)。
如上所述,本文所述的技術亦允許BB CP部件120評估所產生的解算方案,並在任何問題或錯誤事件中實行故障排除。舉例而言,在一個實施例中,在接收與BB工作流程中的每一方塊的執行相關聯的輸入及輸出資料之後,BB工作流程引擎210將一或更多個方塊的一些或全部輸入及/或輸出資料寫入運行儲存器150。舉例而言,針對每一CP運行,BB工作流程引擎210可以將所提取的資料、共通模式資料、CP模型及其結果、CP模型輸入及輸出、所公佈的解算方案、及與BB工作流程中的方塊相關聯的其他資訊中之任一者寫入到運行儲存器。在一個實施例中,BB工作流程引擎210寫入針對每一CP運行為唯一的檔案系統目錄(在運行儲存器150內)。以此方式,BB CP部件120能夠針對CP運行的一或更多個步驟來再現製造環境100的狀態。舉例而言,BB CP部件120可以經由BB報告引擎220(並且經由一或更多個BB報告及規則)評估與一或更多個步驟相關聯的資料,以確定是否需要針對CP處理進行任何改變。因此,因為可以經由運行儲存器150而讓與CP運行的一或更多個步驟相關聯的所有資料為可使用,本文所述的技術允許回顧性調試。
然而,應注意,第2圖僅圖示BB CP部件120的一種可能佈置。更通常而言,該領域具有通常知識者將理解,BB CP部件120的其他實施例亦可以經配置以根據本文所述的技術來建立及解算CP模型。舉例而言,儘管BB工作流程引擎210、BB報告引擎220、及CP引擎230係圖示為單獨實體,但是在其他實施例中,這些部件可以被包括而作為一個計算系統的一部分。
第3圖圖示根據一個實施例的具有可以用於確定與製造環境相關的CP模型的解算方案的BB工作流程330的使用者介面300。如圖所示,使用者介面300包括方塊面板350與BB工作流程面板315。方塊面板350包括複數個方塊,而允許使用者客製化BB工作流程內的操作,以確定與製造環境相關的CP模型的解算方案。在此實施例中,每一方塊係描繪成方塊功能的小圖像特徵。然而,應注意,通常可以利用其他方式(例如,大小、形狀、顏色等)來描繪方塊。BB工作流程面板315係圖示BB工作流程330的一個實例。應注意,為了方便起見,僅圖示BB工作流程330的一部分。更通常而言,該領域具有通常知識者應理解,使用者可以建立及/或修改任何BB工作流程以包括任何數量的方塊。
在一個實施例中,使用者介面(UI)300係為圖形使用者介面(GUI),而允許使用者將方塊從方塊面板350拖曳到BB工作流程面板315。使用者可以利用任何順序或配置來佈置方塊(在BB工作流程面板315中),而允許使用者快速讓CP系統適應製造環境內的任何改變,而不需要理解或編寫任何代碼。舉例而言,方塊面板350中的每一方塊係為邏輯抽象概念,而表示可以實行的與建立CP模型的解算方案相關的操作或一系列操作。在一個實施例中,UI 300允許使用者針對工作流程面板315中的每一方塊指定一或更多個性質。一或更多個性質可以指定方塊的資料源、與方塊相關聯的一或更多個操作的定時、限制、及/或與實行相關聯於方塊的操作相關聯的其他標準。在第4A圖至第4D圖中,方塊性質面板的實例展示於下。在一個實施例中,BB工作流程面板315中的每一方塊的操作及/或性質可以儲存在BB CP部件可以存取的一或更多個方塊定義檔案中,以用於執行每一方塊。
在一個實施例中,一旦BB CP部件120執行BB工作流程,則BB CP部件120讀取定義檔案,將檔案中所列出的操作轉換成低階腳本,以讓BB CP部件120執行來建立CP模型並確定CP模型的解算方案。BB CP部件120可以用於將解算方案或經過後處理的解算方案提供到其他裝置或部件(例如,排程部件),針對錯誤評估解算方案,或者將解算方案或經過後處理的解算方案提供到請求解算方案的任何人。
在另一實施例中,一旦BB CP部件120從BB工作流程儲存系統202檢索至少一個BB工作流程,則BB CP部件120讀取並解析BB工作流程,以確定BB工作流程內的方塊的類型。BB CP部件120可以存取與BB工作流程內的每一類型的方塊相對應的一或更多個方塊定義。BB CP部件120可以依據BB工作流程中的方塊的方塊定義及/或性質來執行BB工作流程。舉例而言,在一個實施方案中,BB CP部件120可以依據方塊的方塊類型及/或性質來確定所調用的用於實行方塊中的操作(例如,執行方塊)的至少一個功能。然後,BB CP部件120可以藉由使用所確定的功能來實行該組操作而執行BB工作流程。
在此特定實施例中,BB工作流程330的此部分包括方塊302至329,方塊302至329一起指定操作序列,而可以在藉由BB CP部件120執行時,導致解算與製造環境相關的CP模型。具體而言,方塊302定義觸發BB工作流程330的初始執行的開始操作。方塊304定義用於將開始操作的結果寫入日誌檔案的操作。方塊305及306係藉由「and」方塊307連接,而意指實行方塊305及306中的操作(例如,同時)。方塊305定義用於加載/收集客戶資料(例如,從製造環境中的一或更多個工具收集的資料)的爐建模操作。方塊306定義用於修改與CP處理相關聯的一或更多個設定的全局設定操作。
方塊308定義用於依據從製造環境收集的資料並依據使用者定義的限制來建立與製造環境相關的CP模型的操作。方塊309至311表示用於處理與執行方塊308所定義的操作相關的錯誤(例如,「FAULT」條件)的操作(包括將訊息發送給與錯誤相關的使用者及/或其他部件)。
方塊312定義用於將執行方塊308所定義的操作的結果寫入日誌檔案的操作。方塊313定義用於確定CP模型的解算方案的操作。舉例而言,操作可以包括使用解算器來確定解算方案。方塊314至318表示用於處理與執行方塊313所定義的操作相關的錯誤(例如,「FAULT」條件)的操作(包括將訊息發送給與錯誤相關的使用者及/或其他部件)。方塊320至324表示用於處理與執行方塊313所定義的操作相關的不同錯誤(例如,「INFEASIBLE」條件(例如,若沒有滿足所有限制的CP模型的可行解算方案))的操作(包括將訊息發送給與錯誤相關的使用者及/或其他部件)。方塊326定義用於將執行方塊313所定義的操作的結果寫入日誌檔案的操作。
方塊328表示用於將先前方塊的結果(例如,解算方案)輸出到文本檔案(及/或將解算方案轉換成不同格式,依據解算方案確定排程等)的操作。方塊329定義用於輸出結果(例如,解算方案)的操作(例如,將解算方案公佈到一或更多個裝置或部件)。在一些實施例中,方塊326至329中之一或更多者亦定義用於針對解算方案進行後處理以建立可以用於其他目的之輸入的操作(例如,依據解算方案來確定排程)。
應注意,第3圖所描繪且如上所述的BB工作流程330僅表示可以例如藉由使用者在沒有編碼的情況下配置的方塊序列的一個實例。通常,本文所述的技術可以用於修改及/或客製化任何製造環境的排程系統。
應注意,儘管BB工作流程330包括用於建立及解算CP模型的二個單獨方塊308及313,但是這些方塊可以替代地組合成用於建立及解算CP模型的單一方塊。
第4A圖圖示根據一個實施例的可以用於配置BB工作流程中的特定方塊所執行的一組操作的示例性方塊性質面板415。舉例而言,方塊性質面板415可以用於配置針對第3圖中的BB工作流程330的方塊308或方塊313所執行的操作。在某些實施例中,藉由使用者與方塊的互動來啟動方塊性質面板415(例如,在方塊上雙點擊或在方塊上右鍵單點擊,並選擇與方塊相關聯的「方塊性質」選單項目)。
方塊性質面板415包括可以藉由使用者選擇及/或修改的一些性質。舉例而言,方塊性質面板415允許使用者指定CP模型的解算器以及與建立CP模型相關的其他資訊(例如,CP模型的模型資料(例如,限制))。舉例而言,使用者可以使用方塊性質面板415來指定CP模型的限制。
第4B圖圖示根據一個實施例的可以用於配置BB工作流程中的特定方塊所執行的一組操作的示例性方塊性質面板420。舉例而言,方塊性質面板420可以用於配置針對第3圖中的BB工作流程330的方塊308或方塊313所執行的操作。方塊性質面板420包括可以藉由使用者選擇及/或修改的一些性質。舉例而言,方塊性質面板420允許使用者指定解算器的進階參數,以用於確定CP模型的解算方案。
第4C圖圖示根據一個實施例的可以用於配置BB工作流程中的特定方塊所執行的一組操作的示例性方塊性質面板425。舉例而言,方塊性質面板425可以用於配置針對第3圖中的BB工作流程330的方塊308或方塊313所執行的操作,或者用於配置針對定義用於修改CP模型的操作的不同方塊所執行的操作。方塊性質面板425包括可以藉由使用者選擇及/或修改的一些性質。舉例而言,方塊性質面板425允許使用者指定用於修改CP模型的模型資料。
第4D圖圖示根據一個實施例的可以用於配置BB工作流程中的特定方塊所執行的一組操作的示例性方塊性質面板430。舉例而言,方塊性質面板430可以用於配置針對第3圖中的BB工作流程330的方塊308或方塊313所執行的操作。方塊性質面板430包括可以藉由使用者選擇及/或修改的一些性質。舉例而言,方塊性質面板430允許使用者指定用於運行CP模型的模型、運行目錄、及解算器超時。
應注意,第4A圖至第4D圖所描繪且如上所述的方塊性質面板415、420、425及430僅為可以例如藉由使用者在沒有編碼的情況下配置的方塊性質面板的實例。亦可以包括附加或不同的性質。
第5圖係為根據一個實施例的用於執行BB工作流程以確定與製造環境相關的CP模型的解算方案的方法500的流程圖。如圖所示,該方法開始於方塊502處,其中BB CP部件120(例如,如第1圖所示及描述)接收BB工作流程(例如,從使用者)。BB工作流程包括複數個方塊,複數個方塊指定一組操作,該組操作指定用於建立及解算與製造環境相關的CP模型的操作。為了實行該組操作,在方塊504處,BB CP部件120存取與複數個方塊相對應的方塊定義。在方塊506處,BB CP部件120藉由實行步驟508、510、512、514及516所示的操作來執行BB工作流程。
在步驟508處,BB CP部件120從製造環境中提取資料(例如,經由BB報告引擎)。在一個實施例中,資料包括裝置資料(例如,來自製造環境中的工具或裝備),而用於描述可以用於處理的批次的數量及在製造環境中操作的一或更多個裝置。資料可以包括靜態資料(例如,源系統所使用的裝備、裝備的不同零件的能力等)與動態資料(例如,當前裝備狀態、當前藉由源系統的裝備處理的產品、產品特徵等)。在一些實施例中,BB CP部件120可以將資料從用於製造環境的第一模式(或格式)轉換成第二模式。BB CP部件120亦可以針對錯誤而評估第一模式或第二模式中之至少一者中的資料,並將任何錯誤向使用者報告。
在步驟510,BB CP部件120係依據在步驟508處所提取的資料以及使用者定義的至少一個限制(例如,經由BB工作流程)而建立CP模型。
在步驟512處,BB CP部件120使用解算器來確定CP模型的解算方案。舉例而言,解算方案可以包含針對每一變量具有單一值的模型,而滿足所有限制。在一個實施例中,BB CP部件120可以在將解算方案公佈到其他裝置或部件之前,處理解算方案(例如,將解算方案轉換成製造環境所使用的格式等)。
在步驟514處,BB CP部件120針對解算方案進行後處理。舉例而言,BB CP部件120可以將解算方案變換成與製造環境中的至少一個部件兼容的格式,而可以將解算方案公佈到至少一個部件。
在步驟516處,BB CP部件120將解算方案或經過後處理的解算方案公佈到製造環境中的至少一個部件。在一個實施例中,該部件包含排程部件,而依據解算方案來確定排程(例如,包括分配及處理順序)。可以依據所確定的分配及處理順序在製造環境內讓一或更多個裝置自動化。舉例而言,如上所述,可以將所確定的分配及處理順序公佈到派送器160,以讓一或更多個裝置自動化。可附加或替代地,BB CP部件120可以將解算方案寫入(或保存)到製造環境中的一或更多個儲存系統(例如,外部儲存系統170等)。
第6圖係為根據一個實施例的用於執行方塊式工作流程以確定與製造環境相關的CP模型的解算方案的方法600的流程圖。如圖所示,該方法開始於方塊602處,其中BB CP部件120執行BB工作流程。對於每一方塊而言,BB CP部件在方塊604處確定是否利用BB子規則或報告配置該方塊(方塊604)。若是,則BB CP部件120在方塊606處評估BB子規則或報告,以確定在執行工作流程方塊時所執行的至少一個操作。在評估BB子規則或報告之後(或者若BB CP部件120確定並未利用BB子規則或報告配置工作流程方塊),則BB CP部件120可選擇地在方塊608處將針對工作流程方塊的輸入保存到檔案目錄(例如,在運行儲存器150中)。在一個實施例中,BB CP部件120可以將一些或全部輸入從工作流程方塊保存到檔案目錄。在一個實施例中,BB CP部件120可以確定並未將任何輸入從工作流程方塊保存到檔案目錄中(例如,BB CP部件120可以不需要這樣的資料而再現製造環境的狀態的情況等)。在方塊610處,BB CP部件120存取與BB工作流程中的方塊的類型相對應的方塊定義。在方塊612處,BB CP部件120係依據方塊的方塊定義及一或更多個性質來實行方塊內所指定的操作。舉例而言,如上所述,BB CP部件120可以依據方塊的方塊定義及/或一或更多個性質來確定所調用的至少一個功能,以執行工作流程方塊。在方塊614處,BB CP部件120可選擇地將輸出從工作流程方塊保存到檔案目錄。在一個實施例中,BB CP部件120可以將一些或全部輸出從工作流程方塊保存到檔案目錄。在一個實施例中,BB CP部件可以確定並未將任何輸出從工作流程方塊保存到檔案目錄中(例如,BB CP部件120可以不需要這樣的資料而再現製造環境的狀態的情況等)。以此方式,允許CP系統在CP運行的每一步驟處再現製造環境的狀態,而可以用於在錯誤事件的情況下針對CP處理進行故障診斷。
第7圖圖示根據一個實施例的經配置以執行方塊式工作流程來確定與製造環境相關的CP模型的解算方案的計算系統700。如圖所示,計算系統700包括但不限於中央處理單元(CPU)705、網路介面715、記憶體720、及儲存器740,其中每一者都連接到匯流排717。計算系統700亦可以包括將I/O裝置712(例如,鍵盤、滑鼠、及顯示裝置)連接到計算系統700的I/O裝置介面710。此外,在本揭示的上下文中,計算系統700所圖示的計算元件可以對應於實體計算系統(例如,資料中心中的系統),或者可以是計算雲端內所執行的虛擬計算實例。
CPU 705檢索並執行儲存於記憶體720中的編程指令,以及儲存及檢索駐留在記憶體720中的應用資料。互連或匯流排717係用於在CPU 705、I/O裝置介面710、儲存器740、網路介面715、及記憶體720之間傳送編程指令及應用資料。應注意,包括CPU 705以代表單一CPU、多個CPU、具有多個處理核心的單一CPU、及類似者。通常包括記憶體720以代表隨機存取記憶體。儲存器740可以是磁碟驅動儲存裝置。儘管圖示為單一單元,但是儲存器740可以是固定及/或可移動儲存裝置的組合(例如,固定碟驅動、可移動記憶體卡或光儲存器、網路附接儲存(NAS)、或儲存區域網路(SAN))。
作為說明之用,記憶體720包括BB CP部件730,BB預測部件730包括BB報告引擎732、BB工作流程引擎734、及CP引擎736。儲存器740包括BB工作流程742、工廠資料744、及BB規則及報告746。此外,儘管未圖示,但是記憶體720亦可以包括派送器160、排程部件等。在一個實施例中,BB工作流程引擎734執行BB工作流程742的方塊中之每一者。舉例而言,如上所述,BB工作流程742中的每一方塊可以指定在執行每一方塊時所實行的一或更多個操作。此外,可以利用一或更多個BB報告及規則(例如,儲存在BB規則及報告746中)來配置一或更多個操作。如上所述,當執行工作流程方塊時,BB工作流程引擎734可以進一步與BB報告引擎732及CP引擎736互動。
出於說明之目的,呈現本揭示的各種實施例的描述,但是並非意欲窮舉或限制於所揭示的實施例。在不悖離所描述的實施例的範圍及精神的情況下,許多修改及變化對於該領域具有通常知識者是顯而易見的。選擇本文使用的術語是為了最好地解釋實施例的原理、實際應用、或針對市場中發現的技術的技術改善,或者是讓該領域具有通常知識者能夠理解本文所揭示的實施例。
該領域具有通常知識者應理解,本揭示的態樣可以體現為系統、方法、或電腦程式產品。因此,本揭示的態樣可以採取完全硬體實施例、完全軟體實施例(包括韌體、常駐軟體、微代碼等)、或組合軟體及硬體態樣的實施例的形式,本文通常都可以指稱為「電路」、「模組」、或「系統」。此外,本揭示的態樣可以採取體現於具有包含其上的電腦可讀取程式代碼的一或更多個電腦可讀取媒體中的電腦程式產品的形式。
可以使用一或更多個電腦可讀取媒體的任何組合。電腦可讀取媒體可以是電腦可讀取訊號媒體或電腦可讀取儲存媒體。電腦可讀取儲存媒體可以是例如但不限於電、磁、光、電磁、紅外、或半導體系統、設備、或裝置、或前述的任何合適的組合。電腦可讀取儲存媒體的更具體實例(非詳盡列表)將包括以下內容:具有一或更多條線的電連接、可攜式電腦磁碟、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可擦除可程式化唯讀記憶體(EPROM或快閃記憶體)、光纖、可攜式光碟唯讀記憶體(CD-ROM)、光學儲存裝置、磁儲存裝置、或任何上述的適當組合。在本文件的上下文中,電腦可讀取儲存媒體可以是任何實體媒體,而可以包含或儲存程式,以供指令執行系統、設備、或裝置使用或與其結合使用。
電腦可讀取媒體上所包含的程式代碼可以使用任何適當的媒體傳輸,包括但不限於無線、有線、光纖電纜、RF等,或者前述的任何合適的組合。
用於執行本揭示的態樣的操作的電腦程式代碼可以利用一或更多種程式語言的任何組合來編寫,包括物件導向的程式語言(例如,Java、C#、Smalltalk、C++、或類似者)與習知程序程式語言(例如,「C」程式語言或類似的程式語言)。程式代碼可以完全在使用者的電腦上執行,部分在使用者的電腦上執行,作為獨立的軟體封包執行,部分在使用者的電腦上且部分在遠端電腦上執行,或者完全在遠端電腦或伺服器上執行。在後一種情況下,遠端電腦可以透過任何類型的網路而連接到使用者的電腦(包括區域網路(LAN)或廣域網路(WAN)),或者可以連接到外部電腦(例如,透過使用網際網路服務提供者的網際網路)。
以上係參照根據本揭示的實施例的方法、設備(系統)、及電腦程式產品的流程圖及/或方塊圖來描述本揭示的態樣。應理解,流程圖及/或方塊圖所圖示的每一方塊以及流程圖及/或方塊圖所圖示的方塊的組合可以藉由電腦程式指令實現。這些電腦程式指令可以提供給通用目的電腦、專用目的電腦、或其他可程式化資料處理設備的處理器,以生產機器,而使得指令經由電腦的處理器或其他可程式化資料處理設備執行,以建立用於實現流程圖及/或方塊圖中所指定的功能/動作的構件。
這些電腦程式指令亦可以儲存在電腦可讀取媒體中,並可以指示電腦、其他可程式化資料處理設備、或其他裝置以特定方式起作用,而使得儲存在電腦可讀取媒體中的指令產生包括實現流程圖及/或方塊圖中所指定的功能/動作的指令的製造製品。
圖式中的流程圖及方塊圖係圖示根據本揭示的各種實施例的系統、方法、及電腦程式產品的可能實現的架構、功能、及操作。在這方面,流程圖或方塊圖中的每一方塊可以表示包括用於實現所指定的邏輯功能的一或更多個可執行指令的模組、區段、或指令的一部分。在一些替代實施方案中,方塊中所提到的功能可以不依照圖式所圖示的順序發生。舉例而言,取決於所涉及的功能,連續圖示的二個方塊實際上可以基本上同時執行或並行執行,或者這些方塊有時可以利用相反的順序執行。亦應注意,方塊圖及/或流程圖所圖示的每一方塊以及方塊圖及/或流程圖所圖示的方塊的組合可以藉由執行特定功能或動作或執行專用硬體及電腦指令的組合的基於硬體的專用目的之系統來實現。
儘管前述係關於本發明之實施例,本揭示之其他及進一步實施例可在不脫離本揭示之基本範疇的情況下擬出,且本揭示之範疇係由下列申請專利範圍所決定。
100‧‧‧製造環境 110‧‧‧系統 120‧‧‧BB CP部件 122‧‧‧網路 130‧‧‧製造執行系統(MES) 140‧‧‧工廠儲存系統 150‧‧‧運行儲存器 160‧‧‧派送器 170‧‧‧外部儲存系統 202‧‧‧BB工作流程儲存系統 210‧‧‧BB工作流程引擎 220‧‧‧BB報告引擎 230‧‧‧CP引擎 250‧‧‧BB報告及規則(RR)儲存系統 300‧‧‧使用者介面 302‧‧‧方塊 304‧‧‧方塊 305‧‧‧方塊 306‧‧‧方塊 308‧‧‧方塊 312‧‧‧方塊 313‧‧‧方塊 315‧‧‧方塊式工作流程面板 326‧‧‧方塊 328‧‧‧方塊 329‧‧‧方塊 330‧‧‧BB工作流程 350‧‧‧方塊面板 415‧‧‧方塊性質面板 420‧‧‧方塊性質面板 425‧‧‧方塊性質面板 430‧‧‧方塊性質面板 500‧‧‧方法 502‧‧‧方塊 504‧‧‧方塊 506‧‧‧方塊 508‧‧‧步驟 510‧‧‧步驟 512‧‧‧步驟 514‧‧‧步驟 516‧‧‧步驟 600‧‧‧方法 602‧‧‧方塊 604‧‧‧方塊 606‧‧‧方塊 608‧‧‧方塊 610‧‧‧方塊 612‧‧‧方塊 614‧‧‧方塊 700‧‧‧系統 705‧‧‧中央處理單元(CPU) 710‧‧‧I/O裝置介面 712‧‧‧I/O裝置712 715‧‧‧網路介面 717‧‧‧匯流排 720‧‧‧記憶體 730‧‧‧BB CP部件 732‧‧‧BB報告引擎 734‧‧‧BB工作流程引擎 736‧‧‧CP引擎 740‧‧‧儲存器 742‧‧‧BB工作流程 744‧‧‧工廠資料 746‧‧‧BB規則及報告
為使本揭示的上述特徵可詳細地被理解,本揭示(簡短概要如上)的更特定描述可參照實施例而得,該等實施例之一些係繪示於隨附圖式中。然而,應注意隨附圖式僅圖示本揭示之典型實施例,而非視為限定本揭示的保護範疇,本揭示可接納其他等效實施例。
第1圖圖示根據本揭示的實施例的利用方塊式限制編程(CP)部件配置的製造環境的架構的方塊圖。
第2圖圖示根據本揭示的實施例的製造環境內的方塊式CP部件的架構的方塊圖。
第3圖圖示根據本揭示的實施例的用於解算製造環境中的CP模型的具有方塊式工作流程的介面。
第4A圖、第4B圖、第4C圖及第4D圖圖示根據一個實施例的可以用於配置BB工作流程中的特定方塊所執行的各組操作的示例性方塊性質面板。
第5圖係為圖示根據本揭示的實施例的使用BB工作流程來解算與製造環境相關的CP模型的方法的流程圖。
第6圖係為圖示根據本揭示的實施例的使用BB工作流程來解算與製造環境相關的CP模型的另一方法的流程圖。
第7圖圖示根據本揭示的實施例的利用方塊式CP部件配置的計算系統。
為促進理解,各圖中相同的元件符號儘可能指定相同的元件。此外,預期一個實施例所揭示的元件可以有利地用於本文所揭示的其他實施例上,在此不具體詳述。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
100:製造環境
110:系統
120:BB CP部件
122:網路
130:製造執行系統(MES)
140:工廠儲存系統
150:運行儲存器
160:派送器
170:外部儲存系統

Claims (20)

  1. 一種用於執行一方塊式(BB)工作流程以解算與一半導體製造環境相關的一限制編程(CP)模型的方法,包含以下步驟:接收包含複數個方塊的至少一個BB工作流程,其中該等複數個方塊指定用於解算該CP模型的一組操作;存取對應於該等複數個方塊的複數個方塊定義;以及藉由依據該等複數個方塊定義而執行的該組操作來執行該至少一個BB工作流程,該組操作包含:從該半導體製造環境中提取資料,其中該資料包含與該製造環境中的裝備相關的靜態資料與動態資料;依據該資料與該BB工作流程中定義的至少一個限制來建立該CP模型,其中該CP模型包含一可執行程式,該可執行程式包括一或更多個變量;使用一解算器來確定該CP模型的一解算方案,其中該CP模型的該解算方案包含針對滿足該至少一個限制的該可執行程式中的該一或更多個變量的一或更多個值;以及將該解算方案公佈到該半導體製造環境中的至少 一個部件,其中該解算方案係用於確定該半導體製造環境的一製造排程。
  2. 如請求項1所述之方法,其中執行該至少一個BB工作流程之步驟進一步包含以下步驟:將該解算方案變換成與該至少一個部件兼容的一格式,其中以該格式將該解算方案公佈到該至少一個部件。
  3. 如請求項1所述之方法,其中該製造排程包含批次的一數量與該半導體製造環境中的該裝備的一子集的一分配,包含針對一工具上的每一批次處理的開始及結束時間,以及包含該裝備的該子集應該處理的該等批次的一處理順序,且其中該半導體製造環境中的該裝備的該子集係依據該分配及該處理順序而自動化。
  4. 如請求項1所述之方法,進一步包含以下步驟:針對該至少一個BB工作流程的一或更多個方塊,評估至少一個BB子規則或報告,以確定用於執行的該組操作中的至少一個操作。
  5. 如請求項1所述之方法,其中接收該至少一個BB工作流程之步驟包含以下步驟:經由一使用者介面從一使用者接收用於識別該等複數個方塊的輸入。
  6. 如請求項5所述之方法,其中該輸入進一步 識別用於連接該等複數個方塊的一或更多個鏈路。
  7. 如請求項1所述之方法,其中執行該至少一個BB工作流程之步驟進一步包含以下步驟:將所提取的該資料、該解算方案、或該製造排程中之至少一者寫入該半導體製造環境中的一儲存系統;以及在確定與確定該解算方案之步驟相關的一錯誤之後,將該錯誤報告給一使用者。
  8. 如請求項1所述之方法,其中該至少一個限制包含下列之一者:一時間限定;以及一值限定。
  9. 一種包含電腦程式代碼的非暫態電腦可讀取媒體,該電腦程式代碼在藉由一處理器執行時實行用於執行一方塊式(BB)工作流程的一操作,以解算與一半導體製造環境相關的一限制編程(CP)模型,該操作包含:接收包含複數個方塊的至少一個BB工作流程,其中該等複數個方塊指定用於解算該CP模型的一組操作;存取對應於該等複數個方塊的複數個方塊定義;以及藉由依據該等複數個方塊定義而執行的該組操作來執行該至少一個BB工作流程,該組操作包含: 從該半導體製造環境中提取資料,其中該資料包含與該製造環境中的裝備相關的靜態資料與動態資料;依據該資料與該BB工作流程中定義的至少一個限制來建立該CP模型,其中該CP模型包含一可執行程式,該可執行程式包括一或更多個變量;使用一解算器來確定該CP模型的一解算方案,其中該CP模型的該解算方案包含針對滿足該至少一個限制的該可執行程式中的該一或更多個變量的一或更多個值;以及將該解算方案公佈到該半導體製造環境中的至少一個部件,其中該解算方案係用於確定該半導體製造環境的一製造排程。
  10. 如請求項9所述之非暫態電腦可讀取媒體,其中執行該至少一個BB工作流程之步驟進一步包含以下步驟:將該解算方案變換成與該至少一個部件兼容的一格式,其中以該格式將該解算方案公佈到該至少一個部件。
  11. 如請求項9所述之非暫態電腦可讀取媒體,其中該製造排程包含批次的一數量與該半導體製造環境中的該裝備的一子集的一分配,包含針對一工具上的每一批次處理的開始及結束時間,以及包含該裝備 的該子集應該處理的該等批次的一處理順序,且其中該半導體製造環境中的該裝備的該子集係依據該分配及該處理順序而自動化。
  12. 如請求項9所述之非暫態電腦可讀取媒體,其中該操作進一步包含:針對該至少一個BB工作流程的一或更多個方塊,評估至少一個BB子規則或報告,以確定用於執行的該組操作中的至少一個操作。
  13. 如請求項9所述之非暫態電腦可讀取媒體,其中接收該至少一個BB工作流程之步驟包含以下步驟:經由一使用者介面從一使用者接收用於識別該等複數個方塊的輸入。
  14. 如請求項13所述之非暫態電腦可讀取媒體,其中該輸入進一步識別用於連接該等複數個方塊的一或更多個鏈路。
  15. 如請求項9所述之非暫態電腦可讀取媒體,其中執行該至少一個BB工作流程之步驟進一步包含以下步驟:將所提取的該資料、該解算方案、或該製造排程中之至少一者寫入該半導體製造環境中的一儲存系統;以及在確定與確定該解算方案之步驟相關的一錯誤之後,將該錯誤報告給一使用者。
  16. 如請求項9所述之非暫態電腦可讀取媒體,其中該至少一個限制包含下列之一者:一時間限定;以及一值限定。
  17. 一種使用方塊式工作流程的限制編程的系統,包含:至少一個處理器;以及包含一程式的一記憶體,該程式在藉由該至少一個處理器執行時實行用於執行一方塊式(BB)工作流程的一操作,以解算與一半導體製造環境相關的一限制編程(CP)模型,該操作包含:接收包含複數個方塊的至少一個BB工作流程,其中該等複數個方塊指定用於解算該CP模型的一組操作;存取對應於該等複數個方塊的複數個方塊定義;以及藉由依據該等複數個方塊定義而執行的該組操作來執行該至少一個BB工作流程,該組操作包含:從該半導體製造環境中提取資料,其中該資料包含與該製造環境中的裝備相關的靜態資料與動態資料;依據該資料與該BB工作流程中定義的至少一個限制來建立該CP模型,其中該CP模型包含一可執 行程式,該可執行程式包括一或更多個變量;使用一解算器來確定該CP模型的一解算方案,其中該CP模型的該解算方案包含針對滿足該至少一個限制的該可執行程式中的該一或更多個變量的一或更多個值;以及將該解算方案公佈到該半導體製造環境中的至少一個部件,其中該解算方案係用於確定該半導體製造環境的一製造排程。
  18. 如請求項17所述之系統,其中執行該至少一個BB工作流程之步驟進一步包含以下步驟:將該解算方案變換成與該至少一個部件兼容的一格式,其中以該格式將該解算方案公佈到該至少一個部件。
  19. 如請求項17所述之系統,其中該製造排程包含批次的一數量與該半導體製造環境中的該裝備的一子集的一分配,包含針對一工具上的每一批次處理的開始及結束時間,以及包含該裝備的該子集應該處理的該等批次的一處理順序,且其中該半導體製造環境中的該裝備的該子集係依據該分配及該處理順序而自動化。
  20. 如請求項17所述之系統,其中該方法進一步包含以下步驟:針對該至少一個BB工作流程的一或更多個方塊,評估至少一個BB子規則或報告,以 確定用於執行的該組操作中的至少一個操作。
TW108118173A 2018-07-12 2019-05-27 使用方塊式工作流程的限制編程的方法、系統及電腦可讀取媒體 TWI739111B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862697217P 2018-07-12 2018-07-12
US62/697,217 2018-07-12

Publications (2)

Publication Number Publication Date
TW202006614A TW202006614A (zh) 2020-02-01
TWI739111B true TWI739111B (zh) 2021-09-11

Family

ID=69139417

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108118173A TWI739111B (zh) 2018-07-12 2019-05-27 使用方塊式工作流程的限制編程的方法、系統及電腦可讀取媒體

Country Status (5)

Country Link
US (1) US11016736B2 (zh)
KR (1) KR20210021047A (zh)
CN (1) CN112292644A (zh)
TW (1) TWI739111B (zh)
WO (1) WO2020013910A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112130812B (zh) * 2020-08-04 2022-04-15 中科天玑数据科技股份有限公司 一种基于数据流混合编排的分析模型构建方法及系统
US11080636B1 (en) * 2020-11-18 2021-08-03 Coupang Corp. Systems and method for workflow editing
WO2024035764A1 (en) * 2022-08-09 2024-02-15 Ohio State Innovation Foundation Systems and methods for hybrid autonomous manufacturing

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200307861A (en) * 2002-04-30 2003-12-16 Advanced Micro Devices Inc Agent reactive scheduling in an automated manufacturing environment
CN1786969A (zh) * 2004-12-07 2006-06-14 大日本网目版制造株式会社 数据生成系统、制图数据生成设备及方法以及承载制图数据的存储介质
CN101303596A (zh) * 2007-05-08 2008-11-12 台湾积体电路制造股份有限公司 工厂自动化系统
JP2009163655A (ja) * 2008-01-10 2009-07-23 Sony Corp 半導体装置の製造方法、半導体装置の製造プログラムおよび半導体装置の製造システム
TWI402762B (zh) * 2009-04-21 2013-07-21 Taiwan Semiconductor Mfg 半導體產品級別控制的方法與系統
US20140249882A1 (en) * 2012-10-19 2014-09-04 The Curators Of The University Of Missouri System and Method of Stochastic Resource-Constrained Project Scheduling
TW201511151A (zh) * 2013-09-03 2015-03-16 Nat Univ Tsing Hua 半導體批次生產派工方法
US20170075332A1 (en) * 2015-09-15 2017-03-16 Applied Materials, Inc. Scheduling in manufacturing environments
US20180103116A1 (en) * 2016-10-06 2018-04-12 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Resource Allocation for Management Systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197469B2 (en) * 2001-06-26 2007-03-27 International Business Machines Corporation Method for allocating limited component supply and capacity to optimize production scheduling
US6701201B2 (en) * 2001-08-22 2004-03-02 International Business Machines Corporation Decomposition system and method for solving a large-scale semiconductor production planning problem
CN1825343A (zh) * 2004-10-01 2006-08-30 微软公司 创作和执行基于流程且基于约束的工作流的统一模型
US8869165B2 (en) * 2008-03-20 2014-10-21 International Business Machines Corporation Integrating flow orchestration and scheduling of jobs and data activities for a batch of workflows over multiple domains subject to constraints
US20100257470A1 (en) * 2009-04-03 2010-10-07 Hewlett-Packard Development Company, L.P. Personal project management
US8527081B2 (en) * 2010-08-31 2013-09-03 Applied Materials, Inc. Method and apparatus for automated validation of semiconductor process recipes
US9335977B2 (en) * 2011-07-28 2016-05-10 National Instruments Corporation Optimization of a data flow program based on access pattern information
US9846598B2 (en) * 2013-04-03 2017-12-19 Hewlett Packard Enterprise Development Lp Modifying a flow of operations to be executed in a plurality of execution environments
US9952899B2 (en) * 2014-10-09 2018-04-24 Google Llc Automatically generating execution sequences for workflows
US10083412B2 (en) * 2015-05-14 2018-09-25 Atlassian Pty Ltd Systems and methods for scheduling work items
US10296376B2 (en) * 2015-09-16 2019-05-21 Applied Materials, Inc. Planning for manufacturing environments
US10222083B2 (en) * 2015-10-08 2019-03-05 Johnson Controls Technology Company Building control systems with optimization of equipment life cycle economic value while participating in IBDR and PBDR programs
CN105302096B (zh) * 2015-11-10 2019-12-31 湖南千盟物联信息技术有限公司 一种工厂智能调度方法
US20170343996A1 (en) * 2016-05-24 2017-11-30 Rockwell Automation Technologies, Inc. Industrial automation asset modeling and synchronization
CN106056299A (zh) * 2016-06-08 2016-10-26 杭州电子科技大学 一种基于流程挖掘的决策支持方法及装置
CN106372359B (zh) * 2016-09-21 2019-10-22 中冶赛迪工程技术股份有限公司 一种设备虚拟样机系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200307861A (en) * 2002-04-30 2003-12-16 Advanced Micro Devices Inc Agent reactive scheduling in an automated manufacturing environment
CN1786969A (zh) * 2004-12-07 2006-06-14 大日本网目版制造株式会社 数据生成系统、制图数据生成设备及方法以及承载制图数据的存储介质
CN101303596A (zh) * 2007-05-08 2008-11-12 台湾积体电路制造股份有限公司 工厂自动化系统
JP2009163655A (ja) * 2008-01-10 2009-07-23 Sony Corp 半導体装置の製造方法、半導体装置の製造プログラムおよび半導体装置の製造システム
TWI402762B (zh) * 2009-04-21 2013-07-21 Taiwan Semiconductor Mfg 半導體產品級別控制的方法與系統
US20140249882A1 (en) * 2012-10-19 2014-09-04 The Curators Of The University Of Missouri System and Method of Stochastic Resource-Constrained Project Scheduling
TW201511151A (zh) * 2013-09-03 2015-03-16 Nat Univ Tsing Hua 半導體批次生產派工方法
US20170075332A1 (en) * 2015-09-15 2017-03-16 Applied Materials, Inc. Scheduling in manufacturing environments
US20180103116A1 (en) * 2016-10-06 2018-04-12 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Resource Allocation for Management Systems

Also Published As

Publication number Publication date
KR20210021047A (ko) 2021-02-24
CN112292644A (zh) 2021-01-29
TW202006614A (zh) 2020-02-01
US20200019382A1 (en) 2020-01-16
WO2020013910A1 (en) 2020-01-16
US11016736B2 (en) 2021-05-25

Similar Documents

Publication Publication Date Title
US10878379B2 (en) Processing events generated by internet of things (IoT)
US10295979B2 (en) Scheduling in manufacturing environments
US20200366581A1 (en) Simplified entity lifecycle management
US10685283B2 (en) Demand classification based pipeline system for time-series data forecasting
US10389602B2 (en) Automated feature deployment for active analytics microservices
US9965330B2 (en) Maintaining throughput of a stream processing framework while increasing processing load
TWI739111B (zh) 使用方塊式工作流程的限制編程的方法、系統及電腦可讀取媒體
CN102375731B (zh) 一种免编码集成应用软件平台系统
US10929771B2 (en) Multimodal, small and big data, machine tearing systems and processes
US20170083378A1 (en) Managing processing of long tail task sequences in a stream processing framework
JP2017142798A (ja) 改善されたインターフェースを備えるステートマシンビルダー及び状態非依存イベントの処理
EP2908196A1 (en) Industrial monitoring using cloud computing
US10296376B2 (en) Planning for manufacturing environments
US10608953B2 (en) Platform with multiple execution engines
CN113760677A (zh) 异常链路分析方法、装置、设备及存储介质
CN112052082A (zh) 任务属性优化方法、装置、服务器及存储介质
CN112633850A (zh) 通过管理调用及监控rpa机器人实现业务流程自动化的方法
TW202018609A (zh) 用於製造環境的方塊式預測
CN115056234A (zh) 基于事件驱动和无限状态机的rpa控制器调度方法及系统
CN113139012A (zh) 一种基于json的etl工具引擎处理数据的方法及etl数据处理系统
EP2418575B1 (en) Metadata-driven process control platform
Ellen et al. Reducing the configuration burden in automation systems-case study in a modern brewery
KR20230140721A (ko) Opc ua를 이용한 제조설비의 데이터 수집 장치 및 그 방법
Demir et al. TRANSFERRING VULCANIZING PRESS DATA TO THE ERP SYSTEM ON THE CLOUD
CN115130849A (zh) 制造车间智能化管控方法、装置、电子设备及存储介质