第三章程序系统之一ProcessSystem.ppt

上传人:sccc 文档编号:5084068 上传时间:2023-06-02 格式:PPT 页数:69 大小:533.52KB
返回 下载 相关 举报
第三章程序系统之一ProcessSystem.ppt_第1页
第1页 / 共69页
第三章程序系统之一ProcessSystem.ppt_第2页
第2页 / 共69页
第三章程序系统之一ProcessSystem.ppt_第3页
第3页 / 共69页
第三章程序系统之一ProcessSystem.ppt_第4页
第4页 / 共69页
第三章程序系统之一ProcessSystem.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《第三章程序系统之一ProcessSystem.ppt》由会员分享,可在线阅读,更多相关《第三章程序系统之一ProcessSystem.ppt(69页珍藏版)》请在三一办公上搜索。

1、AutoMod,第三章 程序系統之一(Process System-1),AutoMod,第一節 程序系統基本概念,程序(Process)Queues基本概念 Resources基本概念 Variables基本概念 Counter基本概念 Loads基本概念 Run Control的設定,AutoMod,第二節 更多的指令,Syntax:next of Syntax:while do Syntax:if then elseSyntax:cloneSyntax:readSyntax:print 標準統計資料(Standard Statistics),AutoMod,第三節 範例練習(1/5),模

2、式二:Process System(程序系統)的基本功能 讓你的貨車可以將不同型態的貨物卸下 系統概況:本模組主要模擬貨車由廠內停車場駛至碼頭後,由碼頭工人進行卸貨的作業。系統描述:貨車每e 6 min到來一部,經過門口的文件查核後,進入到廠內停車場,由第一個碼頭開始,循序選擇(next of)4個卸貨碼頭來進行卸貨,每部貨車所載送的棧板數目不同,其數量由檔案(data1)讀取(read)。碼頭上有兩個工人負責卸貨,每卸貨一個棧板所需的時間為40秒,工人在開始進行卸貨後,需完成該貨車上所有的棧板才會至下一部車卸貨。在完成卸貨後,貨車再等1分鐘後離開系統。,AutoMod,第三節 範例練習(2/

3、5),工人的工作時間為早上8:00,在9:40時休息15分鐘,再工作100分鐘再休息40分鐘至12:15,工作100分鐘後休息15分鐘,再工作100分鐘至3:50,準備換班10分鐘,至下午4:00下班。工人在休息後會繼續完成他未完成的工作。工人在進行卸貨時,需使用堆高機,堆高機每使用6小時需進行30分鐘的檢修,這段時間碼頭工人也停止卸貨。,AutoMod,第三節 範例練習(3/5),模式設計概念 本模式將說明AutoMod讀取外部資料的方法,並利用循序選擇的方式模擬貨車停放在四個卸貨碼頭的作業。為完成上述作業,我們可先以一個Process:Pread讀取進入系統的貨車上的棧板數量,以及進入頻率

4、;模式一的Pinitial程序可保留以模擬貨車停放在Qinitial與Qpark的作業;貨車停放在四個卸貨碼頭及卸貨的作業,則可以另一個Process:Pdock來模擬。為接續卸貨作業,我們可先以一個Process:Pstore當作整個工廠以利後續模式將此Process進一步擴大延伸。此外,我們也將以Process:Prdockworker來模擬碼頭工人一日工作的行程,以及Process:Prliftfork來表達堆高機工作與檢修的程序。其他相關指令與Resources、Queues等的設定如下表所示。,AutoMod,第三節 範例練習(4/5),AutoMod,第三節 範例練習(5/5),S

5、tandard Report與實驗設計 根據本模式Run Control的執行,共有四個Run Control的型態及總共7個Snaps,其中R_Clock代表Relative Clock為Reset之後系統的時間,而Absolute Clock為系統從一開始執行的時間。其中Run Control型態一代表的是warm-up時期;Run Control型態二的Snap1與Snap2,以及Run Control型態三的Snap1為第一個三天的實驗設計的統計資料,因此在Run Control型態三的Snap1完畢後,進行Reset以便進行第二個實驗;Run Control型態四的Snap1Snap

