基于混杂petri 网的多通道控制技术的研究*

2013-12-23 05:47王贤蛟
组合机床与自动化加工技术 2013年5期
关键词:任务量库所管理器

王贤蛟,黄 艳

(1.中国科学院 研究生院,北京 100049;2.中国科学院 沈阳计算技术研究所,沈阳 110168)

0 引言

数控技术的应用不但给传统制造业带来了革命性的变化,它对国计民生的一些重要行业的发展起着越来越重要的作用。多通道多轴联动、复合加工技术是数控技术的主要发展趋势之一。与单通道数控系统相比多通道可以提高工件加工的效率,另外在复合加工中减少了工件因装夹过程带来的误差,提高了工件的加工精度。因此许多数控生产厂商都将多通道技术纳入研究热点。例如西门子公司从810 系统就引入了通道的概念,到了840D 系统,多通道控制技术更加成熟。虽然目前国内已实现多通道技术,但是在通道数目和联动轴数以及复合加工方法方面与国外相比还存在一定的差距,并且在实际应用中验证还不够全面。

在多通道控制技术中,通道之间的协同控制是关键。在研究分析多通道数控技术时,需要有一个良好的模型来表示通道之间的并发、异步、冲突等。Petri 网是一种系统建模与分析的工具,用图形化的方式易于描述系统中存在的并发、异步等关系,因此可以用petri 网对其进行建模分析。

混杂petri 网由典型petri 网扩展而来,H.Alla 和R.David[2]首先提出了混杂petri 网的概念,之后人们根据应用领域的不同,提出针对特定领域的混杂petri 网。文献[6]对混杂petri 进行了扩展提出了一阶混杂petri 网,文献[7]利用一阶混杂petri 网对分布式制造系统进行了建模与分析。本文通过对连续petri 网和着色petri 网进行综合,给出用于描述多通道协同控制功能的混杂petri 网的形式化定义,并在此基础上进行多通道控制功能的设计及仿真。

1 多通道数控系统

多通道多轴联动技术是数控技术发展的主要技术之一。在具有多通道的高档数控系统中,每一个通道相当于一个独立的CNC 控制系统,可以独立地进行工件的加工,也可以和其他通道进行合作共同完成同一加工任务。总结多通道数控系统的特点如下:

(1)各通道都拥有独立的几何轴。因为每个通道相当于一个独立的CNC 控制系统,所以要求每个通道内拥有各自独立的几何轴,即独立的X、Y 和Z 轴。

(2)由于机械结构的限制,某些轴需要作为公共轴,公共轴可以在不同的通道内运行,即各个通道都可以对公共轴进行NC 编程。

(3)通道之间必须具备协调等待的功能。多通道数控系统在运行过程中,通道之间可能存在时间、工序上的约束,这就要求通道之间具备协调等待功能。

(4)各通道拥有独立的加工程序,每个通道内的程序都有各自的G 代码、M 代码等。

具有多通道控制功能的数控系统,能够并发地进行工件加工,节省了系统资源,提高了加工效率。另外在复合加工中,工件的一次装夹可以完成多道工序,减少了装夹过程中带来的误差,提高了工件的加工精度。

多通道技术中涉及两项基本的关键技术,第一是动态资源管理,即合理地对公共轴资源进行分配管理以解决因多个通道申请公共轴资源时引起的通道之间的竞争和死锁。第二是通道之间的协同控制技术。多通道数控系统在运行过程中,各个通道之间可能需要相互协作,共同完成同一工件的加工,此时就需要通道之间的协调等待。本文重点研究通道之间的协同控制技术。

2 混杂petri 网的形式化定义

Petri 网是由德国卡尔.A.佩特于1960 年在他的博士论文中提出来的,主要是从物理的角度去描述并发现象。之后petri 网被广泛地应用于计算机系统、制造系统和离散事件系统。Petri 网能够对系统中的顺序、并发、冲突、同步等问题建立模型并使之形象化。但是经典的petri 网存在一定的局限性,例如没有测试库所中令牌的能力、模型容易变得很庞大等。为此人们根据所应用领域存在的特点,对经典petri 网进行了不同的扩展,增强了petri 网的描述能力。文献[4]利用在经典petri 网的基础上扩展的时延petri 网对交通信号配时方案进行了建模与分析。文献[1]综合了受控petri 网、颜色petri 网和赋时petri 网的优势提出一种新的混合petri 网,并运用混合petri 网对复线列车调度进行了建模与仿真。

连续petri 网可以描述连续变量的变化,着色petri 网将托肯赋予属性,可以有效地降低所建模型的复杂度。在多通道数控系统中,通道工作状态的连续性以及能够引起通道状态变化的离散信号使得多通道数控系统表现出复杂的混杂特性。本文通过综合连续petri 网和着色petri 网的优势,提出一种适合数控系统建模的混杂petri 网,其定义如下:

