基于Petri网的单元控制系统及编程研究

2021-01-05 14:20孔志学穆英娟李凌霄
航天制造技术 2020年6期
关键词:变迁建模变量

孔志学 黄 飘 穆英娟 李凌霄

基于Petri网的单元控制系统及编程研究

孔志学 黄 飘 穆英娟 李凌霄

(上海航天精密机械研究所,上海 201600)

针对舱体制造单元控制系统开发与调试周期长、控制逻辑正确性难以评估的问题,提出一种基于Petri网建模仿真与面向对象的PLC程序快速设计方法。该方法首先依据产品工艺流程,形成单元制造流程,并基于Petri网建立制造单元控制系统模型,通过Petri网仿真与优化,使得Petri网模型可达、有界、无死锁、无冲突,再通过在PLC程序设计中融入库所、变迁、托肯、有向弧的元素,实现Petri网并发、争夺、共享资源的特性,最后,面向Petri网模型中的对象,将Petri网模型中的对象快速映射至PLC程序中,使PLC运行逻辑与Petri网模型保持一致。本文以舱体制造单元为例,阐述了该方法的应用。

Petri网;仿真;控制系统;PLC程序设计

1 引言

随着航天的快速发展,航天飞行器关重件对制造品质的要求不断增强,应用自动化制造单元的需求也随之增长,同时,同类结构件在制造单元中的适应性要求不断增强,使得制造单元控制系统的可靠性、易读性、可维护性要求不断提升。而PLC的梯形图不能用数学方法分析,不能直观地反映出自动控制系统中的协调控制、竞争控制和并行控制,因此可读性差,难于升级和维护[1]。

Petri网是一种离散并行系统的数学表示[2,3],靳舒琪[3]等提出一种面向对象分层次Petri网建模方法,确保了汽车零部件生产线运行过程无死锁现象;陈鹤峰[4]提出采用面向资源的Petri网——ROPN模型为制造系统建模,实现了制造系统死锁问题的有效避免;陈玉峰、李呈宗等[5]提出了基于可达图分析的Petri网控制器优化设计方法,实现了控制器的策略优化;焦志刚等[6]研究了基于Petri网的PLC控制系统设计方法,实现了Petri网模型到PLC程序的转换;石平义等[7]针对耳机部件自动装配设备基于Petri网开展了PLC控制系统研究,通过Petri网仿真验证指导设计了PLC程序。综上可知,Petri网模型是描述柔性制造系统的有效方法,然而Petri网模型到PLC程序的转换依然需要大量的人工语义翻译,PLC程序可读性差、易出错的问题尚未得到有效解决。

本文结合航天舱体结构件制造单元,通过分析产品工艺流程,建立单元控制系统的Petri网模型并仿真,保证了Petri网模型的活性、可达性、无死锁,并面向Petri网各元素设计PLC功能块,实现了Petri网模型到PLC程序的快速映射,降低了PLC程序设计的开发难度与设计周期,使PLC运行逻辑与Petri网模型保持一致,保证了PLC程序的正确性。

2 舱体制造单元

图1为航天舱体结构件制造单元,控制对象共包括2台数控机床、1台桁架机器人、1个缓存库(含出入库工位、上下料工位)、1个操作员等5部分。

图1 舱体制造单元组成图

2.1 产品工艺流程

舱体结构件制造单元主要包括2道工序,分别为OP10道车铣外圆、OP20道车铣内圆,如图2所示,OP10工序采用两端闷头装夹车削外圆,OP20工序采用主轴外圆定位、中心架支撑车内圆的装夹方式,两道工序加工前需对零件装夹定位的精度在机测量,加工后需对零件加工尺寸精度在机测量。

图2 舱体结构件车削单元工艺流程

2.2 单元的生产制造流程分析

根据单元的组成与产品工艺流程可分解单元的生产制造流程,如图3所示,详细说明如表1所示。其中,桁架机器人的上下料过程,缓存库的出入库和上下料过程,机床的测量和加工过程均由各自控制器或控制系统负责控制,单元控制系统负责各设备间的协调调度。

