FlexSim实战练习(二)——多品种小批量订单拣选作业
FlexSim實戰練習(二)
提示:這里需要用到腳本函數有兩個
- Array.splic(int fromindex,int count)
- Array.splic(int fromindex,int count,Array insert())
Array.append(Array otherArray)
Array myArray = [1,2,3,4,5]; myArray.append([7,8,9]); //[1,2,3,4,5,7,8,9]以上FlexSim軟件版本為19版。
1、案例背景及3D布局說明
如圖所示,系統會按照時間表(Arrival Schedule)生成不同類型的產品。 首先,根據產品類型分別進入對應的兩個傳送帶上; 然后,根據產品的批次在合成器上進行合成; 最后,進入到一個暫存區進行緩存,等待訂單計劃下達。產品到達
其中,ID表示產品編號,Type表示產品類型,B_ID表示產品一批次的數量。
這張圖表示,一共有4種類型的訂單(該全局表名稱“info”),其中類型1訂單需要{ST101,ST102,ST103,ST104}共4種產品組成,類型2,、類型3以及類型4訂單如圖所示。
2、詳細流程圖文解釋
在整個仿真項目流程中,一共可以分為三個部分:
- 產品在發生器上產生,通過傳送帶進入合成器進行合成批次,最后進入緩存區等待訂單下達;
- 訂單下達指令;
- 訂單下達后,操作員就會前往緩存區,對緩存區上的產品進行刷選,選擇下達訂單需要的產品搬運至放有tote的暫存區上進行訂單組成。當滿足訂單需求后,操作員就會搬運該訂單前往中轉場。
第一步
完成后,你的模型布局應該類似于上圖。
具體操作如下:
注意,2個Source、2個Queue與2個Combiner鏈接時,必須要Source首先鏈接到Combiner,且2個Source都產生Pallet.
以上是"第一部分"流程的所有活動。
第二步
具體操作如下:
(1)1個 Source
(2)1個Queue
(3) 1個"Operator1"
應該會有人問,這第二步的作用是什么。它的作用就是:利用發生器按時間間隔發送一個Box到Queue上,使進入觸發的代碼被觸發,這一個流程來模擬"訂單下發"動作。
Source的設置可以參考我的,當然,你也可以自己編寫。
以上是"第二部分"流程的所有活動。
第三步
(1)1個 Source;
(2)12個Queu;
(3)1個BasicFR;
以下操作都將在Process Flow 上進行:
(1)拉入1個事件監聽的發生器,并用吸管吸取操作員的On Message,同時在Msg Param1這一行,寫入"Order",并選擇assign,Order表示訂單編號。
(2)拉入1個Pull form List 和1個List,通過Pull form List右邊的感嘆號與List進行鏈接。打開Pull form List,在Assign to 中寫入token.Pallet,并在Partition ID填入2,表示為拉入的token.Pallet是10個Queue進入的Tote。
(3)拉入2個Assign Labels,并分別命名為“goal_01”和“Array”。goal_01的作用是獲取當前下達訂單對應需要幾種產品,因此,代碼為Table("info").cell(token.Order,1).as(Table).numRows。Array的作用是將當前訂單對應的產品編號,通過數組的形式存儲到對應的Queue上,即up(token.Pallet)。代碼如下:
這里,goal_02的作用是獲取進入緩存區的產品數量Queue_Num=token.Q_01.subnodes.length,在Decide中進行判斷token.Queue_Num >=1,如果成立,token就會順著直線往下走;否則,token就會前往Wait for event等待并監聽緩存區有產品進入后,再次判斷token.Queue_Num >=1是否成立。
其中Custom Code的代碼如下:
判斷完畢后,將判斷結果賦值給BasicFR的panduan標簽。最后通過Decide把token送到對應的下游去。
8. 這一步沒有什么好講的,主要是從BF上save_item存著需要搬運的訂單組,以及訂單組的長度save_item_L;
9. 這里的代碼需要注意的是,把BF上存放訂單的Array("save_item ")清空,用于下個token進入時的保存。
以上是第三步的所有活動。
總結
由于篇幅的限制,許多知識點無法詳細說明,而且其中一些代碼只適用于訂單數量為4個的時候,存在優化的空間。
總結
以上是生活随笔為你收集整理的FlexSim实战练习(二)——多品种小批量订单拣选作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是ajax【解释和实例】
- 下一篇: 数字芯片的设计流程及其使用工具