APP下载

组件多工作模式下的离散事件系统监督控制方法研究

2020-05-12刘振国

控制理论与应用 2020年3期
关键词:自动机缓冲区工件

焦 亭,刘振国

(山西大学自动化系,山西太原 030006)

1 引言

现有监督控制理论主要针对组成离散事件系统的各组件工作于单一工作模式的情形,通过计算所得的监督控制器使系统运行满足给定的性能指标[1–6].近年来已有学者开始研究组件根据工件的加工情况选择不同工作模式的离散事件系统监督控制方法.例如,Teixeira等借鉴文献[7]中的抽象方法提出一种扩展有限状态自动机(extended finite-state machines)的变量抽象(variable abstraction)方法,使被控的制造系统能根据工件被加工的次数选择检测单元的工作模式[8–9].Cury等提出区分器(distinguishers)的概念以识别工件已被加工次数的信息,从而基于该信息选择正确的检测单元工作模式[10–13].Rosa等提出一种基于区分器的近似监督控制方法[14],该方法虽然能进一步简化监督控制器的计算过程,得到最少限制的监督控制器,但是该计算过程仍然很复杂.Teixeira等将基于区分器的局部模块化控制应用于一个制造系统[15].

然而,以上方法均引入了额外的事件以选择正确的组件工作模式.引入额外的事件意味着被控对象的复杂度随之增大,进而增大了监督控制器的复杂度.此外,随着组件工作模式的增加,额外引入的事件数量也将随之显著增长.文献[8–9,14]虽然通过变量抽象等方式对监督控制器进行了一定的简化,但这些方法实现过程复杂.

为此,本文提出一种融合监督控制器的生成方法,该方法无需引入额外的事件,因此不会导致融合监督控制器状态数急剧增长;且可证明所设计的融合监督控制器能保证系统的可控且非阻塞运行.本文所提方法的另一个优势是能适应多个工件同时处于系统中时的情形,而上述文献中并未涉及该问题.

本文所提方法与离散事件系统控制律重构方法的不同之处在于:控制律重构主要解决由于系统结构或性能指标发生改变引起监督控制器发生改变后,监督控制器之间的状态切换问题[16–17];而本文基于组件各工作模式下的监督控制器生成融合监督控制器,通过定义事件选择函数保证系统的正确运行.由此可见,本文所提方法可避免监督控制器之间的状态切换问题.

为了描述更加直观、清晰,表1列出了后文将用到的主要数学符号.

表1 主要数学符号表Table 1 Nomenclature

2 预备知识

2.1 离散事件系统

离散事件系统利用由5元组(5–tuple)描述的自动机(automaton)建模,如自动机

其中:Q为状态集合;Σ为事件集合;δ:Q×Σ →Q为转移函数;该函数一般为偏函数(partial function);q0为初始状态;Qm为标识状态集合.利用字符串长度的递推,转移函数可扩展为δ:Q×Σ∗→Q,其中Σ∗表示事件集合Σ上的Kleene闭包[1].

自动机G所生成语言(language)的闭性质(closed behavior)可表示为

其中符号δ(q0,s)!表示δ(q0,s)有定义,即从初始状态q0出发事件串s可发生[1].

自动机G所生成语言的标识性质(marked behavior)可表示为

任意两事件串s1,s2∈Σ∗均是可连接的(concatenated),记作s1.s2[1].

2.2 监督控制理论

对任意语言K ⊆Σ∗,K关于L(G)可控需满足

令E ⊆Σ∗表示性能指标,关于G可控且满足性能指标E的所有可控子语言可记作

集合C(E)中的最大元素记作

所得结果即为满足性能指标E的监督控制器.可使用TCT软件包中的supcon指令进行计算[1,18].

如果在监督控制器的作用下,从系统的初始状态出发经由事件的发生总能回到标识状态,则称系统非阻塞(nonblocking).

3 组件多工作模式下的离散事件系统监督控制方法

在现有的离散事件系统中,组成系统的组件往往只有一种既定的工作模式.但在控制要求更为复杂的系统中,有时需要根据工件的加工状况决定下一步的加工流程.例如对于自动生产线中的检测单元,如果同一个工件连续两次均未通过检测单元的检测,则检测单元不再将该工件送回系统中进行再次加工,而是作为次品直接输出系统.

