《大型物流仿真實(shí)驗(yàn)》報(bào)告_第1頁
《大型物流仿真實(shí)驗(yàn)》報(bào)告_第2頁
《大型物流仿真實(shí)驗(yàn)》報(bào)告_第3頁
《大型物流仿真實(shí)驗(yàn)》報(bào)告_第4頁
《大型物流仿真實(shí)驗(yàn)》報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、實(shí)驗(yàn)一:通過型物流中心(Logistics Center)的模型構(gòu)筑實(shí)驗(yàn)?zāi)康耐ㄟ^通過型物流中心的例子來學(xué)習(xí)利用部件生成器、傳送帶(直線、分流、彎曲)、部件消滅器、作業(yè)員、籠車等來構(gòu)筑模型的方法。實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)要作成使4種商品從投放口開始在傳送帶上流動(dòng),在分流點(diǎn)根據(jù)商品的種類進(jìn)行分門別類使其按不同分流口流出后作業(yè)員把商品裝入籠車的模型。實(shí)驗(yàn)步驟1.模型作成畫面的設(shè)定點(diǎn)擊Windows的開始按鈕,點(diǎn)擊|開始|程序|RaLCPro|,啟動(dòng)RaLC-Pro。在RaLC-Pro的啟動(dòng)畫面中,點(diǎn)擊菜單欄里的|文件|新建|或者工具欄中的新建按啟動(dòng)模型作成畫面。 2.設(shè)備的表示點(diǎn)擊設(shè)備欄的直線傳送帶按鈕,使直線

2、傳送帶表示出來3.設(shè)備的復(fù)制點(diǎn)擊直線傳送帶后其顏色變?yōu)榘咨?。通常把這種情況說成“選擇狀態(tài)”。4.設(shè)備的連接(自動(dòng)連接)連接2條直線傳送帶。傳送帶互相接近到一定程度后可自動(dòng)地連接起來。5.彈出菜單的表示點(diǎn)擊設(shè)備欄的右分流傳送帶按鈕 , 則表示出右分流傳送帶。使用分流傳送帶可使傳送過來的物體分成兩個(gè)方向流動(dòng)。使右分流傳送帶處于選擇狀態(tài)時(shí),右點(diǎn)擊鼠標(biāo)后會(huì)表示一個(gè)菜單。這種菜單稱為彈出菜單。6.屬性的表示點(diǎn)擊彈出菜單中的屬性,使屬性對(duì)話框表示出來。在屬性中可對(duì)設(shè)備的速度、大小、顏色、形狀等進(jìn)行設(shè)定。各種各樣的設(shè)備都有自己的屬性。7.設(shè)備的旋轉(zhuǎn)(屬性)點(diǎn)擊設(shè)備欄的右曲傳送帶按鈕,則可表示出右曲傳送帶。8

3、.設(shè)備的旋轉(zhuǎn)(彈出菜單)要使設(shè)備逆時(shí)針轉(zhuǎn)90度、順時(shí)針轉(zhuǎn)90度、180度旋轉(zhuǎn)時(shí)可利用彈出菜單來操作。點(diǎn)擊設(shè)備欄的直線傳送帶按鈕,使直線傳送帶表示出來。9.設(shè)備的連接(任意連接)將直線傳送帶和作業(yè)員連接起來。點(diǎn)擊設(shè)備欄的作業(yè)員按鈕, 使作業(yè)員表示出來。10.復(fù)數(shù)個(gè)設(shè)備的復(fù)制利用Cntl+C、Cntl+V可對(duì)復(fù)數(shù)個(gè)設(shè)備進(jìn)行復(fù)制粘貼。11.部件生成器的條碼設(shè)定打開新增加出來的部件生成器中的任意一個(gè)的彈出菜單,并打開屬性窗口,將概要屬性里的條碼欄改成barcode002。可根據(jù)條碼設(shè)定不同物品的各個(gè)搬運(yùn)路線和存放場(chǎng)所。在本例中假設(shè)有4種不同物品,根據(jù)不同種類設(shè)定4個(gè)存放位置。12.顏色設(shè)定為了使容易分

4、辨,可進(jìn)一步改變物體的顏色。點(diǎn)擊色/形屬性,點(diǎn)擊顏色部分(初始值是金黃色)。13.分流傳送帶的條碼設(shè)定為了使傳送過來的4種物品依據(jù)其種類不同而流向不同,需對(duì)有兩個(gè)分流口的3條分流傳送帶的條形碼進(jìn)行設(shè)定。首先選中組合化的設(shè)備,然后點(diǎn)擊右鍵彈出菜單,選擇解除組合菜單取消設(shè)備的組合。14.模型的保存點(diǎn)擊菜單欄里的|文件|另存為|,將文件名輸入為Lesson1.emu然后點(diǎn)擊保存按鈕。15.模型的模擬點(diǎn)擊菜單欄里面的|模擬|開始|或者時(shí)間欄里的開始按鈕,則可以看到貨物被投放到傳送帶后從金黃色的部件生成器出來的貨物流向最靠前的的籠車方向,從紅色的部件生成器出來的貨物流向正中央的籠車方向,從粉紅色的部件生

5、成器出來的物品流向最遠(yuǎn)的籠車方向,從桔紅色的部件生成器出來的貨物流向部件消滅器的方向。實(shí)驗(yàn)結(jié)果和心得通過此次試驗(yàn)教會(huì)我們利用部件生成器、傳送帶(直線、分流、彎曲)、部件消滅器、作業(yè)員、籠車等來構(gòu)筑模型的方法在以后的工作中得心應(yīng)手。物流系統(tǒng)的優(yōu)化,往往是在一定約束條件下,實(shí)現(xiàn)物流總費(fèi)用最省、客戶服務(wù)水平最好、社會(huì)經(jīng)濟(jì)效益最高的綜合目標(biāo)。但是,物流系統(tǒng)大多是離散的、復(fù)雜的大系統(tǒng),包含多約束多因素的影響,難以達(dá)到最優(yōu)狀態(tài),傳統(tǒng)的運(yùn)籌學(xué)方法無法對(duì)建立的模型進(jìn)行有效求解,而仿真技術(shù)在解決這類問題時(shí)有其獨(dú)到的優(yōu)勢(shì)和特點(diǎn),因此許多專家學(xué)者對(duì)物流系統(tǒng)仿真領(lǐng)域進(jìn)行了大量的研究,以求使物流系統(tǒng)的價(jià)值潛力得到最大的

