孫 慧,張玉梅,于宏飛
(1.山東科技大學 交通學院,山東 青島 266510;2.阿里巴巴集團,浙江 杭州 311121)
隨著工業4.0和“中國制造2025”的到來以及經濟社會的高速發展,物流行業智能化裝備替代傳統人工作業的步伐加快,機械化、自動化等設備的發展突飛猛進。但大件物流具有價值高、運輸環節多、操作復雜、輸送技術及質量要求高[1]等特點,不論在大件產品的倉儲作業中還是生產線上,大件產品的搬運輸送作業一直是企業的一個痛點。
頂升移載機是自動化生產線上一種高效輸送移載設備[2]。近年來,國內外有不少學者對頂升移載機進行了研究,大連海事大學郭大宏和楊雷對移載機的運行強度、剛度以及安全性進行了深入研究,提高其安全性。易江義等人從PCL控制方面對自動化頂升移載機進行了結構設計[3]。劉志新等人設計半自動移載機應用于汽車制造行業。國外Sadao KAWAMURA等人利用氣動執行機構開發了一種自動移載機。這些頂升移載機不僅在理論上具有創新性,更適應了實際應用的需求,達到節約轉載時間、降低勞動力成本、提高效率的效果。
Flexsim軟件是一種常用的面向對象的物流仿真軟件,可以建立物流系統的三維仿真模型,進而對系統進行仿真分析,但頂升移載機在 Flexsim實體庫中沒有對應的實體來模擬仿真其運動過程,從而無法準確分析其作業效率等數據。本文以某公司大件產品的生產線自動化輸送移載為例,在Flexsim中,經過一系列的處理,實現頂升移載機的建模仿真,進而對生產線進行模擬仿真。
在大件物品生產線上,當輸送線分揀輸送效率不大于30件每min、貨品重量不超過2 000kg時,我們首選頂升移載機配套輸送設備進行分揀輸送。頂升移載機按轉載機構類型來看主要有鏈條式、皮帶式、同步帶式、驅動滾筒式、驅動輪式等;按照移載方式可以分為凸輪頂升、連桿頂升和氣缸頂升三種。本文主要研究頂升移載機從SolidWorks三維建模到Flexsim中如何建立實體、定義其運動規則及任務邏輯。
頂升移載機主要由起升機構、轉載機構、驅動裝置、傳動裝置、支承裝置、機架組成,圖1為其結構示意圖,它需要配合控制系統、感應裝置等設備部件協同工作。起升機構的作用是在動力設備的作用下將貨物提升一段距離;轉載機構的作用是將貨物平移出主輸送線;驅動裝置的作用是為設備提供動力,如伺服電機、氣缸等;傳動裝置的作用是將動力傳遞給從動裝置,如皮帶、鏈條等;支撐裝置主要用于支撐貨物及集裝單元化器具的重量,如滾筒等。輸送線上的頂升移載機如圖2所示。

圖1 頂升移載機結構示意圖

圖2 輸送線上的頂升移載機
本文所研究的某公司輸送線上使用的頂升移載機只有向左轉向離開主輸送線,或主輸送線繼續輸送兩種情況,具體描述如下:
(1)當物品進入感應裝置,裝置將已經送達時將信號和貨物信號傳送給PCL控制端,控制端根據貨品信息判斷是否需要轉向。需轉向則發出指令驅動進入頂升移載機的電機運轉,電機轉動帶動進向驅動滾筒向一定方向轉動;同時,從動滾筒在驅動滾筒驅動下一同轉動,以完成貨物向前輸送。
(2)當到達感應裝置感應到貨物已經到達時,向PCL控制端發出到達信號,控制端停止輸入滾筒的工作,并向頂升驅動裝置發出頂升信號,再由頂升裝置實現頂升動作。
(3)頂升動作完成后,控制端發出信號控制轉載電機帶動皮帶轉運裝置轉動,實現貨物轉向輸送動作。
(4)當貨物輸送完成后,感應裝置感應到貨物已經離開,反饋給PCL控制端,控制端發出指令停止轉動,再發出指令使頂升裝置降落回歸初始狀態。
此時,整個頂升移載動作完成,等待下一任務。
在實際立體倉庫的應用中,頂升移載機的配合工作下還可實現貨物在三個方向上的輸送,作業邏輯步驟如圖3所示。其一,當物品無需改變輸送方向只需要繼續向前運動時,不啟動頂升裝置和頂升后的運輸裝置工作,只需控制進端電機繼續以一定的速度轉動,待感應裝置感應到貨物離開后停止工作,完成貨物的直接向前運動。其二,當物品需要向左轉向離開主輸送線時,控制端發出指令啟動頂升機構,實現頂升動作;頂升動作完成后控制端驅動轉載電機帶動滾筒向前運動(定義向前運動為左);貨物輸送完成后停止滾筒轉動并落下頂升裝置。其三,物品向右轉向離開主輸送線時,其頂升工作流程與向左轉向時一致,只需要控制轉載滾筒向相反方向轉動即可實現貨物的輸送。

