1. Field of the Invention
This invention relates to the generation of CNC machine tool control programs, in particular, the generation of control programs for use in workpiece measurement operations and other operations on such machine tools.
2. Background of the Invention
CNC machine tools generally accept programs in a low level language for example ISO āGā code. These low level language programs can be produced in a number of ways for loading into the memory of a CNC machine tool controller.
A basic way to produce a machine tool program is to create it by writing the program as commands in a text type program editor in a low level language, but this is laborious. CAD/CAM type programs exist which will generate machine cutting instructions automatically from nominal dimensions of a workpiece which is represented in software. A sequence of high level language instructions are created and post-processed to produce cutting programs in a low level language which is usable by a machine tool. The cutting program has a list of G code commands.
Once a program is post-processed it is then possible to edit the program in the low level language. However, a large amount of editing is again laborious. To aid editing, parts of the low level language program can be cut and/or other parts pasted in.
It is advantageous to have workpiece inspection and measurement operations interleaved with the CNC cutting program so that inspection can take place as work progresses. It is known to paste in probe inspection G code commands into a cutting program used on a machine tool or to type the commands directly. However, it is necessary to ensure that the G code commands are in the correct place and suitable for the purpose. For example, pasted inspection commands will have to have the correct positional data, number of points of contact and probe advance/retreat paths. The pasted inspection instructions will need to be checked to ensure they are correct. This is complicated because the G code used is not easy to interpret.
In addition to probe inspection operations, for greater automation, other auxiliary operations are desirable such as process control and program logic operations. It is desirable to insert auxiliary commands in the form of process control commands and program logic commands into the CNC program when the probe inspection commands are added. Usually these commands are required as a result of probing information. Examples of process control commands are, updating machine tool variables that could be used for modifying tool paths later in the CNC program, updating tool variables e.g. cutter diameter or length, or updating work coordinates. Examples of program logic instructions are: if; then; while; else etc., used to make decisions based on probe inspection data.
Inputting all the auxiliary commands mentioned above into a machine tool program, until the advent of this invention, has been very complicated, because manual input of each command was required.
Whilst the automatic generation of commands is known e.g. U.S. Pat. No. 5,970,431 shows its use for carrying out measurement operations on a coordinate measurement machine, there is no provision for adding such commands to a program used for producing a workpiece.
EP 0879674 describes the generation of a machine tool cutting program which has stop codes (M1) for stopping the program in order that the workpiece can be removed for inspection on a conventional co-ordinate measurement machine (CMM).
According to a first aspect of the invention there is provided a method for generating a CNC program, used for producing a workpiece on a CNC machine tool, having at least one measurement instruction comprising the steps of:
Thus embodiments of the invention provide measurement operations e.g. workpiece inspection, tool site, length, position and tool breakage detection, using inspection probes or non-contact detection devices and preferably auxiliary operations such as process control operations and program logic operations all of which need not be manually input but may be selected as a representation (e.g. an icon, menu item, hot key or text instruction) and automatically generated then inserted into the CNC program in the form of the auxiliary instructions necessary for carrying out the auxiliary operations.
The measurement instructions together with the remaining program may be in the form of blocks which are post-processed to produce the machine usable G code commands necessary for performing the desired measurement operations, and workpiece producing commands.
Preferably the selection of the icon etc prompts further user input in the form of parameters of the measurement operations, process control operations or program logic operations.
If the operation is a probing inspection operation then the parameters include, feature geometry, probe path, number of points to inspect, what is to be done with the probing data or tolerances.
If the operation is a process control operation then the parameters include updating machine tool variables e.g. cutting speed, feed and depth of cuts, updating tool variables e.g. cutter diameter or length or updating work coordinates.
If the operation is a program logic operation then the parameters include if, then, while, else and similar instructions.
Preferably the workpiece producing program has a combination of probing inspection operations, process control operations and program logic operations.
The invention extends to a computer program for carrying out the methods described above.
According to a second aspect the invention extends also to a method of producing a workpiece comprising the steps of:
The invention extends to a work producing CNC program for carrying out the method immediately above.
Embodiments of the invention will now be described with respect to the drawings, wherein:
When the stylus tip 38 touches the workpiece 34 a signal is sent to a wireless (in this instance) remote receiver 14 for feedback to the NC 10. Thus with the correct control the probe 31 can measure the workpiece. Its dimensions can be calculated from servo position feedback when a probe signal is received from the receiver 14. The probe is capable of providing signals when it is moved in x, y or z directions.
As described above, conventionally, the programming of moves required to carry out the probing is time consuming and difficult due to the complexities of the low level G code language used and the fact that many variants of that language are used for different machines. Cutting programs can be generated and modified using a conventional CAD/CAM package 44 resident for example in a so-called PC front end which is physically attached to the CNC machine. According to the invention modifications required for probing operations and consequent auxiliary operations can be carried out in the active program editor 42 which forms part of the invention. The program, once modified, is post-processed by post-processor 46 then fed into the memory of the NC 10 via API 18 ready to be used to machine and inspect workpiece 34.
The following is an example of the modification of a machine tool cutting program using the editor described above. This example assumes that it is required to machine a rough casting. The casting has a boss, roughly central to the casting. The required finished size of the boss is 50 mm diameter. The boss size as cast should be between 60 and 75 mm but varies in position. Other features are dimensioned from the centre of the boss.
The cutting program correctly generated from the finished drawing has the correct cutting paths starting with machining of the boss. Since the exact position of the boss is not known then to avoid scrap it would be beneficial to find the centre of the cast boss before machining takes place and then to datum the workpiece coordinates from that centre. This can be done quickly with the editor 42 of the invention simply by loading the cutting program, selecting the external circle inspection icon and setting the parameters to measure slowly in from a 100 m diameter at four points about the approximate centre of the boss. The probing instructions necessary to carry out this operation will be inserted at the start of the cutting program. A process control icon etc can be selected which updates work coordinates to the centre of the boss once the boss has been machined so that the other features can be machined with the correct dimensions. The instructions required for this to happen can be added also.
It may be necessary to add program logic to the cutting program whereby, IF the boss is less than 50 mm in diameter initially THEN stop the machine tool program. The boss is undersize and cannot be machined correctly. The instructions for such operation can be added to the cutting program in the same way as the probing and process control instructions were added. The whole program is post-processed to suit a particular machine tool and loaded into the NC 10 as cutting, probing, process control and program logic commands.
Since it may be difficult to determine exactly where an auxiliary operation should be inserted into a CNC program, an embodiment of the invention incorporates a visualisation of the workpiece and cutting paths of the machine tool at a selected point in the CNC program. So, features of a workpiece which require inspection can be easily identified and the appropriate instructions inserted at the correct place.
Therefore, it is possible using the editor 42 to load a CNC program and to display the features of a workpiece that would be made if the program was run on a CNC machine. The user of the editor may then pick the feature to be inspected and the editor will then automatically insert the appropriate auxiliary instructions in the correct place e.g. following what would be the production of that feature during the running of program on the CNC machine tool.
This embodiment may be used to reverse engineer the data of an existing CNC program, perhaps where no CAD model exists for the workpiece. It is possible to visualise a part just from the CNC program.
The embodiments described relate to the modification of cutting programs on a CNC machine tool. It is envisaged that the invention should extend to the generation of all programs for producing a workpiece including processes other than cutting, for example grinding, welding, polishing, deburring, pressing, forming, folding, stamping, piercing, embossing etc., all of which may be performed on a CNC controlled machine.
The embodiment described refers to probing operations e.g. using a conventional workpiece contact probe. However the invention is concerned with measurement operations in general including but limited to: workpiece contact and non contact surface sensing, surface roughness sensing, camera based measurement systems, measurement gauges, tool size, position sensors and tool breakage detectors.
Number | Date | Country | Kind |
---|---|---|---|
0414649.4 | Jun 2004 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB2005/002528 | 6/28/2005 | WO | 00 | 12/11/2006 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2006/003380 | 1/12/2006 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4974165 | Locke et al. | Nov 1990 | A |
5970431 | He | Oct 1999 | A |
6219628 | Kodosky et al. | Apr 2001 | B1 |
7000191 | Schmitt et al. | Feb 2006 | B2 |
7089531 | Rutkowski | Aug 2006 | B2 |
7210117 | Kudukoli et al. | Apr 2007 | B2 |
7308334 | Tasker et al. | Dec 2007 | B2 |
7574690 | Shah et al. | Aug 2009 | B2 |
Number | Date | Country |
---|---|---|
0 072 687 | Feb 1983 | EP |
0 879 674 | Nov 1998 | EP |
1 300 740 | Apr 2003 | EP |
1 244 624 | Sep 1971 | GB |
A-60-79209 | May 1985 | JP |
A 60-079209 | May 1985 | JP |
A-7-227738 | Aug 1995 | JP |
A-2002-529843 | Sep 2002 | JP |
WO 0028393 | May 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20070250204 A1 | Oct 2007 | US |