製造系統模擬06-建構AGV模擬教學(1)之Arena的Network、Network Link

製造系統模擬06-建構AGV模擬教學(1)之Arena的Network、Network Link

tags: Simulation Arena Discrete-Event Simulation

製造系統模擬06-建構AGV模擬教學(1)之Arena的Network、Network Link

前言:

前一篇(《製造系統模擬05-建構離散事件模擬步驟》)回顧了建構模擬模型的步驟,而本篇則是要針對當我們要處理有關於運輸相關的問題時,我們該如何運用Arena這套軟體提供的模組來模擬現場環境從而解決問題。

本篇將著重是在使用的運輸設備為Transporter的情況下討論,而這個Transporter我們可以當作是生產現場中的獨立搬運單元,例如:

  1. 人-最傳統的就是搬運資源就是人。人員可以推送的台車、料架,完成物料搬運。
  2. 堆高機、曳引車-由人員駕駛的堆高機、曳引車,來搬運可能較重或較高處的物料。
  3. 自動化程度較高的無人搬運車(Automated Guided Vihecle)或是自動化物料搬運系統(Automated Material Handling System:AMHS)。

無論是哪一類都可以用在本篇文章所講述的模型建構方式,因此本文旨在
講解Transporter模擬的概念、運送相關的Arena模組的介紹。

正文

接續上一篇文章《製造系統模擬04-建構AGV模擬教學(0)之Arena的物件運送》 內所談到的

Arena所有的搬運模式,我們依循著上次的脈絡所說到的AGV這種搬運設備在模擬中是有導引式的(Guided)而非是自由路徑(Path-free),因此路徑的限制才需要被納入。

因此我們需要用到Network以及Networklink來建構出詳細路徑的限制。

路徑的限制我們可以從日常生活中開始發想一般道路上可能出現的情況。

  1. 路徑車距(車體大小、拖曳的物品長度、行車安全距離等)
  2. 行駛方向(單行道還是兩個方向皆可通行)
  3. 各路段是否有速限或是需要加/減速

Path-free僅考慮搬運兩點之間的距離,會使用這種方式建構搬運模型,可能是建構模型者認為實際路徑可能限制不大,因此無需考慮這些路徑限制;亦或者,建構者認為影響還在可容忍的範圍,故不納入考慮。
然而,生產現場中會擺放設備、機台都可能會對搬運的路徑產生限縮,再者,工安的考量,可能也希望人車分道或有固定的路徑,才能夠保護生產線場的安全。
因此,不論是哪一種理由,路徑有很高的機率成為限縮搬運效能的因素。以下舉幾個常見的例子:

  1. 路徑太窄,因此僅能讓一位推送台車人員或一輛AGV通過。
  2. 磁軌式AGV或是軌道式的AMHS設計上可能路徑為迴圈,因此會循一個方向行駛。

而這些現象,都可能導致搬運效能受到影響,因此,嚴謹點來進行模擬時,都需要將這些因素納入,而不能忽略。

接下來,我們把焦點放到教科書中沒有特地介紹的模組Network、Network link來建構一個與實際路線相符合的網路作為我們搬運資源要遵循的運送路徑。
以下將直譯這兩個詞,名為網路(Network)以及網路連結(Networklink)。

建構流程

這部分是屬於我個人建構模型的經驗所歸納出來的方式,順序不一定要一樣,只是我個人認為這樣比較有系統性地建構。

1. 定義搬運需求-到何處去搬運、多久搬運一次(頻率)、一次會搬運多少個
2. 定義網路-搬運設備運需遵循地圖行駛。
3. 定義網路連結-地圖上有哪些路徑,路徑的長度、行駛方向等
4. 定義搬運設備-搬運設備的數量、可用的時間、遵循哪張地圖內的路徑行駛。

在Arena模型建構之初,都會有實體的產生,而這邊我們的實體對應到的就是搬運需求。我們需要根據我們推算出來的搬運頻率或是實際蒐集到的現場數據,來建立要多久發出一次搬運需求,才能觸發搬運設備循著我們定義出來的網路進行搬運行為。

如果要模擬得比較詳細,也可以用Create、Process等模組來建構出生產線,再搭配Signal模組或是用Decide等方式來判斷是否發出搬運需求,例如:現場物料空缺才進行叫料、成品積攢到一定數量。等到接收到搬運需求,搬運設備再根據發出需求的點進行搬運的行為。

網路(Network)

這邊我們先引用Arena軟體提供的解釋,來講說在軟體內的網路代表的意義。

Network module

DESCRIPTION
The Network module defines a system map that a set of guided transporters will follow. A network encompasses the set of links specified in its Network Links repeat group. The parameters of a network link (for example, length, intersections, directions) are defined in the Network Link module.

翻譯:
網路模組式定義一組讓導引式的運輸工具遵循的系統地圖用。網路會包含一系列的連結,這些連結會於網路連結的群組中被定義。網路連結的參數包含了長度、交叉點、方向會定義在網路連結的模組。