6、發(fā)揮,提高企業(yè)的效率和利潤。這次做的物流仿真實(shí)驗(yàn)雖然不是很成功,可是我花了很多時(shí)間來完成它,所以呢它對(duì)我以后做物流操作規(guī)劃有很大的幫助。在此次物流仿真實(shí)驗(yàn)的過程中也讓我學(xué)到了很多東西,所以呢從我內(nèi)心來說我是很滿意我的這次經(jīng)歷,同時(shí)也要謝謝老師安排這樣的實(shí)驗(yàn),為什么呢?因?yàn)樵陔娔X操作中我不僅學(xué)到了書上沒有的東西,也培養(yǎng)了我獨(dú)立思考問題的能力。實(shí)驗(yàn)二:倉儲(chǔ)型物流中心模型實(shí)驗(yàn)?zāi)康脑诖舜卧囼?yàn)中,將以倉儲(chǔ)型物流中心的模型為例,學(xué)習(xí)包括在實(shí)驗(yàn)一使用過的設(shè)備以及自動(dòng)立體倉庫、裝貨中轉(zhuǎn)站、卸貨中轉(zhuǎn)站、傳送帶(直角、合流)、機(jī)器人、托盤供給器等設(shè)備來建立模型的方法以及關(guān)于這些設(shè)備的設(shè)定方法。實(shí)驗(yàn)內(nèi)容這次實(shí)驗(yàn)要建

7、立在實(shí)驗(yàn)一作成的模型的基礎(chǔ)上增加具有自動(dòng)立體倉庫功能的出貨傳送線的模型。從3處投入口進(jìn)來的4種商品沿傳送帶流動(dòng),在合流點(diǎn)合流的商品在裝貨中轉(zhuǎn)站由機(jī)器人堆放在托盤上,托盤經(jīng)入庫口被送入自動(dòng)立體倉庫。存儲(chǔ)在自動(dòng)立體倉庫中的托盤經(jīng)出庫口出庫,在卸貨中轉(zhuǎn)站由作業(yè)員將商品卸下投放到分流線上去。實(shí)驗(yàn)步驟1.建立倉儲(chǔ)型物流中心模型將畫面設(shè)定為模型作成畫面。點(diǎn)擊設(shè)備欄的自動(dòng)立體倉庫按鈕,使自動(dòng)立體倉庫表示出來。2.自動(dòng)立體倉庫的入庫口(In Mode)的設(shè)置自動(dòng)立體倉庫的入庫口(In Mode)是從外部將托盤送入自動(dòng)立體倉庫的入庫路徑。3.自動(dòng)立體倉庫的出庫口(Out Mode)的設(shè)置自動(dòng)立體倉庫的出庫口(O

8、ut Mode)是從自動(dòng)立體倉庫將托盤送出的出庫路徑。4.裝貨中轉(zhuǎn)站的設(shè)置點(diǎn)擊設(shè)備欄的裝貨中轉(zhuǎn)站按鈕,使裝貨中轉(zhuǎn)站表示出來。5.裝貨中轉(zhuǎn)站輸入口的設(shè)置裝貨中轉(zhuǎn)站上的托盤上裝載一定數(shù)量的貨物時(shí),要使用裝貨中轉(zhuǎn)站的輸入口。6.進(jìn)貨線的做成點(diǎn)擊設(shè)備欄的左合流傳送帶按鈕,使左合流傳送帶表示出來。左合流傳送帶將從2個(gè)方向流過來的商品傳送同一方向。7.卸貨中轉(zhuǎn)站的設(shè)置點(diǎn)擊設(shè)備欄的卸貨中轉(zhuǎn)站按鈕,使卸貨中轉(zhuǎn)站表示出來。8.卸貨中轉(zhuǎn)站輸出口的設(shè)置從卸貨中轉(zhuǎn)站上的托盤卸貨時(shí),要使用卸貨中轉(zhuǎn)站輸出口。9.出貨線的做成點(diǎn)擊設(shè)備欄的左轉(zhuǎn)傳送帶按鈕,使左轉(zhuǎn)傳送帶表示出來10.模型合并通過復(fù)制粘貼別的文件中的模型,把復(fù)數(shù)

9、個(gè)模型組合成一個(gè)模型的操作稱為模型合并。11.設(shè)備的組合使復(fù)數(shù)個(gè)物件組合后,可使其一起移動(dòng)、旋轉(zhuǎn)。保持其選擇狀態(tài)不變,右點(diǎn)擊使彈出菜單表示出來,點(diǎn)擊彈出菜單中的組合。12.組合的解除選擇組合物件的彈出菜單中的解除組合,則組合被解除。然后請(qǐng)用Lesson22.emu的名字另保存。如果點(diǎn)擊菜單欄中的|模擬|開始|或者時(shí)間欄中的開始按鈕,則貨物會(huì)被投放倒傳送帶上。機(jī)器人將傳送過來的貨物堆放在托盤上,托盤上每堆放5個(gè)物品后就被送入自動(dòng)立體倉庫里儲(chǔ)存起來。13.自動(dòng)立體倉庫的出庫下面要使在自動(dòng)立體倉庫里存儲(chǔ)的托盤出庫。使需出庫的托盤處于選擇狀態(tài),選擇彈出菜單中的IOSection出庫指示|IOSECTI

10、ON_*。開始模擬后,指定的托盤會(huì)從自動(dòng)立體倉庫的出庫口(Out Mode)出庫。作業(yè)員則從出庫的托盤上拿取貨物后搬送到左轉(zhuǎn)傳送帶。實(shí)驗(yàn)結(jié)果和心得通過此次試驗(yàn),我們?cè)趯?shí)驗(yàn)一的基礎(chǔ)上學(xué)到了自動(dòng)立體倉庫功能的出貨傳送線模型,鞏固了我們?cè)趯?shí)驗(yàn)一中所學(xué)的知識(shí),并且加深了我們對(duì)自動(dòng)立體倉庫、裝貨中轉(zhuǎn)站、卸貨中轉(zhuǎn)站、傳送帶(直角、合流)、機(jī)器人、托盤供給器等設(shè)備來建立模型的方法以及關(guān)于這些設(shè)備的設(shè)定方法。通過這個(gè)星期我們的物流仿真實(shí)驗(yàn),我們不僅可以初步掌握物流系統(tǒng)仿真的基本理論,同時(shí)可以掌握實(shí)際仿真的步驟與方法。物流仿真是針對(duì)物流系統(tǒng)進(jìn)行系統(tǒng)建模,并在電子計(jì)算機(jī)上編制相應(yīng)應(yīng)用程序,模擬實(shí)際物流系統(tǒng)運(yùn)行狀況

