Control device and method for exactly repeating movements at an altered speed
The control device adjusts setpoint values for machine axes to enable precise retraction at different speeds and directions, addressing power interruption issues in machine tools and ensuring accurate retraction paths without altering the interpolation cycle.
Patent Information
- Application Number
- PCT/EP2025/054865
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-25
- Filing Date
- 2025-02-24
- Publication Date
- 2025-10-02
Smart Images

Figure EP2025054865_02102025_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] Control device and method for exactly repeating movements at changed speed
[0003] The invention relates to a control device for a machine with at least two controllable axes for moving an object encompassed by the machine or connected to the machine along a predetermined trajectory, wherein each axis comprises at least one drive to which a control device is assigned, wherein the control device determines a first number of first setpoint values for each axis in such a way that when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the axes move in such a way that the object moves at a predetermined first speed along at least one path section of the predetermined trajectory.
[0004] Furthermore, the invention relates to a method for operating such a control device for a machine.
[0005] Furthermore, the invention relates to a method for operating such a control device for a virtual machine.
[0006] Furthermore, the invention relates to a computer program product with program instructions for carrying out the method steps according to the invention.
[0007] Today, machine tools are controlled using a control device, such as a CNC controller. The control device uses a parts program to "control" the movements of machine elements, and thus the movements of a tool—which, for example, is inserted into the machine via a toolholder—relative to a workpiece that is also inserted into the machine. Experts will understand that the term "control" is common parlance and not "control" in the sense of control engineering. "Control" here primarily refers to the position control of axes, which encompasses control processes in the sense of control engineering.
[0008] To create a parts program, a CAM (Computer Aided Manufacturing) system generates movement information about the tool movements to be performed, e.g. in the form of lines or arcs, preferably in a standardized data format, and reads this information into a downstream postprocessor. Using the movement information generated by the CAM system, the kinematics and machine data of the machine tool, as well as the command set of the CNC control and the command set of a PLC control included in the CNC control, the postprocessor generates a parts program tailored to the specific machine tool on which the machining operation is to take place. This part program is tailored to the specific control device of the machine tool, e.g. in the form of G-code.In this way, the movement information generated by the CAM system, preferably in a standardized data format, is adapted by the postprocessor to the control device specifically connected to the machine, read in by the latter and implemented.
[0009] In addition to the specific CNC command set, the postprocessor considers the specific machine-specific kinematic conditions of the machine tool, such as kinematics, geometric proportions, maximum travel ranges of the drive axes, and maximum speeds of the machine elements. This data is available in the form of machine data. Furthermore, when generating the control commands, the postprocessor considers machine-specific PLC (Programmable Logic Control) functionalities, such as lubrication, tool changes, door locking, etc., whereby the specific PLC functionalities are also available to the postprocessor in the form of PLC command sets.
[0010] The part program generated by the postprocessor consists, at least predominantly, of control commands that are read and interpreted by the control unit. Based on the control commands, the control unit controls the movements of the machine tool's machine elements and thus the movement of the tool relative to the workpiece.
[0011] The control device or controller, in particular the CNC controller, then determines - based on the part program - the necessary, coordinated movements of the individual axes of the machine so that, for example, the desired movement of the tool relative to the workpiece is carried out. To do this, the control device first determines position setpoints along the path from the program instructions in such a way that, in conjunction with time and / or speed information, the desired movement of the object (trajectory) is specified with sufficient accuracy. In order for the object to be moved by the machine in the desired manner, it is necessary for the individual axes of the machine to be moved accordingly in a coordinated manner in an axis group. For this purpose, the control device determines setpoints for the individual axes, which are fed to the control device for the respective axis in an interpolation cycle. The determination of the many individual points, initially setpoints of the path orTrajectory, followed by setpoints for the individual axes, from the individual program instructions (blocks) is also called "interpolation," from which the coordinated axis movements result. This is how the motion commands (setpoints) for the individual drives of the machine are generated, compliance with which is monitored in the control loops of the control system for the drives or converters.
[0012] When converting G-code into position commands, intermediate steps usually occur. Such an intermediate step could be a wavelet transformation or a spline decomposition. These intermediate steps are often performed by a so-called compressor.
[0013] To traverse a specific path at a specific speed, the controller outputs new position setpoints to the position controllers of the individual axes at a specific cycle, the interpolation cycle (IPO cycle for short). Position control alone is not sufficient to achieve uniform motion. Therefore, in addition to position control, the controller also performs velocity (or speed) control, acceleration control, and possibly jerk control.
[0014] A control device for a machine tool with several machine axes (axes), which comprises a control device for drives of the axes of the machine tool, is known, for example, from EP3518051A1.
[0015] With machine tools, there is a recurring problem that their operation is unintentionally interrupted during production, for example, due to a power failure. The interruption can occur at any (unforeseeable) time during any machining operation. In many cases, the interruption does not have serious consequences. The power supply is interrupted, machine axes or their drives stop, and control devices (CNC, PLC, etc.) cannot operate without power.
[0016] Once the required power is restored after the interruption, the machine tool can be switched on again. Depending on whether or not the axes could be mechanically held in position during the power interruption, no damage may have occurred to the workpiece being machined, and machining can continue.
[0017] If the workpiece has been damaged or destroyed due to the power interruption, processing may not continue and the workpiece may be treated as scrap. In most cases, the machine operator will want to evaluate the workpiece first after the machine has recovered from the malfunction, and to do so, they will need to remove the last tool used from the workpiece, i.e., retract it.
[0018] If it is possible to retract the tool in the tool direction without collision, controls for machine tools already provide functions to support the machine operator, see e.g. retraction movement in the tool direction (JOG retract) in the functional description SINUMERIK ONE Function Manual Axes and Spindles 07 / 2022, A5E48053595A Pages 828-839 Chapter 16.12.
[0019] However, there are also cases where it is not possible to simply retract in the tool direction, e.g. when tapping, see e.g. Functional Description SINUMERIK ONE Function Manual Axes and Spindles 07 / 2022, A5E48053595A Pages 828-839 Chapter 16.12.
[0020] In the case of tapping, for example, it is necessary to rotate the tool in the correct direction at the same time as the retraction movement. Solutions already exist for this, especially since this return movement is also necessary during normal machine operation during tapping to remove the tap from the threaded hole.
[0021] However, there are also cases where the tool is threaded into the workpiece along a specific path. One example of this is the production of T-slots.
[0022] When machining T-slots, it is necessary to thread the cutter into the T-slot in a specific way so that the inner walls can be machined. If the power fails during such machining and the T-slot follows an arbitrary path (not just a parallel path), it is no longer easy to withdraw the tool from the workpiece.
[0023] If information about the history of the path movement is available in the control system, in order to be able to trace the path movement identically backwards over a longer path, e.g. from the point at which the power failed, i.e. machining was interrupted, to a point at which the workpiece is completely separated from the tool again, or possibly even to the point at which the tool was changed, it is easy to "unthread" it from even the most complex situation. A suitable procedure for this is described, for example, in patent publication JP2005321979A. Patent publication JP2005321979A discloses that the movement commands (position command values) (Xi, Yi, Zi) which are output to the axis control circuits of the feed axes X, Y and Z in each interpolation cycle are stored sequentially in a table.Furthermore, time information derived from the interpolation cycle is added to the position setpoints in the table.
[0024] If, for example, after an unintentional interruption of the machining process, a retraction movement is to be carried out for the tool currently being used in order to separate it from the workpiece, the points stored in the interpolation cycle (I PO cycle) are read out from the table in reverse order and specified to the axes as new position setpoints.
[0025] If a method according to the prior art known from JP2005321979A is applied, the retraction movement takes place at the same path speed as the original forward movement.
[0026] The fixed IPO clock on a controller also specifies a time duration (period) for each IPO point. This fixed "time interval" between adjacent IPO points stored in the table also specifies the speed of the respective axis at the respective clock time (geometric distance between the two IPO points divided by the period) and thus ultimately the speed of the retraction movement itself.
[0027] Since the tool is no longer in contact with the material, the machine operator may not want to unthread at the exact speed, but rather slower or faster, depending on the machine's dynamics. Depending on whether, for example, the path speed during the original operation was relatively high, such as on a tape-laying machine or in woodworking, the machine operator may want to unthread at a slower speed than the original speed. Or conversely, if, for example, the path speed during the original operation was relatively low, such as in turning with cross feed, the machine operator may want to unthread at a faster speed.
[0028] In the methods currently known, intermediate points of the traversed path are stored, and from these, a new path is generated in the form of new program instructions, which runs through or near the stored path. The originally generated path is then traversed during the retraction movement using the new program instructions in the opposite direction to the original path, possibly at a higher or lower speed than the original movement (see, for example, patent publication DE4010364A1).
[0029] From DE 112011105361 T5, a motor control device is known comprising a motor drive unit configured to drive a motor following an input command signal, and an abnormality detection unit configured to monitor whether or not an abnormality, such as a power supply failure, prevents normal driving of the motor. Motor drive information is sampled at a regular interval and stored in a storage unit during a period when normal operation is performed in accordance with a first command signal received from a controller. When an abnormality occurs, a second command signal, with which a motor can be driven, is internally generated from the motor drive information stored in the storage unit.When an abnormality occurs, the internally generated second command signal is input as a command signal to a motor drive unit. This makes it possible to achieve a required feedback operation without any problem, even if the first command signal cannot be received from the controller.
[0030] During the described generation of the new path, a difference arises between the original path and the retraction path. These undesirable differences can easily lead to collisions and damage the workpiece and / or the tool.
[0031] The object of the present invention is to move an object with high precision several times, but at different speeds and, if necessary, different directions of movement along a predeterminable trajectory curve.
[0032] This object is achieved according to the invention by a control device for a machine with at least two controllable axes for moving an object encompassed by the machine or connected to the machine along a predetermined trajectory, wherein each axis comprises at least one drive to which a control device is assigned, wherein the control device determines a first number of first setpoint values for each axis in such a way that when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the axes move in such a way that the object moves at a predetermined first speed along at least one path section of the predetermined trajectory, wherein the control device determines, on the basis of the first number of first setpoint values, a second number of second setpoint values which is different from the first number and which, when supplied to the control device in the interpolation cycle,move the object at least approximately along the path section at a second speed different from the first speed.,
[0033] Furthermore, the object is achieved by a method for operating such a control device for a machine.
[0034] Furthermore, the object is achieved by a method for operating such a control device for a virtual machine.
[0035] The invention provides that the object is moved again along the path section, but at a different speed compared to the original movement and possibly in the opposite direction of movement. The generation of this second movement is not primarily based on the specified trajectory, for example by re-specifying points along this trajectory, but rather on temporarily stored setpoints fed to the controllers for the individual axes, which are either fed directly to the controllers again as setpoints or from which new setpoints for the controllers are determined. The trajectory generated in this way therefore corresponds very precisely to the originally generated trajectory, in particular much more precisely than would be the case, for example, if the new trajectory were determined on the basis of the original trajectory or on the basis of individual points on this trajectory.
[0036] In addition to the already mentioned advantage that when a movement is repeated - possibly in the opposite direction - the repeated movement corresponds very precisely to the original movement based on setpoints previously determined during the original movement, the invention has further advantages. For example, when the movement is repeated, corresponding setpoints, e.g., position setpoints, do not have to be redetermined for all variables required for the movement; instead, only the setpoints determined during the originally executed movement are used. This saves computational effort. Furthermore, the invention makes it possible to vary the movement speed when repeating the movement compared to the original movement without having to change the interpolation clock of the control device.The interpolation cycle is usually predefined by the manufacturer of the control device and cannot be changed by the user. Changing the interpolation cycle would entail numerous additional changes to the control device in question and is therefore not possible without considerable additional effort. The control device according to the invention is preferably a CNC controller, and the machine controlled by it is a machine tool. However, other control and machine types are also possible, e.g., a robot controller for controlling a connected industrial robot.
[0037] The machine comprises at least two, but usually more than two, in particular five or six controllable, in particular position-controllable axes (round or rotary axes and / or linear axes), which are moved in an axis group (group) as described above and thereby cause the movement of the object along the desired path curve or trajectory.
[0038] The object encompassed by or connected to the machine is, for example, a machine element such as a tool or workpiece holder. It can also be a part that can be detachably connected to the machine, in particular an effector. This includes, in particular, tools, grippers, etc. Typically, the trajectory curve is not specified for the entire object, but only for a specific point on the object, e.g., a center of gravity, a center point, a zero point, or a TCP (tool center point) for a tool.
[0039] To control the axes, the control unit includes a closed-loop control device, or a closed-loop control device is assigned to the control unit. This, in turn, includes one or more controllers for the individual axes, e.g., for position control, speed control, velocity control, current control, etc.
[0040] One embodiment of the invention provides that the first and / or second speed can be specified by the user, in particular, adjusted via a control element on the control device. For example, a rotary control on the control device can be used for this purpose. This advantageously allows both a higher and a slower speed to be set compared to the originally driven speed.
[0041] One embodiment of the invention provides that the first and second target values are determined such that the object moves in a first direction of movement along the path section using the first target values and moves in the same direction of movement or a second direction of movement opposite to the first direction of movement along the path section using the second target values. The intended direction of movement (forward, backward) can also advantageously be set by the user of the control device. The corresponding control device can therefore be used both to repeat an already performed movement with high precision or for reversing, in which, for example, a tool is moved at least a short distance backwards along a previously moved forwards path section. The direction of movement results from the order in which the second target values are generated or retrieved.If the second setpoints are generated or retrieved in the same order as the first, the resulting movement will be in the same direction. However, if the second setpoints are generated or retrieved in the reverse order to the first, the resulting movement will be in the opposite direction.
[0042] The setpoints specified for the drives or the control system are, in particular, position setpoints and / or speed setpoints and / or velocity setpoints and / or acceleration setpoints and / or jerk setpoints and / or voltage setpoints and / or current setpoints. The control system ensures, in particular, that the actual values resulting from the specified setpoints differ from the setpoints by only a predefined maximum.
[0043] There are different approaches to determining the second setpoints from the first setpoints. For example, the second setpoints can be derived from the first setpoints by only including every nth setpoint of the first setpoints, where n is a natural number starting with 2. For example, every second setpoint is deleted from the second setpoints compared to the first setpoints. This means that only half as many second setpoints as first setpoints are assigned to the respective path section. If the second setpoints are retrieved with the same interpolation cycle and fed to the control system, the travel speed is automatically doubled.
[0044] If the second setpoints are derived from the first by inserting an intermediate value between two adjacent first setpoints, the respective path section will ultimately be assigned twice as many setpoints as before. If the second setpoints thus generated are retrieved with the same interpolation cycle and fed to the control system, the travel speed is halved compared to the original.
[0045] The last two approaches described have the advantage that at least some of the second setpoints exactly match the corresponding first setpoints. The resulting repetition of the movement along the path section (possibly in the opposite direction) therefore matches the original movement particularly precisely. As can be seen, only discrete speed changes can be achieved by omitting or inserting setpoints. For more or less continuous speed changes, a different approach is advantageously implemented, as described below.
[0046] A function is determined from the first setpoints of each axis, so that the first setpoints deviate from this function only by a specified tolerance. In the case of a graphic function, this is then "sampled", but with a second number of second setpoints that are different from the first number of first setpoints. Analogously, a mathematical description of the function using a function equation is also possible. Methods for determining the function equation from a number of points are well known to those skilled in mathematics. The second setpoints can then be easily determined by simply inserting the desired points in time into the function equation.
[0047] Depending on whether the number of second setpoints is higher or lower than the first number of first setpoints, the speed at which the respective track section is traversed slows down or increases. If the second setpoints determined from the first setpoints are then fed to the control system in reverse order, the track section hidden behind the setpoints is traversed in the opposite direction.
[0048] The last-described embodiment can, if necessary, be supplemented or improved by first smoothing the function formed from the first setpoint values before sampling it to determine the second setpoint values. Just as for forming the function from the setpoint values, numerous algorithms from the prior art are also known to those skilled in the art for smoothing. The smoothed function ultimately leads to a smoothed trajectory.
[0049] The procedure described can be used to directly control a machine connected to the control device.
[0050] The described procedure can alternatively also be used to initially control a virtual machine connected to the control device in a simulation, for example, to initially test the desired behavior of the control device or a control program. The creation and operation of a virtual machine per se, in particular based on an existing real machine, are sufficiently familiar to those skilled in the art. The object posed at the outset is further achieved by a method for operating a control device for a machine with at least two controllable axes for moving an object comprised by the machine or connected to the machine along a predetermined trajectory curve, wherein each axis comprises at least one drive to which a control device is assigned, wherein a first number of first setpoints for each axis are determined by means of the control device in such a way thatthat when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the axes move in such a way that the object moves at a predetermined first speed along at least one path section of the predetermined trajectory, wherein by means of the control device, on the basis of the first number of first setpoint values, a second number of second setpoint values different from the first number are determined, which, when they are supplied to the control device in the interpolation cycle, move the object at least approximately along the path section at a second speed different from the first speed.
[0051] The described method can be specified more precisely in that: the first and / or the second speed is predetermined by a user of the control device; the first and the second setpoint values are determined such that the object moves along the path section in a first direction of movement using the first setpoint values and moves along the path section in a second direction of movement opposite to the first direction of movement using the second setpoint values; the setpoint values comprise position setpoints and / or rotational speed setpoints and / or velocity setpoints and / or acceleration setpoints and / or jerk setpoints and / or voltage setpoints and / or current setpoints;the setpoints are stored in a memory device of the control device as original setpoints, wherein a function is determined on the basis of the original setpoints, wherein new setpoints are determined on the basis of the function, which likewise describe the function, and wherein a first number of original setpoints describing the function is different from a second number of new setpoints describing the function; the function is first smoothed and the new setpoints are determined on the basis of the smoothed function; the second setpoints arise from the first setpoints in that the second setpoints only comprise every nth setpoint of the first setpoints, where n is a natural number beginning with the number 2;the second setpoint values arise from the first setpoint values by inserting an intermediate value or n intermediate values between two adjacent first setpoint values, where n is a natural number beginning with the number 2;
[0052] The object stated at the outset is further achieved by a method for operating a control device for a virtual machine with at least two virtual, controllable axes for simulating a movement of a virtual object comprised by the virtual machine or connected to the virtual machine along a predetermined trajectory, wherein each virtual axis comprises at least one virtual drive to which a virtual control device is assigned, wherein by means of the control device a first number of first setpoint values are determined for each virtual axis in such a way that when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the virtual axes move in such a way that the virtual object moves at a predetermined first speed along at least one path section of the predetermined trajectory, wherein by means of the control device on the basis of the first number of first setpoint values a second,a number of second setpoint values different from the first number are determined, which, when they are given to the control device in the interpolation cycle, move the virtual object at least approximately along the path section at a second speed different from the first speed.
[0053] The method for operating a control device for a virtual machine can also be specified in more detail analogously by the special embodiments described above.
[0054] Furthermore, the control device itself can also be designed as a virtual control device, in particular in the form of software executable on a computer that simulates the behavior of the real control device. The components of the virtual control device, e.g., the control device included in the real control device, are then also implemented as virtual control devices. The object posed at the outset is further achieved by a computer program product with program instructions for carrying out the aforementioned method steps according to the invention. The program instructions can be stored on a data carrier and read in by the control device or transmitted to the control device in the form of a data stream.
[0055] The invention is described and explained in more detail below using exemplary embodiments. In the following:
[0056] FIG 1 A machine tool for carrying out a method according to the invention,
[0057] FIGS 2 and 3 show a path section along which a tool is moved relative to a workpiece,
[0058] FIGS 4A, 4B; 5A, 5B; 6A, 6B; 7A, 7B Function graphs for the movement of individual machine axes,
[0059] FIG 8 Process steps in carrying out a process according to the invention.
[0060] FIG 1 schematically shows a machine tool system 1. The machine tool system 1 comprises a machine in the form of a machine tool 2. Furthermore, the machine tool system 1 comprises a control device in the form of a CNC control 3 connected to the machine tool 2 for controlling the machine tool 2. In addition, the machine tool system 1 comprises an external computing device in the form of a CAD / CAM / PP system 5 connected via a network 4, for example the Internet.
[0061] The illustrated machine tool 2 has three position-controlled linear axes X, Y and Z, wherein a first support element 7 is adjustable in the x-direction, a second support element 8 in the y-direction and a third support element 9 in the z-direction with respect to a machine coordinate system MKS that is stationary with respect to the machine tool 2.
[0062] The first support element 7 is connected to a stationary machine frame 6 via a linear drive (not shown) adjustable in the x-direction, the second support element 8 is connected to the first support element 7 via a linear drive (not shown) adjustable in the y-direction, and the third support element 9 is connected to the second support element 8 via a linear drive (not shown) adjustable in the z-direction. The third support element 9 carries a spindle drive 10, which in turn can be pivoted about a position-controlled rotary axis B parallel to the y-axis. The spindle drive 10, in turn, has a tool spindle 11 which is rotatable about a spindle axis (not shown), has a speed- and / or position-controlled speed and / or position-controlled speed and / or position-controlled speed and / or position-controlled speed and / or position-controlled speed and / or position-controlled speed and / or position.
[0063] Furthermore, the machine tool 2 comprises a position-controlled tool table axis C aligned parallel to the Z-axis, around which a workpiece table 14 is rotatable.
[0064] The tool table 14 is also connected to the stationary machine frame 6 and a workpiece 16 is attached to the tool table 14 by means of the tool holder 15.
[0065] In the exemplary embodiment, the machine tool 2 therefore has five position-controlled machine axes, through which a relative movement can be performed between the tool 13, which in the exemplary embodiment is in the form of a milling cutter, and the workpiece 16. This is thus a so-called 5-axis machine tool (5-axis machine), although it should be noted at this point that a machine tool can, of course, have more or fewer than five machine axes. The drives of the position-controlled machine axes have been omitted from the exemplary embodiment for the sake of clarity.
[0066] The machine tool 2 is connected to the CNC controller 3, which, based on a part program and / or a manual control input, determines motion setpoints for the machine axes to control a relative movement occurring between the tool 13 and the workpiece 16. The CNC controller 3 determines the motion setpoints, in particular, based on the part program, in which the movements to be performed by the tool 13 relative to the workpiece 16 are defined in the form of commands or program instructions, usually in the form of G-code.
[0067] Alternatively or additionally, the movement of the tool 13 and / or the workpiece 16 can also be specified by an operator on site at the machine tool 2 by means of a manual input via an operating device with operating elements 18 in conjunction with a display device in the form of a display 17 of the CNC control 3. The operating elements 18 comprise, in particular, buttons or rotary controls. Advantageously, the display 17 can also be designed as a touchscreen and thus also as an operating element. The part program is usually generated in a computing device that is external to the CNC control, in the exemplary embodiment the CAD / CAM / PP system 5, outside the CNC control 3, and from there transferred to the CNC control 3, in particular via the network 4.
[0068] When executing the part program, the CNC control 3 generates position setpoints x, y and z for the linear axes and angular position setpoints ß and y for the rotary axes B and C in a specific cycle, the interpolation cycle or I PO cycle for short. These position setpoints move the tool 13 with a specified orientation relative to the workpiece 16 along a movement path (curve or trajectory).
[0069] In addition to the pure position setpoints, the CNC controller can also determine or adjust variables relating to the dynamics of the relative movement or the movement of the individual axes, in particular the speed, acceleration, or jerk. To do this, the CNC controller determines setpoints for the relevant variables and specifies them in the interpolation cycle to a control device that controls the relevant variable(s) for the respective axis. The control device can include a position controller, speed controller, velocity controller, acceleration controller, jerk controller, current controller, or voltage controller.
[0070] FIG 2 shows an example of the machining of a partial area of a workpiece W by means of a tool in the form of a ball milling cutter F with a hemispherical cutting head K, in which several cutting edges or teeth (not shown) are distributed over the circumference of the cutting head K.
[0071] To machine the workpiece W, the ball milling cutter F is guided over the workpiece surface WO along predetermined paths that are defined with respect to a Cartesian coordinate system MKS (machine coordinate system) with the coordinate axes x, y and z, in such a way that a desired workpiece surface WO of the workpiece W is created by means of machining. The paths of the tool can run parallel to the xz plane, corresponding to the path section A shown as an example, but also into the plane of the drawing (y direction) or along any 3-dimensional curves in space. As can also be seen from FIG 2, in the exemplary embodiment the movement of the tool F relative to the workpiece W is related to the tool center point (TCP) M of the tool F. The path section A should be traversed in the direction of movement indicated by the arrow.The invention now describes a solution for the fact that at a later point in time and for the same workpiece or at a different position of the same workpiece the exact same movement is to be carried out again, or that at the end of the path section A this is to be traversed in the opposite direction with the tool F, without all the required setpoint values that have been specified to the control device for carrying out the movement along the path section A having to be calculated again.
[0072] FIG 3 illustrates again the path section A shown in FIG 2 in the xz plane, which is traversed in the direction of movement indicated by the arrow from right to left.
[0073] From the specified path section A, the CNC control determines, as described above, position setpoints for the X and Z axes of the machine, which are specified to the controllers of the axes in a specific interpolation cycle, so that the movements of the individual axes (here: X and Z axes) carried out simultaneously in the axis group in accordance with these specifications result in the overall specified movement of the tool along the path section A at the specified path speed (feed speed).
[0074] Not corresponding to real-life conditions and purely for the purpose of explaining the invention, Table 1 shows the position setpoints for the X and Z axes for the cycle times (cycles) T 1 to T 10 of a specific interpolation cycle. The period of the interpolation cycle of a CNC control is usually in the range of milliseconds (ms), e.g., 5 ms. Therefore, for the illustrated movement in relation to the tool shown, many thousands of interpolation cycles (periods of the interpolation cycle) would have to be run through, which would make illustration difficult and complicated. For this reason, a deliberate deviation from real-life conditions is made here and the movement is described using just 10 period durations of the interpolation cycle.
[0075] Based on this simplification, Table 1 now shows the position setpoints for the X-axis and the Z-axis for the cycle times T1 to T10.
[0076] Tables 2, 2A, and 2B illustrate the procedure that leads to a doubling of the movement speed. To do this, as shown in Table 2, every second row of the table is deleted, so that only half as many cycle periods remain. The result is shown in Table 2A. Since the movements of the individual axes are now carried out in half the previously planned cycles and thus the originally required time, namely in only 5 cycles, the movement speed has doubled. Table 2B illustrates the case of doubling the speed in an analogous manner, but in the opposite direction of movement. The order of the position setpoints is reversed accordingly compared to Table 2A.
[0077] Tables 3, 3A, and 3B illustrate the case where an intermediate value, relating to both the X-axis and the Z-axis, is inserted between two adjacent interpolation cycles and the associated position setpoints. Thus, 20 cycles (cycle periods) are now provided to traverse the specified path section A instead of 10. With the same period duration, this requires twice the time compared to the original movement. The speed is thus halved. Table 3A shows the result of this procedure for repeating the movement at half the speed in the positive direction of movement (analogous to the original direction of movement), and Table 3B shows the result for the reverse direction of movement.
[0078] Other speeds can easily be achieved using the same principle by deleting a certain number of bars after each measure or by inserting a certain number of intermediate values between two adjacent measures. The speed can thus be easily varied in discrete steps.
[0079] The following tables and figures illustrate a generalization of the approach described above, which enables a quasi-continuous change in velocity. For this purpose, the position setpoints of the X-axis and Z-axis are converted into functions over time for the relevant period. A variety of algorithms are known from mathematics for this purpose, which differ particularly in terms of computational effort and accuracy.
[0080] In contrast to Table 2, Table 4 now includes a column t with cycle times, so that the position setpoints for the X and Z axes are assigned not only the cycle (T1 to T10) but also a time in a time range from 0 to 45 (a unit of measurement is deliberately omitted here for the reason explained above). Figures 4A and 4B show the resulting relationship between the times and the corresponding position setpoints for the X axis (FIG. 4A) and the Z axis (FIG. 4B) as a function.
[0081] As an example, let's assume that the speed is to be reduced by one-third (33.3%). Therefore, instead of the originally planned 10 clock periods, 15 clock periods are now provided. For this purpose, the function graphs shown in FIGS. 4A and 4B are sampled at 15 equidistant points in time. The result is illustrated in FIGS. 5A and 5B and the resulting Table 5, in which the movement of each axis is divided into 14 time periods of equal duration.
[0082] Alternatively, functional equations can be determined for the function graphs shown in FIGS. 5A and 5B. The desired values can then be determined mathematically instead of by sampling.
[0083] As previously explained, the period of the interpolation clock is fixed (5 time units in the exemplary embodiment). The 15 illustrated periods (T1 to T15) therefore no longer require 45, but 70 time units. The resulting functions in the specified interpolation clock are illustrated in FIGS. 6A and 6B. The relationship is also evident in Table 5.
[0084] This procedure can be applied analogously to any changes in speed, which allows at least approximately a continuous change in speed to be achieved.
[0085] Table 6 and the corresponding Figures 7A and 7B illustrate the case where the travel speed, reduced by one-third, is now to be performed in the opposite direction, e.g., in the form of a retraction movement. The position setpoints for the X and Z axes are therefore reversed compared to Table 5 and Figures 6A and 6B.
[0086] The essential method steps in carrying out a method according to the invention are illustrated again below in the form of a flow chart according to FIG. 8.
[0087] In a first method step S1, a control device for a machine and a machine with at least two controllable axes for moving an object encompassed by the machine or connected to the machine along a predetermined trajectory curve are provided, wherein each axis comprises at least one drive to which a control device is assigned.
[0088] In a second method step S2, a first number of first setpoint values for each axis are determined by means of the control device in such a way that when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the axes move in such a way that the object moves at a predetermined first speed along at least one path section of the predetermined trajectory curve.
[0089] In a third method step S3, a second number of second setpoint values, different from the first number, are determined by means of the control device on the basis of the first number of first setpoint values, which, when they are specified to the control device in the interpolation cycle, move the object at least approximately along the path section at a second speed different from the first speed.
[0090] In a fourth method step S4, the determined second setpoint values are specified to the control device in the interpolation cycle and the object is moved at least approximately along the path section at the second speed different from the first speed.
[0091] The machine can be either a real machine with real machine axes or a virtual machine with virtual machine axes.
[0092] The control device itself or an external computing device connected to the control device, e.g. a CAD / CAM / PP system, can be used as a simulation computer to simulate the behavior of the virtual machine.
Claims
Patent claims 1. Control device (3) for a machine (2) with at least two controllable axes (X, Y, Z, B, C) for moving an object (13) encompassed by the machine (2) or connected to the machine (2) along a predetermined trajectory, wherein each axis (X, Y, Z, B, C) comprises at least one drive to which a control device is assigned, wherein the control device (3) determines a first number of first setpoint values for each axis (X, Y, Z, B, C) such that when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the axes (X, Y, Z, B, C) move such that the object (13) moves at a predetermined first speed along at least one path section (A) of the predetermined trajectory, wherein the control device (3) determines, on the basis of the first number of first setpoint values, a second number of second setpoint values which is different from the first number, which,when they are specified to the control device in the interpolation cycle, move the object (13) at least approximately along the path section (A) at a second speed different from the first speed., 2. Control device (3) according to claim 1, wherein the object (13) is designed as a machine element, in particular as a tool or workpiece holder.
3. Control device (3) according to claim 1, wherein the object (13) is designed as a tool (13) which is clamped in particular in a tool holder (12) of the machine (2).
4. Control device (3) according to claim 1, wherein the object is designed as a workpiece (16, W) which is clamped in particular in a workpiece holder (15) of the machine (2).
5. Control device (3) according to one of the preceding claims, wherein the first and / or the second speed can be specified by a user of the control device (3).
6. Control device (3) according to one of the preceding claims, wherein the first and the second setpoint values are determined in such a way that the object (13) moves by means of the first setpoint values in a first direction of movement along the track section (A) and by means of the second setpoint values are moved in a second direction of movement opposite to the first direction of movement along the path section (A).
7. Control device (3) according to one of the preceding claims, wherein the setpoints comprise position setpoints and / or rotational speed setpoints and / or speed setpoints and / or acceleration setpoints and / or jerk setpoints and / or voltage setpoints and / or current setpoints.
8. Control device (3) according to one of the preceding claims, wherein the setpoints are stored in a memory device of the control device (3) as original setpoints, wherein a function is determined on the basis of the original setpoints, wherein new setpoints are determined on the basis of the function, which likewise describe the function, and wherein a first number of original setpoints describing the function is different from a second number of new setpoints describing the function.
9. Control device (3) according to claim 8, wherein the function is first smoothed and the new setpoint values are determined on the basis of the smoothed function.
10. Control device (3) according to one of the preceding claims, wherein the second setpoint values arise from the first setpoint values in that the second setpoint values only comprise every nth setpoint value of the first setpoint values, where n is a natural number beginning with the number 2.
11. Control device (3) according to one of claims 1 to 9, wherein the second setpoint values arise from the first setpoint values in that an intermediate value or n intermediate values are inserted between two adjacent first setpoint values, where n is a natural number beginning with the number 2.
12. Method for operating a control device (3) for a machine (2) with at least two controllable axes (X, Y, Z, B, C) for moving an object (13) encompassed by the machine (2) or connected to the machine (2) along a predetermined trajectory curve, wherein each axis (X, Y, Z, B, C) comprises at least one drive to which a control device is assigned, wherein by means of the control device (3) a first number of first setpoint values for each axis (X, Y, Z, B, C) are determined in such a way that when the first number of first setpoint values in a Interpolation cycle are fed to the control device, the axes (X, Y, Z, B, C) move in such a way that the object (13) moves at a predetermined first speed along at least one path section (A) of the predetermined trajectory, wherein by means of the control device (3) on the basis of the first number of first setpoint values a second number of second setpoint values which is different from the first number and which, when they are predetermined to the control device in the interpolation cycle, move the object (13) at least approximately along the path section (A) at a second speed which is different from the first speed.
13. A method for operating a control device (3) for a virtual machine (2) with at least two virtual, controllable axes (X, Y, Z, B, C) for simulating a movement of a virtual object (13) comprised by the virtual machine (2) or connected to the virtual machine (2) along a predetermined trajectory, wherein each virtual axis (X, Y, Z, B, C) comprises at least one virtual drive to which a virtual control device is assigned, wherein a first number of first setpoint values for each virtual axis (X, Y, Z, B, C) are determined by means of the control device (3) in such a way that when the first number of first setpoint values are supplied to the control device in an interpolation cycle, the virtual axes (X, Y, Z, B, C) move in such a way that the virtual object (13) moves at a predetermined first speed along at least one path section (A) of the predetermined trajectory,wherein, by means of the control device (3), a second number of second setpoint values, different from the first number, are determined on the basis of the first number of first setpoint values, which, when they are specified to the control device in the interpolation cycle, move the virtual object (13) at a second speed different from the first speed, at least approximately along the path section (A).
14. A computer program product with program instructions for carrying out the method according to claim 13.
Citation Information
Patent Citations
Motor control device
DE112011105361T5
Method for the automatic return of the tool of a program-controlled machine tool
DE4010364A1
Numerical controller
JP2005321979A