6、3為第二個三天的實驗設計的統計資料。系統設計者即可根據此實驗設計的資料,進行評估與分析。,AutoMod,The End,AutoMod,程序(Process)(1/11),Process就如同許多指令的集合,主要是定義Loads在模式中運作的邏輯。當模擬系統產生Load時,必須指定該Load所要進入的Process,Load進入程序後即會根據Process的內容來進行其在模擬過程中所要做的相關活動。Process也可再將Load送至別的Process,進行不同的活動。在整個模擬的過程中,Loads會由一個Process被送至另一個Process,直到Loads離開系統(send to die

7、)為止。,AutoMod,程序(Process)(2/11),Default Traffic LimitTraffic limit表示在一個Process中可以允許最大的Loads總數。Arriving Procedure規範Loads一進入該Process時所要執行的指令集合,可定義在Process的Arriving Procedure中。如此,當Loads進入到該Process時,則開始執行Arriving Procedure中的指令。,AutoMod,程序(Process)(3/11),下列為一個Arriving Procedure的例子。,AutoMod,程序(Process)(4/1

8、1),Leaving Procedure Loads離開Process時所要執行的指令是寫在Leaving Procedure中,也可視為一個指令的集合。當Loads在Arriving Procedure中執行到send指令後(如上例的send to die或send to Pnext),則開始執行Leaving Procedure中的指令。底下是一個Leaving Procedure的例子,以每10個進入Pinitial程序的Loads為單位,離開Pinitial時若在Pinitial程序的時間超過100則Load的型態為L1,不然則為L2。,AutoMod,程序(Process)(5/11

9、),begin Pinitial arriving procedureset Vount to Vcount+1/*令正整數變數Vcount每進來一個Load加一*/if Vcount 10 then/*Vcount為110時執行其他Pinitial的指令*/begin/*Vcount為11時*/set A_timestart to ac/*令Load屬性(Attribute)A_timestart為目前的時間,其中ac為absolute clock的縮寫,代表目前模擬的絕對時間,亦即從模擬開始 執行至目前系統的時間*/set Vcount to 0/*令Vcount為0以便重新計數10個進來

10、的Loads*/end/*其他Pinitial arriving procedure的指令*/end,AutoMod,程序(Process)(6/11),begin Pinitial leaving procedure/*其他Pinitial leaving procedure的指令*/set A_timeinSys to(ac-A_timeStart)/*令Load的屬性A_timeinSys為目前的時間與A_timeStart間的時間差*/if(A_timeinSys 100)then/*如果A_timeinSys大於100*/set load type to L1/*設Load的型態為L

11、1*/else set load type to L2/*不然則設Load的型態為L2*/end,AutoMod,程序(Process)(7/11),一般而言,除非Arriving Procedure的send to指令會有不確定時間的延遲,同時,Loads在離開系統前要執行某些活動,否則,大多以Arriving Procedure來撰寫模擬的程序。此外,在執行Leaving Procedure時,Loads已假設離開該Process,因此,send to、move into、travel to等指令是不可定義在Leaving Procedure中。,AutoMod,程序(Process)(8

12、/11),Number of Processes(process arrays and procindex)以製造系統而言,當我們在進行模擬模式建構時,經常會遇到需要去建構許多包含相同處理程序的生產線,如果利用Number of Processes(process arrays and procindex)的技巧,將可簡化程式,節省撰寫程式的時間。,AutoMod,程序(Process)(9/11),begin P_First arriving procedure/*load進入process:P_First*/move into Q_First/*Loads被送入Queue:Q_First*

13、/use R_First for 3 min/*Loads使用Resource:R_First 3分鐘*/send to P_Second/*將此Loads送至Process:P_Second*/end begin P_Second arriving procedure/*load進入process:P_Second*/move into Q_Second/*Loads被送入Queue:Q_Second*/use R_Second for 3 min/*Loads使用Resource:R_Second 3分鐘*/send to P_Third/*將此Loads送至Process:P_Third

14、*/end begin P_Third arriving procedure/*load進入process:P_Third*/move into Q_Third/*Loads被送入Queue:Q_Third*/use R_Third for 3 min/*Loads使用Resource:R_Third 3分鐘*/send to die/*將此Loads送離開系統*/end,AutoMod,利用Number of Processes(process arrays and procindex)的技巧,來撰寫上述的例子時,則可改寫如下:,AutoMod,程序(Process)(10/11),bein