图3 单元制造流程图

表1 制造流程说明表

3 基于Petri网的制造单元建模

3.1 Petri网

根据上述单元生产流程的描述,其控制系统可以使用Petri网建模。通过Petri网仿真软件PIPE建立的舱体制造单元控制系统Petri网模型如图4所示,基于面向对象建模的思想,可将该单元划分为工件、OP10机床、OP20机床、桁架机器人、缓存库、操作员等6个对象,对象的状态用库所表示,对象状态的变化用变迁表示,工件的托肯数表示每批次加工的产品数量,机床、缓存库、机器人、操作员的托肯数表示该对象的数量,各库所和变迁的含义如表2所示。在某一控制对象状态的变化是其他控制对象变迁的输入条件时,在Petri网模型中,通常可设置门迁对象[8],实现消息在对象间的相互传递,可使用库所对象表示,使用方法与库所对象一致,表2中为门迁对象的库所有P7~P12、P56、P58。

图4 工件、机床、操作员、桁架机器人、缓存库的Petri网模型

表2 模型的部分库所、变迁含义表

3.2 Petri网模型的仿真与分析

Petri网分析方法包括可达标示图和可覆盖树、状态方程和不变量、语言分析方法、计算机仿真分析、结构分析等[9]。在 Petri 网模型中,元素的连接只能存在于库所与变迁之间。如果库所与库所之间存在连接、变迁与变迁之间存在连接或者是有孤立元素或多余及不完整信息存在,则视为模型错误[10]。通过该规则分析Petri网结构,检查Petri模型规范性,确认了该模型无异常结构,无死锁、冲突,可确保模型与实际的制造流程相符。

图5为PIPE软件Petri网可达标识图仿真分析结果,可见托肯经过54次变迁后,在T13之后达到P26,总仿真用时0.759s,根据仿真结果可以得出结论,该Petri网模型可以连续运行,具有活性、有界性,不存在死锁、竞争冲突的问题[9]。

图5 Petri网的可达图仿真

4 面向Petri网的PLC程序设计方法

通过针对Petri网元素开展PLC程序功能块设计,实现Petri网四类基本控制模型的PLC程序对应,进而对Petri网模型对象进行PLC程序快速设计,并对对象间的消息传递进行变量映射,形成完整的制造单元控制系统程序,最后,通过可视化界面,模拟桁架机器人、缓存库、操作员、机床等工作状态,进一步验证程序的正确性,如图6所示。

图6 面向Petri网的PLC程序设计步骤

4.1 PLC功能块设计

通过建立的Petri网模型的特点可知,Petri网的基本元素包括库所、变迁、有向弧、托肯,其中,库所包含托肯、输入输出变量,变迁包含输入输出变量、延时、优先级,有向弧连接库所与变迁,使得Petri网可描述四类基本控制模型:顺序控制模型、并行控制模型、同步控制模型和竞争控制模型,如图7所示。

图7 Petri网的四类基本控制模型

通过分析Petri网基本元素的特性,对PLC功能块进行了程序设计,基于PLC功能块实现了库所、变迁、托肯的特性,其中实现库所特性的PLC功能块FB_PLACE伪代码如下:

a. 根据库所输入变量增加库所的托肯数

IF 库所的托肯数量限制不等于0

THEN IF 已接收的托肯输入总数<库所限制的托肯数量 AND 库所输入变量为ON

THEN 当前库所的托肯数+1,并将库所输入变量置OFF END_IF

ELSE 库所的托肯数量无限制

IF 库所输入变量为ON

THEN 当前库所的托肯数+1,并将库所输入变量置OFF END_IF

END_IF

b. 根据库所的输出变量被接收情况,减少库所的托肯数

IF 库所现存托肯数量>0 AND 无输出被接收

THEN 将所有该库所的输出变量置ON

END_IF

IF 任一输出变量被置OFF

