Background of the Invention
This invention relates to the control of machine tools, and more particularly to a method of controlling programmed movements effected by a plurality of actuators actuating one or more moving parts of a machine tool so as to carry out a machining operation on a rough workpiece fixed to a workpiece holder of this machine tool. The invention further relates to a device for controlling one or more axes in a machine tool, of the type having a driving motor on each axis and, for all the axes, a numerical data memory and a program capable of distributing a series of movement orders to each motor.
Conventional machine tools of the mechanical type, e.g., automatic lathes, are known to comprise cams, i.e., mechanical parts containing the program for machining the workpieces. Each cam communicates a movement to the tool by a description of the evolute of its profile. The connection between the feeler and the cam is continuously maintained so that the position of the tool is at all times a function of the radius of the cam at the location where it is in contact with the feeler. Such a control may be likened to an open-loop control.
In recent years, besides these conventional machines, so-called NC (numerically controlled) machines have been developed. The various "axes" of the machine are actuated by actuators. The program calculates a sequence of instructions which are transmitted to regulators, and the motors of the different axes are controlled by these regulators. The control is of the closed-loop type. A sensor gives the position of the axis at all times, so that a comparison can be made between the reference value and the actual value. The deviation determines an adjustment movement.
Summary of the Invention
It is an object of this invention to provide an improved control method and device which combine the advantages (speed of execution, simplicity) of cam machines and those (simplification of the starting-up operations) of NC machines through a particular arrangement of the control device and a concept, differing from that found in the usual NC machines, of the data to be stored for the control and monitoring of the movements of the axes.
To this end, in the control method according to the present invention, a plurality of sequences of movement orders are established, each of these sequences of orders being assigned to one of the actuators, and a series of intervals of time, which determine the programmed execution of the movement orders, and the sequences of movement orders and the series of intervals of time are loaded into a memory allocated to the machine tool.
In the control device according to the present invention, of the type initially mentioned, the motors are incremental or incrementally operating motors, and the numerical data comprise a step table, the indications of which are distributed to the motors in the form of orders of increments at predetermined times compatible with the dynamics of the machine tool.
Thus, the invention resides principally in the fact that the simplicity of the open-loop cam-type control system is associated with the flexibility of modern actuators, which may be electric motors, hydraulic axes, etc. A workpiece program can then be changed within a very short time as compared with that required for cam machines. Moreover, the possible variety of programs is no longer limited by the finished size of the cams. With the inventive device, however, the advantage of the cam system, consisting in a fully reliable open-loop operation, is retained.
According to one of the features of the invention, incremental or incrementally operating motors are used for each axis. Such motors are, for example, stepping motors or motors equipped with control systems and operating analogously to stepping motors. An incremental motor within the meaning of the present specification may also be a hydraulic actuator, e.g., a controlled jack.
Another essential feature of the invention is the concept of what is called the step table. The structure, operation, and development of the step table will be explained below.
Brief Description of the Drawings
Preferred embodiments of the invention and their implementation will now be described in detail with reference to the accompanying drawings, in which:
FIG. 1 is a diagrammatic top plan view of a lathe equipped with a control device according to the present invention,
FIG. 2 is an auxiliary graph used in developing a step table for machining a workpiece having the profile shown in the upper right-hand corner of FIG. 2,
FIG. 3 is a diagram of the data contained in the step table which controls the program forming the profile of the workpiece referred to in FIG. 2,
FIG. 4 is a partial, simplified flowchart illustrating the control of a turning tool during machining of the aforementioned workpiece.
FIG. 5 is a detail drawing showing, in a highly simplified manner, the actual shape of the workpiece machined according to the diagram of FIG. 2, and
FIGS. 6 and 7 are a graph and a diagram analogous to FIGS. 2 and 3, respectively, but relating to a modification of the step table.
Detailed Description of Preferred Embodiments
The overall design of the machining apparatus equipped with the device to be described does not present any special particularities. The different axes are driven by incremental or incrementally operating motors.
The control device comprises a computer program. The machining of a workpiece comprises the writing of a program having as its essential element a step table. Starting from a predetermined profile of a workpiece P, the movements of the X- and Y-axes are traced step by step; and the cumulated intervals of time for producing the required movements, as a function of the characteristics of the machine and of the workpiece, are stored in the form of a table containing the movements .DELTA.t.sub.xi and the movements .DELTA.t.sub.yi. Readings of the steps carried out as a function of a suitable clock signal generator bring about the successive transmission of pulses which cause the X- and Y-axes to take their successive steps.
In FIG. 1, a frame 2 disposed on a base plate 1 supports a headstock 3, the spindle of which is equipped with a chucking clamp 4. A bar 5 to be machined projects at the front of headstock 3 and passes through a barrel 6 so that the end of bar 5 is situated opposite a turning tool 7 integral with a tool slide 8. A spindle motor 9 rotates clamp 4. A headstock motor 10 causes headstock 3 to move forward and back. The controls for opening and closing clamp 4 are not shown. A motor 11 moves tool slide 8 on a guide-block 12 so as to control the radial position of the tool relative to the axis of rotation of bar 5. The machining of a repetitive profile on identical workpieces formed successively in bar 5 involves working in the X- and Y-axes, the X-axis taking the concrete form of motor 10, and the Y-axis of motor 11. The speed of rotation of the spindle is controlled by motor 9, which here is independent of the control device being described. It will be seen below that, in certain cases, the driving motor of the spindle may likewise be considered an axis.
The graph in FIG. 2 explains the way to set up a step table capable of being incorporated in the electronic control device 13 of the machining apparatus. The profile of a workpiece P to be machined is depicted diagrammatically in the upper right-hand quadrant of the graph. Axis x represents the symmetry axis of the bar, and axis y the radial deviations of the tool relative to axis x. The operations to be effected are broken down into tool movements, which are in turn quantified in steps of a specific length, chosen in terms of the requirements imposed by the material and of an estimation of the most judicious movements. In this graph, the axis starting from the center and going horizontally toward the left, as well as the one starting from the center and going vertically downward, are time axes. The radial movements of the tool are plotted on axis y, while the movements of the headstock are plotted on axis x. The point of origin of the machining is the point designated as t=0. Searching for this origin position when machining each workpiece will be discussed below. Starting from this point t= 0, the path of the tool depicted in the upper right-hand quadrant of the graph is broken down into segments. The lower right-hand quadrant shows the successive axial movements of the headstock as a function of time, and the upper left-hand quadrant the successive movements of the tool as a function of time. These movements are broken down into fixed steps as a function of successive, variable intervals of time designated as .DELTA.t. The .DELTA.t.sub.xi are a sequence of intervals of time, at the end of each of which the headstock must have moved by one step, i.e., its motor must have received an order to effect one increment. It is seen that between the time t=0 and the time t=2, the X-axis must have effected one increment after each interval of time, whereas between the time t=2 and the time t=8, the headstock must effect one increment over two successive intervals of time. Between the time t=8 and the time t=11, the headstock makes no movement, while in the intervals of time which follow the time t=11 and up to the time t=15, the headstock effects one increment at each interval .DELTA.t.sub.x.
As for the movement of the tool, i.e., the Y-axis, an analogous breakdown takes place. Starting from the position of the tool at the time t=0, the sequence of intervals of time is reproduced on axis t toward the left, and the increments of the motor of the tool are plotted at ordinates so as to produce the curve of the upper left-hand quadrant between the time t=0 and the time t=15.
The sum of the intervals of time is the same for the Y-axis (.DELTA.t.sub.y) and for the X-axis (.DELTA.t.sub.x) (in this particular case, it is equal to 15, but this is, of course, a theoretical example). On the other hand, the distribution of the increment orders on each of the axes, as a function of the time elapsed, is different.
The step table itself is shown in FIG. 3. Each of the columns .DELTA.t.sub.xi and .DELTA.t.sub.yi represents the number of intervals of time after which the corresponding axis must have moved by one increment. This table permits the control device to be programmed to machine a series of successive workpieces on bar 5 (FIG. 1).
It will also be noted in connection with FIG. 3 that, in certain cases, a reversal of the direction of movement of the tool may be required. In that case, the step table will comprise, for a particular position in the sequence of intervals of time .DELTA.t.sub.yi, an instruction relating to a non-usual order (e.g., .DELTA.t=0), this order being interpreted as a reversal of the direction of movement of the Y-axis.
The program itself may easily be written on the basis of the recording of the step table. It is a repetitive program which actuates the X-axis and the Y-axis independently. The first operation consists in searching for the origin position; this is an operation known per se, which need not be stressed. Once the origin position has been found, the reading sequences are started on the .DELTA.t.sub.xi and on the .DELTA.t.sub.yi.
The control device comprises a clock signal generator which determines the duration of the .DELTA.t.sub.i. The numerical data contained in these tables always indicate the number of .DELTA.t to be counted before a pulse is transmitted to the motor of the corresponding axis in order to move it by one increment. The flowcharts in FIG. 4 indicate the operations effected during each reading sequence. Each sequence includes the taking into account of the period of time corresponding to .DELTA.t.sub.xi or to .DELTA.t.sub.yi, and the output of the following pulse is produced at the suitable moment. The actual profile of the machined workpiece is a profile whose appearance is as shown in FIG. 5. When the program is being written, the .DELTA.t and the increments are to be chosen in such a way as to respect the dynamics of the system, considering the type of workpieces to be produced.
The graph in FIG. 6 explains a modification in setting up the step table to be incorporated in electronic control device 13 of the machining apparatus. The profile of a workpiece P to be machined, and the successive movements of the tool and of the headstock, are depicted in a manner analogous to FIG. 2. However, the movements are broken down into the number of steps as a function of fixed, successive intervals of time, designated as .DELTA.t. The .DELTA.X.sub.i and .DELTA.Y.sub.i are sequences of movements. At the end of each interval .DELTA.t, the headstock must have effected a prescribed movement .DELTA.x, i.e., equal to a prescribed number of steps. Thus, in FIG. 6, it is seen that at the end of the first .DELTA.t, the movement of the headstock must be four steps, etc.
As for the movement of the tool, i.e., the Y-axis, an analogous breakdown takes place. Starting from the position of the tool at the time t=0, the sequence of the intervals of time is reproduced on axis t toward the left, and the increments of the motor of the tool are plotted at ordinates to produce the curve of the upper left-hand quadrant between the time t=0 and the time t=9.
The step table itself is shown in FIG. 7. Each of the columns .DELTA.t.sub.Xi and .DELTA.t.sub.yi represents the number of steps the corresponding axis must effect at each .DELTA.t. This table permits the control device to be programmed so as to machine a series of successive workpieces on bar 5 (FIG. 1 ).
As stated in connection with FIG. 3, a reversal of the direction of movement of the tool may be required in certain cases. If so, the step table will comprise, for a particular position in the sequence of step intervals .DELTA.t.sub.Xi, an instruction relating to a non-usual order (e.g-, .DELTA.Y=100), this order being interpreted as a reversal of the direction of movement of the Y-axis.
The control device comprises a generator of clock signals of the duration .DELTA.t and synchronizes the reading of the step table on the X-axis and on the Y-axis. The numerical data contained in these tables always indicate the number of motor steps to be taken before the next pulse. During writing of the program, the increments are to be chosen so as to respect the dynamics of the system, considering the type of workpieces to be produced.
It is known that if the motors are stepping motors, each increment order necessarily brings the movable part dependent on the motor into a predetermined position, so that the open-loop operation is reliable as long as no stepping error and no discontinuity or lack of synchronization occurs. Writing of the program therefore needs no new checking of position and no interpolation. On the other hand, the steps provided must be compatible with the performances of the actuators.
A program may be provided for calculating the step table, capable of being carried out on a computer separate from the machine. Existing auxiliary software, e.g., the "TB-Logic" software of the present assignee, may be adapted for writing a step table program. In order to limit the size of these tables, it is possible to have recourse to means such as data compression, which allows the price of the computer memory to be reduced.
The step table having been calculated with a separate computer, it is then transferred into a control memory of the machine by any suitable means.
As stated above, the starting measurement of the point of origin at the beginning of each operation is an important program element. The measurement of the point of origin depends upon the actual position of the tip of the tool and, consequently, upon its degree of wear. The control device must therefore be equipped with a means permitting a shift of the point of origin in order to make possible a measurement of the point of origin capable of being corrected as a function of the characteristics of the tool. The shifting means must first of all permit a shift of initial point of origin as a function of the theoretical position of the tip of the tool relative to a reference on the axis, and then, if need be, a tool correction which modifies the origin position as a function of a possible variation of the shape of the tool as compared with its theoretical shape.
The shift of initial point of origin must be inserted in the program which calculates the step table, whereas the tool corrections will be made by shifting the point of origin, either upon each reading of the table in a zone without anticipated movement, reserved for a movement of limited extent, or outside the reading of the table.
When the machining of a workpiece requires co-ordination between the rotation of the spindle and the position of the tool, e.g., when a workpiece is to be threaded, or a polygonal shape is to be turned on the bar, or the spindle is to be used on the C-axis, the driving motor 9 of the spindle must operate like an axis incorporated in the program. In this case, the step table may comprise a sequence of information relating to the control of the spindle axis. However, in view of the heavy stress on this motor, it is also possible to have the reading speed of the step table, i.e., the actual duration of the intervals .DELTA.t, controlled by the speed of rotation of the spindle. In this case, the intervals .DELTA.t are no longer directly calibrated by clock signals but depend upon the instantaneous speed of the spindle.
It has been indicated above that the risk of maladjustment or breakdown may be the result of a discontinuity or lack of synchronization of a stepping motor if, for example, the resistant torque becomes greater than the maximum motor torque. As it is an open-loop system, no feedback on the running of the program exists in this case.
For each actuator, or each motor actuating an axis, however, the control device will include a monitoring means capable of detecting any abnormal operation and of generating an alarm which will stop the running of the program. The detection means may comprise a detector of the movement of the movable part connected to the axis or of rotation of the motor. In this case, an additional sensor and an alarm system are provided. It is also possible to equip the electric part of the actuators with systems for detecting the loss of steps and to cause the alarm to go off when the course of the pulses is obviously such that the mechanical movement which ought to be produced by that pulse has not taken place. In this case, sensors reacting to the movements of the tangible mechanical parts are no longer necessary. The monitoring is carried out solely by electronic means.
In the embodiment described above, the actuators are stepping motors. It should be noted, however, that identical results may be obtained, for example, with a DC motor, providing it is equipped with a control system which, upon registering a pulse, necessarily brings about a movement of this motor of predetermined extent. It will be realized that this procedure allows the use not only of stepping motors but also of position-controlled actuators, e.g., of the hydraulic type. The pulse received by this actuator then amounts to a new nominal position value.