11、,并統(tǒng)計(jì)和分析模擬結(jié)果,用以指導(dǎo)實(shí)際物流系統(tǒng)的規(guī)劃設(shè)計(jì)與運(yùn)作管理評(píng)估對(duì)象系統(tǒng):配送中心、倉庫存儲(chǔ)系統(tǒng)、揀貨系統(tǒng)、運(yùn)輸系統(tǒng)等的整體能力的一種評(píng)價(jià)方法。仿真是對(duì)已經(jīng)存在或尚未真實(shí)存在并且處于規(guī)劃設(shè)計(jì)中的系統(tǒng),構(gòu)造系統(tǒng)模型并在計(jì)算機(jī)上進(jìn)行仿真的復(fù)雜活動(dòng)。在信息時(shí)代,仿真被賦予繼理論推導(dǎo)和科學(xué)試驗(yàn)之后的第三種新型科研方法的地位,被廣泛應(yīng)用于各個(gè)行業(yè)的各個(gè)環(huán)節(jié)。尤其在物流這個(gè)新興產(chǎn)業(yè)和新興學(xué)科中,仿真成為不可或缺的支持技術(shù)之一。隨著中國物流業(yè)的迅速發(fā)展,全國各地物流工程的設(shè)計(jì)和建設(shè)如火如荼。但是所有的物流工程都是合理必需的嗎?配送中心的位置和容量設(shè)計(jì)是否合理?設(shè)備配置和場(chǎng)地規(guī)劃是否恰當(dāng)?shù)鹊冗@些問題,在大

12、多數(shù)情況下只能憑經(jīng)驗(yàn)和感覺來判斷。有的往往是在工程建設(shè)后或設(shè)備配置后才發(fā)現(xiàn)問題,發(fā)生大量的修正費(fèi)用。避免這種情況發(fā)生的最有效的方法就是應(yīng)用物流仿真技術(shù)。物流仿真技術(shù)一個(gè)最大的優(yōu)點(diǎn)是,不需實(shí)際安裝設(shè)備,不需實(shí)際實(shí)施方案即可驗(yàn)證設(shè)備的導(dǎo)入效果和比較各種方案的優(yōu)劣。在工程建設(shè)或設(shè)備配置的計(jì)劃階段發(fā)現(xiàn)和解決問題,因此,它對(duì)降低整個(gè)物流投資成本起到不可缺少的作用。實(shí)驗(yàn)三:復(fù)合型物流中心的模型實(shí)驗(yàn)?zāi)康脑诖舜卧囼?yàn),將以復(fù)合型物流中心模型為例,學(xué)習(xí)如何用包括在實(shí)驗(yàn)二利用過的各種設(shè)備以及滑車鐵軌、智能導(dǎo)向物、叉車等來建立模型的方法以及關(guān)于這些設(shè)備的設(shè)定方法。實(shí)驗(yàn)內(nèi)容在此次試驗(yàn)我們將要做成由裝貨機(jī)器人將傳送過來的

13、4種貨物堆放到托盤后,裝貨托盤由滑車鐵軌向3個(gè)自動(dòng)立體倉庫分送,并且將從自動(dòng)立體倉庫出庫的托盤由滑車鐵軌向出貨場(chǎng)地搬送,再由叉車向出貨口搬運(yùn)的貨物的模型。實(shí)驗(yàn)步驟1.建立模型啟動(dòng)RaLC-Pro,將在第三章做成的Lesson21.emu模型調(diào)出。2. 滑車鐵軌的設(shè)置點(diǎn)擊設(shè)備欄的滑車鐵軌按鈕,使滑車鐵軌表示出來。3.滑車鐵軌IO部分(INPUT,OUTPUT)的設(shè)置選擇滑車鐵軌的彈出菜單中的添加IO部件(InMode),使IO部分(INPUT,OUTPUT)的輸入口表示出來。托盤通過此IO部分(InMode)滑到滑車鐵軌上。4.智能導(dǎo)向物(滑車鐵軌一側(cè))的設(shè)置下面要設(shè)置用來指定托盤目的地(滑車鐵

14、軌的出口)的智能導(dǎo)向物。點(diǎn)擊設(shè)備欄的智能導(dǎo)向物按鈕,使智能導(dǎo)向物表示出來。將智能導(dǎo)向物設(shè)置在裝貨中轉(zhuǎn)站和與裝貨中轉(zhuǎn)站自動(dòng)連接著的滑車鐵軌的IO部分 (In Mode)之間。用彈出菜單的與下一個(gè)設(shè)備相連 使裝貨中轉(zhuǎn)站向智能導(dǎo)向物,智能導(dǎo)向物向滑車鐵軌的IO部分 (In Mode)連接上。將Rule IF屬性里的Counter的左側(cè)的確認(rèn)框打上鉤。點(diǎn)擊Rule Then按鈕,在有効的確認(rèn)框 打上鉤。在Counter左側(cè)的的確認(rèn)框上打上鉤,將0改為1。在目的地左側(cè)的確認(rèn)框上打上鉤,輸入剛才記錄下來的與左側(cè)自動(dòng)倉庫的IO部分 (In Mode)連接著的滑車鐵軌的輸出口部分的名稱(例為OUTPUT_ 0

15、0030)。點(diǎn)擊智能導(dǎo)向物的屬性窗口右側(cè)的登錄規(guī)則按鈕。這時(shí),規(guī)則編號(hào)的下拉條菜單文本變成了Rule1。這成為第1條運(yùn)作規(guī)則。從登錄規(guī)則 按鈕上面的 規(guī)則編號(hào) 下拉條菜單中選擇新建一項(xiàng)。點(diǎn)擊Rule IF按鈕,在Counter左側(cè)的確認(rèn)框上打上鉤,將0改為1。點(diǎn)擊Rule Then按鈕,在有効的確認(rèn)框上打上鉤。在Counter左側(cè)的確認(rèn)框上打上鉤,將1改為2。在目的地左側(cè)的確認(rèn)框上打上鉤,然后輸入與中間的自動(dòng)立體倉庫的IO部分 (In Mode)連接著的滑車鐵軌的輸出口部分的名稱(例為OUTPUT_00032)。點(diǎn)擊智能導(dǎo)向物的屬性窗口畫面右側(cè)的登錄規(guī)則按鈕。這時(shí),規(guī)則編號(hào)的下拉條菜單變?yōu)镽u

16、le2。這成為第2條運(yùn)作規(guī)則。從登錄規(guī)則 按鈕上面的 規(guī)則編號(hào) 下拉條菜單中選擇新建一項(xiàng)。點(diǎn)擊Rule IF按鈕,在Counter左側(cè)的確認(rèn)框上打上鉤,將1改為2。點(diǎn)擊Rule Then按鈕,在有效的確認(rèn)框上打上鉤。在Counter左側(cè)的確認(rèn)框上打上鉤,將2改為0。在目的地左側(cè)的確認(rèn)框上打上鉤,然后輸入與右側(cè)自動(dòng)立體倉庫的IO部分 (In Mode)連接著的滑車鐵軌的輸出口部分的名稱(例為OUTPUT_00034)。點(diǎn)擊智能導(dǎo)向物的屬性窗口畫面右側(cè)的登錄規(guī)則按鈕。這時(shí),規(guī)則編號(hào)的下拉條菜單變?yōu)镽ule3。這成為第3條運(yùn)作規(guī)則。點(diǎn)擊智能導(dǎo)向物的屬性窗口畫面下面的OK按鍵,關(guān)閉屬性窗口。5.智能導(dǎo)

