Method For Controlling A Machine Tool And Machine Tool
20200225642 ยท 2020-07-16
Inventors
Cpc classification
G05B19/40937
PHYSICS
G05B19/182
PHYSICS
G05B19/4155
PHYSICS
G05B19/19
PHYSICS
G05B2219/25363
PHYSICS
G05B19/4145
PHYSICS
International classification
G05B19/414
PHYSICS
G05B19/18
PHYSICS
G05B19/19
PHYSICS
Abstract
A method for controlling a machine tool is presented. The method include: providing a machine tool; providing a manufacturing sequence of multiple manufacturing steps; generating control data with control commands that specify machining operations of the machine tool according to the manufacturing steps of the manufacturing sequence, and additional data which includes at least one list which specifies parameters extracted from the control commands; providing the control data in a control unit of the machine tool; receiving input data in the control unit, where the input data specifies a user input; generating modified control commands by way of the control unit, such that the modified control commands are generated from the control commands in accordance with the additional data and the input data; and actuating the machine tool by the control device in accordance with the modified control commands.
Claims
1. A method for controlling a machine tool, comprising: providing a machine tool; providing a manufacturing sequence comprising multiple manufacturing steps, at least one tool and one tool path being defined for each manufacturing step; generating control data, the control data comprising: control commands, the control commands specifying machining operations of the machine tool according to the manufacturing steps of the manufacturing sequence, and the machine tool being configured to convert the control commands into the machining operations, and additional data, the additional data comprising at least one list which specifies parameters extracted from the control commands; providing the control data in a control unit of the machine tool; receiving input data in the control unit, the input data specifying a user input; generating modified control commands by means of the control unit, the modified control commands being generated from the control commands in accordance with the additional data and the input data; and actuating the machine tool by the control device by means of the modified control commands.
2. The method according to claim 1, wherein the manufacturing sequence is provided as a manufacturing data set in an external computer unit.
3. The method according to claim 2, wherein the control commands are generated in the external computer unit from the manufacturing data set.
4. The method according to claim 3, wherein the additional data are generated in the external computer unit.
5. The method according to claim 1, wherein the input data are received in the control unit from an input device of the machine tool.
6. The method according to claim 1, wherein the input data are received in the control unit from an input device of a portable operating device via a transmitting unit of the portable operating device and a receiving unit of the machine tool.
7. The method according to claim 1, wherein the parameters extracted from the control commands specify the manufacturing steps of the manufacturing sequence; the input data comprise a command to start machining operations by the machine tool after a previous interruption of machining operations according to the control commands; and the generation of modified control commands comprises the following: the deletion of control commands which correspond to manufacturing steps of the manufacturing sequence which were completed before the interruption of machining operations, and at least one of the addition of a control command and the addition of a command parameter for a control command such that, when machining operations start, machining takes place as if no previous interruption of machining operations has taken place.
8. The method according to claim 1, wherein the parameters extracted from the control commands specify multiple zero points which are each assigned to at least one manufacturing step of the manufacturing sequence; the input data comprise a command to start machining operations by the machine tool; and the generation of modified control commands comprises the following: checking whether correction data exist for each of the zero points, the correction data specifying a deviation of an actual position of the zero point in question from an ideal position of the zero point in question defined in the manufacturing sequence; if no correction data exist for the zero points, determining correction data for each zero point; and changing command parameters of the control commands according to the correction data such that the modified control commands effect a correct actuation of the machine tool according to the manufacturing sequence for the respective actual positions of the zero points.
9. The method according to claim 1, wherein the parameters extracted from the control commands specify the manufacturing steps of the manufacturing sequence; the input data comprise a command for deactivating a manufacturing step to be deactivated of the manufacturing sequence; and the generation of modified control commands comprises the deletion of control commands which correspond to the manufacturing step to be deactivated.
10. The method according to claim 1, wherein the parameters extracted from the control commands specify the manufacturing steps of the manufacturing sequence and functions associated with the respective manufacturing steps; the input data comprise a command for deactivating a function to be deactivated of a manufacturing step of the manufacturing sequence; and the generation of modified control commands comprises the deletion of control commands which correspond to the function to be deactivated of the manufacturing step.
11. The method according to claim 1, wherein the parameters extracted from the control commands specify the manufacturing steps of the manufacturing sequence and manufacturing parameters associated with the respective manufacturing steps; the input data comprise a command for changing a manufacturing parameter to be changed of a manufacturing step of the manufacturing sequence; and the generation of modified control commands comprises changing control commands such that the modified control commands effect an actuation of the machine tool in which the manufacturing step to which the manufacturing parameter to be changed relates is performed in accordance with the manufacturing parameter changed according to the input data.
12. The method according to claim 1, wherein the parameters extracted from the control commands specify multiple zero points which are each assigned to at least one manufacturing step of the manufacturing sequence; the input data comprise correction data for one zero point of the multiple zero points, the correction data specifying a deviation of an actual position of the zero point in question from an ideal position of the zero point in question defined in the manufacturing sequence; and the generation of modified control commands comprises changing command parameters of the control commands according to the correction data such that the modified control commands effect a correct actuation of the machine tool according to the manufacturing sequence for the respective actual positions of the zero points.
13. The method according to claim 1, wherein the parameters extracted from the control commands specify the manufacturing steps of the manufacturing sequence; the input data comprise a command for scaling a manufacturing step to be scaled in the manufacturing sequence and a scaling factor; and the generation of modified control commands comprises changing command parameters of control commands which correspond to the manufacturing step to be scaled such that the manufacturing step specifies changed manufacturing dimensions according to the changed command parameters, which changed manufacturing dimensions and are scaled by the scaling factor relative to original manufacturing dimensions specified by the manufacturing step.
14. The method according to claim 1, wherein the additional data comprise multiple lists which each specify parameters extracted from the control commands.
15. A machine tool, comprising a control device, the control device being configured to provide control data, the control data comprising: control commands, the control commands specifying machining operations of the machine tool corresponding to manufacturing steps of a manufacturing sequence, the manufacturing sequence comprising multiple manufacturing steps, and at least one tool and one tool path being defined for each manufacturing step, and the machine tool being configured to convert the control commands into the machining operations, and additional data, the additional data comprising at least one list which specifies parameters extracted from the control commands; receive input data which specify a user input; generate modified control commands from the control commands according to the additional data and the input data; and actuate the machine tool by means of the modified control commands.
Description
DESCRIPTION OF EXEMPLARY EMBODIMENTS
[0059] Further exemplary embodiments are explained in more detail below with reference to figures of a drawing. In the figures:
[0060]
[0061]
[0062]
[0063]
[0064]
[0065] A wireless data link to an external computer unit 6 is provided via the receiving unit 5. To this end, the external computer unit 6 has a transmitting unit 7. The external computer unit 6 is provided as a computer (PC) in the embodiment shown. The external computer unit 6 further comprises a CAM environment 8 and a post-processor 9. The CAM environment 8 is configured to create a manufacturing data set in the form of a CAM file, and the post-processor 9 is configured to generate an NC program from the CAM file.
[0066] A wireless data link to a portable operating device 10 with a transmitting unit 11 is also provided via the receiving unit 5 of the machine tool 1. In the embodiment shown, the portable operating device 10 is a smartphone. A software application (app) 12 for controlling the machine tool 1 is provided in the portable operating device 10. The software application 12 is configured to receive user inputs on the portable operating device 10 and, using the user inputs, to send input data via the transmitting unit 11 to the machine tool 1.
[0067]
[0068]
[0069] An embodiment of a method for controlling a machine tool is described below with reference to
[0070]
[0071]
[0072] In a step 403, an NC program is created in the external computer unit 6 by means of a post-processor 9, said NC program containing control commands which specify machining operations of the machine tool 1 corresponding to the manufacturing steps of the manufacturing sequence, and the machine tool 1 is configured to convert the control commands into the machining operations. The post-processor 9 is configured to extract additional data from the control commands in a further step 404. The additional data comprise at least one list which specifies parameters extracted from the control commands.
[0073] In alternative embodiments, the additional data are not extracted from the control commands by the post-processor 9. The extraction of the additional data in step 404 can take place for example by the CAM environment 8, a corresponding module in a control device 2 of the machine tool 1 to be controlled, or in a further external computer device 14. As a further alternative, an add-on module 13 of the external computer unit 6 can extract the additional data from the control commands.
[0074] In step 405, control data, which comprise the control commands and the additional data, are provided in the control unit 2 of the machine tool 1 to be controlled. The generation of the control data from the control commands and the additional data can take place, for example, in the external computer unit 6, and the control data can be provided via a transmitting unit 7 of the external computer unit 6 to a receiving unit 5 of the machine tool 1 in the control unit 2. Alternatively, the control commands and the additional data can be transferred from the external computer unit 6 to the machine tool, and the control data can be generated therefrom in the control unit 2. As a further alternative, the control commands can be transferred from the external computer unit 6 to the machine tool, and the control unit 2 can generate the additional data and generate the control data from the control commands and the additional data.
[0075] Subsequently, in step 406, input data are received in the control unit 2, the input data specifying a user input. Input data can be received from the input device 4 of the machine tool and/or via the software application 12 of the portable operating device 10.
[0076] In step 407, modified control commands are generated from the control commands in the control unit 2 in accordance with the additional data and the input data. The machine tool 1 is then actuated by the control unit 2 by means of the modified control commands in step 408.
[0077] In alternative embodiments, the machine tool can be controlled without the external computer unit 6 and/or without the portable operating device 10. In such embodiments, the functions explained in connection with the external computer unit 6 and/or in connection with the portable operating device 10 can be provided in the machine tool 1.
[0078] According to the disclosure, a user or setter of a machine tool 1 can be assisted in the setup and monitoring of a machine tool program which controls machining operations according to a manufacturing sequence using control commands. At the same time, necessary adjustments can be reduced when providing the manufacturing sequence by means of programming. This can prevent the work required being shifted from the setter to a programmer. According to designs, the amount of work required by a programmer for tasks in programming multiple clamping operations can be reduced.
[0079] To this end, multiple part-designs or modules can be provided, which build on one another. If programming with CAM software or a CAM environment, these modules can be inserted into the program by a post-processor. If programming on a graphical interface of the machine tool, the modules can be added by programmed cycles and programs in the controller or control unit. Embodiments are described below in connection with a CAM module with a post-processor. The described embodiments can apply correspondingly in connection with a controller or control unit of the machine tool or a direct implementation in a CAM module without an adapted post-processor.
[0080] In one embodiment, the post-processor analyses the programmed tool paths. Some of the information which is needed can already be present in the tool paths, for example the tool used, the machining order and the coordinate system used. Other parameters can be defined by the
[0081] CAM programmer additionally according to a certain schema. The additionally required information can be defined depending on the functional scope of the CAM module. If user extensions are supported by the CAM module, they can be used to implement setting of the additional parameters via a graphical user interface of the CAM module. Alternatively or additionally, corresponding keywords can be added, for example in a comments field or a designation of the tool path.
[0082] The post-processor generates an NC program, in which main and sub-programs or a single main program can be generated, and lists as additional data for controlling the main program.
[0083] One of the lists can comprise all the machining steps to switch these on or off. One of the lists can comprise the assignment of all the tools to the respective machining steps. One list can comprise correction data for each individual machining operation. One list can comprise the tool technology data for each machining operation. The lists can be output in one or more files, for example, if the memory or processor of the machine tool does not process complete lists and/or to make it easier to process the data.
[0084] One function which can function without further changes by the setter is an automatic resumption following a program interruption. The NC program logs the started and completed machining steps using counters and loops. If the program sequence is interrupted by the user, for example because a tool must be changed or because measurements must be carried out on the workpiece during setup, the setter can also change the tool in the spindle or move the machine. To meet the need for bringing the program and the machine manually back to the same state as before the interruption or for carrying out a restart of the program, it can be determined using the counters, when the program resumes, that the program was not fully executed previously, and an output can be generated which comprises a query whether a restart of the program or a continuation from the old position is desired. If the setter wishes to continue from the old position, the program searches in the tool list for the tool used for the last started machining operation, selects it in the machine tool, and then starts the last machining operation again. The variable values for the currently started machining operation and the completed machining operation can be stored during the program sequence such that the values also remain stored if the emergency off switch is operated or if there are power cuts. This allows machining to be continued on the machine within a short time. The current status of the machining can also be displayed in an app on a portable operating device.
[0085] Another function which can function without a change by the setter is the use of only one zero point. In contrast to a conventional programming method, the CAM programmer can in this case also define a global zero point to which all the other zero points relate. Alternatively, a global zero point can already be defined in the CAM module. The post-processor can convert the CAM file or the CAM program such that all the other zero points and coordinate systems are calculated relative to the global zero point. The program can then offset different corrections against each other. The setter thus only has to manage one zero point. This also allows corrections according to the embodiments described below. In addition, advantages can result for the use of machine tools which are connected to a central pallet management system, if in this case only the zero point of the pallet and, where necessary, also an offset is transferred from a master pallet.
[0086] A further function which can function without a change by the setter is the automatic calibration of clamping nests. For this, the machine tool can have a measurement sensor and corresponding measurement cycles. At the start of the program, measurement points for the measurement sensor can be defined. Calibration can take place in measurement cycles integrated in the CAM module or via simple machining operations present in any CAM system, for example drilling cycles. By means of a keyword or a setting in a user extension, the post-processor can recognise that a measurement cycle is for determining the nest position and generate the necessary program code for calibrating the clamping nests.
[0087] If the program is started and measurement points for determining the nest position are present, the program can first check whether there is already a log file for this program. If a log file exists, old correction values can automatically be used according to the existing log file, and the correction data can be read in from the log file for this purpose. If the setter wishes to recalibrate the position, he can delete the existing log file and restart the program.
[0088] If no log file has been found, the nest positions can be calibrated and the measurement values can be stored in a log file. The deviations of the real positions of the clamping nests from the geometrically ideal (theoretical) positions of the clamping nests in the CAM file are then stored in the log file. The use of a global zero point and the calculation of the displacements needed for the machining then allow the position of the clamping nest to be corrected automatically without the setter having to correct the position manually in the NC program. In this case, the actual program is not changed, and therefore maintenance and management can be simplified. If a new version of a program is generated without there being any changes to the real positions of the clamping nests, immediate use of the new program can be made possible, since all the relevant deviations are known and can be stored in the machine tool. It can thereby be made possible to recreate the entire program and replace it on the machine without the need for manual insertion or copying over to retain previous corrections which the setter has already made.
[0089] For further functions, it can be necessary for the user to edit lists. This can be done manually or in a guided manner via the software application on the portable operating device or the input device of the machine tool. With guided editing, automatic calculation and display of manufacturing steps according to clamping positions and nests can be made possible.
[0090] It can be made possible for machining operations or manufacturing steps to be switched on and/or off by the setter. Fast setup of the program on the machine can thus be made possible.
[0091] For example, it is possible for only one machining operation to be carried out initially. This can be corrected, if needed for tool corrections, carried out again and then switched off. The procedure can continue analogously with a subsequent machining operation or a subsequent manufacturing step. In addition, it can be made possible for whole clamping nests to be deactivated via the software, that is, on the machine tool or by means of the application software. It is thus possible for only one first nest to be set up initially, although the same tool would actually perform machining operations on other nests.
[0092] If multiple machining operations are performed with the same tool, it is known to retrieve a tool change command in the programming only before the first machining operation or the first manufacturing step. If the first machining operation or the first machining step is deactivated and only a subsequent machining step is to be carried out, it can be necessary to change in the correct tool first. According to the disclosure, the tool needed for the current machining operation can be read out of the tool list according to an automatic resumption. If the tool currently changed into the machine tool does not correspond to the tool needed, the tool change commands needed can automatically be retrieved and then the machining can be carried out.
[0093] If whole nests have been switched off, for example because a batch has finished and workpieces are no longer present for all nests, the fastest possible machining can be desired. In this case, it is known for the CAM programmer or the setter to define how far the tool should be withdrawn before the nest machining operation. In the known procedure, it must be noted for the skipping of parts of a program that all the provided free movements are also skipped thereby. In this case, the machine can move directly to the next point and thus through other clamping devices. To avoid this, it is known for the machine tool to move to a safe position after each machining operation. This can result in longer cycle times.
[0094] According to the disclosure, it can be made possible for the programmer to define a safety plane for each machining operation in the CAM module. Such a parameter is known per se. In contrast with known methods, the interpretation of the parameter described below is provided according to the disclosure by the post-processor. If there is no parameter for the safety plane in the CAM module, it can be made possible for this to be defined, for example via a user extension or via keywords in comments or in the machining operation name. After executing a switched-on machining operation, the NC program can search for the next switched-on machining operation. In the process, each safety plane of the switched-off machining operations can be checked and the highest value in each case can be stored. Movement to this highest value can then take place to avoid a collision. If there are shaft rotations between the machining operations, a current shaft position can be queried and the rotation executed by the shortest route. If the angle differs only within a narrow range (e.g. 0.5), in which a tolerance can be set via the post-processor, the execution of a rotation can be omitted. Time can be saved thereby.
[0095] To ensure correct compliance with safety planes, it is known to provide an NC program with jump labels at multiple locations so that tool changes are carried out and all safety planes and rotations are executed correctly. This can be made more difficult by complex programs. To avoid the risk of a collision, it can therefore be provided in known methods for the entire program to be allowed to run without all the manufacturing steps being necessary.
[0096] If the machine tool has a device for breakage monitoring of the tools, an activation, for example by the programmer or the setter, of the tool breakage monitoring for individual machining operations can be made possible. In this case, the machine tool checks whether the tool is broken before and after the machining operation in question. If a tool breakage is established, the nest in which the tool is broken can be deactivated and a matching tool can be changed in. This makes it possible for machining to continue. In conjunction with the functions performed in relation to the safety planes and the skipping of deactivated machining operations, the machine tool can thus work longer without a user intervention. This allows the operation of automated shifts without user interventions and with a high level of safety. According to the disclosure, it can be made possible to finish machining workpieces in the other nests when a tool breakage occurs in one nest.
[0097] For each machining operation, a fine correction can be stored, for example by the setter. Moreover, it can be made possible to store corrections per clamping nest and shaft position. The corrections per nest and for each machining operation can be set via the app. The app can calculate the values for the fine displacement per machining operation and per nest and angular position so that only the sum of the corrections is stored in the position list. The starting values for the calculation can likewise be stored in the position list. This can make it possible to reset changes to originally programmed values with only one command. This can make it possible to make the corrections without previously making all the said calculations for all the shafts and to take the angular position into account as well. The use of the app can make it possible to make corrections in the tool direction without taking into account additional rotations. With manual editing, it is possible for shafts or signs to get mixed up. In addition to the corrections in the tool direction, a correction of the clamping nest can also be provided. This can be necessary, for example, if measurement positions on the clamping nests are not produced precisely. In this case, the deviation can be specified once per nest and then automatically calculated for the respective rotations of the nests.
[0098] It can be made possible for the cut data to be changed, for example by the setter, via the app for each machining operation. This can be done using both absolute values and relative factors. The cut data for the machining operation can be loaded from the list and then used during machining, for example by the app and/or the control device. The original cut data which the CAM programmer has selected remain in the file. It can thus be made possible for changes to be undone at any time, for example with the aid of the app. In the app, different cut data can be stored for the same machining operation. This can make it possible to select the cut data quickly at a later point. For instance, it can be made possible to use the same CAM program for different materials.
[0099] If the machine tool uses multiple pallets, the post-processor can be configured such that the NC program uses dedicated lists for each pallet. In addition, a unique machine number can also be defined and used. This can make it possible to store the real displacements of the individual nests for each clamping tower and to retrieve them when the corresponding pallet is used. Deviations from a combination of a machine with a pallet can thus be stored unambiguously and corrected automatically. These data can be created and managed by the app. If the files are not present at the start of the program, the program can automatically generate copies of the files from the main program and start calibrating the nests.
[0100] For the manufacture of similar components in variants, that is, components in which only a few features differ from one another (for example, components with different bore diameters), it can be made possible to create a program for all variants by means of the CAM module. User extensions, comments or names in the machining operations can be used to define different variants. The variants can be evaluated by the post-processor and stored in the position list. The app can be configured to read out this variant information and display it to the user, in a simplified manner if necessary. It can thus be made possible for the user, for example the setter, to select a variant for manufacture. In multiple clamping systems in which more than one workpiece can be machined simultaneously, it can be made possible to define different variants for each clamping nest.
[0101] It can be provided for corresponding files to be stored on a central shared network resource, for example on a server. This can make it possible to configure multiple orders in advance. According to the disclosure, parts of a manufacturing control station software can thus be replaced to actuate multiple machines. If a method according to the disclosure is started on a machine tool, a machine number and a pallet number can be read out, and manufacture can take place in preselected nests and/or in preselected variants.
[0102] It can be provided for multiple manufacturing sequences or programs to be combined to form a new, combined manufacturing sequence or a combined program, for example by means of the app. In this case, for example for zero point clamping systems with fixed positions, a different program can be executed for each zero point clamping system. Lists of the individual programs can then be set, for example by the app, such that the corresponding nests are activated or deactivated. In addition, a new program can be generated, for example by the app, which uses the corresponding lists and sub-programs of the original programs without changing the original programs.
[0103] A log function for logging data can be provided, which can be activated, for example by the programmer or the setter, for example via the app or in the CAM module. With the log function activated, data relating to a machining operation can be logged in a log file. The app can be configured for evaluating the log file. For example, start and end times, results of tool breakage monitoring and other data which can be made available by the controller and/or the machine tool can be output here. The app can be configured to prepare data for the setter and, for example, create statistics on the data.
[0104] To relieve the CAM programmer when programming multiple clamping systems, it can be provided for only one manufacturing sequence or machining operation to be programmed in relation to one zero point in the CAM module. If this machining operation is also to be carried out at other positions, it can be provided for only a dummy machining operation to be created instead of a copy of the machining operation to define a machining order. The post-processor can then automatically generate the necessary copies. The programming effort can be reduced thereby.
[0105] Programming can thus be provided for multiple zero points or nests without all the nests being programmed individually in turn or individual program parts being combined after programming to form a main program or a manufacturing sequence with corresponding displacements. Furthermore, if there are changes to the manufacturing sequence, it is no longer necessary to carry out the same changes for all the zero points or clamping nests or to transfer changes in sub-programs to the main program manually. According to the disclosure, it can be made possible to generate an executable NC program without further interventions. If no changes have been made to positions of clamping nests, it can be made possible for the old NC program to be overwritten with the new one; previous corrections are retained, and normal production operation can start immediately.
[0106] It can be provided for further modified control commands for a subsequent actuation of the machine tool corresponding to the further modified control commands to be generated during actuation of the machine tool corresponding to the modified control commands. Thus, in contrast with a conventional type of programming of a machine tool, it can be made possible for the next sequence of the program (e.g. the next pallet in a machine tool with a pallet-changing device) to be configured even while the active program is still being processed. In particular, this can be made possible in that all the data which change between different program sequences are kept in lists and are not in a main program.
[0107] Modified control commands can be generated for the application of a manufacturing sequence to another machine tool. For example, the use of lists can make it possible to convert control data or a posted program simply for another machine. If the control data or the program have been generated for example for a horizontal milling machine, the control data or the program can be converted with the aid of the app in order to be processed on a vertical milling machine. Here, not only can the coordinates be swapped, but also the rotation axes can be adjusted accordingly. Furthermore, special features of a particular milling machine can be taken into account, for example rotation axes of 180/+180 or 0/360.
[0108] Complex individual parts such as those from tool- and die-making can be programmed with an oversize. The program can be run through once and the critical dimensions can be measured subsequently. The same program can then be run through again without the oversize. Manufacturing with or without an oversize can take place by changing a command parameter corresponding to the oversize or to the absence of an oversize during generation of the modified control commands. For example, a tool diameter can be changed to achieve an oversize or the absence of an oversize.
[0109] The features disclosed in the above description, the claims, and the drawings can be of significance for the implementation of the different embodiments both individually and in any combination.