定义1:混杂petri 网是一个七元组:

∑:代表多通道数控系统中涉及的资源、信号集合。

P:P=Pc∪Pd,代表库所,分为连续库所和离散库所,分别用单圆圈和双圆圈表示。连续库所表示数控系统中任务量,离散库所表示的是通道的状态和资源的存储。

T:变迁T 分为连续变迁Tc 和离散变迁Td。连续变迁Tc 用空心矩形表示,离散变迁Td 用实心矩形表示。连续变迁表示多通道数控系统中任务量的变化,任务量的变化间接的反映了通道所处的状态,离散变迁表示的是通道的状态变化和资源的流动。变迁可以根据托肯的类型将其转入不同的库所。

F:PxT∪TxP 是一个有限弧集。

C:表示一个分类函数,定义为C:P->∑,指定库所P1∈P 中的托肯的类型为C(P1)。

G:是一个变迁函数,指定变迁发生必须满足的前提条件。

M:petri 网的初始化标示。

库所与变迁的表示如图1 所示。

图1 库所和变迁的表示

定义2:Petri 网的运行规则

(1)变迁使能条件

在标识M 下,对于∀t∈T 具有发射权的条件为:

①∀p∈·t 若(p,t)∈F,则M(p)≥W(p,t)

②变迁函数G(t)必须得到满足

(2)标识的变化规则

若∀t∈T 在标识M 下是使能的,则变迁t 发生后标识M 变为M·对于∀p∈P,

3 基于混杂petri 网的协同控制模型

在多通道协同控制的过程中,通道之间可能存在时序、工序上的限制,使得通道之间需要相互等待以达到通道之间的同步。在设计多通道的混杂petri网模型时,采用连续库所来描述数控系统中任务量的变化,将协同控制信号定义为petri 网中的托肯,同时给托肯赋予不同的属性,即同一库所中的托肯可以表示不同的信号。采用此种方法可以有效地降低模型的复杂度。根据以上分析建立基于混杂petri 网的多通道协同控制的模型,如图2 所示。

图2 基于混杂petri 网的多通道协同控制模型

在模型当中,通过消息机制实现通道之间的协同控制。消息并不是在通道之间简单地传递,而是由第三方即通道管理器统一进行消息的处理与转发。即各个通道只要和通道管理器完成通信即可,不需要通道之间的直接通信。

上述模型中,连续库所中的实数代表了通道中的加工任务量。离散库所中的token 代表了通道运行过程中涉及的不同信号以及表示通道状态的标识,其中不同颜色的token 代表不同的信号和状态标识。上图中红色token 代表通道二的等待信号,蓝色token 代表通道一的等待信号,黑色token 则表示通道的状态标识。每个变迁都有自己的变迁函数,其中变迁T15、T9 和变迁T6、T10 的变迁函数通过对库所P13、P15 中的任务量的检测完成对变迁的控制。变迁T3 和T4 的变迁函数通过对库所P4 中的token类型进行判断以决定变迁是否发生。库所P7、P11、P17、P8、P12、P18 分别代表了通道一、通道二处于运行、等待和结束三个不同的状态。P13、P15 中的m和n 分别代表通道一和通道二中初始的任务量,P14、P16 中的m1、n1 分别代表通道一、通道二中已完成的任务量。变迁T9、T10 监测连续库所P13、P15 中的任务量的变化,当P13、P15 中的任务量减少到某一值时,变迁T9、T10 会使通道一、通道二由运行状态进入等待状态,同时通道一、通道二产生等待信号进入库所P5、P6。通道一、通道二的等待信号通过变迁T6、T5 发送到通道管理器。通道管理器负责对信号的处理、暂存和发送,其中P1 代表通道管理器接收通道一、通道二等待信号的缓冲区,库所P3 表示正在对信号进行分析处理,库所P2 用来存放暂时未得到响应的等待信号。变迁T3、T4 分别将通道管理的相应信号发送到通道一和通道二。上述模型表明两个通道正处于等待状态,等待通道管理器的同步信号,而通道管理器正在对通道一、通道二发来的信号进行接受和处理。

4 基于ptolemy II 的仿真及结果分析

由于支持多通道控制功能的高档数控系统其功能复杂性及机床结构的限制,本文采用Ptolemy II 对其进行仿真,Ptolemy II[5]是美国伯克利大学开发的,主要用于异构、并发嵌入式系统的建模仿真与设计的平台。Ptolemy II提出了一种面向角色的系统级设计方法,把整个系统分解成功能不同的角色。角色之间的通信通过计算模型来控制,计算模型定义了角色间的通信机制与执行顺序。Ptolemy II 提供的计算模型有连续时间(CT),离散事件(DE),有限状态机(FSM),同步数据流(SDF)等等。Ptolemy II 平台提供了多种建模方法,最常用的就是图形用户界面Vergil,其利用图形化的方式集成了Ptolemy II 中的各种计算模型和角色,易于用户使用。

