在全球市場競爭日趨激烈、供求關(guān)系飛速變化的產(chǎn)業(yè)環(huán)境中, 自動倉儲系統(tǒng) (Automated Storage and Retrieval System, AS/RS) 在現(xiàn)代企業(yè)物流和電子商務(wù)中得到了廣泛應(yīng)用, 已成為企業(yè)生產(chǎn)自動化和管理信息化的標志之一。AS/RS以其出入庫臺、輸送機、堆垛機、自動導引小車 (Auto Guided Vehicle, AGV) 等多種設(shè)備構(gòu)成了物料輸送線, 將企業(yè)生產(chǎn)線、配送線和立體倉庫緊密連接在一起?,F(xiàn)代企業(yè)制造的最主要特點是批量小、品種多、時間性要求高, 由多種生產(chǎn)工藝流程和物料傳輸流程組成, 系統(tǒng)運行因此變得十分復雜[1,2]。如何快速地挖掘出AS/RS中的瓶頸和關(guān)鍵路徑, 優(yōu)化運行方案, 充分挖掘資源潛力, 降低能耗, 以實現(xiàn)多路徑的物料輸送平衡、資源平衡、時間平衡, 是倉儲物流控制系統(tǒng)設(shè)計中的主要問題。本文針對AS/RS控制設(shè)計任務(wù), 提出了一種基于資源顏色時序信號的擴展Petri網(wǎng) (Signal Timed Colored Resource Petri Nets, STCRPNs) 的建模設(shè)計方法, 能夠?qū)⒛P陀成錇榭删幊踢壿嬁刂破?(Programmable Logic Controller, PLC) 控制程序, 并在實際應(yīng)用中得到了驗證。
對于這類離散事件動態(tài)系統(tǒng)問題, 國內(nèi)外學者基于Petri網(wǎng)理論進行了大量的研究, 目前主要集中在倉儲物流系統(tǒng)模型的調(diào)度策略和動態(tài)性能評估問題上。例如文獻[3]采用顏色Petri網(wǎng)構(gòu)建了AS/RS的動態(tài)模型, 并提出了一種出庫/入庫調(diào)度策略來實現(xiàn)系統(tǒng)的最大吞吐量。該模型既可用于系統(tǒng)設(shè)計階段離線性能評估, 也可用作系統(tǒng)在線監(jiān)控。文獻[4]和文獻[5]則將面向?qū)ο?(Object Oriented, OO) 技術(shù)引入AS/RS建模過程中, 使所建立的模型具有更強的可重用性和可操作性。在簡化Petri網(wǎng)模型方面, 顏色方法優(yōu)于OO方法, 但在實際建模過程中隨著顏色粒度大小的不同, 出現(xiàn)了各種各樣的著色方法[6]。考慮到AS/RS中每個任務(wù)的完成都需要一定時間, 文獻[7]引入了時間要素, 以堆垛機和小車作為托肯, 任務(wù)路徑作為顏色, 建立了著色賦時Petri網(wǎng) (Color-Time Petri Net, CTPN) 動態(tài)模型。在動態(tài)性能分析方面, 文獻[8]首先提出了基于Petri網(wǎng)的運輸時間模型及演繹模型, 對堆垛機運行進行建模, 通過模型分解和仿真驗證尋求系統(tǒng)最優(yōu)控制策略, 之后又進一步發(fā)展了隨機顏色Petri網(wǎng)理論[9], 利用隨機Petri網(wǎng)與馬爾可夫鏈的同構(gòu)等價關(guān)系, 通過可視仿真器PACE 3.1分析時間性能和資源利用率。文獻[10]則利用有限狀態(tài)機和模塊化的CTPN建立了Matlab狀態(tài)流仿真環(huán)境, 分析了多種調(diào)度策略對系統(tǒng)性能的影響。由于倉儲物流系統(tǒng)的資源約束性, 回路/環(huán)路“死鎖”的檢測和消除一直是調(diào)度控制策略研究的熱點問題。文獻[11]采用面向資源的Petri網(wǎng)構(gòu)建了AGV路徑的關(guān)系模型, 分析了小車回路/環(huán)路死鎖的條件和消除算法, 但沒有說明小車路徑的關(guān)聯(lián)關(guān)系, 而且包含多種設(shè)備的AS/RS比單一的AGV系統(tǒng)復雜, 該方法計算量大且困難。文獻[12]將廣義互斥約束概念擴展到CPN模型, 提出了防止環(huán)路一級死鎖和二級死鎖控制的策略, 并應(yīng)用到火車行駛路徑調(diào)度中, 但也未能徹底避免死鎖。文獻[13]提出的控制策略利用多容量庫所作為緩沖區(qū), 當有多輛小車作業(yè)時有利于避免死鎖, 但無法檢測出環(huán)路臨界狀態(tài)。文獻[14]采用庫所雙重著色的CTPN方法, 結(jié)合有向圖工具, 闡述了有軌小車 (Rail Guided Vehicle, RGV) 系統(tǒng)的環(huán)路死鎖原因和系統(tǒng)無死鎖的充要條件, 并提出一種死鎖控制方法, 但是該方法假定系統(tǒng)中只有一臺升降機, 并且不考慮RGV小車運行過程中的時間延遲等因素。上述方法均是面向仿真驗證的建模方法, 在系統(tǒng)仿真過程中應(yīng)用控制策略來解決“死鎖”等調(diào)度問題, 并不適于倉儲物流實際控制系統(tǒng)的設(shè)計開發(fā)。
迄今針對AS/RS控制系統(tǒng)設(shè)計的動態(tài)模型均尚未進行深入的研究。目前, 在工業(yè)控制系統(tǒng)上, PLC以其高重用性代替了硬接線式的控制繼電器。IEC 61131-3標準采用五種PLC程序設(shè)計語言:指令列表 (instruction list) 、結(jié)構(gòu)文本 (structured text) 、功能塊圖 (function block diagram) 、序列功能表 (sequential function chart) 和梯形圖 (ladder diagram) 。但這些都是低級語言, 整個設(shè)計開發(fā)工作量較大, 在很大程度上依賴于工程師的個人經(jīng)驗, 即時間、人力成本昂貴, 并且控制系統(tǒng)驗證工作一般只能通過多次仿真和現(xiàn)場試驗方式進行。因此, 使用Petri網(wǎng)作為PLC程序建模、分析和設(shè)計的自動化工具已經(jīng)成為一種研究趨勢。文獻[15]提出了一種信號解釋Petri網(wǎng) (Signal Interpreted Petri Nets, SIPNs) , 該模型能夠處理輸入/輸出信號, 并可通過一種圖形化編輯器轉(zhuǎn)成指令列表形式的PLC程序。但指令列表形式的程序難以理解, 而梯形圖采用“軟件設(shè)備”來模擬硬接線式繼電器的梯形邏輯配置[16], 被業(yè)界工程師廣泛地接受和使用。文獻[17]使用Petri網(wǎng)模型為一小型機器人設(shè)計和實現(xiàn)了一種順序控制器, 直接生成關(guān)聯(lián)的梯形圖程序, 但該方法僅在操作邏輯簡單的教育系統(tǒng)中得到了應(yīng)用。文獻[18]對使用Petri網(wǎng)和梯形圖進行控制系統(tǒng)設(shè)計的多種方案進行了深入對比分析后指出, 無論是采用用戶友好的高級語言或者硬件配置來產(chǎn)生Petri網(wǎng)控制器用于驗證、分析和調(diào)試, 還是反過來由PN網(wǎng)模型生成PLC控制程序, 這一相互轉(zhuǎn)化過程應(yīng)該是可驗證和自動化的。文獻[19]針對敏捷制造系統(tǒng)提出了一種“一對一”映射技術(shù), 將制造系統(tǒng)Petri網(wǎng)模型轉(zhuǎn)化為相應(yīng)的PLC梯形圖程序, 但是該方法缺乏一致性, 也不能處理實際倉儲物流系統(tǒng)復雜的調(diào)度和控制情況。
在實際應(yīng)用中筆者注意到:系統(tǒng)的托盤化貨物在倉儲設(shè)備上的物流運輸類似于Petri網(wǎng)中的標記在庫所之間的變遷活動, 由此提出了一種面向倉儲物流的STCRPNs建模設(shè)計方法, 所建立的系統(tǒng)動態(tài)模型清晰地描述了各種物流活動, 并可以處理活動之間的順序、并發(fā)、沖突關(guān)系, 以解決系統(tǒng)“死鎖”和“陷阱”問題。更重要的是, 本文引進了事件和條件信號概念, 使該方法除了可以用于仿真驗證外, 還可以采用元素對應(yīng)映射方法, 直接轉(zhuǎn)化為控制系統(tǒng)PLC程序, 有效降低了控制系統(tǒng)的開發(fā)、調(diào)試和業(yè)務(wù)流程再設(shè)計成本。本文的研究對象是單容量資源控制系統(tǒng), 即系統(tǒng)中每個設(shè)備資源容量為1, 這一設(shè)定也符合一般的倉儲物流系統(tǒng)。
一個典型的自動化倉儲物流系統(tǒng)有堆垛機、輸送機、RGV或AGV等設(shè)備, 包括入庫和出庫兩個工作流程。圖1中的入庫流程是將貨物裝在從空托盤區(qū)取來的空托盤上, 從入庫口——輸送機1 (鏈式或棍子) 入庫。在經(jīng)過輸送機2后, 按照入庫貨物的倉庫排號, 選擇不同的出入庫臺。一般立體倉庫的每個巷道對應(yīng)一臺堆垛機和兩個出入庫臺, 一個為入庫臺, 一個為出庫臺, 出入同一巷道、不同排號的貨物選擇相同的出入庫臺。貨物到達入庫臺位置后, 該巷道的堆垛機如果空閑, 就把貨物送到正確的倉庫貨位 (排號、層號、列號) 。例如:某貨物的倉庫貨位是P (3排2層5列) , 入庫路徑為R (輸送機1, 2, 4, 6, 7, 8和堆垛機2) 。出庫流程一般指把生產(chǎn)線 (或配送線) 上需要的貨物從立體倉庫中取出, 送到生產(chǎn)線 (或配送線) 附近的緩沖站上。例如:堆垛機1按出庫指令從指定貨位P (2排3層6列) 上取來貨物, 送到該巷道對應(yīng)的出庫臺——輸送機5, 然后經(jīng)輸送機6, 7, 9, 11, 到達出庫口輸送機12, 再由一臺AGV或者其他車類 (如RGV、叉車) 送到指定的緩沖站, 簡單的也可以是經(jīng)由傳送帶。緩沖站卸完貨后, 剩下的空托盤送上緩沖站, 經(jīng)AGV送至輸送機13, 然后由空托盤返回輸送機14, 15, 16送回空托盤區(qū), 從而完成一個完整的物流過程。
Petri網(wǎng)理論是由德國Carl Adam Petri博士于1962年提出的一種完善的圖形化數(shù)學工具[20], 適于描述和分析具有同步、通訊、資源共享等特點的并發(fā)過程系統(tǒng)。下面首先介紹一些Petri網(wǎng)的基本概念和符號, 更多信息可參考文獻[21]和文獻[22]。
定義1 一個Petri網(wǎng)表示為一個五元組N= (P, T, I, O, M0) 。其中:P={p1, p2, …, pm}為一組庫所集, m≥0;T={t1, t2, …, tn}為一組變遷集, n≥0, P∪T≠?, P∩T=?;I為P×T→N的輸入弧, 它是從庫所集到變遷集的一個映射, I (p, t) 為從庫所p到變遷t的輸入弧權(quán)值;O為T×P→N的輸出弧, 它是從變遷集到庫所集的一個映射, O (t, p) 為從變遷t到庫所p的輸出弧權(quán)值;M0:P→N為初始標記, 其中M (pi) 表示庫所pi中的標記 (Token) 數(shù), i=1, 2, …, m。
定義2 一個Petri網(wǎng)N= (P, T, I, O, M0) , 如果I (p, t) ={0, 1}, 且O (t, p) ={0, 1}, 則為普通Petri網(wǎng)。
定義3 一個Petri網(wǎng)N= (P, T, I, O, M0) , 如果t∈T, I (t) ∩O (t) =?或者p∈P, I (p) ∩O (p) =?, 則為純Petri網(wǎng)。
Petri網(wǎng)作為一種圖形化建模工具, 用圓圈表示庫所, 圓圈中的圓點數(shù)表示庫所擁有的標記數(shù), 描述了系統(tǒng)的狀態(tài);用柵條表示變遷, 用帶箭頭的弧線表示輸入/輸出弧, 反映了系統(tǒng)的動態(tài)行為。系統(tǒng)狀態(tài)的變化, 表現(xiàn)為標記通過變遷在庫所之間轉(zhuǎn)移, 其變遷規(guī)則為:如果M (p) ≥I (p, t) , 則變遷t是使能的;使能變遷t發(fā)生后則有M′ (p) =M (p) -I (p, t) +O (t, p) 。
由于倉儲物流系統(tǒng)中設(shè)備資源的有限性, 本文也采用了有限容量的資源Petri網(wǎng) (Resource Petri Nets, RPNs) 來描述系統(tǒng)。與其他Petri網(wǎng)表示資源方法[3,7,12,13]不同, 本文的具體方法是:將系統(tǒng)中的每個運輸設(shè)備 (軌道輸送機、堆垛機、AGV、RGV等) 表示為一個有限容量的庫所p資源, 每個設(shè)備中的貨物表示為庫所p的標記托肯, 貨物的數(shù)量表示為庫所p的標記數(shù)M (p) , 每兩個設(shè)備之間貨物的交接運輸表示為變遷t, 源設(shè)備上貨物的輸出表示為變遷t的輸入弧I, 目的設(shè)備上貨物的輸入表示為變遷t的輸出弧O, 即圖1中的典型倉儲物流系統(tǒng)可用圖2中的RPNs模型表示。
如果某個設(shè)備資源庫所p的容量Max (p) 與其中的標記數(shù)M (p) 滿足Max (p) ≥M (p) , 則稱相關(guān)變遷t是資源使能的。為簡化系統(tǒng)復雜性, 一般可將資源庫所p的容量設(shè)定為1 (Max (p) =1) , 即每個設(shè)備僅容納一件貨物。由于倉儲系統(tǒng)中的設(shè)備為專一使用, 每件貨物只能在兩個設(shè)備之間進行運輸交接, 即輸入弧I和輸出弧O是唯一的。因此RPNs模型是一個純的普通Petri網(wǎng) (如圖2) , 它清晰地描述了系統(tǒng)中各種物流活動, 以及活動之間的順序、并發(fā)、沖突關(guān)系 (圖2中的各元素具體含義如表1) , 并可以唯一地表示成關(guān)聯(lián)矩陣形式:
A=[aij]n×m,i∈{1,2,?,n},j∈{1,2,?,m}。 (1)
其中:
aij=a+ij-a-ij?pj∈Ρ?ti∈Τ?a+ij={1(ti,pj)∈Ο0其他?a-ij={1(pj,ti)∈Ι0其他。 (2)
表1 Petri網(wǎng)模型元素描述 導出到EXCEL
元素 |
描述 |
p0 |
系統(tǒng)中具有無限容量的虛資源, 包括立體倉庫貨架、緩沖區(qū)、空托盤區(qū)等 |
p1, p2, …, p16 |
輸送機1~16 |
p17, p18 |
堆垛機1~2 |
p19 |
AGV |
t1, t2, t4, t5, t6, t7, t8, t9, t10, t13, t14, t15, t18, t19, t20 |
貨物在輸送機間運輸?shù)氖录? |
t3, t11 |
堆垛機取輸送機上貨物的事件 |
t5, t12 |
堆垛機向輸送機卸貨的事件 |
t16 |
AGV取出庫口輸送機12上貨物的事件 |
t17 |
AGV向輸送機13卸載空托盤的事件 |
t22, t24 |
堆垛機將貨物存到立體倉庫貨架的事件 |
t23, t25 |
堆垛機揀選立體倉庫貨架上貨物的事件 |
t21 |
貨物裝在空托盤上放置到入庫口輸送機1上的事件 |
t26 |
AGV卸載貨物到指定緩沖站的事件 |
t27 |
AGV取緩沖站空托盤的事件 |
t28 |
輸送機16上的空托盤卸載到空托盤區(qū)的事件 |
通過關(guān)聯(lián)矩陣可以分析模型的結(jié)構(gòu)性質(zhì), 如復雜倉庫物流系統(tǒng)中經(jīng)常出的“死鎖”和“陷阱”, 可根據(jù)判定定理1被檢測出來。
定理1 一個Petri網(wǎng)N= (P, T, I, O, M0) , A為N的關(guān)聯(lián)矩陣, Pi={pi1, pi2, …, pik}為N的一個庫所子集, 則Pi為網(wǎng)的一個死鎖 (陷阱) 的充分必要條件是:A關(guān)于Pi的列生成子陣A1, A2, …, Ak中, 每個非全零行至少包含一個“-1” (或“1”) 元素。
根據(jù)Petri網(wǎng)的運算規(guī)則, 此RPNs模型可進行保性化簡, 以便分析與仿真。由系統(tǒng)中設(shè)備資源庫所的所屬分類, 圖2中的模型可化簡為圖3所示的輸送機系統(tǒng)子網(wǎng)PNR、堆垛機系統(tǒng)子網(wǎng)PNS、AGV系統(tǒng)子網(wǎng)PNA等子系統(tǒng)Petri網(wǎng)模型的組合。通過化簡的RPNs模型, 可以看到各個庫所容量和庫所資源的總量不變;變遷分為子網(wǎng)內(nèi)部和子網(wǎng)間的, 變遷規(guī)則不變, 變遷發(fā)生的條件也相同, 原始模型的結(jié)構(gòu)性質(zhì)得到保持, 物流信息的表示更為清晰和直觀。
由RPNs模型性質(zhì)和變遷規(guī)則, 可推出物流設(shè)備間貨物運輸?shù)谋匾獥l件:源設(shè)備上有貨, 目的設(shè)備上無貨。但僅此還不能充分描述變遷事件發(fā)生的充分條件。例如, 眾所周知的“死鎖”和“陷阱”現(xiàn)象是由Petri網(wǎng)中“分支”和“會合”兩種沖突關(guān)系造成的 (如圖4) , 它們在網(wǎng)絡(luò)中共享輸出和輸入資源庫所, 對變遷的發(fā)生有著嚴格限制條件。為此, 本文在RPNs中引入顏色和時序元素。
定義4 一個著色資源Petri網(wǎng) (Colored Resource Petri Nets, CRPNs) 表示為一個六元組N= (P, T, C, I, O, M0) 。其中C是庫所和變遷的顏色集:C (pi) ={ai1, ai2, …, aim-1, aim}, i=1, 2, …, m為顏色數(shù);C (tj) ={bj1, bj2, …, bjn-1, bjn}, j=1, 2, …, n為顏色數(shù);I:C (p) ×C (t) →N (非負整數(shù)) 為輸入映射, 取顏色aih時的pi到取顏色bjk時的tj的輸入連接數(shù)記為I (aih, bjk) ;O:C (t) ×C (p) →N (非負整數(shù)) 為輸出映射, 取顏色bjk時的tj到取顏色aih時的pi的輸出連接數(shù)記為O (bjk, aih) 。
在CRPNs模型中, 根據(jù)每個標記的目的屬性賦予其相應(yīng)的顏色Map (M, C) , 來規(guī)定它參與相應(yīng)顏色的變遷, 并經(jīng)歷相應(yīng)顏色的庫所, 最終到達目的庫所。例如:圖2中, 不妨令C (p2) ={a1, a2}, C (t2) ={a1}, C (t4) ={a2}, C (p7) ={a3, a4}, C (t10) ={a3}, C (t9) ={a4}, 當庫所p2的標記顏色為a1時 (Map (Mp2, C) =a1) , 顏色為a1的變遷t2可發(fā)生 (C (t2) =a1) , 則稱變遷t2是顏色a1使能的。如果庫所p2的標記顏色為a2時 (Map (Mp2, C) =a2) , 顏色為a2的變遷t4可發(fā)生。這就解決了圖1中貨物在輸送機2和6上的分叉運輸問題。
定義5 一個時序著色資源Petri網(wǎng) (Timed Colored Resource Petri Nets, TCRPNs) 表示為一個七元組N= (P, T, C, I, O, D, M0) 。其中:D={di, i=1, 2, …, n}:P→N (實數(shù)) , 為庫所的時間集合 (di為pi的時延) 。為每一庫所引入一時延, 代表變遷事件發(fā)生經(jīng)歷的時間后產(chǎn)生新的狀態(tài)所需要的時間。
規(guī)定標記工作時間等于其產(chǎn)生時間加上其所在庫所的時延。如果兩個輸入庫所都具有標記, 能使變遷發(fā)生來競爭共享的輸出庫所, 則較早工作時間的標記有優(yōu)先權(quán), 即先入先出 (First-In First-Out, FIFO) 規(guī)則。例如:假設(shè)圖2中d4=3, d5=15, t4和t5同時發(fā)生, 即在圖1中同時有貨物Token1和貨物Token2分別從輸送機2→輸送機4和堆垛機1→輸送機5, 貨物標記先到輸送機2, 貨物標記2后到輸送機5, 標記1的工作時間早于標記1的工作時間, 則貨物標記1優(yōu)先發(fā)生變遷, t7優(yōu)先于t5發(fā)生。這就解決了圖1中貨物在輸送機4和5上的會合運輸問題。
為便于設(shè)計物流控制系統(tǒng), 本文使用了事件T和條件I/O兩個概念:事件是系統(tǒng)中所發(fā)生的動作, 即貨物在倉儲設(shè)備間的傳遞;條件是系統(tǒng)狀態(tài)的屬性或邏輯描述, 即倉儲設(shè)備的狀態(tài)。一個事件的發(fā)生可能需要幾個條件同時成立, 這些條件稱為事件的前提條件, 事件發(fā)生后可能引起條件的變化, 并產(chǎn)生一些其他條件, 后者稱為事件的后果 (后繼條件) 。本文信號建模設(shè)計不同于文獻[15]之處在于:①變遷事件的發(fā)生條件I和后果O分別表示倉儲系統(tǒng)中的輸入傳感器信號和輸出控制器信號, 目的是通過讀入傳感器的狀態(tài), 并將更新的后果狀態(tài)發(fā)送到控制器, 來控制倉儲系統(tǒng)運行;②采用綜合信號、時序、顏色、資源信息的Petri網(wǎng)模型STCRPNs, 以方便設(shè)計生成梯形圖形式的PLC控制程序。
定義6 一個STCRPNs表示為一個九元組N= (P, T, I, O, M0, C, D, X, Y) 。其中:X是輸入信號的布爾類型函數(shù), 當事件變遷的資源使能 (連接變遷的前庫所擁有標記, 后庫所無標記) 、顏色使能和時間使能條件為真時, 再判斷輸入物理信號是否為真, 如果為真則函數(shù)輸出為真, 表明變遷可立即發(fā)生;Y是輸出信號函數(shù), 可通過PLC代碼執(zhí)行物理信號輸出。
在STCRPNs模型中, 所有變遷都能夠同時并行地發(fā)生, 并且在一定輸入信號條件下, 此過程連續(xù)不斷, 直至沒有符合發(fā)生條件的變遷為止。但在PLC程序的實際執(zhí)行中, 這一過程有所不同:事件變遷是以掃描循環(huán)方式在一個個掃描周期內(nèi)順序執(zhí)行, 即在每一次循環(huán)掃描中, 所有輸入信號函數(shù)和輸出信號函數(shù)均被判定和執(zhí)行, 使變遷得以發(fā)生。從STCRPNs模型到其對應(yīng)PLC控制程序的設(shè)計過程將在下一章中討論。
在工程設(shè)計上的通用性和質(zhì)量效率之間取折衷, 文中提出了一種新的元素對應(yīng)映射方法, 適用于將STCRPNs模型映射生成為與其相應(yīng)的PLC控制程序?,F(xiàn)以實際工程應(yīng)用 (青島澳柯瑪空調(diào)器廠AS/RS) 中的一個輸送機控制實例來說明映射轉(zhuǎn)化過程, 如圖5~圖7所示。其中, 圖5為AS/RS工程設(shè)計圖的一部分, 包括輸送機設(shè)備1, 2, …, 5, 傳感器輸入I4.0, I4.1, …, I5.3, 控制電機輸出Q4.0, Q4.1, …, Q5.3等, 物流輸送路徑為輸送機1→輸送機3→輸送機5, 輸送機1→輸送機2, 輸送機4→輸送機5, 圖6和圖7分別為對應(yīng)的STCRPNs模型和部分PLC梯形圖控制程序。本實例中采用了西門子的PLC控制器S7-400, 在其程序設(shè)計工具STEP 7中包括三類文件:程序文件 (組織塊OB和功能塊FC) 、數(shù)據(jù)文件 (數(shù)據(jù)塊DB和存儲器M) 和其他相關(guān)文件 (如映射文件、臨時變量、配置文件等, 其他類型PLC的程序中一般也包含這三類文件) [23]。文中方法的基本原理就是將系統(tǒng)STCRPNs模型中的各種元素分別映射到PLC中的對應(yīng)組成文件中。
在系統(tǒng)STCRPNs建模過程中, 將工程設(shè)計圖中的輸送機設(shè)備建模表示為庫所資源:輸送機1→p1, 輸送機2→p2, …, 輸送機5→p5;在系統(tǒng)控制程序設(shè)計中, 將模型中的庫所映射為PLC工作存儲器中的一段數(shù)據(jù)區(qū), 即在數(shù)據(jù)塊DB中創(chuàng)建一個DWORD (2個字, 4個字節(jié), 32位) 結(jié)構(gòu)表示。例如:圖5中DB100. DBD56表示數(shù)據(jù)塊DB100中, 從56~59字節(jié)代表庫所p1 (輸送機1) ;DB100. DBD 60表示數(shù)據(jù)塊DB100中, 從60~63字節(jié)代表庫所p2 (輸送機2) , …, 以此類推。數(shù)據(jù)區(qū)的地址唯一標識了模型中庫所資源的設(shè)備號, 而數(shù)據(jù)區(qū)內(nèi)的數(shù)據(jù)信息描述了模型中庫所的顏色、時序?qū)傩约捌渲械臉擞浀刃畔? 如表2所示。類似地, 模型中的貨物標記映射轉(zhuǎn)化為一個WORD (1個字, 2個字節(jié), 16位) 的數(shù)據(jù)結(jié)構(gòu), 稱之為貨單, 該貨單由上層調(diào)度系統(tǒng)下達, 包含了貨物的運輸路徑信息, 并與倉儲數(shù)據(jù)庫系統(tǒng)出入庫命令一一對應(yīng), 可存放在庫所數(shù)據(jù)區(qū)內(nèi)。貨物標記在倉儲設(shè)備間的運輸, 就表現(xiàn)為貨單在PLC存儲器數(shù)據(jù)區(qū)中的傳遞。貨單的任務(wù)號在整個系統(tǒng)中唯一, 在傳送過程不變, 且保存在數(shù)據(jù)塊中, 即使系統(tǒng)掉電也不會丟失, 從而保證了倉儲物流信息的準確性。
表2 庫所數(shù)據(jù)區(qū)結(jié)構(gòu) 導出到EXCEL
結(jié)構(gòu)/bit |
描述 | 屬性 |
32~24 |
運輸時間 | 時間 |
23 |
完成為1, 未完成為0 | |
22 |
故障為1, 正常為0 | |
21 |
超差為1, 正常為0 | |
20 |
高位為1, 低位為0 | |
19 |
有貨為1, 無貨為0 | 顏色 |
18 |
快為1, 慢為0 | |
17 |
正為1, 反為0 | |
16 |
運行為1, 停止為0 | |
15~12 |
貨物目的地 | |
11~0 |
貨物貨單 | 標記 |
模型中的變遷映射為PLC程序文件中的傳遞函數(shù)FC, 完成貨單在庫所數(shù)據(jù)區(qū)之間傳遞的功能。同理, 模型中的信號映射為PLC的相關(guān)文件, 處理PLC的數(shù)字輸入和數(shù)字輸出, 如光電開關(guān)、接近開關(guān)等傳感器信號, 以及控制電機運行的執(zhí)行元件。變遷傳遞功能函數(shù)是控制系統(tǒng)運行的關(guān)鍵。在Petri網(wǎng)中, 變遷通過輸入弧和輸出弧連接前后兩個庫所資源;在PLC中, 對應(yīng)的傳遞函數(shù)FC根據(jù)輸入條件信號和變遷規(guī)則對發(fā)送方和接收方兩個數(shù)據(jù)區(qū)進行操作, 并輸出控制信號。不同類型的變遷映射為不同的貨單傳遞函數(shù)。如圖7所示, 以某輸送機變遷傳遞功能函數(shù)FC10為例, 表3是函數(shù)輸入輸出參數(shù), 其變遷規(guī)則控制流程分為以下四個步驟:
(1) 將發(fā)送方貨單Dword0與常數(shù)DW#16#8FFF相與, 屏蔽高位, 結(jié)果存入LD10, 將LD10與常數(shù)零L#0比較, 若不相等則表明發(fā)送方有貨單, Occupy0輸出為1, 否則輸出為0, 表示沒有貨單。同理, 將接收方的貨單Dword1與常數(shù)DW#16#8FFF相與, 屏蔽高位, 若結(jié)果不為零則表明接收方有貨單, Occupy1輸出為1, 否則輸出為0, 表示沒有貨單。
(2) 如果發(fā)送方有貨單, 接收方?jīng)]有貨單, 且發(fā)送條件成立, 則將發(fā)送方貨單送給接收方, 即Dword0的內(nèi)容寫入Dword1。
(3) 如果發(fā)送方和接收方都有貨單, 且兩張貨單相同, 表明貨物 (貨單) 處于發(fā)送過程中, 將傳送標志Sent置為1, 否則為0。如果接收方貨物收到標志Received為1, 則將發(fā)送方貨單清零。在發(fā)送過程中, 將Dword1送LD18, 每經(jīng)過一個時間單位, 將Dword1的內(nèi)容加L#1048576, 即在貨單的發(fā)送時間計數(shù)上加1。若發(fā)送時間大于需要減速時間, 標志Slow置為1, 進入慢速運輸狀態(tài)。
(4) 如果接收信號為真, 則發(fā)送過程結(jié)束, 發(fā)送方中的貨單清空。
表3 變遷傳遞功能函數(shù)參數(shù) 導出到EXCEL
參數(shù) |
類型 | 描述 | 屬性 |
Dword0 |
DWORD | 發(fā)送方設(shè)備 | 庫所 |
Dword1 |
DWORD | 接收方設(shè)備 | 標記 |
Send |
BOOL | 發(fā)送條件 | 輸入條件 |
Received |
BOOL | 接收到的條件 | |
Time Base |
BYTE | 時間單位 | 時間 |
Slow Time |
DWORD | 開始減速時間 | |
Occupy0 |
BOOL | 發(fā)送方有無貨單 | 函數(shù)輸出 |
Occupy1 |
BOOL | 接收方有無貨單 | |
Sent |
BOOL | 貨單是否在傳送 | |
Slow |
DWORD | 高低速判斷 |
在圖5中, 變遷傳遞函數(shù)FC10將貨物從輸送機3 (DBD64) 運送到輸送機5 (DBD72) , 對應(yīng)圖6的Petri網(wǎng)模型, 轉(zhuǎn)換為PLC的梯形圖控制程序 (如圖7) 。模型映射關(guān)系為:p3→DBD64, p5→DBD72, t3→FC10 (DBD64→DBD72) , X→I4.6, Y→{Q4.6, Q3.5, Q5.3}。當貨物完全處于輸送機3 (DBD64) 上時, 貨物托盤遮住光電管I4.6。如果此時輸送機5 (DBD72) 處沒有貨物, 即DBD72中沒有貨單, 則貨單傳遞函數(shù)FC10的輸入條件成立, 執(zhí)行FC10將DBD64中的貨單送給DBD72, 并且輸出L0.0, L0.1, L0.2全部為1, 控制電機M (Q3.5和Q4.6輸出) 高速轉(zhuǎn)動。運輸過程中, 每隔0.5 s, DBD72中的時間計數(shù)加1。當貨物遮住光電開關(guān)I5.1時, 執(zhí)行FC10將DBD64的貨單清零, 貨單運送完畢, 此時L0.0=0, L0.1=1, L0.2=0, 電機M停止轉(zhuǎn)動。從圖7可以看出, 輸送機3 (DBD64) 的電機M的運轉(zhuǎn)有兩種情況:①貨物從DBD64輸出到DBD72;②貨物從DBD56輸入到DBD64。PLC在執(zhí)行程序時, 同一個輸出線圈總是以程序中的最后一個為準, 因此為避免程序混亂, 控制信號輸出線圈只能觸發(fā)一次。對于DB64來說, 變遷傳遞函數(shù)FC10包括從DB64到DBD72的輸出弧和從DB56到DBD64的輸入弧。
本文提出了一種面向倉儲物流的STCRPNs, 用于系統(tǒng)建模及控制程序設(shè)計。STCRPNs模型有以下幾個特點:①是一種面向倉儲物流系統(tǒng)設(shè)備資源的直觀的Petri網(wǎng)模型;②易于化簡、分析和仿真;③直接映射轉(zhuǎn)化為PLC梯形圖控制程序。未來工作是將OO設(shè)計技術(shù)引入到控制系統(tǒng)建模及設(shè)計過程中, 通過集成化的控制軟件自動設(shè)計工具, 加速可驗證的符合IEC 61131-3標準的梯形圖程序生成;另一個研究方向是使用可擴展標記語言 (eXtensible Markup Language, XML) 技術(shù)來滿足Petri網(wǎng)模型標準化、非功能化的需求, 開發(fā)通用的物流系統(tǒng)輔助設(shè)計工具。
權(quán)所有©:上海陽合儲運
專業(yè)承接上海倉庫租賃、上海倉儲配送物流、上海電商倉儲企業(yè)服務(wù)與微笑同在"的先進理念不斷發(fā)展壯大。