IFAC Conference on Manufacturing Modelling, Management and on Control IFAC Conference Manufacturing Modelling, IFAC Conference Manufacturing Modelling, Management and on Control IFAC Conference Manufacturing June 28-30, 2016. Troyes, France Modelling, Management and on Control Available online at www.sciencedirect.com Management and Control June 28-30, 2016. Troyes, France Management and Control June 28-30, 2016. Troyes, France June 28-30, 2016. Troyes, France June 28-30, 2016. Troyes, France
ScienceDirect
IFAC-PapersOnLine 49-12 (2016) 396–401 Distributed Supervisory Control Synthesis For Discrete Distributed Supervisory Control Synthesis For Discrete Distributed Supervisory Control Synthesis For Discrete Distributed Supervisory Control Synthesis For Discrete Manufacturing Systems Distributed Supervisory Control Synthesis For Discrete Manufacturing Systems Manufacturing Systems Manufacturing Systems Manufacturing Systems
Y. Qamsane*. A. Tajer*. Y. Qamsane*. A. Tajer*. A. A. Philippot** Philippot** Y. Qamsane*. A. Tajer*. A. Philippot** Y. Qamsane*. A. A. Philippot** Tajer*. Y. Qamsane*. A. Tajer*. A. Philippot** * LGECoS Laboratory, ENSA-University of Ayyad BP 575, 40000 Marrakech, Morocco Cadi * LGECoS Laboratory, ENSA-University of Cadi Ayyad BP 575, 40000 Marrakech, Morocco * LGECoS Laboratory, ENSA-University of Cadi Ayyad BP 575, 40000 Marrakech, Morocco
[email protected],
[email protected] * LGECoS Laboratory, ENSA-University of Cadi Ayyad BP 575, 40000 Marrakech, Morocco
[email protected],
[email protected] * LGECoS Laboratory, ENSA-University of Cadi Ayyad BP 575, 40000 Marrakech, Morocco
[email protected],
[email protected] ** CReSTIC, Reims University, Moulin de la Housse, BP 1039, 51687 Reims – France,
[email protected],
[email protected] ** CReSTIC, Reims University, Moulin de la Housse, BP 1039, 51687 Reims – France,
[email protected],
[email protected] ** CReSTIC, Reims University, Moulin de la Housse, BP 1039, 51687 Reims – France,
[email protected] ** Moulin
[email protected] ** CReSTIC, CReSTIC, Reims Reims University, University, Moulin de de la la Housse, Housse, BP BP 1039, 1039, 51687 51687 Reims Reims – – France, France,
[email protected] [email protected] [email protected] Abstract: A A formal formal approach approach to to distributed distributed supervisory supervisory control control synthesis synthesis for for automated automated manufacturing manufacturing Abstract: Abstract: A formal approach to distributed supervisory control synthesis for automated manufacturing systems is presented in this paper. The discrete manufacturing system (plant) is modeled with automata automata Abstract: A formal approach to supervisory control synthesis for automated manufacturing systems is presented in this paper. The discrete manufacturing (plant) modeled with Abstract: A formal approach to distributed distributed supervisory controlsystem synthesis for is automated manufacturing systems is presented in this paper. The discrete manufacturing system (plant) is modeled with automata in a modular way and local control specifications are defined for each local subsystem by means of systems is in paper. The discrete manufacturing system (plant) is modeled with automata in aa modular way and local control are defined for each local by means of systems is presented presented in this this paper. Thespecifications discrete manufacturing system (plant) issubsystem modeled with automata in modular way and local control specifications are defined for each local subsystem by means of logical equations in order to construct local supervisors. To establish global control, global specifications in a modular wayinand local control are defined for local subsystem by of logical equations order to construct local supervisors. establish global control, global specifications in modular and local control specifications specifications are To defined for each each local subsystem by means means of logical equations in order to construct local supervisors. To establish global control, global specifications area defined defined asway logical combinations to ensure ensure coordination and interaction between the different logical equations in order to construct local supervisors. To establish global control, global specifications are as logical combinations to coordination and interaction between the different logical equations in order to construct local supervisors. To establish global control, global specifications are defined as logical combinations to ensure coordination and interaction between the different subsystems. Formal algorithms for the the to intersection between local localand controllers andbetween global constraints constraints are are as logical combinations ensure coordination interaction the subsystems. Formal algorithms for intersection between controllers and global are are defined defined asrefer logical combinations to ensure coordination and interaction between the different different subsystems. Formal algorithms for the intersection between local controllers and global constraints are proposed. We to the resultant controllers as Distributed Controllers (DCs). The formulation of the subsystems. Formal algorithms for the intersection between local controllers and global constraints are proposed. We refer to the resultant controllers as Distributed Controllers (DCs). formulation of the subsystems. Formal algorithms foralgorithms the intersection between local controllers andThe global constraints are proposed. We refer to the resultant controllers as Distributed Controllers (DCs). The formulation of the problem and the control synthesis are applied to an experimental manufacturing system. proposed. We refer to resultant controllers as Distributed Controllers The of problem control synthesis algorithms are to an experimental manufacturing system. proposed.and Wethe refer to the the resultant controllers asapplied Distributed Controllers (DCs). (DCs). The formulation formulation of the the problem and the control synthesis algorithms are applied to an experimental manufacturing system. problem and the control synthesis algorithms are applied to an experimental manufacturing system. © 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. problem andDiscrete the control synthesis algorithms are Control, applied tomanufacturing, an experimental manufacturing system. Keywords: Event Systems, Supervisory Control Synthesis, PLC. Keywords: Discrete Event Systems, Supervisory Control, manufacturing, Control Synthesis, PLC. Keywords: Discrete Event Systems, Supervisory Control, manufacturing, Control Synthesis, PLC. Keywords: Discrete Event Systems, Supervisory Control, manufacturing, Control Synthesis, PLC. Keywords: Discrete Event Systems, Supervisory Control, manufacturing, Control Synthesis, PLC. with the considered specifications. It is basically supported with the considered specifications. It is basically supported 1. INTRODUCTION with the considered specifications. It is basically supported 1. INTRODUCTION by automata and formal language models (Hopcroft et al, with the considered specifications. It is basically supported 1. INTRODUCTION by automata and formal language models (Hopcroft et al, with the considered specifications. It is basically supported 1. INTRODUCTION by automata and formal language models (Hopcroft et al, 2006). Two main problems compete against its applicability 1. INTRODUCTION Engineers and designers over the past few decades have dealt by automata and formal language models (Hopcroft et al, 2006). Two main problems compete against its applicability Engineers and designers over the past few decades have dealt by automata and formal language models (Hopcroft et al, 2006). Two main problems compete against its applicability in the industrial world. The first one yielding the state-space Engineers and designers over the past few decades have dealt with increasingly complex technical systems. Such systems 2006). Two main problems compete against its applicability in the industrial world. The first one yielding the state-space Engineers and designers over the past few decades have dealt with increasingly complex technical systems. Such systems 2006). Two main problems compete against its applicability in the industrial world. The first one the state-space Engineers designers overtechnical theareas past systems. few decades have dealt explosion, i.e. the computation ofyielding real system models with increasingly complex Such systems found in aa and variety of application such as communication in the world. The first one yielding the state-space explosion, i.e. the computation real system models with increasingly complex technical systems. Such systems found in variety of application areas such as communication in the industrial industrial world. Thetheir first large oneof yielding the state-space explosion, i.e. the computation of real system models with increasingly complex technical systems. Such systems becomes challenging given size. The second one is found in a variety of application areas such as communication networks, automated manufacturing systems, air traffic explosion, i.e. the computation of real system models becomes challenging given their large size. The second one is found in a variety of application areas such as communication networks, automated manufacturing systems, air traffic explosion, i.e. the given computation of size. real system models becomes challenging their large The second one is found in a variety of application areas such as communication the models interpretation, i.e. supposing the computation is a networks, automated manufacturing systems, air traffic systems, control systems in automobiles, transportation becomes challenging given their large size. The second one is the models interpretation, i.e. supposing the computation is networks, automated manufacturing systems, air traffic systems, control systems in automobiles, transportation becomes challenging giveni.e. their largelarge size. The second one isaa the models interpretation, supposing the computation is networks, automated manufacturing systems, airSystems traffic success, the understanding of models remains systems, control systems in automobiles, transportation systems and so on, are viewed as Discrete Event the interpretation, i.e. the computation is success, understanding of large remains systems, control systems in automobiles, transportation systems and so on, are viewed as Discrete Event Systems the models modelsthe interpretation, i.e. supposing supposing themodels computation is aa success, the understanding of large models remains systems, control systems incharacterized automobiles, transportation strenuous. systems and so on, are viewed as Discrete Event Systems (DES). Dynamics of DES are by asynchronous success, the understanding of large models remains strenuous. systems and so on, are viewed as Discrete Event Systems (DES). Dynamics of DES are characterized asynchronous success, the understanding of large models remains systems and of so discrete on, are viewed as Discreteby Event Systems strenuous. (DES). Dynamics of DES are characterized by asynchronous occurrences events (Cassandras and Lafortune, strenuous. (DES). Dynamics of DES are characterized by asynchronous occurrences of discrete events (Cassandras and Lafortune, strenuous. In this paper, we propose aa distributed synthesis approach (DES). Dynamics of DES are characterized by asynchronous occurrences of discrete events (Cassandras and Lafortune, In this paper, we propose synthesis approach 2008). occurrences of discrete events (Cassandras and Lafortune, In this paper, we propose aa distributed distributed synthesis approach 2008). that avoids composition between modular components. It occurrences of discrete events (Cassandras and Lafortune, In this paper, we propose distributed synthesis approach 2008). that avoids composition between modular components. It In this paper, we propose a distributed synthesis approach 2008). that avoids composition between modular components. It eliminates the problem of combinatorial explosion of the 2008). The work presented in this paper is interested in Automated that avoids composition between modular components. It eliminates the problem of combinatorial explosion of the The work presented in this paper is interested in Automated that avoids composition between modular components. It eliminates the problem of combinatorial explosion of the state space and reduces the size of supervisors. The proposed The work presented in this paper is interested in Automated Manufacturing Systems (AMS), which are a class of DES eliminates the problem of combinatorial explosion of the state space and reduces the size of supervisors. The proposed The work presented in this paper is interested in Automated Manufacturing Systems (AMS), which are a class of DES eliminates the problem of combinatorial explosion of the state space and reduces the size of supervisors. The proposed The work presented in this paper which is interested Automated distributed supervisory control architecture shown in (Fig.1) Manufacturing Systems (AMS), are aa in class of DES used to produce quality products faster and more efficiently state space and reduces the size of supervisors. The proposed distributed supervisory control architecture shown (Fig.1) Manufacturing Systems (AMS), which are class of DES used to produce quality products faster and more efficiently state spaceinto and reduces the size of supervisors. The in proposed distributed supervisory control architecture shown in (Fig.1) Manufacturing Systems (AMS), which are a class of DES is divided two parts: (a) the supervisory control of aa DES used to produce quality products faster and more efficiently or to perform services. To help the designer with analysis, distributed supervisory control architecture shown in (Fig.1) is divided into two parts: (a) the supervisory control of used to produce quality products faster and more efficiently or to perform To help the designer with analysis, distributed supervisory control architecture shown in (Fig.1) is divided into two parts: (a) the supervisory control of aa DES DES used to produceservices. quality products faster and and more efficiently according to the SCT and (b) the offline distributed control or to perform services. To help the designer with analysis, design, validation, implementation, control optimization is divided into two parts: (a) the supervisory control of DES according to the SCT and (b) the offline distributed control or to perform services. To help the designer with analysis, design, validation, implementation, control and optimization is divided into two parts: (a) the supervisory control of a DES according to the SCT and (b) the offline distributed control or to perform services. To help the designer with analysis, synthesis and implementation approach. The supervisory design, validation, implementation, control and optimization of AMSs, two types of methods are used: Verification and according to the SCT and (b) the offline distributed control synthesis and implementation approach. The supervisory design, validation, implementation, control and optimization of AMSs, two types of methods are used: Verification and according to the SCT and (b) the offline distributed control synthesis and implementation approach. The supervisory design, validation, implementation, control and optimization control of aa DES part is constituted of the discrete event of AMSs, two types of methods are used: Verification and Validation (V&V), and Synthesis. V&V methods consist of synthesis and implementation approach. The supervisory control of part is constituted of the event of AMSs, types of methods are used: Verification and Validation (V&V), and V&V methods consist of synthesis and implementation approach. Thediscrete supervisory control of aa DES DES part is constituted of the discrete event of AMSs, two two types of Synthesis. methods are used: Verification and system (Plant) to be controlled, the control system, the sensor Validation (V&V), and Synthesis. V&V methods consist of checking that an AMS meets the requirements and control of DES part is constituted of the discrete event system (Plant) to be controlled, the control system, the sensor Validation (V&V), and Synthesis. V&V methods consist of checking that an AMS meets the requirements and control of a DES part is constituted of the discrete event system (Plant) to be controlled, the control system, the sensor Validation (V&V), and Synthesis. V&V methods consist of signals considered as outputs from the DES and as inputs to checking that an AMS meets the requirements and specifications and that it achieves its envisioned purpose. system (Plant) to be controlled, the control system, the sensor signals considered as outputs from the DES and as inputs to checking that an AMS meets the requirements and specifications and that it achieves its envisioned purpose. system (Plant) to be controlled, the control system, the sensor signals considered as outputs from the DES and as inputs to checking that an AMS meets the requirements and the control system, and the control actions, considered as specifications and that it achieves its envisioned purpose. These methods implement the automatic demonstration or signals considered as outputs from the DES and as inputs to the control system, and the control actions, considered as specifications and that it achieves its envisioned purpose. These methods implement the automatic demonstration or signals considered as outputs from the DES and as inputs to the control system, and the control actions, considered as specifications and that it achieves its envisioned purpose. outputs from the control system and as inputs to the DES. These methods implement the automatic demonstration or model-checking (Baier and Katoen, 2008; Biallas et al., the control system, and the control actions, considered as outputs from the control system and as inputs to the DES. These methods implement the automatic demonstration or model-checking (Baier and Katoen, 2008; Biallas et al., the control system, and the control actions, considered as from the control system and ascontrol inputs to the DES. These methods implement the automatic demonstration or outputs The second part (the offline distributed synthesis and model-checking (Baier and Katoen, 2008; Biallas et al., 2011). Synthesis methods (Ramadge and Wonham, 1987; outputs from the control system and inputs to DES. The second (the offline distributed synthesis and model-checking (Baier and Katoen, 2008; Biallas et al., 2011). Synthesis methods and Wonham, frompart theapproach) control system andonas ascontrol inputs to the the DES. The second part (the offline distributed control synthesis and model-checking (Baier and(Ramadge Katoen, 2008; Biallas et1987; al., outputs implementation is based three main steps: (i) 2011). Synthesis methods (Ramadge and Wonham, 1987; Hietter et al., 2008) consist of constructing models of the The second part (the offline distributed control synthesis and implementation approach) is based on three main steps: (i) 2011). Synthesis methods (Ramadge and Wonham, 1987; Hietter et al., 2008) consist of constructing models of the The second part (the offline distributed control synthesis and implementation approach) is based on three main steps: (i) 2011). Synthesis methods (Ramadge and Wonham, 1987; the local control synthesis, (ii) the global control synthesis Hietter et al., 2008) consist of constructing models of the system together with the expected properties in order to implementation approach) is based on three main steps: (i) the local control synthesis, (ii) the global control synthesis Hietter et al., 2008) consist of constructing models of the system together with the expected properties in order to implementation approach) is based on three main steps: (i) the local control synthesis, (ii) the global control synthesis Hietter et al., 2008) consist of constructing models of the and (iii) the interpretation of the synthesized control into system together with the expected properties in order to obtain a control model which meets the specified properties. the local control synthesis, (ii) the global control synthesis and (iii) the interpretation of the synthesized control into system together with the expected properties in order to obtain a control model which meets the specified properties. the local control synthesis, (ii) the global control synthesis and (iii) the interpretation of the synthesized control into system together with the expected properties in order to Grafcet (IEC, 2013) for implementation purposes. The first obtain aa synthesis control model which meets the specified properties. Among methods, the Supervisory Control Theory and (iii) the interpretation of the synthesized control into Grafcet 2013) for implementation purposes. The first obtain control which meets the properties. Among synthesis methods, the Supervisory Control Theory and (iii)(IEC, the interpretation oflocal the modular synthesized control into Grafcet (IEC, 2013) for implementation purposes. The first obtain ainitiated control model model which meets the specified specified properties. step aims toward synthesizing controllers from Among synthesis methods, the Supervisory Control Theory (SCT) by Ramadge and Wonham (Ramadge and Grafcet (IEC, 2013) for implementation purposes. The first step aims toward synthesizing local modular controllers from Among synthesis methods, the Supervisory Control Theory (SCT) initiated by Ramadge and Wonham (Ramadge and Grafcet (IEC, 2013) for implementation purposes. The first step aims toward synthesizing local modular controllers from Among synthesis methods, theand Supervisory Control Theory the plant and the behavioral specifications models. In this (SCT) initiated by Ramadge Wonham (Ramadge and Wonham, 1987) has been the one considerably enhancing step aims toward synthesizing local modular controllers from the plant and the behavioral specifications models. In this (SCT) initiated by Ramadge and Wonham (Ramadge and Wonham, 1987) has been the one considerably enhancing step aims toward synthesizing local modular controllers from the plant and the behavioral specifications models. In this (SCT) initiated by Ramadge and Wonham (Ramadge and step, the entire operation physically realizable by the system Wonham, 1987) has been the one considerably enhancing results in the DES domain. It provides formal control the plant and the behavioral specifications models. In step, the entire operation physically realizable by the system Wonham, 1987) has been the one considerably enhancing results in the DES domain. It provides formal control the plant and the behavioral specifications models. In this this step, the entire operation physically realizable by the system Wonham, 1987) has been the one considerably enhancing is modeled in a modular way according to its mechanical results in the DES domain. It provides formal control architectures based on properties such as controllability, step, the entire physically realizable by the system is modeled in aaoperation modular way according to its mechanical results in the DES domain. It provides formal control architectures based on properties such as controllability, step, the entire operation physically realizable by the system is modeled in modular way according to its mechanical results in the DES domain. It provides formal control characteristics (sensors/actuators). Local safety and liveness architectures based on properties such as controllability, observability, safety, liveness, and ultimately, diagnosability. is modeled in aa modular according to mechanical characteristics Local safety liveness architectures based on properties such as controllability, observability, safety, liveness, and ultimately, diagnosability. is modeled are in (sensors/actuators). modular way way according to its itsand mechanical characteristics (sensors/actuators). Local safety and liveness architectures based on properties such as (synthesize) controllability, constraints expressed as logical equations in Boolean observability, safety, liveness, and ultimately, diagnosability. The objective of the SCT is to define a characteristics (sensors/actuators). Local safety and liveness constraints are expressed as logical equations in Boolean observability, safety, liveness, and ultimately, diagnosability. The objective of the SCT is to define (synthesize) a characteristics (sensors/actuators). Local safety and liveness constraints are expressed as logical equations in Boolean observability, safety, liveness, and ultimately, diagnosability. algebra. The intersection of local safety and liveness The objective of the SCT is to define (synthesize) a supervisor that disables the occurrence of a set of events in constraints are expressed as logical equations in Boolean The intersection of local safety and liveness The objective of the SCT is to define (synthesize) aa algebra. supervisor that disables the occurrence of a set of events in constraints are expressed as logical equations in Boolean algebra. The intersection of local safety and liveness The objective of the SCT is to define (synthesize) constraints with the corresponding local PEs is carried out by supervisor that disables the occurrence of a set of events in such a way that the supervised DES behaves in accordance algebra. The intersection of local safety and liveness constraints with the corresponding local PEs is carried out by supervisor that disables the occurrence of a set of events in such a way that the supervised DES behaves in accordance algebra. The intersection of local safety and liveness constraints with the corresponding local PEs is carried out by supervisor that disables the occurrence of a set of events in such aa way that the supervised DES behaves in accordance constraints with the corresponding local PEs is carried out by such way that the supervised DES behaves in accordance constraints with the corresponding local PEs is carried out by such a way that the supervised DES behaves in accordance
Copyright © 2016 IFAC 396 2405-8963 © IFAC (International Federation of Automatic Control) Copyright © 2016, 2016 IFAC 396Hosting by Elsevier Ltd. All rights reserved. Copyright 2016 responsibility IFAC 396Control. Peer review© of International Federation of Automatic Copyright ©under 2016 IFAC 396 Copyright © 2016 IFAC 396 10.1016/j.ifacol.2016.07.637
IFAC MIM 2016 June 28-30, 2016. Troyes, France
Sensors / Actuators
PE1
Supervisory control of a DES
(1) Local control synthesis
Sensor signals
Control actions
Control System (PLC)
LC1
PE2
...
Local safety and liveness Constraints
LC2
(2) Global control synthesis
DC1
DC2
...
LCn
Global safety and liveness Constraints
... DCn
Interpretation of the Distributed Controllers into Grafcet
(3) Grafcet interpretation
a)
397
an automaton called generator describing all possible evolutions of the process. Formally, a DES is represented by the quintuple G = (Q, Σ, δ, Qm, q0) where Q is a finite set of states, with q0 Q as the initial state and Qm Q as the set of marked states; Σ is a finite set of events called an alphabet; and finally δ is a transition function δ: Q×Σ →Q. In some DES applications, several independent processes can be considered simultaneously. To combine two DES (A and B) into one single more complex DES, i.e. C = A||B, a procedure called synchronous product is used. In the resulting automaton, common events occur synchronously, while the other events occur asynchronously.
PEn
Off-line synthesis of the distributed control
Discrete Event System (Plant)
Y. Qamsane et al. / IFAC-PapersOnLine 49-12 (2016) 396–401
As mentioned before, the set of events Σ is divided into two disjoint sets, the set of controllable events Σc and the set of uncontrollable events Σuc. The supervisor can disable only controllable events and has no effect on uncontrollable events. The existence of a supervisor is guaranteed if the specified language satisfies the following controllability condition: K ∙Σuc L(G) K ; where L(G) is the physically possible behavior and K is a desired behavior. This condition denotes that K is controllable, if for any sequence of events w that starts from a sequence that is already a prefix of K (wK), the occurrence of an uncontrollable event does not lead the sequence out of the desired behavior K.
b)
Fig. 1. The proposed distributed supervisory control architecture. means of the local synthesis algorithm proposed in (Tajer et al., 2013). The second step proposes novel algorithms of global distributed control synthesis. These algorithms consider the local controllers (LCs) of the corresponding Plant Elements (PEs) and a set of global constraints in order to build Distributed Controllers (DCs). The third step provides an interpretation method consisting of translating the synthesized DCs into Grafcet (IEC, 2013).
2.2 Local synthesis approach
The remainder of the paper is organized as follows. In Section 2, mathematical preliminaries about the SCT are explained together with some basic important concepts that must be known to grasp the essence of this work. In Section 3, we detail the concepts of the global control synthesis approach and we provide two algorithms for computing the DCs. This approach is then applied to an experimental manufacturing system in Section 4. Finally, Section 5 summarizes the results of the paper and gives conclusions and some perspectives.
In (Tajer et al., 2013), we have proposed a local supervisory control synthesis algorithm that considers local models for the plant modeling and logical Boolean equations for the constraints modeling. The algorithm allows the application of local logical constraints to their corresponding local PEs automata in order to obtain LCs. The local synthesis approach defines the PEs as event-driven models and uses the Balemi’s interpretation (Balemi et al., 1993), i.e. the set of controllable events Σc ⊆ Σ represents the set of control outputs (actuators) and the set of uncontrollable events Σuc ⊆ Σ represents the set of control inputs (sensors). It considers also that the either rising “↑” and the falling edge “↓” associated with an event are the changes of its value from 0 to 1 and from 1 to 0 respectively. According to this interpretation we consider that the set of controllable events corresponds either to the activation orders “↑Z ” or to the deactivation orders “↓Z ” of the control part and the set of uncontrollable events is associated with the rising edges “↑E ” or with the falling edges “↓E ” of the input variables of the control part. The sets Σc and Σuc are then written Σc = ↑Z ∪ ↓Z and Σuc = ↑E ∪↓E.
2. PRELIMINARIES 2.1 Supervisory control theory The main objective of the SCT initiated by Ramadge and Wonham (RW) (Ramadge and Wonham, 1987) was to extend control theory concepts and notions for continuous systems to the DES. The originality of the RW model lies in the separation of the free behavior of the system modeling the entire operation physically realizable by the process (open loop operation) and the desired behavior (closed loop operation). In SCT, a system is assumed to evolve spontaneously. It executes sequences of events which describe its behavior, and engenders a language constructed by the alphabet of events. Events are divided into two disjoint sets, the controllable events and uncontrollable events. The SCT aims to synthesize supervisor(s) whose purpose is to disable the occurrence of controllable events in such a way to impose the supervised system to behave according to certain specifications. It provides formal methods and algorithms for the automatic synthesis of supervisory controllers from given specifications. The basic model of the unsupervised DES is
In the plant modeling stage, the approach consists of dividing the plant into several modular plant elements (PEs) that present all possible situations without taking into account any constraint coming from the control part. A practical construction of detailed and enriched PE model was introduced in (Philippot, 2006). The model of each PE is an automaton G(PEi)=(Q(PEi), Σ(PEi), δ(PEi), q0(PEi)) where Q(PEi) is the set of states, Σ(PEi) is the alphabet of events, δ(PEi): Q(PEi) × Σ(PEi) → Q(PEi) is a transition function and q0(PEi) is the initial state.
397
IFAC MIM 2016 398 June 28-30, 2016. Troyes, France
Y. Qamsane et al. / IFAC-PapersOnLine 49-12 (2016) 396–401
Local constraints are corresponding to each PE individually. They can be divided into two types, namely safety constraints (what the system must not do) and liveness constraints (what the system must do). To overcome the computational complexity and reduce size of the controllers, we model local constraints as logical equations in Boolean algebra instead of modeling with automata. The logical equations have the ability to be applied locally without going through a composition step. Local safety and liveness constraints are represented by equations whose result can be equal to 0 (not to do) or equal to 1 (for example, event to do for optimization). They model the consequence of the occurrence of an event on the activation (rising edge) or deactivation (falling edge) of an output event zi. Local constraints are modeled by means of the following implication:
If (Condition(s)) Then (Action(s)). This implication represents the consequence of a set of logical shared conditions to the output events of the control part (Actions). We define the set C(spec) as the set of all constraints’ conditions. A condition c C(spec) can be (i) a simple condition, (ii) A composed condition or (iii) A combination of a simple and a composed condition. An action can be either an authorization of a control order (order=1) and belongs to a set Ord(spec), or an inhibition of a control order (order=0) and belongs to a set Inh(spec). From this consideration, we define the set Act(spec)={Ord(spec), Inh(spec)} as the set of all specifications’ actions. Definition 1. The set of constraints is formally defined by the double Spec = (C(spec), Act(spec)) where : C(spec) is a set of conditions and Act(spec)={Ord(spec) , Inh(spec)} is a set of activation/deactivation of the control output events (actions).
f(ei, zi) And ↑↓zi = 0 (=1). To obtain LCs, local logical constraints are applied to their corresponding PEs according to the local synthesis algorithm proposed in (Tajer et al., 2013). The idea of the algorithm is to prohibit some controllable events from occurring in order to prevent the system from reaching states that do not meet the specifications. The algorithm is based on two steps. First, local safety constraints are applied to the considered local PEs. This step provides local supervisors (LSUP) such as G(LSUPi) G(PEi), G(LSUPi)=(Q(LSUPi), Σ(LSUPi), δ(LSUPi), q0(LSUPi)). Second, local liveness constraints are applied to the corresponding LSUPs allowing to extract LCs such as G(LCi) G(LSUPi) G(PEi), G(LCi)= (Q(LCi), Σ(LCi), δ(LCi), q0(LCi)).
A Simple condition consists of either a Boolean variable or a Boolean function using the symbols ↑↓ and logic symbols ∙ and + (for example: a, a∙b, a+b, ↑a…). A Composed condition describes a sequence over Boolean variables or Boolean functions that precede each other. The symbol “→” describes the precedence rule. A composed condition can be expressed by the following form: (C1 → C2 → ... → Cn). A Combined condition associates a simple and a composed conditions using the symbols ↑, ↓, → and logic symbols ∙ and +. Here are some examples of combined conditions: a) b) c) d)
3. GLOBAL DISTRIBUTED CONTROL In a distributed DES, a PE (or a local site) observes only the events in its site but it may have to execute actions depending on the other PEs of its environment. The problem is that a PE controlled by its corresponding LC may be incapable to make distinction of some states of the other PEs of its environment just from its local observations. We can solve this problem by allowing the PEs to exchange coordination messages with each other through global constraints. The intersection between the LCs and the global constraints provides the DCs which control each PE at once locally and globally.
a ∙ (b → c) a + (b → c) (a → b) ∙ (c → d) (a → b) + (c → d)
3.2 Distributed Controller Automata A DC is obtained by aggregating a LC and then applying the global safety and liveness constraints to the aggregated automaton. The aggregation consists of merging states reached by controllable events (zi Σc) into macro-states connected by uncontrollable events (ei Σuc). The controllable events are interpreted as the activation and the deactivation of the control outputs. If two states of the LC are linked with a controllable event that is associated with a rising edge, then the order is authorized and belongs to a set Ord(DC). If it is associated with a falling edge, then the order is inhibited and belongs to a set Inh(DC). We define the set Act(DC)={Ord(DC), Inh(DC)} as the set of all authorized and inhibited orders (actions) by the DC. The set C(DC)={COrd , CInh} is the set of all conditions monitoring the orders of the set Act(DC). COrd monitors authorized orders and CInh monitors inhibited orders.
In this section, the global supervisory control synthesis approach is described. First, we explain how the global safety and liveness constraints are expressed to be adaptable to the proposed algorithms. Second, we define the DC automata formalism. Third, the global synthesis algorithms are given. 3.1 Global safety and liveness constraints modelling Global safety and liveness constraints are those shared between two or more PEs (or local sites) to ensure the interaction between them (Qamsane et al., 2014). We opt in our approach to define global constraints as logical implications in Boolean algebra. The objective is to overcome the complexity related to modeling with automata which uses often a composition step, and also to adapt them to the proposed intersection algorithms which provide the DCs. The logical implication used to model global constraints in this framework is of the following form:
Definition 2. A DC automaton is syntactically defined by G(DC) = (Q(DC), Σ(DC), δ(DC), Act(DC), C(DC), q0(DC)) where: Σ(DC) is a none-empty set of events such as Σ(DC) = Σc(DC) Σuc(DC), Q(DC) is the set of states, to every state r Q(DC) is associated a set of actions Actr(DC) (which can be empty) and a set Cr(DC) (which can be empty) of logical conditions monitoring these actions, q0(DC) is the initial state, Act(DC)={Ord(DC), Inh(DC)} is 398
IFAC MIM 2016 June 28-30, 2016. Troyes, France
Y. Qamsane et al. / IFAC-PapersOnLine 49-12 (2016) 396–401
a set of actions associated with the states of Q(DC), C(DC)={COrd, CInh}is a set of logical conditions monitoring actions associated with the states of Q(DC) and (DC):Q(DC) × Σuc(DC) → Q(DC) is a transition function. A transition of G(DC) is defined with the triple (r, σ, r') ∈ (DC) where r is the origin state, σ is an uncontrollable event and r' is the destination state.
399
authorized (resp., Inhibited) order in a LAC’s state is the same as that authorized (resp., inhibited) under condition of a global constraint, then this condition should be associated to this state, but conditioning only authorization (resp., inhibition ) of the corresponding order. Algorithm 2 Integration of global constraints to the controllers input: G(LAC) = (Q(LAC), Σ(LAC), δ(LAC), Act(LAC), q0(LAC)). Spec = (C(spec), Act(spec)={Ord(spec) , Inh(spec)}) begin 1. for every state qQ(LAC) 2. Ordq(CD) Ordq(LAC) 3. Inhq(CD) Inhq(LAC) 4. for every constraint s Spec 5. if Ordq(CD) = Ords(Spec) then 6. COrdq COrdq ∪ {Cs(Spec)} 7. endif 8. if Inhq(CD) = Inhs(Spec) then 9. CInhq CInhq ∪ {Cs(Spec)} 10. endif 11. endfor 12. endfor end output: G(DC) = (Q(DC), Σ(DC), δ(DC), Act (DC), C(DC), q0(DC))
3.2 Global distributed control synthesis algorithms The synthesis algorithm is divided into two main steps: (i) Aggregation of the LC: this step provides an abstraction of the LC where states reached by controllable events (zi ∈ Σc), are merged into macro-states connected by uncontrollable events (ei Σuc). The aggregation method consists of removing controllable evolutions from the LC and joining them into macro-states as mentioned above. The aggregation algorithm 1 uses natural projection abstraction method to hide controllable events. The algorithm avoids nondeterminism after abstraction. Afterwards, the algorithm checks each state of the resulting controller. If any of its states merges more than one state belonging to the departure controller, the events associated with the transitions between the merged states will be added to the set of authorized orders (Ord(CD)) if they are associated with a rising edge (↑). Otherwise, they will be added to the set of inhibited orders (Inh(CD)). We denote the resulting automaton from this algorithm as Local Aggregated Controller (LAC). LAC is a 4-tuple G(LAC) = (Q(LAC), Σ(LAC), δ(LAC), q0(LAC)) where : Q(LAC) is the set of states, Σ(LAC)=Σ(LC) \ Σc(LA), the set of events. δ(LAC) is the new transition function and q0(LAC) is the new initial state.
4. APPLICATION TO AN EXPERIMENTAL MANUFACTURING SYSTEM Modeling
Sensor readings
Personal Computer Off-line synthesis of the distributed control
PLC Siemens S7 300 Distributing Station
Algorithm 1 Local controllers aggregation input: G(LC) = (Q(LC), Σ(LC), δ(LC), q0(LC)) begin 1. Hide controllable events of G(LC) 2. Determinize G(LC) 3. Let G(LACS) = (Q(LACS), Σ(LACS), δ(LACS), q0(LACS)) be the automaton of the LC after these two operations 4. for every state q Q(LACS) 5. if q merge more than one state sQ(LC) then 6. for every transition Tr between these merged states 7. Let Tr = (s, , s) 8. if ↑Z then 9. Ordq(LAC) Ordq(LAC) z} 10. elseif ↓Z then 11. Inhq(LAC) Inhq(LAC) z} 12. endif 13. endfor 14. endif 15. endfor end output: G(LAC) = (Q(LAC), Σ(LAC), δ(LAC), Act(LAC), q0(LAC))
Actions to actuators
Fig. 2. The experimental manufacturing system. The manufacturing system, shown in (Fig.2), consists of a distributing station controlled by a PLC Siemens S7-300. This station separates work pieces from a stack magazine barrel which can hold up to eight work pieces. A throughbeam sensor (Sensor 1) monitors the filling level of the stack magazine and a monostable double-acting cylinder (Actuator 1) surrounded by two limit switches (Sensors 2 and 3) ejects the work pieces individually. A transfer unit transports the work pieces to the transfer point of the downstream station. It is constituted of an arm which is driven by a rotary cylinder (Actuator 2) surrounded by two limit switches (Sensors 4 and 5) and a suction cup (Actuator 3) gripping the separated out work pieces while the arm is moving. A vacuum switch (Sensor 6) checks whether a work piece has been picked up. Tables 1 and 2 present all components of the system. 4.1 Plant modeling
(ii) Application of the global constraints to the LACs: The objective of the algorithm 2 is to consider global safety and liveness constraints to LACs issued from algorithm 1. It allows taking the interaction between different PEs into account. The principle of this algorithm is to check all constraints for each state of the LAC automaton. If an
The distributing station is divided into three components as shown in table 2, mainly: a bistable double acting cylinder, a monostable double acting cylinder and a suction cup. We do not explain the construction of the PEs (Fig.3). The reader can find explanations in (Philippot, 2006). 399
IFAC MIM 2016 400 June 28-30, 2016. Troyes, France
Y. Qamsane et al. / IFAC-PapersOnLine 49-12 (2016) 396–401
Distributing
Table 1. The PLCs Inputs Sensor Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6
Identity Through beam sensor Magnetic Proximity Sensor Magnetic Proximity Sensor Limit switch Limit switch Pressure switch
Description Detects if a work piece is available Detects if the ejector is at back position Detects if the ejector is at front position Detects if the swivel drive is at magazine position Detects if the swivel drive is in position to the next station Detects if a work piece is securely sucked
Event label wpa1 ebp efp dmp dsp wps
↓dmp
↑dsp ↑Go_mag 7 n
e at
e
e
ir
at
at
ir
↑A
ir
sp
↓A
↓A
↓A
sp
e at ir sp
sp
e at
e
ir
at ir
sp
sp
↑A
↓A
7 ↓Prompt
pt
m
pt
4
↑Aspirate 8
pt
m
↑Aspirate 3
m
ro
pt
↓P
pt
m
m
ro
ro
↑P
ro
↓P
5
↓P
0
ro
Liveness
6
2 ↓Prompt
pt
Suction cup
n
↑Prompt
1
Constraints ↑Go_stn And ↑Go_mag = 0 Not ↑Go_stn And Not ↑Go_mag And Not ↑dmp And Not ↑dsp = 0 ↑Go_stn And ↓dmp = 1 ↑Go_mag And ↓dsp = 1 ↓Go_stn And ↑Go_mag = 1 ↓Go_mag And ↑Go_stn = 1 ↓ebp And ↓Ejc_ext = 0 ↓efp And ↑Ejc_ext = 0 ↑Ejc_ext And ↓ebp = 1 ↓Ejc_ext And ↓efp = 1 ↑Aspirate And ↑Prompt = 0 ↑Aspirate And ↑wps = 1 ↓Aspirate And ↑Prompt = 1 ↑Prompt And ↓wps = 1 ↓Aspirate And ↑Aspirate = 1
9 ↓Aspirate
↓Aspirate
b)
↓wps
↓ebp
1
↑Ejc_ect
↓dsp
↓wps
m
Safety
↓G
↓dsp
↑dmp ↑wps
↓P
Liveness
ag
ag
↑dmp
ro
Safety
14
a)
↑P
Monostable double acting cylinder
Liveness
m o_
m o_
Safety Bistable double acting cylinder
↑Go_stn 13 ↓Go_stn
↑Prompt
Type
ag
↓G
ag
9 ↓Go_stn
↓Go_stn
Table 3. Local safety and liveness constraints PE
m o_
ag
m
↑Go_stn 8
↓G
↑G
m
o_
ag
ag
↓G
m o_
m
4
o_
↓dsp
↑G
o_
ag
m o_
ag
↓G
m
↑Go_stn 3
n
o_ st
10
↓G
o_
↑G
↑dmp
↓G
↑dsp
5
0
12 ↓Go_mag
o_ st
n st
n st o_ ↓G
11
↓Go_mag o_
n st
tn
o_ ↑G
o_ s
↓dmp
↑Go_mag
6
2 ↓Go_mag
o_ st
↑Go_mag 1
↓G
↑dsp
↓G
Table 3 presents the set of local safety and liveness constraints to apply to the PEs of the distributing station. For example, the safety constraint “Not ↑Go_stn And Not ↑Go_mag And Not ↑dmp And Not ↑dsp = 0” means that the double acting cylinder shall not be placed in an intermediate position where none of the orders Go_stn and Go_mag is sent and none of the sensors dsp and dmp is reached.
↓dmp
↑G
4.2 Local safety and liveness Constraints
↓G
Suction cup
n
Actuator 3
n
Bistable double-acting cylinder
Event label Ejc_ext Go_mag Go _stn Aspirate Prompt
o_ st
Actuator 2
Description The magazine ejector cylinder extends The swivel drive moves to the magazine The swivel drive moves to the next station The vacuum switches ON The vacuum switches OFF
o_ st
Identity Monostable double-acting cylinder
↑G
Actuator Actuator 1
↓G
Distributing
Table 2. The PLCs Outputs
↑wps
↑Ejc_ect
↓Ejc_ect
↑efp
2
0
3
↑Ejc_ect
↓Ejc_ect
5
4
↓efp
↑ebp
↓Ejc_ect
c)
Fig. 3. Plant models. (a) bistable double-acting cylinder, (b) suction cup, (c) monostable double-acting cylinder.
4.3 Local controllers
tn
1
o_s
↑wps
↑dsp
↓dmp
The application of local constraints of table 3 to their corresponding local PEs allows obtaining LCs. After applying all local safety and liveness constraints according to the local synthesis algorithm of (Tajer et al., 2013), we obtain the local controllers of the (Fig.4).
n
t o_s
2
e rat
3
spi
↑G
↓G
↑A
0
4 ↑G o
↓P
↓G
a)
6
7
o_m
ag
↑dmp
1
↓ebp
↑P pt
5
rom
pt
4
b)
↓dsp
4.4 Global safety and liveness constraints
3
rom
5
e 2
rat
spi
↓A
0 _m
ag
1
↓wps
2
↑efp
3 ↓Ejc_ext
Table 4 presents the set of global constraints to be applied to the synthesized LCs of the distributing station. For example, the constraint “If efp=1 And dmp=1 Then Go_snt=1” allows the authorization of the command Go_stn (The swivel drive moves to the next station) when the sensor efp detects that the ejector is at front position, and the sensor dmp detects that the swivel drive is at magazine position.
↑Ejc_ext
c)
0
5
4 ↓efp
Fig. 4. LCs models. (a) LCDouble-acting cylinder(bistable), (b) LCSuctioncup, (c) LCDouble-acting cylinder(monostable).
400
IFAC MIM 2016 June 28-30, 2016. Troyes, France
Y. Qamsane et al. / IFAC-PapersOnLine 49-12 (2016) 396–401
6. CONCLUSIONS AND FURTHER WORK
Table 4. Global safety and liveness constraints
This paper has so far presented a formal approach of distributed control design for automated manufacturing systems. This approach exploits modular models of the plant and logical equations in Boolean algebra for constraints modeling. As logical equations have the ability to be applied locally without going through a composition step, the approach avoids the problem of combinatorial explosion of the state space. The approach has been applied to an experimental manufacturing system that consists of a distributing station. As a further work, a method of interpretation of distributed controllers into Grafcet standard IEC-60848 will be proposed for PLC-based implementation purpose. We intend also to refine the proposed approach by applying techniques of formal verification in order to confirm whether deadlocks among DCs are possible and guarantee maximally optimal liveness.
Distribution station
Global Constraints 1. If efp=1 And dmp=1 Then Go_snt=1 2. If dsp=1 And wpa1=1 Then Ejc_ext=1 3. If ebp=1 Then Go_mag=1 4. If dmp=1 Then Aspirate=1 And Ejc_ext=0 5. If wps=1 Then go_stn=1 6. If efp=1 And dsp=1 Then Aspirate=0 And Prompt=1 7. If ↓wps Then 7.1 If [t1=2s] Then Prompt =0 And Go_mag=1
Moreover, the global constraints are written according to the manner shown in table 5. The objective is to adapt them to the proposed algorithm that provides DCs from the intersection of the LCs and the global constraints as explained in section 3. Table 5. Interpretation of global constraints Then
If
Ord Go_stn Ejc_ext Go_mag Aspirate Go_stn Prompt Go_mag
Distributing station
epf.dmp dsp.wpa1 ebp dmp wps efp.dsp ↓wps →
Inh
REFERENCES Baier, C. and Katoen, J.P. (2008). Principles of Model Checking. MIT Press, Boston. Balemi, S., Hoffman, G. J., Gyugyi, P., Wong-Toi, H., & Franklin, G. F. (1993). Supervisory control of a rapid thermal multiprocessor. IEEE Transactions on Automatic Control, 38(7), 1040–1058. Biallas, S., Kowalewski, S., and Schlich, B. (2011). Efficient verification of industrial PLC-programs using model checking and static analysis. In Automation 2011, Baden-Baden, Germany, number 2143 in VDI-Berichte, 67–72. VDI-Verlag, Düsseldorf. Cassandras, C.G. and S. Lafortune (2008). Introduction to Discrete Event Systems - Second Edition. Springer. Hietter, Y., Roussel, J.M., and Lesage, J.J. (2008). Algebraic synthesis of dependable logic controllers. In Proceedings of 17th IFAC World Congress, 2008, 4132-4137. Seoul, South Korea. Hopcroft, J., Motwani, R., and Ullman, J. (2006). Introduction to Automata Theory, Languages, and Computation (3rd Edition). Addison-Wesley Longman Publishing. Co., Boston, MA. IEC 60848. (2013). Grafcet Specification Language for Sequential Function Chart. International Electrotechnical Commission, IEC Standard 60848. Philippot, A., (2006). Contribution au diagnostic décentralisé des systèmes à événements discrets: Application aux systèmes manufacturiers. Université de ReimsChampagne Ardenne Qamsane, Y., Tajer, A., Philippot, A., (2014). Synthesis and implementation of distributed control for a flexible manufacturing system, in: Second World Conference on Complex Systems (WCCS). IEEE, pp. 323–329. Ramadge P.J., Wonham W.M., (1987) Supervisory control of a class of discrete event processes. SIAM J. Control and Optimization, 25(1):206–230. Tajer, A., Philippot, A. and Carré-Ménétrier, V., (2013). Centralised controller for manufacturing systems through liveness extraction approach. Pedrycz Witold, Inderscience publishers, International Journal of Systems, Control and Communications, 5(3):189-213.
Ejc_ext Aspirate Prompt
4.5 Distributed controllers In order to synthesize the DCs that will ensure the local and global functioning, LCs together with the global constraints are fed to the algorithms 1 and 2. It results the DCs of all PEs of the distributing station as shown in the (Fig.5). s2 ↓ebp
a)
↑efp
s3
s1 (Ord: Ejc_ret) If: dsp.wpa1
(Ord:-)
(Inh:-)
(Inh:Ejc_ret) If: dmp
If: -
s4 s2
↓dmp
↑dsp
s3
s1 (Ord: Go_stn) If: epf.dmp+wps (Inh:Go_mag) If: -
(Ord:Go_mag) If: ebp+(↓wps → ) (Inh:Go_stn) If: -
↓dsp
↑dmp
c)
If: -
↓efp
↑ebp
b)
401
s1
s4 ↑wps
s2 (Ord:Prompt) If: efp.dsp (Inh:Aspirate)
(Ord:Aspirate) If: dmp (Inh:Prompt) If: ↓wps → ↓wps
Fig. 5. DCs models. (a) DC of the monostable double-acting cylinder, (b) DC of the bistable double-acting cylinder, (c) DC of the suction-cup.
401