所以,我們可以理解成,一個運輸設備要如何行走,我們必須先給他一個地圖,也就是這裡提及的網路(Network);接著,我們還要說明,在地圖上,有哪些路是可以行走的,也就是網路連結(Network Links),這些路的參數,例如:路段的長度、這條路的起訖點、行徑方向等都要在網路連結中來定義。

建構方式如下:
1. 找到左側的Advanced Transport模板(Template),若無,則透過下方藍色方框說明的方法操作後即可加入。

Advanced Transfer模板開啟

2. 找到下方的資料模組的Network,使用左鍵雙擊,開啟編輯視窗。

點擊Network模組(可在下方看到目前有的資料)

3. 雙擊視窗,開啟建立Network的名稱與基本資料。

雙擊選單自動加入一組預設Network
Network編輯介面開啟
雙擊Network Links可加入網路下的網路連結
加入範例資料

如果未來有額外的模板需要開啟,可以參考以下的操作:
1.對預設於左方的Project Bar空白處點擊左鍵,開啟選單

空白處點擊左鍵開啟選單,選擇Template Panel
2.找到Template Panel選擇Attach
選擇Attach(附上)開啟加入樣板的視窗
3.選擇需要載入的樣板(例如:Advanced Transfer)
於視窗選擇想要開啟的樣板(Advanced Transfer為例)

從上面的描述,我們可知道,光有網路還不夠,還需要有網路連結(Network Link)來描述存在於網路中的路徑的詳細參數。

這邊我們先引用Arena軟體提供的解釋來說明網路連結的意義。

Network Link module
DESCRIPTION
The Network Link module defines the characteristics of a guided transporter path between an intersection pair Beginning Intersection Name and Ending Intersection Name. The Network module then references a set of network links to define a network that guides transporters follow for movement.

翻譯:
網路連結描述了由起始交叉點與結束的交叉點組成的導引式的運輸路徑的特徵。網路模組則參考一系列的網路連結來定義出網路讓運輸設備去遵循這些路段移動。

從這樣的定義,我們可以瞭解網路是由許多網路連結所構成的集合。從軟體使用的角度上來說,我自己會先建立一組網路,才定義該網路下擁有哪些網路連結。但從建構模型時,我們的資料蒐集時就會有一個現況的路線圖,因此,網路建構在我看來沒有強制的先後順序,只要順手就好。且以下的範例,我們會知道,在網路模組下增加網路連結,Arena軟體是會自動建構出對應數量的網路連結。

而這邊要特別補充網路連結中參數的說明,因為這些參數對於我們網路影響甚鉅。

網路連結中參數說明
Name: 名稱,網路連結的名稱,跟寫程式一樣,最好取名為易於辨識的名稱,例如:AtoB(A點到B點的意思)、Victory Rd(勝利路)。以後需要修改模型參數比較容易識別。
Type: 此網路連結的移動種類。有三種可以選擇Unidirectional單向、Bidirectional雙向、Spur(尚不清楚如何使用…)
Beginning/Ending Intersection Name: 如同字面理解,就是開始的交叉口及結束的交叉口。可以想成路段的起點及終點。
Number of Zone: 在這個連結上,有幾個區塊。
Zone Length : 在連結上的每個區塊的長度。該網路連結的總長度是由Number of Zone*Zone Length組成的。

至於為何不用一個名為Distance的參數來定義呢? 我想原因是,就如同我們在建構輸送帶一樣,有一個空間可用度的概念。在網路中,我們也需要去定義一個網路連結上,可以有幾個Transporter,而具體的實踐方法就是透過定義Number Of Zone來達成。

範例

如同教科書一樣,要理解這些模組的用法,就是透過一個實際的案例。因此,我定義了一個路徑,此路徑上有A、B、C、D四個點。A點我們可以當作是所有搬運的起始點(可能是個原料倉庫),B是路徑上的必經點用途為提供生產線源頭的原物料,C點也是路徑上的必經點用途為接收完成品,D點則是成品倉庫,需要將C點的成品放於此處。隨後人員須返回A點準備下一趟的備料,因此,一個循環A->B->C->D這樣才算一趟完整的搬運行為。
因此,我們從上面的描述,我把畫成一個的地圖示意圖,如下所示,讓大家方便理解。

範例示意圖

實際上如果我們要解決搬運的問題,應該會有一個初版的Layout,各位可以從該Layout去歸納出這些需要的資訊。

從上面示意圖,我們就可以利用上述的Network NetworkLink模組建構出Transporter需要的網路了,我自己步驟就是

1.建構一個網路
具體步驟有更改網路名稱為Fab
根據上面示意圖,定義出有幾個網路連結(以此例子共有4個)。取上便於識別的名稱,我這邊就取名為右(Right)/左(Left)/上(Up)/下(Down)。

加入範例資料

2.修改Network Link參數
前面有提到網路連結要定義路段內的詳細參數,以此例而言,我們僅變動到Beginning Intersection、Endding Intersection、Zone Length(這邊我們就讓Number Of Zone為1)。

結語

透過上述的範例,我們已經有一個網路了,但實際上要如何操控Transporter移動、Transporter如果有其他額外行為要如何操作,我會在下一篇文章上詳細說明。

留言