THEN IF 库所的托肯数>0

THEN 库所的托肯数-1执行1次

END_IF

END_IF

IF 当库所现存托肯数量=0

THEN 将所有该库所的输出变量置OFF

END_IF

其中,该库所功能块的输入变量对应Petri网托肯输入,功能块的输出变量对应Petri网有向弧输出,两者均使用BOOL型指针变量,在循环周期内,库所功能块不断接受托肯变量的输入并增加托肯数,在功能块包含托肯数大于零时,将所有输出至ON,在输出被接收时,相应减少托肯数量。

实现变迁特性的PLC功能块FB_Transition伪代码:

REPEAT

IF输入变量为ON

THEN 输入条件数量+1执行1次

END_IF

UNTIL遍历所有输入变量

END_REPEAT

IF输入条件数量=设置的条件数量阈值

THEN 所有输入变量置OFF 所有输出变量置ON

END_IF

其中,变迁功能块的输入条件变量对应Petri网的有向弧输入,功能块的输出变量对应托肯输出,在循环周期内,当输入条件数满足时,将全部输入变量置OFF,输出置ON。

因此,通过应用BOOL型指针变量,使库所功能块能够在变迁过程中,通过改变输入输出变量值,实现托肯数的实时更新。

4.2 Petri网基本控制模型的PLC程序实现

由于每个Petri网模型中的对象均由库所、变迁、有向弧和托肯构建的四种基本控制模型组成,本文基于上述设计的“库所”与“变迁”功能块,通过定义相应的库所、变迁对象,并进行输入输出变量地址映射、设置变迁的条件数,快速设计了与四种基本控制模型应对的PLC程序,如图7所示,其中,并行控制模型伪代码可表述如下:

a. 定义库所变量P2、P3、P4,变迁变量T1;

b. P2的输出变量=T1输入变量的地址;

c.P3的输入变量=T1输出变量的地址;

d.P4的输入变量=T1输出变量的地址;

e. 设置T1的条件数为1,输出变量数为2。

4.3 基于Petri网模型的PLC程序设计

基于四种基本控制模型的PLC程序,结合单元控制系统Petri网模型,针对每个对象模型进行了PLC程序功能块设计,以图4所示OP10工件对象举例说明程序设计过程。

a. 定义P0~P6库所对象

P0,P1,P2,P3,P4,P5,P6:FB_PLACE。

b. 定义T1~T6变迁对象

T0,T1,T2,T3,T4,T5,T6: FB_Transition。

c. 定义实现消息传递的库所对象

P7,P8,P9,P10,P11,P12:FB_PLACE。

d. 将变迁对象的输入输出与库所的输入输出变量进行变量地址映射,设置变迁的条件数、输出数,形成工件对象的PLC程序,其中,P0、P6、T0、T6功能块的伪代码如下:

P0(库所托肯数=OP10工件待加工数,P0的输出变量=T0输入变量的地址);

P6(P6的输入变量=T5输出变量的地址,P6的输出变量=T6输入变量的地址);

T0(输入条件数=1,输出条件数=2);

T6(输入条件数=2,输出条件数=1)。

e. 将门迁对象的输入输出变量与不同功能块间变迁对象的输入输出变量进行地址映射,实现消息在不同功能块间的传递。其中,P7功能块的伪代码为:P7(P7的输入变量=T0输出变量的地址,P7的输出变量=T46输入变量的地址)。

5 单元控制系统的可视化模拟与验证

通过Petri网模型分析,各对象间传递的消息即是单元控制系统与控制对象间的输入输出信号,为提前进一步验证单元控制系统的正确性,可通过PLC可视化界面的按灯控件模拟外部反馈信号,通过在适当时机模拟各控制对象反馈信号,可进一步验证单元控制系统运行逻辑的正确性。针对Petri网模型对象设置的模拟反馈信号如图8所示,将各物理对象任务完成的模拟信号设置为变迁对象的输入条件,可触发PLC程序按工艺流程全流程执行完毕,并使P0库所的托肯全部转移至P26库所,即OP10工件毛坯全部完成加工,转变为OP20成品工件。经过PLC程序运行逻辑与PIPE软件仿真Petri网模型运行逻辑对比验证,结果表明本文设计的PLC程序运行逻辑与所建立的Petri网模型仿真运行逻辑保持一致。