17、向物(自動(dòng)立體倉庫一側(cè))的設(shè)置點(diǎn)擊設(shè)備欄的智能導(dǎo)向物按鈕,使智能導(dǎo)向物表示出來。將智能導(dǎo)向物設(shè)置在左側(cè)自動(dòng)立體倉庫的IO部分 (Out Mode)和與這個(gè)IO部分自動(dòng)連接著的滑車鐵軌的IO部分 (In Mode)之間。6.出貨線的作成設(shè)備欄的左轉(zhuǎn)傳送帶按鈕 ,使左轉(zhuǎn)傳送帶表示出來。打開左轉(zhuǎn)傳送帶的屬性窗口,點(diǎn)擊尺寸按鈕,將第1部分的長度改為2000,第2部分的長度改為2000, 高度改為300,寬度改為1200,然后點(diǎn)擊OK 按鈕。7.叉車的表示點(diǎn)擊設(shè)備欄的作業(yè)員按鈕,使作業(yè)員表示出來。將其設(shè)置于左轉(zhuǎn)傳送帶的出口附近。打開作業(yè)員的屬性窗口 ,點(diǎn)擊尺寸按鈕,然后將經(jīng)路長改為5000。用Lesso

18、n31.emu的名稱另保存起來。保存好后,點(diǎn)擊菜單欄里的|模擬|開始|或者時(shí)間欄里的開始按鈕,模型則會(huì)運(yùn)轉(zhuǎn)起來。貨物被投放到傳送帶上,由機(jī)器人裝好貨的托盤通過滑車鐵軌送往自動(dòng)立體倉庫儲(chǔ)存起來。要將托盤出庫時(shí),選擇已經(jīng)入庫的托盤的彈出菜單中的IOSection出庫指示IOSECTION_*。托盤會(huì)被按照 IOSection出庫指示|IOSECTION_* 的次序依次送出倉庫。叉車則會(huì)將出庫的托盤送往部件消滅器實(shí)驗(yàn)結(jié)果和心得通過此次試驗(yàn)我們學(xué)會(huì)了包括在實(shí)驗(yàn)二利用過的各種設(shè)備以及滑車鐵軌、智能導(dǎo)向物、叉車等來建立模型的方法以及關(guān)于這些設(shè)備的設(shè)定方法,同時(shí)通過實(shí)驗(yàn)對(duì)復(fù)合型物流中心有一定的了解,加深知識(shí)

19、的實(shí)用性和學(xué)習(xí)的積極性。了解到仿真試驗(yàn)具有良好的可控性、無破壞性和可重夊性。仿真過程經(jīng)濟(jì)安全,上受氣象條件和場(chǎng)地環(huán)境的限制。仿真的實(shí)時(shí)性,使實(shí)時(shí)系統(tǒng)的仿真應(yīng)用成為可能,為仿真應(yīng)用奠定了良好的基礎(chǔ)。物流仿真軟件的仿真過程,即是建立物流系統(tǒng)模型并通過模型在計(jì)算機(jī)上的運(yùn)行來對(duì)模型進(jìn)行檢測(cè)和休整,使模型上斷趨于完善的過程。目前物流仿真軟件主要應(yīng)用于企業(yè)內(nèi)部生產(chǎn)物流仿真,企業(yè)倉儲(chǔ)、運(yùn)輸和配送流程仿真,物流咨詢仿真以及高校物流專業(yè)仿真研究學(xué)習(xí)等。 隨著物流的發(fā)展,物流系統(tǒng)已經(jīng)變得越來越夊雜,內(nèi)部的關(guān)聯(lián)性也隨之變得越來越強(qiáng)。仿真就成了企業(yè)檢測(cè)其物流系統(tǒng)及決策是否有效或高效的一個(gè)重要途徑;此外, 企業(yè)設(shè)計(jì)一個(gè)

20、新的物流系統(tǒng),或?qū)σ延械南到y(tǒng)添加新技術(shù)、新裝備,進(jìn)行原有系統(tǒng)改造,都需要物流仿真技術(shù)和仿真軟件的應(yīng)用。在中國,物流仿真技術(shù)還是個(gè)比較新的概念,大多數(shù)企業(yè)對(duì)物流仿真技術(shù)應(yīng)用狀況及其意義了解并上多。物流仿真的技術(shù)是借助計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和數(shù)學(xué)手段,采用虛擬現(xiàn)實(shí)方法,對(duì)物流系統(tǒng)進(jìn)行實(shí)際模仿的一項(xiàng)應(yīng)用技術(shù),它需要借助計(jì)算機(jī)仿真技術(shù)對(duì)現(xiàn)實(shí)物流系統(tǒng)進(jìn)行系統(tǒng)建模與求解算法分析,通過仿真實(shí)驗(yàn)得到各種動(dòng)態(tài)活動(dòng)及其過程的瞬間仿效記錄,進(jìn)而研究物流系統(tǒng)的性能和輸出效果。實(shí)驗(yàn)四:復(fù)合型物流中心的模型實(shí)驗(yàn)?zāi)康哪P褪窃趯?shí)驗(yàn)三做成的復(fù)合型物流中心的基礎(chǔ)上,加入卸貨和出貨部分的2層物流中心。在此次試驗(yàn)中,將以復(fù)合型物流中心

21、模型為例,學(xué)習(xí)如何用包括在實(shí)驗(yàn)三利用過的各種設(shè)備以及軌道、卸貨中轉(zhuǎn)站、左曲傳送帶、智能作業(yè)員等建立模型的方法。實(shí)驗(yàn)內(nèi)容本次實(shí)驗(yàn)要做成的模型概要是軌道上的平板車把從自動(dòng)立體倉庫第2層部分出庫的托盤搬送到指定的出口并把作業(yè)員在卸貨中轉(zhuǎn)站卸貨后的空托盤再運(yùn)回倉庫。卸下的貨物在分流點(diǎn)根據(jù)其目的地被分流后作業(yè)員將其裝入對(duì)應(yīng)的籠車內(nèi)。實(shí)驗(yàn)步驟1. 建立模型2.自動(dòng)立體倉庫2層部分的IO部件(IO部分)的設(shè)置在第二層也要建立自動(dòng)立體倉庫的出入庫口。調(diào)出Lesson31.emu的模型。3.環(huán)境的設(shè)定下面要做成物流中心的第2層部分。為了使第1層的部分隱藏起來便于完成2層部分的制作,要對(duì)環(huán)境的設(shè)定進(jìn)行設(shè)置。點(diǎn)擊菜