为了描述的简便并不失一般性,假设系统中只有一个组件存在两种工作模式.两种工作模式下由同步积(synchronous product)[1,18]计算所得的系统总的被控对象与性能指标分别记作GA,EA与GB,EB,对应的监督控制器分别为

需要根据监督控制器Asup与Bsup的信息与进入系统的工件加工情况,做出相应的控制决策.为此,首先定义监督控制器的融合算法.

假设

将Asup与Bsup的交集记作

其中:

QmA×QmB为集合QmA与QmB的笛卡尔集(cartesian product).

以Asup∧Bsup为基础,按如下融合算法merge(Asup,Bsup)生成自动机Asup◦Bsup,并将其称为融合监督控制器.

Step 1初始化.

其中:QA◦B:=QA∩B∪QA∩∪QB∩;ΣA◦B=ΣA∪ΣB;δA◦B为Asup◦Bsup的转移函数,并由Step 2中描述的方法生成.

Step 2对Asup中的任意转移函数δA(qa1,σ)=qa2,其中qa1,qa2∈QA,σ ∈ΣA,往Asup◦Bsup中添加转移函数

其中:如果存在(qa1,qb1)∈QA∩B且δB(qb1,σ)=qb2∈QB,则∗1=qb1,∗2=qb2;如果存在(qa1,qb1)∈QA∩B且δB(qb1,σ)未定义,则∗1=qb1,∗2=−;否则∗1=−,∗2=−.

对Bsup中的任意转移函数δB(qb1,σ)=qb2,其中qb1,qb2∈QB,σ ∈ΣB,往Asup◦Bsup中添加转移函数

其中:如果存在(qa1,qb1)∈QA∩B且δA(qa1,σ)=qa2∈QA,则∗1=qa1,∗2=qa2;如果存在(qa1,qb1)∈QA∩B且δA(qa1,σ)未定义,则∗1=qa1,∗2=−;否则∗1=−,∗2=−.

Step 3令

将QA◦B中的状态重命名为0,1,···,|QA◦B|−1,其中状态0为初始状态(q0A,q0B),|QA◦B|为状态集合QA◦B中的状态个数.

由于merge(Asup,Bsup)算法遍历了Asup与Bsup中的所有转移函数以生成Asup◦Bsup中的转移函数,因此该算法的时间复杂度为O(n1+n2),其中n1,n2分别为Asup与Bsup中的转移函数个数.

由merge(Asup,Bsup)算法的构造过程可知,Asup◦Bsup的状态数将小于Asup与Bsup状态数之和,即|QA◦B|<|QA|+|QB|.merge算法的实质是以Asup与Bsup的交集为基础,分别将Asup与Bsup中不在Asup∩Bsup中的部分加入Asup◦Bsup中,此过程对应该算法描述中的Step 2.当Asup与Bsup无交集时,由于Asup◦Bsup,Asup与Bsup的初始状态均用状态0表示,因此|QA◦B|=|QA|+|QB|−1.

将Asup与Bsup的并集记作Asup∪Bsup.自动机Asup∪Bsup与Asup◦Bsup的差别在于后者沿用了Asup和Bsup中的公共部分,因此从集合QA◦B去掉集合{(−,qb)|(−,qb)∈QA◦B}中的所有状态以及与之相关的转移,所得结果即为Asup.同理,从集合QA◦B去掉集合{(qa,−)|(qa,−)∈QA◦B}中的所有状态以及与之相关的转移,所得结果即为Bsup.而由Asup∪Bsup无法直接得到Asup和Bsup.

进入系统的工件将在融合监督控制器Asup◦Bsup的监督控制下进行加工.由于工件可能经由不同的事件串使融合监督控制器进入相同的状态,而在该状态应根据特定的事件串做出相应的控制决策,因此仅有融合监督控制器仍不能满足控制要求.为了根据工件的加工情况选择相应的组件工作模式,对于任意状态q◦:=(qa,qb)∈QA◦B,引入决策集Σq◦:=D(qa)∪D(qb),其中:D(qa)为Asup中在状态qa被禁止的事件组成的集合,D(qb)为Bsup中在状态qb被禁止的事件组成的集合.D(qa)与D(qb)可由TCT中的condat指令计算得到,并规定D(−)=∅.

