3.3 仓储物流系统颜色和时序建模
由RPNs模型性质和变迁规则,可推出物流设备间货物运输的必要条件:源设备上有货,目的设备上无货。但仅此还不能充分描述变迁事件发生的充分条件。例如,众所周知的“死锁”和“陷阱”现象是由Petri网中“分支”和“会合”两种冲突关系造成的(如图4),它们在网络中共享输出和输入资源库所,对变迁的发生有着严格限制条件。为此,本文在RPNs中引入颜色和时序元素。
图4 Petri网冲突关系
定义4 一个着色资源Petri网(Colored Retrsource PetriNets,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 PetriNets,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上的会合运输问题。
3.4仓储物流系统信号建模
为便于设计物流控制系统,本文使用了事件T和条件I/O两个概念:事件是系统中所发生的动作,即货物在仓储设备间的传递;条件是系统状态的属性或逻辑描述,即仓储设备的状态。一个事件的发生可能需要几个条件同时成立,这些条件称为事件的前提条件,事件发生后可能引起条件的变化,并产生一些其他条件,后者称为事件的后果(后继条件)。本文信号建模设计不同于文献[15]之处在于:①变迁事件的发生条件I和后果O分别表示仓储系统中的输入传感器信号和输出控制器信号,目的是通过读入传感器的状态,并将更新的后果状态发送到控制器,来控制仓储系统运行;②采用综合信号、时序、颜色、资源信息的Petri网模型STCRPNs,以方便设计生成梯形图形式的PLC控制程序。
图5 实例中的货物运输示意图
定义6 一个STCRPNs表示为一个九元组N=(P,T,I,O,M0,C,D,X,Y)。其中:X是输入信号的布尔类型函数,当事件变迁的资源使能(连接变迁的前库所拥有标记,后库所无标记)、颜色使能和时间使能条件为真时,再判断输入物理信号是否为真,如果为真则函数输出为真,表明变迁可立即发生;Y是输出信号函数,可通过PLC代码执行物理信号输出。
图6 实例对应的Petri网模型
在STCRPNs模型中,所有变迁都能够同时并行地发生,并且在一定输入信号条件下,此过程连续不断,直至没有符合发生条件的变迁为止。但在PLC程序的实际执行中,这一过程有所不同:事件变迁是以扫描循环方式在一个个扫描周期内顺序执行,即在每一次循环扫描中,所有输入信号函数和输出信号函数均被判定和执行,使变迁得以发生。从STCRPNs模型到其对应PLC控制程序的设计过程将在下一章中讨论。
图7 映射的PLC梯形图程序
4 基于STCRPNs的仓储物流控制系统设计
在工程设计上的通用性和质量效率之间取折衷,文中提出了一种新的元素对应映射方法,适用于将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控制器S72400,在其程序设计工具STEP7中包括三类文件:程序文件(组织块OB和功能块FC)、数据文件(数据块DB和存储器M)和其他相关文件(如映射文件、临时变量、配置文件等,其他类型PLC的程序中一般也包含这三类文件)。文中方法的基本原理就是将系统STCRPNs模型中的各种元素分别映射到PLC中的对应组成文件中。
在系统STCRPNs建模过程中,将工程设计图中的输送机设备建模表示为库所资源:输送机1→p1,输送机2→p2,?,输送机5→p5;在系统控制程序设计中,将模型中的库所映射为PLC工作存储器中的一段数据区,即在数据块DB中创建一个DWORD(2个字,4个字节,32位)结构表示。例如:图5中DB100.DBD56表示数据块DB100中,从56~59字节代表库所p1(输送机1);DB100.DBD60表示数据块DB100中,从60~63字节代表库所p2(输送机2),...,以此类推。数据区的地址唯一标识了模型中库所资源的设备号,而数据区内的数据信息描述了模型中库所的颜色、时序属性及其中的标记等信息,如表2所示。类似地,模型中的货物标记映射转化为一个WORD(1个字,2个字节,16位)的数据结构,称之为货单,该货单由上层调度系统下达,包含了货物的运输路径信息,并与仓储数据库系统出入库命令一一对应,可存放在库所数据区内。货物标记在仓储设备间的运输,就表现为货单在PLC存储器数据区中的传递。货单的任务号在整个系统中唯一,在传送过程不变,且保存在数据块中,即使系统掉电也不会丢失,从而保证了仓储物流信息的准确性。
表2 库所数据区结构
模型中的变迁映射为PLC程序文件中的传递函数FC,完成货单在库所数据区之间传递的功能。同理,模型中的信号映射为PLC的相关文件,处理PLC的数字输入和数字输出,如光电开关、接近开关等传感器信号,以及控制电机运行的执行元件。变迁传递功能函数是控制系统运行的关键。在Petri网中,变迁通过输入弧和输出弧连接前后两个库所资源;在PLC中,对应的传递函数FC根据输入条件信号和变迁规则对发送方和接收方两个数据区进行操作,并输出控制信号。不同类型的变迁映射为不同的货单传递函数。如图7所示,以某输送机变迁传递功能函数FC10为例,表3是函数输入输出参数,其变迁规则控制流程分为以下四个步骤:
(1)将发送方货单Dword0与常数DW#16#8FFF相与,屏蔽高位,结果存入LD10,将LD10与常数零L#0比较,若不相等则表明发送方有货单,Oc2cupy0输出为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 变迁传递功能函数参数
在图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(Q315和Q416输出)高速转动。运输过程中,每隔0.5s,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的输入弧。
5 结束语
本文提出了一种面向仓储物流的STCRPNs,用于系统建模及控制程序设计。STCRPNs模型有以下几个特点:①是一种面向仓储物流系统设备资源的直观的Petri网模型;②易于化简、分析和仿真;③直接映射转化为PLC梯形图控制程序。未来工作是将OO设计技术引入到控制系统建模及设计过程中,通过集成化的控制软件自动设计工具,加速可验证的符合IEC61131-3标准的梯形图程序生成;另一个研究方向是使用可扩展标记语言(eXten-sible Markup Language,XML)技术来满足Petri网模型标准化、非功能化的需求,开发通用的物流系统辅助设计工具。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/