22、單欄里的|環(huán)境|環(huán)境設(shè)置|。4.軌道的設(shè)置為了搬運(yùn)托盤,要設(shè)置相關(guān)軌道。點(diǎn)擊設(shè)備欄的直線軌道按鈕,使直線軌道表示出來。為了做成逆時(shí)針環(huán)繞的軌道,選擇線軌道的彈出菜單中的180度旋轉(zhuǎn)一項(xiàng)。將屬性欄的尺寸一項(xiàng)中的長度改為4000。5.自動(dòng)立體倉庫一側(cè)的直線軌道的輸入口和輸出口的設(shè)置為了自動(dòng)立體倉庫和軌道相互能傳送托盤,設(shè)置直線軌道的輸入口和輸出口。選擇第1條直線軌道的彈出菜單中的添加輸出部件,使輸出口表示出來。6.卸貨和再入庫傳送線模型下面要做成的模型概要是從自動(dòng)立體倉庫出庫的托盤上的貨物卸下后,再將空托盤送回自動(dòng)倉庫(再入庫)。選擇第5條直線軌道的彈出菜單中的添加輸入部件,使輸入口表示出來。7.

23、軌道管理器的設(shè)置(與直線軌道的連接)下面要設(shè)置軌道管理器,并進(jìn)行相關(guān)設(shè)定使平板車空載時(shí),自動(dòng)提取自動(dòng)立體倉庫一側(cè)的直線軌道輸入口上的托盤。如果平板車上已有物品,那么不提取任何托盤。選擇菜單欄的特殊設(shè)備中的 軌道管理器一項(xiàng),使軌道管理器表示出來。將軌道管理器設(shè)置在軌道圈的正中央位置上。8.智能導(dǎo)向物的設(shè)置(自動(dòng)立體倉庫一側(cè)) 下面將設(shè)置出庫托盤的目的地(卸貨再入庫傳送線上的直線軌道的輸出口)。點(diǎn)擊設(shè)備欄的智能導(dǎo)向物按鈕,使智能導(dǎo)向物表示出來。將智能導(dǎo)向物設(shè)置在右側(cè)自動(dòng)立體倉庫的IO部件(Out Mode)和直線軌道的輸入口之間的位置上。分別用彈出菜單的與下一個(gè)設(shè)備相連一項(xiàng)將自動(dòng)立體倉庫的IO部件

24、(Out Mode)連上智能導(dǎo)向物,智能導(dǎo)向物連上直線軌道的輸入口。9.智能導(dǎo)向物的設(shè)置(卸貨再入庫傳送線一側(cè))下面要設(shè)置用來設(shè)定目的地(自動(dòng)立體倉庫一側(cè)的直線軌道的輸出口)的智能導(dǎo)向物使在卸貨中轉(zhuǎn)站貨物被卸下來后,空托盤能夠被再送回自動(dòng)立體倉庫。點(diǎn)擊設(shè)備欄的智能導(dǎo)向物按鈕,使智能導(dǎo)向物表示出來。將智能導(dǎo)向物設(shè)置在左側(cè)的卸貨再入庫傳送線上的直線軌道的輸入口和左轉(zhuǎn)傳送帶之間的位置上。分別用彈出菜單的與下一個(gè)設(shè)備相連一項(xiàng)使左轉(zhuǎn)傳送帶連接上智能導(dǎo)向物,智能導(dǎo)向物連接上直線軌道的輸入口。10.卸貨貨品的出貨線的設(shè)置下面要做成從托盤上卸下來的貨物的出庫部分的模型。點(diǎn)擊設(shè)備欄的作業(yè)員按鈕,使作業(yè)員表示出來

25、。選擇作業(yè)員的彈出菜單中的 順時(shí)針旋轉(zhuǎn)90度。11.智能作業(yè)員的設(shè)置下面要做成將在傳送帶上的貨物分別裝入到籠車的作業(yè)員。點(diǎn)擊菜單欄的設(shè)備(D)中的智能作業(yè)員,使智能作業(yè)員表示出來。12.目的地的指定(部件生成器)下面要進(jìn)行設(shè)定,使在右分流傳送帶的分流地點(diǎn)條碼為barcode001的貨物流向干線,barcode002004的貨物流向支線。把相關(guān)的籠車名輸入進(jìn)作為各貨物的生成源頭的部件生成器之目的地一項(xiàng)后,條碼為barcode002004的貨物流向右分流傳送帶的支線并分別被裝入右邊的3個(gè)籠車。13.圖層的設(shè)定使用工具欄里的L1按鈕和L2按鈕,可將1層和2層的模型分別顯示出來。點(diǎn)擊圖層2 按鈕,則設(shè)

26、定為圖層2的物體會(huì)全部消失,只有第1層的部分顯示在畫面中。點(diǎn)擊圖層1 按鈕,則設(shè)定為圖層1的物體會(huì)全部消失,只有第2層的部分顯示在畫面中。實(shí)驗(yàn)結(jié)果和心得通過此次試驗(yàn)我們又學(xué)習(xí)到軌道、卸貨中轉(zhuǎn)站、左曲傳送帶、智能作業(yè)員等建立模型的方法,新知識(shí)的接觸不僅使我們感觸和好奇,而且使我們受益匪淺。相信在將來的工作和學(xué)習(xí)中可以從容鎮(zhèn)定的面對(duì)。當(dāng)然此次試驗(yàn)我們要感謝老師和同學(xué)的幫助。在老師的指導(dǎo)下我們做了一個(gè)星期的物流仿真實(shí)驗(yàn)。通過設(shè)計(jì)合理的物流調(diào)度方案,順應(yīng)物流智能化管理的需要,有助于學(xué)生通過實(shí)驗(yàn)掌握更高層級(jí)的運(yùn)籌學(xué)優(yōu)化知識(shí),提高解決問題和分析問題的能力。優(yōu)化系統(tǒng)設(shè)計(jì)將未來先進(jìn)物流系統(tǒng)的發(fā)展和培養(yǎng)學(xué)生的興

27、趣相結(jié)合,采用開放式設(shè)計(jì)思想,使學(xué)生在掌握物流運(yùn)籌學(xué)優(yōu)化評(píng)估和技能的同時(shí),還進(jìn)一步學(xué)習(xí)并掌握物流領(lǐng)域基本的業(yè)務(wù)知識(shí),為培養(yǎng)高素質(zhì)的人才提供了一個(gè)良好的平臺(tái)?,F(xiàn)代物流逐步從以運(yùn)輸和倉儲(chǔ)管理為主要功能的傳統(tǒng)物流階段進(jìn)入到以綜合化、網(wǎng)絡(luò)化、集成化、系統(tǒng)化為特征的現(xiàn)代物流階段。物流概念的內(nèi)涵極為豐富,不僅包括原材料,產(chǎn)成品等從生產(chǎn)者到消費(fèi)者的實(shí)物流動(dòng)過程,還包括伴隨這一過程的信息流動(dòng)。通過這次物流仿真實(shí)驗(yàn),讓我有個(gè)機(jī)會(huì)擁有一個(gè)展示自我的空間,也有成就感,在此過程中我增強(qiáng)了我的創(chuàng)作能力和動(dòng)手能力,提高了物流運(yùn)作操作水平。這次物流仿真,我學(xué)到了不少東西,而且學(xué)到了不少思考問題的方法。計(jì)算機(jī)會(huì)在以后的學(xué)習(xí)生

