C:op~Tight Pr()n' ~s ing
©
IF.-\C A,hanll"d Information in AUlOIll,uic Control. :\allc~. France
1989
DISTRIBUTED IMPLEMENTATION AND HIERARCHICAL LEVEL FOR CONTROL OF FLEXIBLE MANUFACTURING SYSTEMS E. Craye and
J.
C. Gentina
I.II /;om tuirt, (I"AlltUllllltiqlll' 1'1 IlIj OI"lIl{Jtiqlll' IlI dll.ltri!'lI!' (L AI/). I 11.1 tit 11 t I wlll.ltripl rill .\"urd (/f).\" ). UY . -18. 59651 \ 'illl'lll'lIl 'l' rI" 'hcq (;nll'x. Fml !!!'
Abstract. The use of distributed devices for the control of complex industrial processes has shown the necessit y of implementing a hierarchical level to supervise both the operative and control systems. By means of a global view of the installation, the functions of the hierarchical level must enable not only the normal working mode, but alse· the degraded modes and the management of transitory states to function. In the first part of our paper, we present the problems raised in creating a distributed implementation of the control system. We give several solutions enabling use to be made of algerithms of cemmunication such as producer / censumer or critical resources a nd the whole functioning of the system to be driven. These solutions are obtained without modifying in any significant way the previous description of the control system. In the second part, we give a more precise development of the concept of the hierarchical level, the use of production rules evaluated by ar· inference engine has volontary been chosen for its definition . We present the propose d solution and finally develop its effective implementation. Keywords. Distributed parameter systems; hierarchical systems; inference engine; reliability; structured adapt ive and coloured Petri nets. first part. In partict:iar, a solution using an external hierarchical level which offers standard network communication functions, will be produced. Finally, the second part will show the use of the hierarchical level to control a F.~1.S.
INTRODU CT ION During the definition and the conception of the models which control a flexible system, the primary concern of the user is not the distribution of the different processes. At best he uses the standard methods to obtain a graph corresponding strictly to the requirement spec ifications. For its three initial steps (Fig. 1), the C.A.S.P. A.I.M. plan (Kapusta, 1987) (Bourey, 1988) uses such a methodology to carry out a control part which is written in Structured Adaptive and Coloured Petri Nets (Bourey, 1987) (SAC-PN) ard production rules (Lauriere, 1982). This project aims at the elaboration of a methodological tool made up of an aided design a nd implementation set of software for the control of F .~l.S. From the specification of the requirements, it specifies the initial data firstly to produce a model of conception which will be translated into a real model of implementation. It is on this last point that step IV of the project takes effect . The implementation, directly conditioned by the architecture and the nature of the devices to be driven, uses the two models of description (centrol part, hierarchical level) in order to make them operational on site.
II
The control part, whose maximum parallelism was initially retained, must now be distributed and grouped on different devices: Fig. 1. Global schema of the C.A .S.P. A.I.M. prcject - prcgrammable logic controllers, FROM THE DESIGN TO THE IMPLEMENTATION
- computerizec numerically controlled machine. The groups are of two types: functional and economical. If possible, all the processes which either drive a same physical entity or are closely related together, will be linked within a single controller: this is the functional group. ThE economical point of view depends on two concepts, either on the finite number of controllers in charge of the functioning of the installation, or on the geographical location of the control unit in relation to the driven operative part.
Normal Working Mode ThE goal of the simulation (Castelain, 1987) is to validate the dynamic behaviour of the conception model. At this step, two studies a re necessary: a qualitative valuation and a quartitative valuation. The first one verifies that the dynamic behaviour of the installation does not involve any failure in its evolution. With this valuation, it must be possible to detect, analyse and solve the "dead-locks" ard the indeterminations misled by a wrong conception or by an incomplete definition of the control. The quanti-
The differences of behaviour between the conception and implementation models will be introduced in the
323
324
E. Craye and
tative valuation enables the dimension of the operative part to be estimated. By temporization, it verifies the performances of the production corresponding to the specification requirements. At this level, the simulation consists of a central way to validate the control system. The simulator manages a set of records in which, both the static description of the control and the hierarchical level, together with the dynamic data which characterize the behaviour of the marking of the graphs, are modelled. A single program, the simulator, manipulates these informations and the evolution of events. This approach differs from the reality of the implementation on two main points. The programs of the control and of the hierarchical level are distributed over several controllers; their sequences are, of necessity, not synchronized and cannot be correctly simulated by a single program. In the same way, the set of records is distributed on every controller. Any controller has a global view of the state of the system for a time t. The differences are shown in Fig. 2. The whole programs i, j ar.d h are approximated by the simulator; but their respective evolutions differ from these of the simulator which necessitates a strict schedule: it first evaluates the hierarchical level and then the control part. HlRARCHICAL LEVEL h
I SIMULATOR
~
~ ~ ~ Simulation point of View
~
J.
C. Gentina modeled fails to coincide with what is implemented.
O AlIOC/PI} O
dependlnJi!: on the hienlrCrucal level's rules
AIIoc/1'2
Fig. 3. Sharing of data To solve the problems of a distributed implementation, we propose to dissociate the description of the control of the sequential automatisms, frem the general plan which regUlates these automatisms. It allows to structure the approach of conception because the user has to worry about one problem at once. A sequential language (the Petri nets or the Grafcet for the phase of implementation) to model the dynamic automatisms and a declarative approach for the management of strategy allow the best use to be made of the specification of each of these two formalisms . In particular, a declarative tool makes easier to perfect the differents strategies. It enables, by simply modifying, adding or removing some rules, many ways of functioning to be checked without to call into question the preliminary description of the control and improves the research of the optimal functioning. Moreover, the modifications needed during the whole life of the system (for example: change of a dynamic priority to speed up a specific production sequence) are made easier, in a same way as the checking step, by the declarative approach. This classification of problems shown by the structuration leads us to use a hierarchical level dissociated from the control devices, and which allows the functioning of the system within the framework of a distributed implementation.
Implementation point of view
Fig. 2. Differences between simulation / implementation The data raise another problem. The set of the distributed information is the same as the centralizec structure : eech piece of information is actually present. But the centralization conceals the network communication between the controllers in order to eXChange the data on their own states. The conSistency of the information between the value of a datum sent to an external device whilst its value is liable to change during the transmission, is als(. concealed by the simulation . Fig. 4. Dissociation between H.L. / control part As an example, let us consider two process sharing out a critical resource. The retained solution during the conception stage decides to model the state of the resource (free or taken) at the control level. On the other hand, the rules to allocate it are modeled at the hierarchical level. This solution is shown in the following drawing. The marking of the places Alloc / Pl and Alloc / P2 depends on the rules of the hierarchical level. This model can easily be simulated. The description of the control uses a set of records, unique and fully accessible by the simulator. The indetermination of functioning is thus solved by the general view of the simulator. But, what hap~ends if the two process are distributed between two controllers? The date are no longer global, nor indivisible. In partict:!ar, the resource symbolized by the place R, car not be implemented as modeled. It is now shared out between two controllers each of which needs its description to complete their control. The realization on industrial devices differs from the initial model. The qualitative valuations of the simulation which validate the dynamic behaviour are obsolete because what is
In this way, the example submitted Fig. 3, will be implemented after transposition to Grafcet in the following manner: - the graphs which characterize the sequential evolution of process will be translated into Grafcet with a strict respect of the formalism of Petri nets, - the resource and its managing strategies will be modeled at the hierarchical level. The hierarchical level, according to the information it possesses (marking of the place above the allocating) ar.d the defined strategy (here expressed by production rules), decides upon policies to carry out and modifies the marking of the con trol graphs by changing the value of the receptivities of the transitions (bits Bi, Bj). Then, the translation from the modelling step to the implementation step, becomes automati c. The model of the resource: a place in Petri nets, is substituted for an interpretation of the concerned transitions. Its
Control of Flexible Manufacturing S\stems management depends on the supervision part, which uses a declarative formalism and can be modified a posteriori without to call into question the control part.
Bi COJlITROL PARr
l (
)~ Ct1t1Cal secUon "\
325
of the system. The rules or function al set of rules are mainly independent; the distinction between the knowledge and the way to use it enables the rules to be easily modified without involving the logic of the system. This last point makes easier the modification of the choices of functioning, depending on either the knowledge of the operators, or the accumulated experiences during the production (Martinez, 1987). Finally, the production rules replace the logical formulas with symbolic formul as nearer of the natural language, which makes easier the understanding and the checking of programs by the user of the system (Atabakhche 19 87). '
ATIRlBUTION · : si legal ressource libreJ et (egal XI marquee)
HIERARCHIC AL LEVEL
alors (affcctc ressource occupee) et (affecte 81 1)
rule i : si (cgaJ mode ·de-marche nonnalJ alors (affecte normal 1) (affecte degrade 0)
si legal ressource librel et (egal XJ marquee) et (different Xi marquee)
alors (affccte reSSOUfce occupce) et (afJccte 8J 1)
rule J : sI (cgal mode-de-marche degrade) alors (affecte normal 0) (affecte degrade 1)
• priority to the left processus
Fig. 5. Hierarchical implementation of the resource Reliabili ty The hierarchical level enables the user to realize strategies of surveillances by a general view of the state of the control and the operative part (Bourey, 1986) (Martlnez, 1988) (Valette, 1988). It is physically connected ~o the controllers on which the control graphs are Implemented and uses, as communication protocol, the direct access mode (Sahraoui, 1987) in a structure master (the hierarchical level) Islaves (the controll ers). This mode, which acts as a "spy", allows the user at any time: - to accede in a transparent way to the data of the control part, - to modify these data. One of its major interests is to avoid any need for modifications of the control for its realization. Nevertheless, evolutions of the hierarchical level and of the control are completely asynchronous. Some rules of "correct functioning" must be respected. In particular, a fleeting data (marking of a place, ... ) must necessary be memorized if the hierarchical level refers to it. Through this communication mode, three mecanisms modify the normal scheduling of the control: the freezing, . the resetting and the dynamic configuration. The freezing allows a selective control of the dynamic behaVIOur of the graph. It aims to avoid a latent-error becoming effective or, if it is too late, it allocates a failure to the delivered service (Laprie, 1985). The resetting aims to put the system back to a previous state In relatIOn to the current one which has activated the error. It is very important because it allows the user to specify and realize the main strategies of error recovery. Finally, the dynamic configuration reorganizes the production sequences depending on the appearance of events in the system. It allows a working mode into another to be changed. This solution, to be realistic, needs to initially integrate the different working modes In the control part. It is excluded, for reason of security and performance, to consider a dynamic reprogrammation of the control devices. The user, during the whole stage of conception, must define with the normal working mode, all the degraded modes that can occur. The hierarchical level depending on its decision rules, only parametrlzes the control graph. With such tools, the definition of the hierarchical level and its use allows the control to be dissociated from the algorithms or rules of analysis and decisions which choose the best means of functioning. Its location on an external device gives it a general and consistent view of the system, permitting it to act in a general plan of production. Its formalism, production rules driven by an inference engine, prejudge in no way the evolution
Fig. 6. Dynami c configuration REALI ZAT ION OF THE HI ERA RCHI CA L LEVEL (Barbez, 1988) (Craye, 1989) The hierarchical level consists of a se t of production rules driven by a n inferen ce engine in forward -chaining. Let us now define its different com ponents. The fact bases The hierarchical level has two separate fact bases the first one is named internal, the second one ext~rnal. An internal fact designates a type-variable of which the initial value is given at the system configuration, and which can later change depending on the results of the inference; such a variable is essentially local at the hierarchical level. Conversely, external fact is a type-variable of which the value is given by the state of the operative or control pa rts. To know or change the value of an external fact, we need to use the local network in order to communicate with the installation. The knowledge base The syntax of a production rule is the following:
< rule> :: =
~
In fact, a more precise sy ntacti cal definition distinguishes two t ypes of condition and two type s of action, by adding the internal or external at tribute. This distinction is used to differentiate the clauses which only refer to internal fac ts, from the clauses which at least refer an external fact needing a request to a control device to know its value. To increase the power of knowledge description , the user can define, in addition to the production rules functions directly written in LISP (language used t~ develop the hierarchical level). This opportunity essentially concerns in two cases: - absence of "else" in the structure : if then , - complex processing where the predefined functions in the system are inadequa te. Finally, we have in the hierarchical level two separate rule bases. The rule base, the structure of which has been defined , effectively drives the distributed devices and the operative part. It supervises the installation and, with the gathered data, modifies the process. Nevertheless, a base of meta-rules, which is used as a first filter during the inference, has been defined.
E. Craye and
It saves times because there is no need to examine the whole rule base. The meta-rule base, with only internal data, chooses the rules which will be candidate for the entire inference. In this manner, the number of rules which work with the local network, the slowest task of the system, is minimized.
.1.
C. GClltina
REFERENCES Atabakhche, H., D. Simonetti Barbalho, R. Valette, ~1. Courvoisier (1987). Commande d'ateliers: un compromis est-i1 possible entre une approche graphi que et une approche intelligence artificielle? A.P.I.I., 21, i, P•. 377-394 .
The inference engine The principle of the inference engine consists of a width forward-chaining adjusted to the hierarchical level. It works in two successive phases; firstly, an inference on the meta-rule base; secondly, af' inference on the rule base . The following choices has been retained for more efficiency: (j) selection
of rules whose internal premises have been verified,
(ii) selection of rules whose external premises have also been verified, (iii) parallel starting of internal ccnsequents and memorizing of external consequents, (iv) repetition of the three previous points until there is no more candidate rule, (v) starting of external consequents.
The selection according to the internal premises is very important because it does not spend time. It is alse for this reason that we start the external consequents only at the end of the inference. We can therefore consider, that the external processes are frozen during a whole cycle of inference; for this reason, the hierarchical level never has to accede more than once to an external data during a same cycle of inference. The forward-chaining is equivalent to a synthesis approach like bottom -up analysis, which directs the reasoning from the state of the operative and control parts to determine the actions to do . This methodology differs from a top-down analysis which arrives at the elementary detail from a global view of a problem and by successive eliminations of the constraints. In the present case, the bottom-up conception of the hierarchical level comes from its separate implementation through the production system. The respective autonomy of the entities (operative and control part, and the hierarchical level) means that the laws of general behaviour are determined by af' observation of both the functioning and the data of the control part.
Barbez, J.M., E. Craye, J.C. Gentina, J. Mayet (1988). Hierarchical level and implementation for analysis and synthesis of control and reliability of flexible manufacturing systems. 12th IMACS World Congress'88, Paris, 3, pr . 552-558. Bourey, J.P., D. Corbeel, E. Craye, J.C. Gentina (1986). Adaptive and coloured structured Petri-nets for description, af'alysis and synthesis of hierarchical centrol and reliability of flexible cells in manufacturing systems. 1st European Workshop on Fault Diagnostics, Reliability and Related Knowledge-Based Approaches, lle de Rhodes, 1986, I, p"" 281-295, D. Reidel Pub. Comp. Bourey, J.P., D. Corbeel, E. Craye, J.C. Gentina (1987). Utilisation des reseaux de Petri structures adaptatifs et colores dans l'ar>alyse et la synthese du controle hierarchise de processus discontinus. Partie A : Les modeles de description. A.P.I.I., 21, 4, pr. 343362. --Bourey, J.P., E. Castelain, J.C . Gentina, ~l. Kapusta (1988). C.A.S.P.A.I.I\I.: a computer aided design of the control system of F.M.S. 12th IMACS World Congress'88, Paris, 3, P•. 517-521. Castelain, E. (1987). Modelisation et simulation interactive de cellules de production flexibles dans l'industrie manufacturiere. These de Doct. d'Universite, Lille. Craye, E. (1989). De la modelisation it I'implantation automatisee de la commande hierarchisee ce cellules de production flexibles dans l'industrie manufacturiere. These de Doct. d'Universite, Lille. Kapusta, M., J.C. Gentina (1987). Introduction to a first step of the aided design of control system of flexible manufacturing cells. COMPINT'87, Montreal. Laprie, J.C . (1985). Surete de fonctionnement des systemES informatiques et tolerance aux fautes : cencepts de base . .:G~, 4,~, P." 419-429. Lauriere, J.L (1982). Representation et utilisation des connaissances. T.S.I., I,.!., pr. 25-42,~, pr. 109-133.
CCNCLUSION The hierarchical implementation enables the tasks to be dissociated, the functions of which are different. The control part models the schedule of actions to be carried out and particularly the circulation of the production sequences. The hierarchical level, with declarative rules, allows the control part to be easily parametrized, ar>d strategic criteria which lock for the best solution of functioning by comparisen of performances to be defined. This implementation preduces a flexible system, not only because of the material architecture of the system, but alse because of the definition of the command which is adapted to the production and car. lead to the research of the optimal performances.
l\Iartinez, J., P. Muro, M. Silva (1987). ~Iodeling, validation and software implementation of production systems using high level Petri nets. I.E.E.E., --pp. 1180-1185. Martinez, J., P. Muro, M. Silva, S.F. Smith, J.L. Villarroel (1988). Merging artificial intelligence techniques and Petri nets for real time scheduling and control of production systems. 12th I~IACS World Congress'88, Paris, 3, pr. 528-531. Sahraoui, A.E.K. (1987). Contribution it la surveillance et it la commande d'atelier. These de Doct. d'Universite Paul Sabatier, Toulouse. VaIette, R., J. Cardoso, Atabakhche, M. Courvoisier, T. Lemaire (1988). Petri nets and production rules for decision levels in FMS control. 12th IMACS World Congress'88, Paris, 3, pr. 522-524 .