15、g P_proc arriving proceduremove into Q_mach(procindex)/*Loads被送入Q_mach(procindex)*/use R_mach(procindex)for 3 min/*Loads使用R_mach(procindex)3分鐘*/if procindex=3 then send to die/*如果procindex=3則將Loads送離開系統*/else send to P_proc(procindex+1)/*不然則將Loads送至下一個Process的陣列數P_proc(procindex+1)*/end,AutoMod,程序(P

16、rocess)(11/11),要使用procindex,首先必須將Process的陣列(Array)設為3,設定的地方在Edit A Process視窗中將Number of Processes設為3。,AutoMod,Queues基本概念(1/4),Queues代表模式的等待區域,也是Loads在Process系統中唯一可實體存在的區域(territory),所謂區域即Loads可存在的地方,亦即Loads可顯示在3-D圖上的地方。除了Queues之外,其他的territory尚包括搬運系統中的Conveyor系統、Path Mover系統中的Vehicles,AS/RS系統中的S/RM等,

17、將在後續章節中深入探討。進入Queues的指令為move into。,AutoMod,Queues基本概念(2/4),在Queues中的Loads,並不一定是先進先出(First come first out,FIFO),而是根據進入Queue的時間與在Queues的時間來決定,某一個Load在Queue停留的時間到了,即會離開該Queue。Queues也可設定成陣列的型態,並定義各別的容量(Capacity)。所謂容量即該Queue可同時存在的Loads的數目。當Queues中的Loads數目超過容量,新的Loads即不能入Queues,而是停在move into指令那一行,等待Queues

18、有多餘的容量後,才進入該Queues。,AutoMod,Queues基本概念(3/4),時間的表達在AutoMod的模式中,常需要表達工作或等待的時間,除了常數外,AutoMod還提供相當多不同機率分佈的時間表達方式,以表達模擬系統中的隨機時間。Constant(常數):直接表達即可。wait for 5 min Uniform(均勻分佈):第一個參數為平均值,第二個參數為平均值的上下區間(range)。wait for u 5,1 min,AutoMod,Queues基本概念(4/4),Normal(常態分佈):以normal或n來表達,第一個參數為平均值,第二個參數為變異量 wait fo

19、r n 5,1 min Exponential(指數分佈):以exponential或e來表達 wait for e 5 min Triangular(三角形分佈):以triangular或t來表達,第一個參數為三角型最左邊的數值,中間為最大可能性的值,第三個參數為最右邊的數值 wait for t 4,5,7 min,AutoMod,Resources基本概念(1/8),Resources主要代表模式中處理Loads的資源,如機器設備、工作人員等。直覺上,我們會想將Loads送至Resources加工,但在AutoMod系統中,Resources並非屬於區域(Territory)的一部分,因

20、此無法將Loads移至Resources,而只能在Loads使用Resources時,以顏色來表達Resource改變為busy的狀態。,AutoMod,Resources基本概念(2/8),Syntax:use Resource(for Time_Expression)即便Processing Time有設定,仍以指令所設定的時間為主,其指令的寫法如下:use Rdockworker/*使用Resources:Rdockworker,使用的時間設定在Rdockworker的Processing Time中*/use Rmachine for exponential 3 min/*使用Reso

21、urces:Rmachine 指數分佈且平圴為3分鐘*/,AutoMod,Resources基本概念(3/8),AutoMod,Resources基本概念(4/8),AutoMod,Resources基本概念(5/8),Syntax:get and free Resource 一個Load可以獲得一個資源(get Resource)或釋放一個資源(free Resource),並允許這個Load在獲得此資源後執行其他的指令。底下範例等同語法 use Roperator for 10 min:get Roperator/*獲得Resources:Roperator的使用權*/wait for 1