计了用于协调通道之间运行的信号,具体信号与功能如下:

INIT(通道n,路径说明)用来在某个通道中执行的指令。用来选择在通道n 中要执行的工件加工程序。

Start(通道n1,通道n2)在在通道n1,通道n2 中启动所选的程序。

Wait(标记编号m,通道n1,通道n2,…)等待通道n1、通道n2…,到达标记编号m。如果通道n1 第一个到达,则设置相应编号,然后进入等待状态。通道管理器将通道n1 加入等待标记编号m 的队列。若通道n1 不是第一个到达的通道,则通道管理器直接将其加入等待队列。当等待标记编号m 的所有通道都已经加入等待队列,则由通道管理器统一向等待通道组中的通道发送同步消息,等待队列中的所有通道同时开始运行。

Waitend(通道n1,通道n2,…)等待通道n1,通道n2…,直到其中程序运行结束。

4.1 仿真实例

以一个双通道并发执行的加工程序为例进行仿真实验,给出了通道一、通道二中的加工程序。

根据所建立的基于混杂petri 网的多通道协同控制模型搭建ptolemy II 仿真模型。在所建立的ptolemy II 模型中上层采用连续时间计算模型,通道及通道管理器则采用组件modal model 实现,modal model在实现状态切换时可以执行相应的动作,用来表示通道及通道管理器在状态切换时采取的动作。模型如图3 所示。

图3 ptolemy II 仿真模型的总体设计

4.2 仿真结果分析

图4 展示了仿真实例的运行结果图。

图4 仿真实例运行结果图

图中蓝色折线代表的是通道一的运行状态的变化,红色折线代表的是通道二的运行状态变化。其中蓝色折线位于纵坐标1.0 位置时,表示通道一处于运行状态,位于0.0 位置时表示通道一处于等待状态。红色折线位于2.0 位置时表示通道二处于运行状态,位于0.0 位置时表示通道二处于等待状态。蓝色折线、红色折线位于-2.0 位置时,表示通道一、通道二程序运行完毕。

由仿真结果图中蓝色折线和红色折线的变化可知,通道一首先运行,运行一段时间启动通道二中的程序,而后通道一等待通道二到达标记一后两通道一起运行。之后通道二等待通道一到达标记二后一起运行。最后通道一等待通道二结束之后结束自身通道中的程序。仿真结果图符合channel1. prg 和channel2.prg 的逻辑运行关系,表明了所建模型的有效性。

5 结束语

本文介绍了多通道数控系统的特点以及涉及的关键技术,在对多通道数控系统分析的基础上提出了适合于高档数控系统建模的混杂petri 网,同时提出了一种基于信号机制的通信方式。然后利用所提出的混杂petri 网对多通道协同控制功能进行建模并设计了相应的协同控制信号。最后以一个双通道并发执行的加工程序为例,采用ptolemy II 作为工具对模型进行了仿真实验,验证了模型的有效性。

[1]王宏刚. 复线列车运行调度的层次petri 模型及仿真[J]. 系统仿真学报,2011,23(12):2793-2798.

[2]H. Alla,R. David. Hybrid Petri Nets. In Europen Control Conference(ECC’91),France,1991:1472:-1477.

[3]韩旭,黄艳,于东. 基于混杂系统的多通道运动控制功能研究[J]. 组合机床与自动化加工技术,2010(6):32-36.

[4]岳昊,吴哲辉,施建娟. 基于时延petri 网的交通信号配时方案建模与分析[J]. 小型微型计算机系统,2009,10(30):2010-2016.

[5]Edward A.Lee,Steve Neuendorffer.Heterogeneous Concurrent Modeling and Design in Java(Volume 3:Using Vergil)[Z].

[6]F. Balduzzi,A. Giua,G. Menga,First-order hybrid Petri nets:A model for optimization and control,IEEE Trans.Robot. Automat. 16 (2000)382-399.

[7]M.Dotoli,M.P.Fanti,A.Giua,C,Seatzu. First-order hybrid Petri nets. An application to distubuted manufacturing systems[J]. Nonlinear Anaysis:Hybrid System 2(2008)480-430.

猜你喜欢
任务量库所管理器
启动Windows11任务管理器的几种方法
基于Delphi-模糊Petri 网的航空发动机故障诊断
应急状态启动磁盘管理器
基于模糊层次分析法的通信装备维修任务量建模方法
运动想象脑机接口系统的Petri网建模方法
Windows文件缓冲处理技术概述
两阶段神经网络算法预测物流联络中心任务量
基于CPN的OAuth协议建模与分析①
员工绩效考核管理制度研究
战时车辆装备维修任务量测算模型