对于任意状态q◦:=(qa,qb)∈QA◦B,同时引入对应的工件信息集合,其中ID∈{1,2,···}为工件编号,q′,δ′分别为工件当前所在组件或缓冲区的当前状态与该组件或缓冲区对应自动机模型的转移函数,P为与组件工作模式选择有关的谓词(predicate),如工件被重复加工的次数小于2次时相应事件才能被使能.

其中σ⊨P表示事件σ的发生满足谓词P.

事件选择函数对应的物理意义为:在状态q◦可发生的事件σ需满足:

1)不被融合监督控制器禁止;

2)该事件需对应于工件信息集合中的某个具体工件的加工,并且该事件发生后工件信息集合中的元素将进行相应的更新;

3)该事件的发生仍满足谓词P.

定理1融合监督控制器Asup◦Bsup为关于GA与GB可控的非阻塞监督控制器.

证 将监督控制器Asup◦Bsup,Asup与Bsup中的不可控事件集合分别记作

首先证明Asup◦Bsup关于GA可控,即

由于s ∈L(Asup◦Bsup),根据Asup◦Bsup的生成过程可知s ∈L(Asup)或L(Bsup).由可知σ ∈

如果s ∈L(Bsup)L(Asup)或,由于条件sσ ∈L(GA)不成立,因此式(1)自然成立.如果s ∈L(Asup)且,由于L(Asup)关于GA可控,因此sσ ∈L(Asup).于是,由自动机Asup◦Bsup的构造过程可知sσ ∈L(Asup◦Bsup).

Asup◦Bsup关于GB可控的证明过程与证明Asup◦Bsup关于GA可控的过程类似,此处不再赘述.

然后证明Asup◦Bsup关于GA与GB非阻塞.

在Asup◦Bsup中的任意状态q◦∈QA◦B,由事件选择函数f(q◦)的定义可知,只有不被Asup或Bsup禁止且满足谓词P的事件才能发生,因此在事件选择函数f(q◦)的作用下,Asup◦Bsup的运行不会造成阻塞.

证毕.

4 实例

以图1所示的带反馈功能的制造系统为例[7,9],演示第3节提出的组件多工作模式下的离散事件系统监督控制方法.该系统由3个组件R,M,TU与2个缓冲区B1,B2组成(假设两个缓冲区的容量均为1),对应的各自动机模型如图1所示.本文沿用TCT中的表示惯例,用奇数与偶数分别代表可控与不可控事件.

图1 带反馈功能的制造系统结构图Fig.1 Structure of the manufacturing system with feedback function

系统的工作方式为:机器人R每次往缓冲区B1中放入一个工件(用事件1表示);制造单元M从B1中取出工件进行加工(用事件3表示),加工完毕后放入缓冲区B2(用事件2表示);检测单元TU从缓冲区B2取工件进行检测,并对应两种工作模式:

1)如果该工件已被加工2次,则检测单元TU工作在模式A,即从缓冲区B2取工件进行检测(用事件5表示),检测合格则将该工件作为正品输出(用事件4表示),检测不合格则作为次品输出(用事件6表示).模式A对应的自动机模型由图1中的自动机TUA表示.

2)如果该工件的加工次数未超过2次,则检测单元TU工作在模式B,即从缓冲区B2取工件进行检测(用事件7表示),检测合格则将该工件作为正品输出(用事件8表示),检测不合格则将该工件放入缓冲区B1中再次加工(用事件10表示).模式B对应的自动机模型由图1中的自动机TUB表示.

对应的性能指标为:

1)防止缓冲区B1,B2出现上溢与下溢;

2)根据工件的加工次数选择TU的工作模式.

检测单元工作在A与B模式下对应的缓冲区B1,B2自动机模型分别由图1中的自动机B1A,B2A与B1B,B2B所示.由TCT计算可得

其中sync(·)为TCT中计算同步积的指令[18].

模式A与模式B下对应的监督控制器分别为Asup与Bsup,如图2与图3所示.

图2 监督控制器Asup状态转移图Fig.2 State transition graph of supervisor Asup

图3 监督控制器Bsup状态转移图Fig.3 State transition graph of supervisor Bsup