22、0 min/*等待10分鐘*/free Roperator/*釋放Resources:Roperator的使用權*/,AutoMod,Resources基本概念(6/8),Syntax:take down and bring up Resource take down一個Resource表示將此Resource由正當可工作狀態(up)轉為停機狀態(down),而bring up則相反。,AutoMod,Resources基本概念(7/8),假設Roperator每工作2小時休息15分鐘,以take down/bring up指令的寫法如下:begin Pdown arrivingwhile 1

23、=1 do/*需產生一個dummy(傀儡)Load來趨動Pdown 並以此無窮迴圈來模 擬Roperator工作與休息狀況*/beginwait for 2 hr/*等2小時*/*代表為MTBF:mean time between failure*/take down Roperator wait for 15 min/*等15分鐘*/*代表為MTTR:mean time to repair*/bring up Roperator endend,AutoMod,Resources基本概念(8/8),Resources會隨著狀態的不同而改變其顏色:Green(綠色)=busy(有工作在進行)Bl

24、ue(藍色)=idle(閒置)Red(紅色)=down(故障或維修中)當一個Resource在busy狀態時,只表示該Resource有工作在進行,該Resource可能還會有其他容量(capacity)未使用,因此還可能處理其他的Loads。,AutoMod,Variables基本概念(1/3),Variables為AutoMod模式所使用的變數,其本身為全域型變數(global variables),亦即任一個Process中所使用到相同名稱的變數,為使用同一個記憶區的變數,因此其值是相同的。Variables的預設值為0,當Variable代表Entity type時,預設值為null。

25、Variables也可設定為陣列的型態,但Variables在模式執行完畢後,並不會保留基本的統計值,然而在執行過程中,可由執行畫面View menu的Report選項查看各Variables的動態值。,AutoMod,Variables基本概念(2/3),Syntax:setset 指令可在程式中用來設定Variables或Load Attributes或Counter的值,其指令的寫法如下:set Vcount to 5/*設定一個整數型變數Vcount為5*/set Vcount=Vcount+1/*將Vcount的值加1*/set Vcount to Vcount+1/*與上一行指令相

26、同意義*/,AutoMod,Variables基本概念(3/3),Syntax:increment/decrement by Increment/decrement可用來增加/減少Variables或Load Attributes或Counter的值,同時increment可以縮寫inc代表,decrement可以dec代表,其指令的寫法如下:inc Vcount by 1/*將Vcount增加數值1*/dec Vtemp by 2/*將Vcount減少數值1*/,AutoMod,Counter基本概念(1/2),Counter為一個邏輯實體(logical entity),某一方面,Coun

27、ter很像整數型的Variables,而可以指令set、increment、decrement來設定或修改其值。另一方面,因其值須為正整數而可以像一個Resource的容量(capacity)來使用,例如將Counter的值表示為Resource的容量時,當所代表的Resource被使用時,則將Counter的數值減1,並至多減至0,此時,執行該指令的Load會停留(delay)在該行指令直到Counter的值大於0為止。,AutoMod,Counter基本概念(2/2),Counter本身為全域型變數(global variables),但與Variables不同的是,模式執行完畢後,會有C