28、活中充當(dāng)越來越重要的角色,相信我也會(huì)學(xué)習(xí)到更多關(guān)于計(jì)算機(jī)和網(wǎng)絡(luò)的知識(shí)。這次收獲確實(shí)不??!附錄資料:不需要的可以自行刪除 perl函數(shù)應(yīng)用一、進(jìn)程處理函數(shù)1、進(jìn)程啟動(dòng)函數(shù)函數(shù)名eval調(diào)用語法eval(string)解說將string看作Perl語句執(zhí)行。正確執(zhí)行后,系統(tǒng)變量$為空串,如果有錯(cuò)誤,$中為錯(cuò)誤信息。例子$print = print (hello,worldn);eval ($print);結(jié)果輸出hello, world函數(shù)名system調(diào)用語法system(list)解說list中第一個(gè)元素為程序名,其余為參數(shù)。system啟動(dòng)一個(gè)進(jìn)程運(yùn)行程序并等待其結(jié)束,程序結(jié)束后錯(cuò)誤代碼左移

29、八位成為返回值。例子proglist = (echo, hello,world!);system(proglist);結(jié)果輸出hello, world!函數(shù)名fork調(diào)用語法procid = fork();解說創(chuàng)建程序的兩個(gè)拷貝-父進(jìn)程和子進(jìn)程-同時(shí)運(yùn)行。子進(jìn)程返回零,父進(jìn)程返回非零值,此值為子程序的進(jìn)程ID號(hào)。例子$retval = fork();if ($retval = 0) # this is the child process exit; # this terminates the child process else # this is the parent process結(jié)果輸出

30、無函數(shù)名pipe調(diào)用語法pipe (infile, outfile);解說與fork合用,給父進(jìn)程和子進(jìn)程提供通信的方式。送到outfile文件變量的信息可以通過infile文件變量讀取。步驟:1、調(diào)用pipe2、用fork將程序分成父進(jìn)程和子進(jìn)程3、一個(gè)進(jìn)程關(guān)掉infile,另一個(gè)關(guān)掉outfile例子pipe (INPUT, OUTPUT);$retval = fork();if ($retval != 0) # this is the parent process close (INPUT); print (Enter a line of input:n); $line = ; prin

31、t OUTPUT ($line); else # this is the child process close (OUTPUT); $line = ; print ($line); exit (0);結(jié)果輸出$programEnter a line of input:Here is a test lineHere is a test line$函數(shù)名exec調(diào)用語法exec (list);解說與system類似,區(qū)別是啟動(dòng)新進(jìn)程前結(jié)束當(dāng)前程序。常與fork合用,當(dāng)fork分成兩個(gè)進(jìn)程后,子進(jìn)程用exec啟動(dòng)另一個(gè)程序。例子 結(jié)果輸出函數(shù)名syscall調(diào)用語法syscall (list);解

32、說調(diào)用系統(tǒng)函數(shù),list第一個(gè)元素是系統(tǒng)調(diào)用名,其余為參數(shù)。如果參數(shù)是數(shù)字,就轉(zhuǎn)化成C的整型數(shù)(type int)。否則傳遞字符串的指針。詳見UNIX的幫助或Perl文檔。使用syscall必須包含文件syscall.pl,即:require (syscall.ph); 例子結(jié)果輸出2、進(jìn)程終止函數(shù)函數(shù)名Die調(diào)用語法die (message);解說終止程序并向STDERR輸出錯(cuò)誤信息。message可以為字符串或列表。如果最后一個(gè)參數(shù)不包含換行符,則程序文件名和行號(hào)也被輸出。例子die (Cannot open input file);結(jié)果輸出Cannot open input file a

33、t myprog line 6.函數(shù)名warn調(diào)用語法warn (message);解說與die類似,區(qū)別是不終止程序。例子warn(Danger! Danger!n);結(jié)果輸出Danger! Danger!函數(shù)名exit調(diào)用語法exit (retcode);解說終止程序并指定返回值。例子exit(2);結(jié)果輸出無函數(shù)名kill調(diào)用語法kill (signal, proclist);解說給一組進(jìn)程發(fā)送信號(hào)。signal是發(fā)送的數(shù)字信號(hào),9為殺掉進(jìn)程。proclist是進(jìn)程ID列表。詳見kill的UNIX幫助。例子結(jié)果輸出3、進(jìn)程控制函數(shù)函數(shù)名sleep調(diào)用語法sleep (time);解說將程

34、序暫停一段時(shí)間。time是停止的秒數(shù)。返回值為實(shí)際停止的秒數(shù)。例子sleep (5);結(jié)果輸出無函數(shù)名wait調(diào)用語法procid = wait();解說暫停程序執(zhí)行,等待子進(jìn)程終止。不需要參數(shù),返回值為子進(jìn)程ID,如果沒有子進(jìn)程,返回-1。例子結(jié)果輸出函數(shù)名waitpid調(diào)用語法waitpid (procid, waitflag);解說暫停程序執(zhí)行,等待特定的子進(jìn)程終止。procid為等待的進(jìn)程ID例子$procid = fork();if ($procid = 0) # this is the child process print (this line is printed firstn

35、); exit(0); else # this is the parent process waitpid ($procid, 0); print (this line is printed lastn);結(jié)果輸出$ programthis line is printed firstthis line is printed last$4、其它控制函數(shù)函數(shù)名caller調(diào)用語法subinfo = caller();解說返回調(diào)用者的程序名和行號(hào),用于Perl Debugger。返回值為三元素的列表:1、調(diào)用處的包名2、調(diào)用者文件名3、調(diào)用處的行號(hào)例子結(jié)果輸出函數(shù)名chroot調(diào)用語法chroot

