在全球市场竞争日趋激烈、供求关系飞速变化的产业环境中, 自动仓储系统 (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网模型标准化、非功能化的需求, 开发通用的物流系统辅助设计工具。
上一篇: 浅谈仓储保管条线班组建设