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