36、(dir);解說改變程序的根目錄,詳見chroot幫助。例子結(jié)果輸出函數(shù)名local調(diào)用語法local($variable);解說在語句塊(由大括號(hào)包圍的語句集合)中定義局域變量,僅在此語句塊中起作用,對(duì)其的改變不對(duì)塊外同名變量造成影響。千萬不要在循環(huán)中使用,否則每次循環(huán)都定義一個(gè)新的局域變量!例子結(jié)果輸出函數(shù)名times調(diào)用語法timelist = times解說返回該程序及所有子進(jìn)程消耗的工作時(shí)間。返回值為四個(gè)浮點(diǎn)數(shù)的列表:1、程序耗用的用戶時(shí)間2、程序耗用的系統(tǒng)時(shí)間3、子進(jìn)程耗用的用戶時(shí)間4、子進(jìn)程耗用的系統(tǒng)時(shí)間例子結(jié)果輸出二、數(shù)學(xué)函數(shù)函數(shù)名sin調(diào)用語法retval = sin (va

37、lue);解說參數(shù)為弧度值。函數(shù)名cos調(diào)用語法retval = cos (value);解說參數(shù)為弧度值。函數(shù)名atan2調(diào)用語法retval = atan2 (value1, value2);解說運(yùn)算并返回value1除以value2結(jié)果的arctan值,單位為弧度,范圍在-PIPI。應(yīng)用例:角度轉(zhuǎn)化成弧度子程序。sub degrees_to_radians local ($degrees) = _; local ($radians);11: $radians = atan2(1,1) * $degrees / 45;函數(shù)名sqrt調(diào)用語法retval = sqrt (value);解說平

38、方根函數(shù)。value為非負(fù)數(shù)。函數(shù)名exp調(diào)用語法retval = exp (value);解說返回e的value次方。函數(shù)名log調(diào)用語法retval = log (value);解說以e為底的自然對(duì)數(shù)。函數(shù)名abs調(diào)用語法retval = abs (value);解說絕對(duì)值函數(shù)。(Perl 4中沒有)函數(shù)名rand調(diào)用語法retval = rand (num);解說隨機(jī)數(shù)函數(shù),返回0和整數(shù)num之間的一個(gè)浮點(diǎn)數(shù)。函數(shù)名srand調(diào)用語法srand (value);解說初始化隨機(jī)數(shù)生成器。保證每次調(diào)用rand真正隨機(jī)。三、字符串處理函數(shù)函數(shù)名index調(diào)用語法position = index

39、 (string, substring, position);解說返回子串substring在字符串string中的位置,如果不存在則返回-1。參數(shù)position是可選項(xiàng),表示匹配之前跳過的字符數(shù),或者說從該位置開始匹配。函數(shù)名rindex調(diào)用語法position = rindex (string, substring, position);解說與index類似,區(qū)別是從右端匹配。函數(shù)名length調(diào)用語法num = length (string);解說返回字符串長度,或者說含有字符的數(shù)目。函數(shù)名pos調(diào)用語法offset = pos(string);解說返回最后一次模式匹配的位置。函數(shù)名s

40、ubstr調(diào)用語法substr (expr, skipchars, length)解說抽取字符串(或表達(dá)式生成的字符串)expr中的子串,跳過skipchars個(gè)字符,或者說從位置skipchars開始抽取子串(第一個(gè)字符位置為0),子串長度為length,此參數(shù)可忽略,意味著取剩下的全部字符。當(dāng)此函數(shù)出現(xiàn)在等式左邊時(shí),expr必須為變量或數(shù)組元素,此時(shí)其中部分子串被等式右邊的值替換。函數(shù)名study調(diào)用語法study (scalar);解說用一種內(nèi)部格式提高變量的訪問速度,同一時(shí)刻只對(duì)一個(gè)變量起作用。函數(shù)名lcuc調(diào)用語法retval = lc(string);retval = uc(str

41、ing);解說將字符串全部轉(zhuǎn)換成小/大寫字母。函數(shù)名lcfirstucfirst調(diào)用語法retval = lcfirst(string);retval = ucfirst(string);解說將第一個(gè)字母轉(zhuǎn)換成小/大寫。函數(shù)名quotameta調(diào)用語法newstring = quotemeta(oldstring);解說將非單詞的字母前面加上反斜線()。語句 : $string = quotemeta($string);等效于:$string = s/(W)/$1/g;常用于模式匹配操作中,確保字符串中沒有字符被看作匹配操作符。函數(shù)名join調(diào)用語法join (joinstr, list);解

42、說把字符串列表(數(shù)組)組合成一個(gè)長的字符串,在每兩個(gè)列表元素間插入串joinstr。函數(shù)名sprintf調(diào)用語法sprintf (string, fields);解說與printf類似,區(qū)別是結(jié)果不輸出到文件,而作為返回值賦給變量。例子$num = 26;$outstr = sprintf(%d = %x hexadecimal or %o octaln,$num, $num, $num);print ($outstr);結(jié)果輸出26 = 1a hexadecimal or 32 octal四、標(biāo)量轉(zhuǎn)換函數(shù)函數(shù)名chop調(diào)用語法$lastchar = chop (var);解說var可為變量或

43、數(shù)組,當(dāng)var為變量時(shí),最后一個(gè)字符被刪除并賦給$lastchar,當(dāng)var為數(shù)組/列表時(shí),所有元素的最后一個(gè)字符被刪除,最后一個(gè)元素的最后一個(gè)字母賦給$lastchar。函數(shù)名chomp調(diào)用語法result = chomp(var);解說檢查字符串或字符串列表中元素的最后一個(gè)字符是否為由系統(tǒng)變量$/定義的行分隔符,如果是就刪除。返回值為實(shí)際刪除的字符個(gè)數(shù)。函數(shù)名crypt調(diào)用語法result = crypt (original, salt);解說用DES算法加密字符串,original是將要加密的字符串,salt是兩個(gè)字符的字符串,定義如何改變DES算法,以使更難解碼。返回值為加密后的串。函

44、數(shù)名hex調(diào)用語法decnum = hex (hexnum);解說將十六進(jìn)制數(shù)(字符串形式)轉(zhuǎn)化為十進(jìn)制數(shù)。函數(shù)名int調(diào)用語法intnum = int (floatnum);解說將浮點(diǎn)數(shù)舍去小數(shù)部分轉(zhuǎn)化為整型數(shù)。函數(shù)名oct調(diào)用語法decnum = oct (octnum);解說將八進(jìn)制數(shù)(字符串形式)或十六進(jìn)制數(shù)(0 x.形式)轉(zhuǎn)化為十進(jìn)制數(shù)。函數(shù)名ord調(diào)用語法asciival = ord (char);解說返回單個(gè)字符的ASCII值,與PASCAL中同名函數(shù)類似。函數(shù)名chr調(diào)用語法$char = chr (asciival);解說返回ASCII值的相應(yīng)字符,與PASCAL中同名函數(shù)類