28、ounter基本的統計資料。Counter也可使用set、dec(decrement)、inc(increment)指令來設定、減少與增加其值,且使用方式與Variables相同,例如:set Ccount to 10、inc Ccount by 1等。,AutoMod,Loads基本概念(1/6),Loads就是在系統中活動的相關實體,譬如人員、產品等等。Loads是模擬過程中主要的活動實體,執行模式中的邏輯並導致事件的發生。我們即藉由撰寫程式的邏輯,來引導Loads的動作。在Loads的視窗中,我們可以定義Load Attributes(屬性),來代表Load的特性,如重量、體積、價格、處

29、理時間等等。,AutoMod,Loads基本概念(2/6),底下介紹其中的三個屬性包括:load type(Load的型態,亦即所定義Load的名稱);priority(優先權,系統預設值為0,值愈小者,會愈先被處理,可用Syntax:set來設定);current process(指到目前Load所存在的Process名稱)Load Attributes本身就像變數,只是並不如Variables屬於全域型變數,而是僅屬於某一個Load本身而已,亦即當一個Load產生時,設定的屬性變數也會隨著這個Load產生並有其各別的值。,AutoMod,Loads基本概念(3/6),定義在Load Att

30、ributes中的屬性是屬於所有 Load Types的屬性,亦即所有的Loads,不論其名稱,在產生時即有所有定義的Attributes且預設值皆為0或null。由於Loads視窗中有兩種Load Types:Lpallet與Ltruck,當我們要代表它們各別的重量時,就必須分別定義,因此我們定義Aweight來代表Lpallet(棧板)的重量,以及AtruckWeight來代表Ltruck(卡車)的重量。,AutoMod,Loads基本概念(4/6),AutoMod,Loads基本概念(5/6),Psetting為設定Ltruck及其棧板Lpallet的屬性值 begin Psetting

31、 arrivingset AtruckWeight to 20.5/*設定truck重量為20.5噸*/set Aweight=82/*設定truck上的pallet重量為82公斤*/set AtruckPallet to 20/*設定truck上pallet數量為20*/move into Qwait/*卡車停在Qwait 3分鐘*/wait for 3 minsend to Punload/*卡車送至Process:Punload去卸貨*/end,AutoMod,Loads基本概念(6/6),Punload為將棧板卸貨的過程並計算所卸貨的重量 begin Punload arrivingw

32、hile AtruckPallet 0 do/*當卡車上還有棧板時*/begin get Roperator/*要求Resource:Roperator來卸貨*/set load type to Lpallet/*將load type改為Lpallet*/wait for 30 sec/*代表卸貨時間30秒*/move into Qdock/*將棧板卸至Qdock*/free Roperator/*Roperator已完成工作*/set VtotalWeight=VtotalWeight+Aweight/*將總卸貨重量變數VtotalWeight增加Aweight*/dec AtruckPal

33、let by 1/*將棧板數減1*/send to PnextIn/*將棧板送至PnextIn進行入庫*/endend,AutoMod,Run Control的設定(1/10),Run Control可用來控制程式執行的時間、次數,以及執行過程中所要記錄的資料,位於Process系統設計平台的最下方。,AutoMod,Run Control的設定(2/10),在Run Control的設定中,我們可以輸入系統開始的時間,以便可以對照模擬執行過程中的時間與系統狀態,並由統計資料看出某一日期時間,系統的狀態與效能。如果輸錯格式,即會出現如下的警告,並告知正確的格式。,AutoMod,Run Con

34、trol的設定(3/10),AutoMod,Run Control的設定(4/10),AutoMod,Run Control的設定(5/10),AutoMod,Run Control的設定(6/10),AutoMod,Run Control的設定(7/10),在預設的情況下,AutoMod Report所記錄的標準報表(standard report),我們可透過編輯視窗中的System menu選單下的Default選項,將此標準報表改為完整報表(full report)。,AutoMod,Run Control的設定(8/10),Standard Report與Full Report間的差

35、異主要在Full Report會包含系統從一開始即統計的絕對資料(absolute data)及Reset後的相對資料(relative data),而Standard Report則只包含Reset後的相對資料。,AutoMod,Run Control的設定(9/10),Block1與Block2標準統計資料(Standard Report)示表,AutoMod,Run Control的設定(10/10),Block1完整統計資料(Full Report)表,AutoMod,Syntax:next of,next of指令是用來表示模擬程式中循序(sequential)的選擇,可用來將Loa

