Hybrid Modelling in Discrete-Event Control System Design
Hybrid_Modelling_in_Discrete-Event_Control_System_DesignCESA96Time passing is denoted byproc lanh:[m]drain: bool, l'in: realh: =0: druin: false: Fwhere t is a real expression. A process executing thisstatement is blocked until the time is increased by t time0如→4=103「→ drain->AhunitsSelection ([GBl is denoted byV h=0.2: drain: tru;△2;Fin:=2.10-3;△100[b1—>Sb2—>S20..bn—>SnThere is one continuous variable h. The other variablesThe boolean expression bi(1 S1U..bn;En→>Snparts of x is now described in more general terms. In thediscrete-event part of a process, assignments can be madeAn event statement Li which is prefixed by a guard bito discrete variables occurring in DAEs( Fin:=2.10)orbi, El)is enabled if the guard is open and the event spec-in the boolean guards of guarded daes(drain: true). Inified in Ei can actually take place. Continuous variablesthe first case the daes will be evaluated with new values inare not allowed in these guards. There are five types ofthe latter case different DA Es may be selected. Continuousevent statement: input(c?e), output(clx), synchronizationvariables are initialized immediately after the declarations(c ) time(at), and state(V rel, explained in the follow(h::=0), and may be reinitialized in the discrete-eventing section). The process executing [GW]remains blockedpart(see the next section for an example). In both casesuntil at least one event statement is enabled. Then. one ofthe symbol: is usedthese(Li) is chosen for execution, followed by executionBy means of the state event statementof the corresponding Si. Time-outs are event statementsof the form At that are prefixed by a guard (b; At).Aprocess cannot be blocked in a selective waiting statementthe discrete-event part of a process can synchronize withwith time-outs for longer than the smallest time-out timethe continuous part of a process. Exccution of v rel, wherets(provided the associated time-out guard is open). Pleaserel is a relation involving at least one continuous variablenote that guards that are always true may be omitted tocauses the process to be blocked until the relation becomesgether with the succeeding semicolon. Therefore true, Ltruemay be abbreviated to 'ERepetition of the statements [GB] and IGw] is denoted3 A Conveyor Line Control system*gB and *[GwiThe example treats a line of three conveyors for the transportation and buffering of boxes(see Figure 1). Therespectively. The repetition terminates when all guards areclosed. The repetition * true>S] may be abbreviatedsensorto [S]Interaction between the continuous and discrete partsThe interaction between the continuous and discrete partsof x is illustrated by means of a small example. Considera tank which is filled with a flow / 'in. The drain can beswitched on and off. If it is on(drain equals true), theFigure 1: The conveyorsflow out of the tank equals kh, where h is the level ofthe liquid in the tank. The surface of the tank is Amachines that supply the boxes to the first conveyor andCESA96remove the boxes from the last conveyor are not considcred. Fach conveyor has its own motor and a sensor forthe detection of a box. It is assumed that the movementof a box is determined by the conveyor which supports themajor part of the box, and that the control system ensuresthat the boxes do not collide. Initially the conveyors areemptyThe graphical representation of the conveyor line control system is shown in Figure 2. The textual specificationCFigure 3: Variables and parameters of process CVx2 b1: =false; b2: =trues: sensor in a process, defines the two synchronizationid: id1channels: s on and s off.x2∷=x1;x1∷=⊥lb2;Vx2≥lc→b2:= false;b3:=tuetype pos =[mpout.Icerealm. slengthrealmm? onIpsensor=(on: void x off: void)b1∧一b;Vx+b≥1be= trThe model of a conveyorlb2∧=b;Vx2+lh≥lgure 3 some of the variables and parameters used inbs: =truethe specification of the processes CV are shown. The conb3;V(e-l5)+x3≥5lbveyor is divided into two equal areas, each with length 51cbs: false, b3: -falseThe continuous variables xi and x, represent the positionsskiof the midpoints of a box. If the midpoint of a box liesl=b、;s.O/∥→skipin the first half of the conveyor it is described by xl. If itlies in the second half it is described by x2(0skipized immediately after the declarations(x1:’b、句lAll variables used in the continuous part are initi△0.2—m!fale; rout m! trL; on: false). Initially the conveyors are empty. Theresoff;Sonfore the variables xi and x] are both initialized to l. In thisI s off→sklpway they become undefined. when a continuous variable‖Δ5m! false; rin; m! trueis initialized to L, the variable and all equations in which itoccurs will be temporarily removed from the system untils onthe variable is initialized to a value other than lTo explain the structure of the selective-waiting statement we will follow the path of a box. First b1 and bare false, so the process waits until it either receives a newInitially a new box is received, the notor is switched onbox(pin?id 1)or the new state of the motor(m?on). Whenand the process C waits until the sensor is activated. Aftera new box is received, xI is initialized to 0. If the motorthis the repetition is executed. It consists of a sequence ofis on, the box will move towards the end of the conveyorSubsequently, two events can take place. Either the sensortwo selective waiting statementsis activated, or the midpoint of the box leaves the first partAt the beginning of the first selective waiting statementthe motor is running and the front of a box has just reachedof the conveyor and enters the second part. The lengththe sensor. If the next conveyor can receive the box (routof the box determines which event takes place first. Thewithin 0.2 seconds(A0. 2), the first selective waiting stateformer event is modelled by b∧-b;Vx1+5lb≥ls,ment is terminated and the second one is executed. If thefollowed by execution of btrue. the latter event isbox cannot be received within 0.2 seconds. the motor isy b1; Vx124c. If this event occurswitched off and the process waits until the next conveyorinitialized to the value of xl, and xi becomes undefinedis ready to receive the box(xI: =I). After this, the next event depends on the stateAt the beginning of the second selective waiting state-of the sensor. If the sensor is not yet on, it will be switchedon in the next event(b2∧=b;Vx2+bb≥l). f it isment, the motor is running and the box has just startedalready on, the next event will be the departure of the boxeaving the conveyor. Now one of two events may occurfirst. Either a second box may enter the conveyor (rin)to the next system, which is modelled by.. poor the box leaving the conveyor may clear the detectorThe deactivation of the sensor requires an extra channel x(S off) before a second box has entered. In the formerbecause the position of the box is then determined by thenext conveyor process. This channel makes the variable x]situation, the control process subsequently waits for thefirst box to have left the conveyor (s off), and then waitsequal to the variable xi of the next conveyor process cv.for the second box to reach the detector (son ) In theThe sensor is switched off when (lc-ls)+x3>lbThe sensor is modelled by means of the two channelslatter situation, the control process subsequently tries toreceive a new box(rin). If this is not possible within 5son and s off. These are used in the control system to waitseconds, the motor is switched off and the process waitsfor the sensor to be activated or deactivated respectivelyuntil a new box can be received at the end of the secondThe synchronization s. on can only take place if the sensorselective waiting statement the motor is running and theis activated. This is modelled by bs; sonskip in thefront of a box has just reached the sensor. Therefore theprocess Cv, where skip is the empty statement. Executionof the statement s off in the control system causes it torepetition can then be re-exccutedblock until the sensor is deactivated4 Concluding remarksThe Control SystemThe application of the x language for discrete-event conThe control system ensures that boxes do not collide, thattrol system design has been illustrated using a simple cona conveyor is not switched off unnecessarily when a boxveyor based transport system. The approach outlined inreaches the end of the conveyor and can immediately pro-this paper uses machine models connected to the controlceed onto the next one, and that a conveyor is switched offsystem model. Our aim is to use the simulation modelwhen it remains empty for a certain amount of time. Theof the control system also for actual real-time control byCESA96simply removing the machine models, and connecting the[9] J Hooman, Specification and Compositional verifiinterface channels to the actual controlled machines. Recation of Real-Time Systems. Springer-Verlag, 1991search in this direction is continuingThe x language is not limited to discrete-event control[10 P A B F. van Geldrop, "The specification and analysystem design. It can also be used for the specificationsis of discrete-time systems in x, MSc thesiS WPAand simulation of discrete-time and continuous-time cor420082, Eindhoven University of Technology, Thetrol systems [10]. Applications range from low-level PLCNetherlands, 1996sequence control to high-level supervisory control, including scheduling and planning(e. g. see [11])[11 D.A. van Beek,SIl.F Gordijn, and J.E. Rooda, ""Inte-grating continuous-time and discrete-event conceptsThe example has illustrated the suitabi lity of the larin process modelling, simulation and control, inguage for the specification of discrete-event control sys-ceedings of the First World Conference on Integratedtems. The language is flexible, and consists of a smallDesign and Process Technology, pp 197 204, Decnumber of orthogonal constructs. This results in concise1995and clear specifications. The integration of continuoustime and discrete-event concepts in the language makes it[12 G Naumoski and W.T. M Alberts, The x engine: ahighly suitable for machine modellingfast simulator for systems engineering, final reportA x simulator for the discrete-event part of the lanof the postgraduate programme software Technolguage has been developed [12]. It is being used for modogy, Stan Ackermans Institute, Eindhoven Universityelling and simulation of complex discrete-event manufacof Technology, The Netherlands, Sept 1995turing systems, such as production facilities for integratedcircuits. The x simulator for combined continuous-time/discrete-event systems is still under constructionReferences[1] D.A. van Beek, Exception Handling in Control systems. Phd thesis Eindhoven University of technology, The Netherlands, 1993[2]H. Elmgvist, Dymola-Dynamic ModelingLanguage Users Manual. Dynasim AB. LundSweden 19943 C.D. Pegden, R.E. Shannon, and R. P Sadowski, Introduction to Simulation Using SIMAN. McGrawHilL. 1995[4 P.I. Barton, The Modelling and Simulation of Combined discrete continuous processes. phd thesisUniversity of London 1992[5] N.W.A. Arends, A Systems Engineering Specification Formalism. PhD thesis, Eindhoven Universityof Technology, The Netherlands, 1996[6]CAR. Hoare, Communicating Sequential Processes. Englewood-Cliffs: Prentice-Hall. 985[7] J M. van de mortel-Fronczak and J.E. Rooda, Application of concurrent programming to specificationof industrial systems, in Proceedings of the 199.5IFAC Symposium on Information Control Problemsin Manufacturing, (Bejing), pp 421-426, Oct 1995[8]J M. van de Mortel-Fronczak, J.F. Rooda, and N.J. Mvan den Nieuwelaar, Specification of a flexible manufacturing system using concurrent programming,Concurrent Engineering: Research and Aptions,vol.3,no.3,pp.187-194,1995
用户评论