Abstract:
The invention relates to a method of driving a workstation ( 1 ) comprising operational units ( 2, 3 ) linked to a drive automaton ( 7 ) executing a drive program, the drive program comprising for each operational unit at least one sub-part defining a plurality of strings of actions as a function of synchronization states, the drive method comprising a phase of configuration and a phase of execution of the drive program, the configuration phase comprising the steps of selecting the units to be implemented, of parametrizing the corresponding sub-parts by selecting the string of actions to be carried out and the associated synchronization states, the execution phase comprising the step of executing the drive program thus configured. The subject matter of the invention is also a workstation allowing the implementation of this method.

Description:
The present invention relates to a method of controlling an automated work station and to a corresponding work station. The invention applies in particular to an automated assembly line for motor vehicle bodywork. 
     BACKGROUND OF THE INVENTION 
     An automated line for producing workpieces generally comprises a succession of work stations each having operational units connected to a controller. There exist very numerous types of operational unit, and for example: handling robots; welding robots; automatic machine tools; position-holding tools; conveyors; movable positioning means; and clamping members, . . . . In each work station, the operational units are arranged and controlled so as to act together on one or more workpieces by the operational units performing sequences of actions. The controller executes a control program that coordinates and synchronizes the operational units and triggers the actions to be performed by each operational unit. Actions may be performed in succession or simultaneously by a plurality of operational units, with the operational units then acting simultaneously and independently, until their respective actions have come to an end. 
     The control program is designed specially for each work station as a function of the requirements of the user of the work station. Program design includes a step of writing the program in a high level language or user language, and a step of compiling the program in which the high level language program is translated into machine language. Program preparation, and in particular program compilation are relatively lengthy and require significant computer resources. In this mode of operation, the program needs to be rewritten in full or in part for each new work station or for any modification to an existing work station. However, such a control program is relatively complex, particularly when the number of robots is large, so that coordinating and synchronizing movements, functions, and actions of the robots becomes difficult, such that rewriting all or part of the program requires highly skilled personnel. Taking action on the program is thus relatively lengthy and expensive, which is penalizing when it is necessary to comply with flexibility requirements. 
     OBJECT OF THE INVENTION 
     It would therefore be advantageous to have means that enable the control of an automatic work station to be simplified. 
     SUMMARY OF THE INVENTION 
     To this end, the invention provides a method of controlling at least one work station comprising operational units comprising at least one robot such as a welding robot, the operational units being connected to a controller executing a control program, the control program including, for each operational unit, at least one sub-portion that defines a plurality of sequences of actions as a function of synchronization states, the control method comprising a configuration stage and an execution stage for the control program, the configuration stage comprising the steps of selecting the units to be operated, setting parameter values in the corresponding sub-portions by selecting the sequence of actions to be performed and the associated synchronization states, with the execution stage comprising the step of executing the control program as configured in this way. 
     Thus, the program is compiled once only and may be common to a plurality of work stations performing different jobs. A modification to the work performed in a particular station is then easily performed by reconfiguring the control program. 
     The invention also provides a work station comprising operational units connected to a controller controlled by a control program, the control program including, for each operational unit, at least one sub-portion of a plurality of action sequences, and means for setting parameters values for the sub-portions. 
     The work station enables the method of the invention to be implemented. 
     Other characteristics and advantages of the invention appear on reading the following description of a particular, non-limiting element of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
       Reference is made to the sole accompanying FIGURE that is a diagram showing a work station in accordance with the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     With reference to the FIGURE, the work station in accordance with the invention, given overall reference  1 , comprises a plurality of operational units, namely a conveyor  2 , a positioning tool  3 , a handling robot  4 , a welding robot  5 , and a welding robot  6 . In known manner, the operational units incorporate actuators and sensors that are connected (e.g. via a bus) to a controller  7  comprising a computer unit  8  that is connected to an input/output (I/O) device constituted in this embodiment by a touch-sensitive display screen  9  and that is arranged to execute a control program contained in a memory  10  of the computer unit  8 . The above-mentioned robots are six-axis industrial robots providing maximum capabilities in terms of intervention and flexibility. The six-axis handling robot  4  can thus present workpieces to the welding robots in optimized positions. The operational units and the controller are themselves known and are therefore not described in detail. 
     The operational units are arranged to perform actions in sequence. 
     The conveyor  2  and the handling robot  4  perform actions in three sequences A, B, and C. 
     In sequence A, the conveyor  2  needs to wait for the workpiece in an entry position to the work station in order to take it to an intermediate position close to the positioning tool  3 . The handling robot  4  needs to take the workpiece from the conveyor in the intermediate position and place it in the positioning tool  3 , and then after it has been welded by the robots  5  and  6 , it needs to withdraw the workpiece from the positioning tool  3  and put it back on the conveyor  2 . The conveyor  2  must wait for the workpiece in the intermediate position prior to taking it to an exit position from the work station. 
     In sequence B, the handling robot  4  needs to take hold of a workpiece in a zone  16  external to the work station in order to bring it to the positioning tool  3 , and then after it has been welded, it needs to place the workpiece on the conveyor  2 . The conveyor  2  must wait for the workpiece in the intermediate position in order it to an exit position from the work station  1 . 
     In sequence C, the manipulating robot  4  needs to take hold of the workpiece on the conveyor  2  in order to place it on the positioning tool  3 , and after it has been welded, it needs to take hold of the workpiece on the positioning tool  3  in order to place it in the zone  16  external to the work station  1 . 
     In these sequences, the positioning tool  3  grips the workpiece when it detects it, and releases the workpiece when welding has been completed. 
     In each of these sequences, the welding robots  5  and  6  need to perform actions in three sequences D, E, and F, namely:
         once the workpiece is in position on the positioning tool  3 , the robot  5  acts first and the robot  6  acts after the robot  5  has finished (sequence D);   once the workpiece is in position on the positioning tool, the robots  5  and  6  act simultaneously (sequence E); and   once the workpiece is in position on the positioning tool, the robot  6  acts first and the robot  5  acts after the robot  6  has finished (sequence F).       

     It should be observed that when the actions of a plurality of operational units need to be performed independently and in parallel, the sequencing with the following actions is performed once all of the preceding actions have been finished. 
     The action sequences of each operational unit constitute respective sub-portions of the control program. The actions are synchronized relative to one another as a function of the state that needs to be reached by at least one operational unit in order for a subsequent action of an interacting operational unit to begin (this state is referred to as a synchronization state). 
     To adapt the work station  1  to the work that is to be performed, the control method includes a stage of configuring the control program. Program configuration is performed after the program has been compiled such that compilation is performed once only, and the program is executed as soon as configuration has been completed, without any subsequent compilation. The configuration stage comprises selecting the operational units that are to be used, selecting the sequences of actions to be performed by each operational unit, and selecting the respective synchronization states, where necessary. The operational units, the action sequences, and the synchronization states constitute variables or parameters for the control program. 
     By way of example, sequence A is selected for conveyor  2  and handling robot  4 , and sequence E for the welding robots  5  and  6 . 
     The configuration stage is implemented by means of a computer routine of the control program that is arranged to enable the parameters of said program to be modified and to display an input screen page  11  on the touch-sensitive display  9  to show the values of the parameters. The input screen page  11  has fields  12 ,  13 ,  14 , and  15  corresponding to the modifiable parameters for each of the respective operational units. 
     The term “action” is used to mean either a stage of activity for the operational unit, e.g. gripping or welding, or a stage of passivity for the operational unit, such as waiting for an event that will trigger it taking action, or indeed storing the fact that all or some of the actions that are to be performed by an operational unit have been accomplished. 
     In general, the event that triggers an action being performed by an operational unit is the end of an action performed by another operational unit or by the same operational unit. 
     When the trigger event always occurs and is mandatory, e.g. for safety reasons, the control program is predefined so that the trigger event does not need to be indicated. This applies in particular to a validation action performed by the operator in charge of workpiece loading, on each occasion that the operator has loaded a workpiece and has cleared the zone in which operational units take action. 
     For an action, the modifiable parameters are generally as follows:
         the number of the step;   the action to be performed or the state in which the unit is to be found at the end of the action;   the identity of the operational unit that performs the action; and   the place where the action is performed, e.g. presented as an identifier for an operational unit such as a tool that is used for positioning a workpiece.       

     For a waiting action, the modifiable parameters are as follows:
         the number of the step;   identity of the operational unit that is waiting;   identity of the operational unit performing the step for which the end is being waited; and   the step number of the operational unit whose end will trigger the following action in the sequence.       

     For a storage action, the parameters are as follows:
         the number of the step; and   the location of the action, e.g. in the form of an identifier for an operational unit such as a tool used for positioning a workpiece.       

     If there is no need to wait for a particular state before passing onto the following action of the operational unit for which the sequence of actions is being specified, then the fields designating the expected event and the operational unit that will originate the event are left blank. 
     Naturally, it is possible to provide other parameters that can be modified, such as timing durations for waiting stages, different types of workpiece involving different clamping operations or positioners. 
     When the user seeks to input a value into one of the fields  12 ,  13 ,  14 , and  15  (by pressing on the zone of the touch-sensitive display  9  that corresponds to the field), the routine displays a context menu  17  giving multiple choices that present the various sequences predefined for the selected type of operational unit. Selection is performed by pressing on the zone of the touch-sensitive display  9  that corresponds to the selected option. 
     From the selected field values, the routine applies parameters to the control program sub-portion(s) that correspond to the operational unit that is being configured. This setting of the parameters activates the corresponding sub-portion. 
     This enables actions or sequences of actions by the various units to be interleaved in such a manner as to enable the units to work together. 
     It will be understood that the control program thus includes sub-portions relating to the operational units and that correspond to a large number of action sequences that can be performed by the operational units, and also that the configuration stage serves to select and set parameter values therefor. 
     The control method continues with a stage of executing the sub-portions of the configured control program that have been selected and for which parameter values have been set. 
     During the control stage, the control program causes the touch-sensitive display  9  to display screen pages similar to those displayed during the configuration stage (nevertheless the fields are already filled in, as configured). In order to enable proper operation of the control to be monitored at sight, the control program displays the actions it has accomplished and those that it is currently executing. When an action is finished by an operational unit, this fact is indicated, for example by a change of color on such a screen page, while actions that are currently being performed or that have not yet finished are indicated by flashing, for example. 
     When the execution of an action exceeds a predetermined normal execution time, a visible warning is displayed on the screen and a warning signal is sent to a supervisor station or to premises for maintenance personnel by means of an electrical connection of the Ethernet local network type or of some other type. 
     Furthermore, a line is displayed for showing the content of files on the screen in order to help find a possible cause for the time overrun and solve the problem that has arisen. 
     By way of example, the file in question is a two-dimensional (2D) or three-dimensional (3D) image of the operational unit in respect of which the system is waiting for an event or the end of an action. Advantageously, the image also has a pointer displayed thereon to designate the component from which a change of state is expected (such as the end-of-stroke sensor of an actuator, a safety device, . . . ). Said files may also contain:
         an electrical schematic for the unit;   plans showing the structure of the unit; and/or   any other information useful in restarting the sequencing of actions.       

     Preferably, another window is displayed showing the history of error messages and the dates and times at which they were issued. Still further windows can be displayed in order to give access:
         to the history of states (stopped, in normal operation, waiting for workpieces, . . . );   to curves and other statistical indicators concerning the performance of work stations and/or operational units; and/or   to error files stored in the control cabinets of the robots or other operational units (when the operational units include control cabinets  18  that are connected to a computer network  19 ).       

     Naturally, the embodiment described above is very simple in order to make the method easier to understand. In practice, the number of sequences that can be performed by a work station is much greater, particularly when the number of operational units therein is large. 
     It will be understood that the control program, prior to configuration, is identical for all of the work stations in a production line. This makes the line more modular and makes the stations more interchangeable. 
     Naturally, the invention is not restricted to the embodiment described and variants can be applied thereto without going beyond the ambit of the invention as defined by the claims. 
     In particular, the structure of the work station is described herein solely in order to enable the method to be understood and the method is not limited in any way thereto. The work station can thus have a structure that is different from that described and can include some other number of operational units and/or some other number of different types of operational units. 
     The program sub-portions mentioned in the above description of an embodiment may either be specifically portions of a single program, or they may be subprograms of a main program, or they may be slave programs controlled by a master program, . . . . The control program may have a structure that is different from that described. 
     The program sub-portions may correspond to an entire sequence of actions for one or more operational units, or to a portion only thereof. The robots used may for example have a number of axes other than six. 
     The configuration stage could be performed away from the work station. 
     It is possible to use an I/O device that is different from a touch-sensitive screen, and for example it is possible to use a keyboard, a mouse, and a screen, a touch-sensitive screen and a display screen, or a touch-sensitive display screen, . . . . The I/O device may be arranged to be connectable to a plurality of controllers in order to configure the control programs thereof.