圖3 頂升移載機作業邏輯步驟
Flexsim是由美國Flexsim Software Production公司開發的一款離散事件仿真程序軟件,用戶可以創建真實的3D仿真模型。它自身具有強大的數據分析和系統運行狀態監控功能,不僅使用簡單,且能夠讓使用者花費更低的時間成本和經濟成本去研究系統的效率,方便快捷地呈現系統中各要素之間的聯系。在Flexsim的窗口界面上方為工具欄,窗口左方有包括固定資源類實體、任務執行類實體、視覺類實體、AGV模塊等在內的對象庫,軟件界面右方為快速屬性窗體,中間為模型窗體。在創建系統仿真模型時,可直接在對象庫中點擊并拖動相關實體放置在模型窗體中適當位置,再進行實體外觀和屬性設置,并運行仿真模型,分析模型數據優化模型瓶頸,建模流程如圖4所示。

圖4 Flexsim建模流程
在Flexsim中,無論在對象庫的哪一個模塊,都沒有頂升移載機這一實體對象。由于實體對象庫中缺少所需的頂升移載機實體,因此不能直接拖入模型窗口,需要手動導入頂升移載機模型,具體實施步驟如下:
首先設計頂升移載機三維模型。根據傳送帶已有的尺寸及比例在SoildWorks軟件中畫出相應大小的草圖,生成零部件,裝配出頂升移載機的三維模型(如圖5所示),并以Flexsim能夠讀取的格式導出。此處我們要注意裝配時應盡量在原點處裝配,以免裝配好的整體模型遠離遠點,當導入Flexsim之后實體對象偏離原點太遠造成模型布局調整的困難。
其次,在Flexsim軟件中增加基本固定實體(BFR)作為可視化導入工具,導入頂升移載機三維模型,并使用圖形因子編輯功能將模型修正實體(如圖6所示),再按Flexsim中傳送帶的比例適當調整模型的大小尺寸。在Flexsim中,基本固定實體(BFR)、基本任務執行器(BTE)等實體都是為二次開發準備的,它們的下拉列表中具有相應實體的所有可繼承性功能邏輯,如頂升移載機的進入、離開、停止/恢復實體、消息觸發器等等高級邏輯功能,亦可對其加入更多新的定義。此處在Flexsim仿真平臺中,定義頂升移載機是一種固定資源對象,它可以接收其他固定資源實體傳送的流動實體,并對流動實體執行分類輸送命令,具體執行控制端指派的提升、延時、轉載等任務。
最后,當導入為基本固定實體之后,根據模型需要調整頂升移載機實體在整個模型窗體中的坐標位置,可以通過直接在窗體用鼠標拖動實體調整,也可以通過常規屬性對模型坐標進行精確調整。

圖5 基于soildworks的頂升移載機模型圖