36、ds循序指定至Queues、Resources、Processes等,如下例:begin Pchose arrivingmove into nextof(Qwait(1),Qwait(2),Qwait(3)/*第一個Load進入Qwait(1),第二個進入Qwait(2),第三個進入Qwait(3),第四個再進入Qwait(1),一直循環下去*/use nextof(Roper(1),Roper(2),Roper(3)/*第一個Load使用Roper(1),第二個Roper(2)等,一直循環下去*/send to die end,AutoMod,Syntax:while do,該指令同一般的程

37、式一樣,是屬於邏輯判斷指令,亦即當while後面的條件成立時,Loads即執行一個由begin end所包覆的指令,如下例:begin Pbatch arrivingwhile Abatch_size 0 do/*當該Load的批量未完成時*/beginuse Rmake for n 5,1 min/*使用Resources:Rmake*/dec Abatch_size by 1/*將未完成的批量數減1*/endend,AutoMod,Syntax:if then else(1/2),該指令亦同一般程式的if指令一樣,是屬於邏輯判斷指令,亦即當if後面條件成立時,執行then後面的指令,若不成

38、立則執行else後面的指令,同時else後面也可再接if的判斷式,造成nested的邏輯指令。但相反的,也可以只有if then,而不需有else。底下為一個使用例子:,AutoMod,Syntax:if then else(2/2),begin Psort arriving/*共有三種不同的Loads進入Psort*/if load type=Lsmall then set AprocTime=5/*如果進來的Load是Lsmall則設AprocTime=5*/else if load type=Lmedium then set AprocTime=10/*如果進來的是Lmedium則設Ap

39、rocTime=10*/else set AprocTime=20/*不然則設AprocTime=20*/use Rmake for AprocTime min/*根據不同的Loads使用Rmake不同的時間*/end 如果if或then或else後面的指令超過一個,則需以begin end將這些指令包覆起來。,AutoMod,Syntax:clone(1/2),clone指令就如同一個複製的動作,當使用者在使用clone指令後會將其所複製的Load,send到一個Process,使用者也可以改變所複製Load的型態,改變Load type所使用的指令為nlt(new load type),底

40、下的範例模擬了從包裝箱LboxA,取出10個零件,且零件為Load type為LpartA的過程。,AutoMod,Syntax:clone(2/2),begin PfetchA arriving procedureset VpartA to 0while VpartA 10 do beginuse Rworker for 5 secclone 1 load to Passembly nlt LpartAinc VpartA by 1endset load type to Lemptysend to Pnextend,因為clone一個Load後,該Load會保留著與原來Load相同的設定,因

41、此上述範例中,自包裝箱LboxA將零件LpartA卸下的行為,在模擬過程中須將Load type:LoadA轉換成LpartA。,AutoMod,Syntax:read(1/5),read指令是用來讀取AutoMod的外部文字檔案,該文字檔案需以空格(spaces或tabs)或換行(new line)來分開資料,所讀取的資料格式主要為real(實數)、integer(整數)、string(字串)。底下以一個實例來說明read的使用。假設我們要讀取文字檔procdata中的Load的名稱、處理時間(Proc_time)及批量數(Batch_size),procdata的資料格式如下所示:,Aut

42、oMod,Syntax:read(2/5),read的使用需先產生一個Loads:Lread進入Pread程序中,才會進行read讀取檔案的作業,如下:begin Pread arrivingread Vheadtemp1,Vheadtemp2,Vheadtemp3 from“procdata”/*因標頭資料不需處理,將之讀為暫時變數,以使指令移到下一行*/set Vindex to 0while Vindex 4 dobeginread Apartname,Aproctime,Abatchsize from“procdata”/*讀取零件名稱(type string)、處理時間(real)、

43、批量數(integer)*/set load type to Apartname/*將該Load名稱改為Apartname所讀取的資料*/clone 1 load to Pwasher/*產生一個Apartname的Load至Pwasher*/inc Vindex by 1endsend to die/*結束讀取作業,將原來的Lread送離開系統*/end,AutoMod,Syntax:read(3/5),由於我們以Load Attributes儲存所讀取零件名稱、處理時間、批量數的資料,並產生(clone)新的Loads至Pwasher,因此,進入Pwasher的每一個Load會有Attri

44、butes所儲存專屬的資料。在Pwasher中,我們可以如下的使用Attributes的值:begin Pwasher arriving get Rwasher/*要求Resource:Rwasher*/set Vbatch=Abatchsize/*設定Vbatch為批量數的值*/while Vbatch 0 dobeginwait for Aproctime sec/*每一個工件處理Aproctime sec*/dec Vbatch by 1end free Rwasher/*釋放Rwasher資源*/send to Pnext/*將此Load(load type=Apartname)送至P

45、next*/end,AutoMod,Syntax:read(4/5),當我們不知檔案中有幾筆資料時,我們可以直接讀取檔案並在後面加上讀完後怎麼處理Loads:Lread的指令:at end,可將上面讀檔程式修改如下 begin Pread arrivingread Vheadtemp1,Vheadtemp2,Vheadtemp3 from“procdata”while 1=1 dobeginread Apartname,Aproctime,Abatchsize from“procdata”at endsend to die/*讀取完所有資料後將Lread送離開系統*/set load type

46、 to Apartname clone 1 load to Pwasher wait for 0.1 sec/*等一點時間以便系統更新資料*/endend,AutoMod,Syntax:read(5/5),AutoMod會先在目前的工作目錄下讀取檔案,也可讀取完整路徑或在該模式下的.arc或.dir目錄下的檔案。如上面的例子,表示”procdata”是在目前的工作目錄,如”procdata”在該模式的.arc的目錄,則需寫成”arc/procdata”,如”procdata”在該模式的.dir的目錄,則須寫成”dir/procdata”。如能夠善加利用,read可增強AutoMod的功能與彈性

47、,並使模式能模擬不同狀況的系統而不需重新建構模式。,AutoMod,Syntax:print(1/2),print可將文字訊息由訊息視窗(message window)顯示出來,如下例。begin Pin arrivingwait for 3 minprint this load“was just arrived”to message/*將Load的編號(id)及文字”was just arrived”顯示在訊息視窗出來*/end,AutoMod,Syntax:print(2/2),print也可將訊息輸出到外部檔案、報表、或動態圖上的標籤(Labels),如下例:begin Pin arri

48、vingwait for 3 minprint this load“was just arrived”to“outfile”/*將Load的編號(id)及文字”was just arrived”輸出到outfile中*/end,AutoMod,標準統計資料(Standard Statistics)(1/2),AutoMod提供相當多標準的統計資料,在程式執行中可觀查各項實體(Entity),如Processes,Resources,Queues,Counter,或以後搬運系統中,實體的動態統計資。程式執行完畢後,也可由modelname.report檔獲得最後統計的資料。底下為大多數Entit

49、y的標準統計資料,其中絕對統計資料(Absolute statistics)是統計由模擬開始的值,而相對統計資料(Relative statistics)則是由上一次重新歸零(reset)後開始的值:,AutoMod,標準統計資料(Standard Statistics)(2/2),Total-進入該Entity的Load數目Cur 目前在該Entity的Load數目Average 平均在該Entity的Load數目Capacity-該Entity可容納或處理的Load數目Max-該Entity最大Load數目Min-該Entity最小Load數目Util-該Entity的使用效率(=(Total*Av_Time)/(Capacity x elapsed time),其中elapsed time為該Entity在系統中的時間Av_Time 在該Entity平均Load數目Av_Wait Load平均等待進入該Entity的時間,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号