利用融合算法得到如图4所示的融合监督控制器Asup◦Bsup,其各状态对应的决策集如表2所示.

图4 融合监督控制器Asup ◦Bsup状态转移图Fig.4 State transition graph of merged supervisor Asup ◦Bsup

表2 状态与决策集对应关系表Table 2 Relation between states and their decision sets

假设事件串s=1.3,则q◦=2,={(1,1,δM,P)},其中第2项表示工件当前位于加工单元M中的状态1,δM表示加工单元M对应自动机模型的转移函数,对于下文中出现的工件信息集合中对应项的含义均可按此方式理解.由表2可知Σq◦={1,5,7};因此,在状态2事件1不能发生,从而事件选择函数f(2)={2}.如果在状态2事件1发生,则从Asup◦Bsup的初始状态出发经由事件串1.3.1.2将进入状态5.但在状态5只有事件5能发生,而事件5只有在事件10已经发生2次的情况下才能发生,此时将出现阻塞,即f(5)=∅.由此可见,本文定义的事件选择函数能有效避免出现阻塞.事件2发生后工件信息集合更新为={(1,1,δB2B,P)}.

假设事件串s=1.3.2,则q◦=4,={(1,1,δB2B,P)}.由表2可知Σq◦={1,3},虽然在状态4事件5和7均有定义,但由于谓词P的作用,此时事件选择函数f(4)={7},即检测单元工作在模式B.事件7发生后工件信息集合更新为={(1,1,δTUB,P)}.

假设事件串s=1.3.2.7.10.3.2.7.10.3.2,则q◦=4,={(1,1,δB2A,P)},即再次进入状态4.由表2可知Σq◦={1,3},虽然在状态4 事件5和7均有定义,但由于谓词P的作用,此时事件选择函数f(4)={5},即检测单元工作在模式A.对应的物理意义为由于该工件已经经过了2次加工,因此检测单元需工作在模式A.

为了描述的便利本文所给实例中缓冲区的容量为1,可直接将第3节中的方法推广至缓冲区容量更大的情形.

将文献[7–15]中所提方法得到的监督控制器与本例所得融合监督控制器相比,可知解决相同问题融合监督控制器的状态数目少于文献中所得监督控制器,主要原因是本文利用事件选择函数动态地选择满足要求的事件,而文献中采用的是静态的状态抽象、近似等方法.

本文所提方法的另一个优势是能满足多个工件同时处于系统中的情形.将缓冲区B1的容量扩大为2,则TU工作在模式A与模式B时缓冲区B1对应的自动机模型变更为图5所示.融合监督控制器与状态决策集也将相应发生变化,由于计算过程与上文类似,此处不再赘述.此时,如果事件串1.1发生,则系统中将有2个工件,对应的工件信息集合为={(1,2,δB1B,P),(2,1,δB1B,P)}.由于此时的事件选择函数允许事件3发生,假设工件1先进行加工,则事件3发生后工件信息集合更新为={(1,1,δM,P),(2,1,δB1B,P)}.此后,系统将在融合监督控制器与事件选择函数的共同作用下继续运行.

图5 缓冲区B1状态转移图Fig.5 State transition graphs of buffer B1

5 结论

本文提出了一种组件存在多种工作模式的离散事件系统监督控制方法,通过利用各工作模式下系统对应的监督控制器生成融合监督控制器.系统将在融合监督控制器的作用下根据当前状态的决策集和工件信息集合得到事件选择函数的输出值,从而决定下一步可发生的事件.相比于文献[7–15]中提出的变量抽象、近似等方法,本文所提方法更直观简便,并且本文所提方法能适应多个工件同时处于系统中的情形.

猜你喜欢

自动机缓冲区工件
带服务器的具有固定序列的平行专用机排序
带冲突约束两台平行专用机排序的一个改进算法
工业机器人视觉引导抓取工件的研究
基于自动机理论的密码匹配方法
一类带特殊序约束的三台机流水作业排序问题
格值交替树自动机∗
一种基于模糊细胞自动机的新型疏散模型
一种基于模糊细胞自动机的新型疏散模型
串行连续生产线的可用度与缓冲库存控制研究*
元胞自动机在地理学中的应用综述