圖6 頂升移載機圖形因子編輯窗口
3.3.1 分流邏輯設計。我們預先對加工完成后的貨物進行標簽值設定標,以便于頂升移載機在編程代碼中獲取標簽值,在運動學邏輯定義時進行狀態判斷。通過貨物類型來判斷需要發送的端口,以頂升移載機來實現分流分揀功能。根據實際需要,在模型中,我們在頂升移載機處作向前繼續運動和向左分流設計。
switch(case_val)
{
case 1:return 1;
default:return 2;
break;
}//判斷貨物的類型,如貨物類型值為1,則向左轉向(對應仿真模型的1號輸出端口),如貨物類型值為2,則繼續前進(對應仿真模型的2號輸出端口)
3.3.2頂升轉載動作邏輯設計。在貨物進入頂升移載機時要判斷是否空閑,如果空閑則進入并進行頂升動作,如果不是空閑狀態,則等待頂升移載機為空閑時驅動貨物進入頂升移載機。
if(msgparam(1)==1)
openoutput(current);
}//判斷,如果頂升移載機空閑(值為1),則打開出入口,讓貨物進入頂升移載機
else
{
senddelaymessage(current,1 current,1,0,0);
}//如頂升移載機不空閑,則繼續等待
在貨物進入頂升移載機后,感應裝置將消息發送給控制端,控制端觸發頂升移載機的頂升和轉載動作,以完成貨物的移載。
int type=getitemtype(item);
if(type==2)
{
closeoutput(current);
closeinput(current);//關閉頂升移載機的出入口
initkinematics(label(current,"kinematic"),0,-2.25,0,0,0,0);//初始化頂升移載機運動學信息,儲存當前實體對象—頂升移載機的起始位置、旋轉角度等數據
double time1=addkinematic(label(current,"kinematic"),0,0,0.5,0.5,0.1,0.1,0,0.2,time()+xsize(item),KINEMATIC_TRAVEL);//給頂升移載機增加一定速度的操作,如頂升、旋轉等
senddelayedmessage(current,time1-time(),current,1,0,0);
}
else
{
closeinput(current);
senddelayedmessage(current,1.61,current,3,0,0);
}
以上程序代碼在頂升移載機收到頂升轉載任務時觸發,initkinematic命令的第一個參數用于記載運動學數據的空白節點,初始位置信息我們根據實際需求設定。在執行頂升動作時,需要在頂升移載機處于空閑狀態時準許貨物進入,執行頂升動作和轉載動作,實現貨物的直角轉彎傳送。在Flexsim中,運動學能夠實現同一個實體分別執行或同時執行多個動作,而每個動作都需要對其進行速度的屬性定義,如:加速度、減速度、開始速度和結束速度等參數。此部分邏輯代碼在頂升移載機收到轉彎信息并且處于空閑狀態時觸發。
當模型仿真完成后,需要通過“重置”按鈕對模型進行初始狀態的恢復動作,此時,我們的實體運動學數據要被清空,頂升移載機恢復初始狀態。當重置時,頂升移載機邏輯代碼如下:
deactivatekinematics(label(current,"kinematic"));
setloc(current,0,-2.25,0)
3.3.3 回落邏輯設計。當到達感應器感應到頂升移載機完成貨物的頂升轉載時,進行恢復初始狀態的邏輯判斷:
if(getitemtype(item)==2)
{
double time2=addkinematic(label(current,"kinematic"),0,0,- 0.5,0.5,0.1,0.1,0,0.2,time(),KINEMATIC_TRAVEL);
senddelayedmessage(current,time2-time(),current,2,0,0);
}//判斷當貨物離開頂升移載機之后,觸發起升裝置回落原位
以上邏輯代碼在頂升移載機完成轉載任務后觸發,繼續等待執行下一個任務。
3.3.4 可視化邏輯設計。在實體觸發器中自定義繪圖代碼中使用upadatekinemastic()命令,讓頂升移載機在完成頂升移載任務時刷新視圖,實現運動過程的可視化。關鍵命令如下:
updatekinematics(label(current,"kinematic"),current);
某公司生產線供應兩種類型的零件,經過拋光處理后輸送至頂升移載機處,頂升移載機根據零件類型分別輸送到兩條加工生產線:類型1零件由頂升移載機實現貨物直角轉彎輸送至噴粉處理器,加工成藍色,由叉車運送至暫存區暫存;類型2零件經頂升移載機沿主輸送線直行輸送至復合處理器,經過數控加工并噴塑之后又叉車運送至暫存區,等待下一步工序。再經由叉車從兩個暫存區各取一個零件至加工臺合為一個產成品,并按四個一組打包在從線邊儲存區供應的托盤上送至庫存區。托盤暫存區最大容量為100,當暫存區達到最大容量時停止托盤的供應,當托盤數量小于10個時,補給托盤直至裝滿。表1所示加工工序與各工序時間參數,輸送線上的頂升移載機如圖7所示。

