《第三章程序系统之一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 else Syntax: clone Syntax: read Syntax: print 標準統計資料(Standard Statistics),AutoMod,第三節
2、 範例練習 (1/5),模式二:Process System(程序系統)的基本功能 讓你的貨車可以將不同型態的貨物卸下 系統概況:本模組主要模擬貨車由廠內停車場駛至碼頭後,由碼頭工人進行卸貨的作業。 系統描述:貨車每e 6 min到來一部,經過門口的文件查核後,進入到廠內停車場,由第一個碼頭開始,循序選擇(next of)4個卸貨碼頭來進行卸貨,每部貨車所載送的棧板數目不同,其數量由檔案(data1)讀取(read)。碼頭上有兩個工人負責卸貨,每卸貨一個棧板所需的時間為40秒,工人在開始進行卸貨後,需完成該貨車上所有的棧板才會至下一部車卸貨。在完成卸貨後,貨車再等1分鐘後離開系統。,AutoM
3、od,第三節 範例練習 (2/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),
5、AutoMod,第三節 範例練習 (5/5),Standard 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以便進行第二個實驗;
6、Run Control型態四的Snap1Snap3為第二個三天的實驗設計的統計資料。系統設計者即可根據此實驗設計的資料,進行評估與分析。,AutoMod,The End,AutoMod,程序(Process) (1/11),Process就如同許多指令的集合,主要是定義Loads在模式中運作的邏輯。 當模擬系統產生Load時,必須指定該Load所要進入的Process,Load進入程序後即會根據Process的內容來進行其在模擬過程中所要做的相關活動。Process也可再將Load送至別的Process,進行不同的活動。 在整個模擬的過程中,Loads會由一個Process被送至另一個Proc
7、ess,直到Loads離開系統(send to die)為止。,AutoMod,程序(Process) (2/11),Default Traffic Limit Traffic limit表示在一個Process中可以允許最大的Loads總數。 Arriving Procedure 規範Loads一進入該Process時所要執行的指令集合,可定義在Process的Arriving Procedure中。如此,當Loads進入到該Process時,則開始執行Arriving Procedure中的指令。,AutoMod,程序(Process) (3/11),下列為一個Arriving Proce
8、dure的例子。,AutoMod,程序(Process) (4/11),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的型態為L
9、1,不然則為L2。,AutoMod,程序(Process) (5/11),begin Pinitial arriving procedure set 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的縮寫,代表目前模擬的絕對時間,亦即從模擬
10、開始 執行至目前系統的時間 */ set Vcount to 0 /* 令Vcount為0以便重新計數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
11、 (A_timeinSys 100) then /* 如果A_timeinSys大於100 */ set load type to L1 /* 設Load的型態為L1 */ else set load type to L2 /* 不然則設Load的型態為L2 */ end,AutoMod,程序(Process) (7/11),一般而言,除非Arriving Procedure的send to指令會有不確定時間的延遲,同時,Loads在離開系統前要執行某些活動,否則,大多以Arriving Procedure來撰寫模擬的程序。 此外,在執行Leaving Procedure時,Loads已假設離
12、開該Process,因此,send to、move into、travel to等指令是不可定義在Leaving Procedure中。,AutoMod,程序(Process) (8/11),Number of Processes (process arrays and procindex) 以製造系統而言,當我們在進行模擬模式建構時,經常會遇到需要去建構許多包含相同處理程序的生產線,如果利用Number of Processes (process arrays and procindex)的技巧,將可簡化程式,節省撰寫程式的時間。,AutoMod,程序(Process) (9/11),beg
13、in P_First arriving procedure /* load進入process: P_First */ move into Q_First /* Loads被送入Queue: Q_First */ 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
14、/* Loads被送入Queue: Q_Second */ use R_Second for 3 min /* Loads使用Resource :R_Second 3分鐘 */ send to P_Third /* 將此Loads送至Process: P_Third */ 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
15、分鐘 */ send to die /* 將此Loads送離開系統 */ end,AutoMod,利用Number of Processes (process arrays and procindex)的技巧,來撰寫上述的例子時,則可改寫如下:,AutoMod,程序(Process) (10/11),being P_proc arriving procedure move into Q_mach(procindex) /* Loads被送入Q_mach(procindex) */ use R_mach(procindex) for 3 min /* Loads使用R_mach(procinde
16、x)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,程序(Process) (11/11),要使用procindex,首先必須將Process的陣列(Array)設為3,設定的地方在Edit A Process視窗中將Number of Processes設為3。,AutoMod,Queues基本概念 (
17、1/4),Queues代表模式的等待區域,也是Loads在Process系統中唯一可實體存在的區域(territory),所謂區域即Loads可存在的地方,亦即Loads可顯示在3-D圖上的地方。 除了Queues之外,其他的territory尚包括搬運系統中的Conveyor系統、Path Mover系統中的Vehicles,AS/RS系統中的S/RM等,將在後續章節中深入探討。進入Queues的指令為move into。,AutoMod,Queues基本概念 (2/4),在Queues中的Loads,並不一定是先進先出(First come first out, FIFO),而是根據進入Q
18、ueue的時間與在Queues的時間來決定,某一個Load在Queue停留的時間到了,即會離開該Queue。 Queues也可設定成陣列的型態,並定義各別的容量(Capacity)。 所謂容量即該Queue可同時存在的Loads的數目。當Queues中的Loads數目超過容量,新的Loads即不能入Queues,而是停在move into指令那一行,等待Queues有多餘的容量後,才進入該Queues。,AutoMod,Queues基本概念 (3/4),時間的表達在AutoMod的模式中,常需要表達工作或等待的時間,除了常數外,AutoMod還提供相當多不同機率分佈的時間表達方式,以表達模擬系
19、統中的隨機時間。 Constant(常數):直接表達即可。 wait for 5 min Uniform(均勻分佈):第一個參數為平均值,第二個參數為平均值的上下區間(range) 。 wait for u 5, 1 min,AutoMod,Queues基本概念 (4/4),Normal(常態分佈):以normal或n來表達,第一個參數為平均值,第二個參數為變異量 wait for n 5, 1 min Exponential(指數分佈):以exponential或e來表達 wait for e 5 min Triangular(三角形分佈):以triangular或t來表達,第一個參數為三角
20、型最左邊的數值,中間為最大可能性的值,第三個參數為最右邊的數值 wait for t 4, 5, 7 min,AutoMod,Resources基本概念 (1/8),Resources主要代表模式中處理Loads的資源,如機器設備、工作人員等。 直覺上,我們會想將Loads送至Resources加工,但在AutoMod系統中,Resources並非屬於區域(Territory)的一部分,因此無法將Loads移至Resources,而只能在Loads使用Resources時,以顏色來表達Resource改變為busy的狀態。,AutoMod,Resources基本概念 (2/8),Syntax:
21、 use Resource (for Time_Expression) 即便Processing Time有設定,仍以指令所設定的時間為主,其指令的寫法如下: use Rdockworker /* 使用Resources: Rdockworker,使用的時間設定在Rdockworker的Processing Time中 */ use Rmachine for exponential 3 min /* 使用Resources: Rmachine 指數分佈且平圴為3分鐘 */,AutoMod,Resources基本概念 (3/8),AutoMod,Resources基本概念 (4/8),AutoM
22、od,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 10 min /* 等待10分鐘 */ free Roperator /* 釋放Resources: Roperator的使用權 */,AutoMod,Reso
23、urces基本概念 (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 arriving while 1=1 do /* 需產生一個dummy(傀儡)Load來趨動Pdown 並以此無窮 迴圈來模 擬Roperator工作與休息狀況
24、 */ begin wait 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 end end,AutoMod,Resources基本概念 (8/8),Resources會隨著狀態的不同而改變其顏色: Green(綠色) = busy (有工作在進行) Blue(藍色) = idle (閒置) Red (紅色) = dow
25、n (故障或維修中) 當一個Resource在busy狀態時,只表示該Resource有工作在進行,該Resource可能還會有其他容量(capacity)未使用,因此還可能處理其他的Loads。,AutoMod,Variables基本概念 (1/3),Variables為AutoMod模式所使用的變數,其本身為全域型變數(global variables),亦即任一個Process中所使用到相同名稱的變數,為使用同一個記憶區的變數,因此其值是相同的。 Variables的預設值為0,當Variable代表Entity type時,預設值為null。Variables也可設定為陣列的型態,但V
26、ariables在模式執行完畢後,並不會保留基本的統計值,然而在執行過程中,可由執行畫面View menu的Report選項查看各Variables的動態值。,AutoMod,Variables基本概念 (2/3),Syntax: set set 指令可在程式中用來設定Variables或Load Attributes或Counter的值,其指令的寫法如下: set Vcount to 5 /* 設定一個整數型變數Vcount為5 */ set Vcount = Vcount + 1 /* 將Vcount的值加1 */ set Vcount to Vcount + 1 /* 與上一行指令相同意
27、義 */,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 ent
28、ity),某一方面,Counter很像整數型的Variables,而可以指令set、increment、decrement來設定或修改其值。 另一方面,因其值須為正整數而可以像一個Resource的容量(capacity)來使用,例如將Counter的值表示為Resource的容量時,當所代表的Resource被使用時,則將Counter的數值減1,並至多減至0,此時,執行該指令的Load會停留(delay)在該行指令直到Counter的值大於0為止。,AutoMod,Counter基本概念 (2/2),Counter本身為全域型變數(global variables),但與Variables
29、不同的是,模式執行完畢後,會有Counter基本的統計資料 。 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 (屬性)
30、,來代表Load的特性,如重量、體積、價格、處理時間等等。,AutoMod,Loads基本概念 (2/6),底下介紹其中的三個屬性包括: load type (Load的型態,亦即所定義Load的名稱); priority (優先權,系統預設值為0,值愈小者,會愈先被處理,可用Syntax: set來設定); current process (指到目前Load所存在的Process名稱) Load Attributes本身就像變數,只是並不如Variables屬於全域型變數,而是僅屬於某一個Load本身而已,亦即當一個Load產生時,設定的屬性變數也會隨著這個Load產生並有其各別的值。,Au
31、toMod,Loads基本概念 (3/6),定義在Load Attributes中的屬性是屬於所有 Load Types的屬性,亦即所有的Loads,不論其名稱,在產生時即有所有定義的Attributes且預設值皆為0或null。 由於Loads視窗中有兩種Load Types:Lpallet與Ltruck,當我們要代表它們各別的重量時,就必須分別定義,因此我們定義Aweight來代表Lpallet(棧板)的重量,以及AtruckWeight來代表Ltruck(卡車)的重量。,AutoMod,Loads基本概念 (4/6),AutoMod,Loads基本概念 (5/6),Psetting為設定
32、Ltruck及其棧板Lpallet的屬性值 begin Psetting arriving set 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 min send to Punload /* 卡車送至Process: Punload去卸貨*/ end,AutoMod,Loads
33、基本概念 (6/6),Punload為將棧板卸貨的過程並計算所卸貨的重量 begin Punload arriving while 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已完成工作
34、*/ set VtotalWeight = VtotalWeight + Aweight /* 將總卸貨重量變數VtotalWeight增加Aweight */ dec AtruckPallet by 1 /* 將棧板數減1 */ send to PnextIn /* 將棧板送至PnextIn進行入庫*/ end end,AutoMod,Run Control的設定 (1/10),Run Control可用來控制程式執行的時間、次數,以及執行過程中所要記錄的資料,位於Process系統設計平台的最下方。,AutoMod,Run Control的設定 (2/10),在Run Control的設定
35、中,我們可以輸入系統開始的時間,以便可以對照模擬執行過程中的時間與系統狀態,並由統計資料看出某一日期時間,系統的狀態與效能。 如果輸錯格式,即會出現如下的警告,並告知正確的格式。,AutoMod,Run Control的設定 (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),我們可透過編輯視窗中的S
36、ystem menu選單下的Default選項,將此標準報表改為完整報表(full report) 。,AutoMod,Run Control的設定 (8/10),Standard Report與Full Report間的差異主要在Full Report會包含系統從一開始即統計的絕對資料(absolute data)及Reset後的相對資料(relative data),而Standard Report則只包含Reset後的相對資料。,AutoMod,Run Control的設定 (9/10),Block1與Block2標準統計資料(Standard Report)示表,AutoMod,Run
37、 Control的設定 (10/10),Block1完整統計資料(Full Report) 表,AutoMod,Syntax: next of,next of指令是用來表示模擬程式中循序(sequential)的選擇,可用來將Loads循序指定至Queues、Resources、Processes等,如下例: begin Pchose arriving move into nextof (Qwait(1), Qwait(2), Qwait(3) /* 第一個Load進入Qwait(1),第二個進入Qwait(2),第三個進入 Qwait(3),第四個再進入Qwait(1),一直循環下去 */
38、use nextof (Roper(1), Roper(2), Roper(3) /* 第一個Load使用Roper(1),第二個Roper(2)等,一直循環下去 */ send to die end,AutoMod,Syntax: while do,該指令同一般的程式一樣,是屬於邏輯判斷指令,亦即當while後面的條件成立時,Loads即執行一個由begin end所包覆的指令,如下例: begin Pbatch arriving while Abatch_size 0 do /* 當該Load的批量未完成時 */ begin use Rmake for n 5, 1 min /* 使用Re
39、sources: Rmake */ dec Abatch_size by 1 /* 將未完成的批量數減1 */ end end,AutoMod,Syntax: if then else (1/2),該指令亦同一般程式的if指令一樣,是屬於邏輯判斷指令,亦即當if後面條件成立時,執行then後面的指令,若不成立則執行else後面的指令,同時else後面也可再接if的判斷式,造成nested的邏輯指令。但相反的,也可以只有if then,而不需有else。底下為一個使用例子:,AutoMod,Syntax: if then else (2/2),begin Psort arriving /* 共有
40、三種不同的Loads進入Psort */ if load type = Lsmall then set AprocTime = 5 /* 如果進來的Load是Lsmall則設AprocTime = 5 */ else if load type = Lmedium then set AprocTime = 10 /*如果進來的是Lmedium則設AprocTime = 10 */ else set AprocTime = 20 /* 不然則設AprocTime = 20 */ use Rmake for AprocTime min /* 根據不同的Loads使用Rmake不同的時間 */ end
41、 如果if或then或else後面的指令超過一個,則需以begin end將這些指令包覆起來。,AutoMod,Syntax: clone (1/2),clone指令就如同一個複製的動作,當使用者在使用clone指令後會將其所複製的Load,send到一個Process,使用者也可以改變所複製Load的型態,改變Load type所使用的指令為nlt(new load type),底下的範例模擬了從包裝箱LboxA,取出10個零件,且零件為Load type為LpartA的過程。,AutoMod,Syntax: clone (2/2),begin PfetchA arriving proced
42、ure set VpartA to 0 while VpartA 10 do begin use Rworker for 5 sec clone 1 load to Passembly nlt LpartA inc VpartA by 1 end set load type to Lempty send to Pnext end,因為clone一個Load後,該Load會保留著與原來Load相同的設定,因此上述範例中,自包裝箱LboxA將零件LpartA卸下的行為,在模擬過程中須將Load type: LoadA轉換成LpartA。,AutoMod,Syntax: read (1/5),rea
43、d指令是用來讀取AutoMod的外部文字檔案,該文字檔案需以空格(spaces或tabs)或換行(new line)來分開資料,所讀取的資料格式主要為real(實數)、integer(整數)、string(字串)。底下以一個實例來說明read的使用。 假設我們要讀取文字檔procdata中的Load的名稱、處理時間(Proc_time)及批量數(Batch_size),procdata的資料格式如下所示:,AutoMod,Syntax: read (2/5),read的使用需先產生一個Loads: Lread進入Pread程序中,才會進行read讀取檔案的作業,如下: begin Pread
44、arriving read Vheadtemp1, Vheadtemp2, Vheadtemp3 from “procdata” /* 因標頭資料不需處理,將之讀為暫時變數,以使指令移到下一行 */ set Vindex to 0 while Vindex 4 do begin read Apartname, Aproctime, Abatchsize from “procdata” /* 讀取零件名稱(type string)、處理時間(real)、批量數(integer) */ set load type to Apartname /* 將該Load名稱改為Apartname所讀取的資料
45、*/ clone 1 load to Pwasher /* 產生一個Apartname的Load至Pwasher */ inc Vindex by 1 end send to die /* 結束讀取作業,將原來的Lread送離開系統 */ end,AutoMod,Syntax: read (3/5),由於我們以Load Attributes儲存所讀取零件名稱、處理時間、批量數的資料,並產生(clone)新的Loads至Pwasher,因此,進入Pwasher的每一個Load會有Attributes所儲存專屬的資料。在Pwasher中,我們可以如下的使用Attributes的值: begin P
46、washer arriving get Rwasher /* 要求Resource: Rwasher */ set Vbatch = Abatchsize /* 設定Vbatch為批量數的值 */ while Vbatch 0 do begin wait for Aproctime sec /* 每一個工件處理Aproctime sec */ dec Vbatch by 1 end free Rwasher /* 釋放Rwasher資源 */ send to Pnext /* 將此Load(load type = Apartname)送至Pnext */ end,AutoMod,Syntax:
47、 read (4/5),當我們不知檔案中有幾筆資料時,我們可以直接讀取檔案並在後面加上讀完後怎麼處理Loads: Lread的指令:at end,可將上面讀檔程式修改如下 begin Pread arriving read Vheadtemp1, Vheadtemp2, Vheadtemp3 from “procdata” while 1=1 do begin read Apartname, Aproctime, Abatchsize from “procdata” at end send to die /*讀取完所有資料後將Lread送離開系統 */ set load type to Apa
48、rtname clone 1 load to Pwasher wait for 0.1 sec /*等一點時間以便系統更新資料*/ end end,AutoMod,Syntax: read (5/5),AutoMod會先在目前的工作目錄下讀取檔案,也可讀取完整路徑或在該模式下的.arc或.dir目錄下的檔案。如上面的例子,表示”procdata”是在目前的工作目錄,如”procdata”在該模式的.arc的目錄,則需寫成”arc/procdata”, 如”procdata”在該模式的.dir的目錄,則須寫成”dir/procdata”。如能夠善加利用,read可增強AutoMod的功能與彈性,
49、並使模式能模擬不同狀況的系統而不需重新建構模式。,AutoMod,Syntax: print (1/2),print可將文字訊息由訊息視窗(message window)顯示出來,如下例。 begin Pin arriving wait for 3 min print this load “ was just arrived” to message /* 將Load的編號(id)及文字” was just arrived”顯示在訊 息視窗出來 */ end,AutoMod,Syntax: print (2/2),print也可將訊息輸出到外部檔案、報表、或動態圖上的標籤(Labels),如下例: begin Pin arriving wait for 3 min print this load “ was just arrived” to “outfile” /* 將Load的編號(id)及文字” was just arrived” 輸出到 outfile中 */ end,AutoMod,標準統計資料(Standard Statistics) (1/2),AutoMod提供相當多標準的統計資料,在程式執行中可觀查各項實體(Entity),如Proces
链接地址:https://www.31doc.com/p-2568881.html