45、似。函數(shù)名pack調(diào)用語法formatstr = pack(packformat, list);解說把一個(gè)列表或數(shù)組以在實(shí)際機(jī)器存貯格式或C等編程語言使用的格式轉(zhuǎn)化(包裝)到一個(gè)簡單變量中。參數(shù)packformat包含一個(gè)或多個(gè)格式字符,列表中每個(gè)元素對(duì)應(yīng)一個(gè),各格式字符間可用空格或tab隔開,因?yàn)閜ack忽略空格。除了格式a、A和外,重復(fù)使用一種格式多次可在其后加個(gè)整數(shù),如: $twoints = pack (i2, 103, 241);把同一格式應(yīng)用于所有的元素則加個(gè)*號(hào),如: $manyints = pack (i*, 14, 26, 11, 83);對(duì)于a和A而言,其后的整數(shù)表示要?jiǎng)?chuàng)建

46、的字符串長度,重復(fù)方法如下: $strings = pack (a6 x 2, test1, test2);格式的情況比較特殊,其后必須加個(gè)整數(shù),該數(shù)表示字符串必須的長度,如果長度不夠,則用空字符(null)補(bǔ)足,如: $output = pack (a 6 a, test, test2);pack函數(shù)最常見的用途是創(chuàng)建可與C程序交互的數(shù)據(jù),例如C語言中字符串均以空字符(null)結(jié)尾,創(chuàng)建這樣的數(shù)據(jù)可以這樣做: $Cstring = pack (ax, $mystring);下表是一些格式字符與C中數(shù)據(jù)類型的等價(jià)關(guān)系:字符 等價(jià)C數(shù)據(jù)類型CcharddoubleffloatiintIunsi

47、gned int (or unsigned)llongLunsigned longsshortSunsigned short完整的格式字符見下表。 格式字符 描述a用空字符(null)補(bǔ)足的字符串A用空格補(bǔ)足的字符串b位串,低位在前B位串,高位在前c帶符號(hào)字符(通常-128127)C無符號(hào)字符(通常8位)d雙精度浮點(diǎn)數(shù)f單精度浮點(diǎn)數(shù)h十六進(jìn)制數(shù)串,低位在前H十六進(jìn)制數(shù)串,高位在前i帶符號(hào)整數(shù)I無符號(hào)整數(shù)l帶符號(hào)長整數(shù)L無符號(hào)長整數(shù)n網(wǎng)絡(luò)序短整數(shù)N網(wǎng)絡(luò)序長整數(shù)p字符串指針s帶符號(hào)短整數(shù)S無符號(hào)短整數(shù)u轉(zhuǎn)化成uuencode格式vVAX序短整數(shù)VVAX序長整數(shù)x一個(gè)空字節(jié)X回退一個(gè)字節(jié)以空字節(jié)(n

48、ull)填充函數(shù)名unpack調(diào)用語法list = unpack (packformat, formatstr);解說unpack與pack功能相反,將以機(jī)器格式存貯的值轉(zhuǎn)化成Perl中值的列表。其格式字符與pack基本相同(即上表),不同的有:A格式將機(jī)器格式字符串轉(zhuǎn)化為Perl字符串并去掉尾部所有空格或空字符;x為跳過一個(gè)字節(jié);為跳過一些字節(jié)到指定的位置,如4為跳過4個(gè)字節(jié)。下面看一個(gè)和X合同的例子: $longrightint = unpack (* X4 L, $packstring);此語句將最后四個(gè)字節(jié)看作無符號(hào)長整數(shù)進(jìn)行轉(zhuǎn)化。下面看一個(gè)對(duì)uuencode文件解碼的例子:1 : #

49、!/usr/local/bin/perl2 : 3 : open (CODEDFILE, /u/janedoe/codefile) |4 : die (Cant open input file);5 : open (OUTFILE, outfile) |6 : die (Cant open output file);7 : while ($line = ) 8 : $decoded = unpack(u, $line);9 : print OUTFILE ($decoded);10: 11: close (OUTFILE);12: close (CODEDFILE); 當(dāng)將pack和unpac

50、k用于uuencode時(shí),要記住,雖然它們與UNIX中的uuencode、uudecode工具算法相同,但并不提供首行和末行,如果想用uudecode對(duì)由pack的輸出創(chuàng)建的文件進(jìn)行解碼,必須也把首行和末行輸出(詳見UNIX中uuencode幫助)。函數(shù)名vec調(diào)用語法retval = vec (vector, index, bits);解說顧名思義,vec即矢量(vector)函數(shù),它把簡單變量vector的值看作多塊(維)數(shù)據(jù),每塊含一定數(shù)目的位,合起來即一個(gè)矢量數(shù)據(jù)。每次的調(diào)用訪問其中一塊數(shù)據(jù),可以讀取,也可以寫入。參數(shù)index就象數(shù)組下標(biāo)一樣,提出訪問哪一塊,0為第一塊,依次類推,要

51、注意的是訪問次序是從右到左的,即第一塊在最右邊。參數(shù)bits指定每塊中的位數(shù),可以為1,2,4,8,16或32。例子1 : #!/usr/local/bin/perl2 : 3 : $vector = pack (B*, 11010011);4 : $val1 = vec ($vector, 0, 4);5 : $val2 = vec ($vector, 1, 4);6 : print (high-to-low order values: $val1 and $val2n);7 : $vector = pack (b*, 11010011);8 : $val1 = vec ($vector,

52、0, 4);9 : $val2 = vec ($vector, 1, 4);10: print (low-to-high order values: $val1 and $val2n); 結(jié)果high-to-low order values: 3 and 13low-to-high order values: 11 and 12函數(shù)名defined調(diào)用語法retval = defined (expr);解說判斷一個(gè)變量、數(shù)組或數(shù)組的一個(gè)元素是否已經(jīng)被賦值。expr為變量名、數(shù)組名或一個(gè)數(shù)組元素。如果已定義,返回真,否則返回假。函數(shù)名undef調(diào)用語法retval = undef (expr);

53、解說取消變量、數(shù)組或數(shù)組元素甚至子程序的定義,回收其空間。返回值始終為未定義值,此值與空串等效。五、數(shù)組和列表函數(shù)函數(shù)名grep調(diào)用語法foundlist = grep (pattern, searchlist);解說與同名的UNIX查找工具類似,grep函數(shù)在列表中抽取與指定模式匹配的元素,參數(shù)pattern為欲查找的模式,返回值是匹配元素的列表。例子list = (This, is, a, test);foundlist = grep(/tT/, list);結(jié)果foundlist = (This, test);函數(shù)名splice調(diào)用語法retval = splice (array, slipelements, length, newlist);解說拼接函數(shù)可以向列表(數(shù)組)中間插入元素、刪除子列表或替換子列表。參數(shù)skipelements是拼接前跳過的元素?cái)?shù)目,length是被替換的元素?cái)?shù),newlist是將要拼接進(jìn)來的列表。當(dāng)newlist的長度大于length時(shí),后面的元素自動(dòng)后移,反之則向前縮進(jìn)。因此,當(dāng)length=0時(shí),就相當(dāng)于向列表中插入元素,而形如語句splice (array, -1, 0, Hell

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論