表1 加工工序與各工序加工時間參數

表2 模型實體設計

圖7 輸送線上的頂升移載機
參照表2中模型實體設計從對象庫中拖入2個發生器、1個吸收器、2個處理器、2個合成器、1個復合處理器、4條傳送帶,3個暫存區、3個叉車放置在模型窗口中,并調整布局;按照3.2中步驟導入頂升移載機模型并調整外觀、位置等參數。
在Flexsim中,有3組連接方式,如表3所示,用于連接實體對象的分別是A連接、S連接、D連接;用于取消實體對象之間連接關系的分別是Q連接、W連接、E連接。

表3 端口連接方式
在模型中,按照產品的流動路徑使用A連接從發生器開始連接對象:
(1)按順序連接發生器-處理器1-傳送帶1-頂升移載機;
(2)分別連接頂升移載機到傳送帶2、傳送帶3;
(3)連接傳送帶2-處理器2-暫存區1;
(4)連接傳送帶3-復合處理器1-暫存區2;
(5)分別連接暫存區1、暫存區2至合成器1;
(6)連接托盤發生器-暫存區3-合成器2-傳送帶4-吸收器;
(7)連接合成器1-合成器2。
由于叉車屬于任務執行類實體,使用S連接將叉車1和處理器2連接,叉車2和復合處理器1連接,叉車3分別和暫存區1、2連接。連接完成后的生產線布局如圖8所示。

圖8 生產線布局圖
根據表1中工序加工時間參數設置模型中相應的處理器參數,首先雙擊處理器1,在處理器選項卡中設置加工時間為14,點擊應用并確定;同樣的方法將處理器2加工時間處點擊下拉按鈕,選擇統計分布中的Uniform函數,并設置最小值為18,最大值為25;雙擊復合處理器打開屬性,在復合處理器選項卡中將Process1工序名稱更改為數控加工,加工時間更改為均值為12,標準差為2,采用0號隨機數流的正態分布,如圖9所示,;點擊“…”添加新的工序Process2,并將工序名稱改為噴塑處理,并設置加工時間為3。

圖9 復合處理器加工參數設置
雙擊發生器打開屬性,選擇觸發器選項卡,增加創建觸發,將臨時實體類型和顏色設置為Duniform(1,2);同理打開發生器1屬性,在發生器選項卡頁面將臨時實體種類設為“pallet”。分別將處理器2和復合處理器1在屬性中臨時實體流選項卡勾選“使用運輸工具”調用叉車進行貨物的運輸。
暫存區3設置最大容量為100,且在觸發器頁面創建進入觸發,當content(current)==100時,關閉輸入端口;當content(current)<=10時打開輸入端口。
模型參數設置完成后,點擊重置按鈕并開始運行模型。多次模擬運行100h后,生產線仿真系統運行正常,未出現阻塞。我們可以查看系統中個要素的運行狀態和數據統計,以頂升移載機為例,點擊頂升移載機查看右方快捷屬性窗口中的統計數據(如圖10所示),我們可以方便快捷地了解到頂升移載機的輸入輸出量均為428、最大容量為1、最小停留時間為1、最大停留時間為3.9以及平均停留時間是2,46等基本數據。

圖10 頂升移載機統計
頂升移載機是自動化生產輸送線、分揀線提高大件貨物直角轉彎效率的一個重要環節。本文介紹了頂升移載機的機械結構和具體作業流程,再根據Flexsim的建模流程闡述如何導入Flexsim仿真平臺中并調整實體對象,實現頂升移載機的代碼邏輯定義和運動學動作,完成了頂升移載機在Flexsim中頂升和轉載功能。依據某公司的生產輸送線上的具體應用實例建模,模型的成功仿真具有實踐性和可行性,更真實地再現實際系統,為更深層次Flexsim仿真平臺開發研究提供一定的參考。