图8 按Petri网模型设置的模拟反馈信号示意图

6 结束语

a.提出一种基于Petri网建模仿真与面向对象的PLC程序快速设计方法。结果表明,面向对象的PLC程序设计方法能够实现Petri网模型到PLC程序的快速转换,无需人工进行语义到语法的翻译,控制系统设计效率大幅提高,程序的可阅读性高,更易于维护。

b. 基于Petri网模型快速设计的PLC程序继承了Petri网模型的特性,具备无死锁、无冲突,控制流程逻辑正确,系统可靠性高的优点。本文的研究结果对建立制造单元控制系统模型、编制控制系统程序具有指导意义和参考价值。

1 刘杰杰,赵不贿,朱天禹,等. Petri网平台上的LNG钢瓶生产线控制系统建模与设计[J]. 现代制造工程,2017(1):24~28,135

2 李俊英,景亮,赵不贿,等. 基于Petri网的食用菌工厂控制系统研究[J]. 电子器件,2014,37(5):927~931

3 王雪燃,张换香. 基于PLC软件的建模方法[J]. 电脑知识与技术,2018,14(22):225~227

4 靳舒琪. 基于Petri网的汽车零部件生产线建模与优化研究[D]. 北京:北京邮电大学,2019

5 陈鹤峰. 基于面向资源Petri网的自动化制造系统的死锁控制与优化[D]. 广州:广东工业大学,2019

6 李呈宗. 基于可达图分析的Petri网控制器优化设计[D]. 西安:西安电子科技大学,2018

7 焦志刚,杨慧远,杜宁. 基于Petri网的PLC控制系统设计研究[J]. 自动化仪表,2017(2):18~21

8 李玉晨. 基于OOPN的柔性制造系统控制过程建模与仿真[D]. 长春:长春工业大学,2017

9 董红斌,杨巨庆. Petri网:概念、分析方法和应用[J]. 哈尔滨师范大学自然科学学报,1999(5):59~63

10 李晨,魏玉光. 基于Petri网模型的口岸站作业流程分析及优化[J]. 铁道运输与经济,2020,42(2):93~102,114

Research on Cell Control System and Programming Based on Petri Net

Kong Zhixue Huang Piao Mu Yingjuan Li Lingxiao

(Shanghai Spaceflight Precision Machinery Institute, Shanghai 201600)

For the problems of long development and debugging cycle, and the difficulty of evaluating the correctness of the control logic of the control system of the cabin manufacturing unit, a rapid design method of PLC program based on Petri net modeling simulation and object-oriented is proposed.This method first forms the unit manufacturing process according to the product process, establishes the manufacturing unit control system model based on Petri net, and makes Petri net model reachable, bounded, no deadlock, no conflict, through Petri net simulation and optimization. Then, by integrating the elements of place, transition, token, and directed arc in the PLC program design, the characteristics of Petri net concurrency, contention, and shared resources are realized.Finally, facing the objects in the Petri net model, the objects in the Petri net model are quickly mapped into the PLC program, so that the PLC operation logic is consistent with the Petri net model.This article takes the cabin manufacturing unit as an example to illustrate the application of this method.

petri net;simulation;control system;PLC programming

孔志学(1989),硕士,机械工程专业;研究方向:数字化生产线技术。

2020-04-20

猜你喜欢
变迁建模变量
物理建模在教与学实践中的应用
小渔村的变迁
在经历中发现在探究中建模
抓住不变量解题
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
回乡之旅:讲述世界各地唐人街的变迁
一纸婚书见变迁
清潩河的变迁
分离变量法:常见的通性通法