Sign In to Follow Application
View All Documents & Correspondence

System And Method For Generating Error Free Syntactically Compatible Computer Numerical Control Program

Abstract: System and Method for generating error free syntactically compatible CNC (Computer Numerical Control) part program by parsing the extraneous codes from the part program and making it compatible for execution on machine tool simulation software for verifying the correctness of the program is described. The instant invention adopts parsing technique that aids in analyzing and identifying the special codes in CNC program. The identified code is parsed and internally a modified CNC program is created devoid of the extraneous code. The modified CNC program is then fed into the machine simulation software and the correctness of the program is verified. There are no errors found in the parsed CNC program as there are no special non compatible codes in the program.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
24 February 2010
Publication Number
24/2010
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Infotech Enterprises Limited
11 Software Units Layout,  Infocity,  Madhapur,  Hyderabad.

Inventors

1. Varma DRSV
c/o Infotech Enterprises Limited, Plot No. 2,  IT Park,  Nanakramguda,  Manikonda,  Hyderabad 500032.
2. MOHAN V. Vijai
c/o Infotech Enterprises Limited  of Plot No. 2  IT Park  Nanakramguda  Manikonda  Hyderabad 500032 India.

Specification

Technical Field
The present invention relates to a system and method for generating error free syntactically compatible CNC (Computer Numerical Control) part program by parsing the extraneous codes from the part program and making il compatible for execution on machine tool simulation software for verifying the correctness of the CNC program.
Background
A CNC program is generally used to guide the CNC machine tool for producing a part. The process to produce the part is developed in steps for converting the raw material into finished goods. Each step represents a material removal process and the material to be removed is achieved by controlled movement of the cutting tool over the raw material. The control of the cutting tool is obtained from the CNC program. Typically, a CNC program is created manually by a CNC programmer or a CAM system is utilized for the same. Irrespective of the method of generation of CNC program, it is essential to ensure the correctness of the programmed tool paths and cutting circumstances before actually releasing the CNC program for production.
A machine simulation package is utilized for performing the verification of the CNC program. The machine simulation package has the machine model with kinematics features and the control vocabulary is programmed into the system. The tool change philosophy is also programmed and the raw material stock is also modeled. The verification program reads the CNC program and dynamically moves the virtual machine elements by decoding the CNC words. The stock also takes the corresponding shapes with regard to the tool movements and any

unwarranted/wrong movements are logged into the error log file. The error log file can be analyzed and corrective actions can be taken.
A general CNC program contains several customized codes (containing Tool life variables etc) for invoking the specific hardware of the CNC machine tool. These variables are required during actual machining but are not meaningful during the simulation. Hence all the customized codes not reflected in the vocabulary of the Simulation control crop up as error messages in the error log file of the Simulation package. The error messages may alarm user unnecessarily and hence it is advisable to develop a method of avoiding these errors.
There are many systems and methods which explain about the simulation device and generation of machine tool control data.
US 2003/0171841 describes a control system (41) comprising a control program (42) which accesses a stored database (43) holding a predefined set of rules for performing predetermined machine tool operations, from which rules computer instructions can be derived for controlling an NC machine tool. A solid model (44) of a component to be manufactured is input to the control program (42). The solid model (44) is in the form of a computer model programmed using the International Geometry Export Standard (IGES). In operation, the control program (42) performs a feature recognition operation on the IGES data to identify geometric features present in the solid model (44). Having identified the geometric features present, the control program (42) uses the set of rules in the database (43) to generate control data in the form of a composite set of computer instructions for working the features of the component represented in the solid model (44).
Another Non-Patent document - Virtual CNC controller is the key driving component for a virtual CNC which is a three dimensional digitized physical CNC.

A virtual CNC can exist in every PC serving as the complementary safer counterpart in lecturing and learning the hand on operation of expensive machinery such as five-axis milling machine, high speed CNC and mill-turn because the virtual CNC will not break. Virtual reality environment provided by BON studio software has been adopted in establishing the interactivity of a virtual CNC based on the geometry model constructed in off-the-shelf CAD software. Visual Basic was used in implementing the graphical user interface to operate the virtual CNC through the developed virtual controller. The virtual controller is in charge of (1) parsing user's NC codes, (2) simulating the tool path of the parsed NC codes, and (3) driving the virtual CNC according to the tool path. The developed virtual CNC controller has been successfully applied in implementing virtual CNCs based on two physical three-axis CNC machines and has also been demonstrated in an international exposition successfully. The virtual controller can enable the virtual CNC in facilitating lecturing, tutoring, self-learning, and reducing the chances of accidental breakdown of precious CNC equipment.
The NC code parser developed in above stated document restructures the entered NC program and categorize the elemental data into various motion elements. There is no mention of the technique of parsing and the document does not describe about removing of extraneous code from the CNC program.
None of the prior ait documents describes about the techniques of generating syntactically compatible CNC programs for CNC machine tool simulation.
With the above background, there exists a need for a method of generating error free syntactically compatible Computer Numerical Control program for CNC machine tool simulation, for overcoming the challenges mentioned above.

Objects and Summary
The object of the present invention is to provide a system and method for generating error free syntactically compatible CNC part program.
It is an object of the present invention to generate syntactically correct CNC part program by parsing the extraneous code from the part program and making it compatible for execution on machine tool simulation software.
It is another object of the present invention to verify the correctness of the modified CNC part program by running on the machine tool simulation software.
It is yet another object of the present invention to generate error free CNC program and ensure non-existence of special non compatible codes in the program.
To achieve the aforementioned objects, the present invention provides a method of generating error free syntactically compatible Computer Numerical Control (CNC) program for CNC machine tool simulation, comprising the steps of:
• reading an existing CNC program word by word;
• identifying / searching and logical evaluation of extraneous code(s) from existing CNC program based on pre-defined set of rules;
• eliminating or modifying the identified extraneous code; and
• generating a syntactically compatible CNC program from the existing CNC program.
• integration into the environment of the machine simulation software.
The present invention further provides a system for generating syntactically compatible Computer Numerical Control (CNC) program for CNC machine tool simulation, comprising;

e means for reading an existing CNC program word by word; « means for identifying / searching extraneous code(s) from the existing CNC program based on pre-defined set of rules;
• means for eliminating or modifying the identified extraneous code; and
• means for generating error free syntactically compatible CNC program from the existing CNC program.
• Means for integration into the environment of the machine simulation software.
Brief description of the drawings
The detailed description is given with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to give reference to various features and components.
Fig. 1 illustrates an exemplary system comprising of machine simulation software
module integrated to the compatible CNC program generation module according to
the present invention
Fig. 2 is a flow diagram illustrating an exemplary parsing method for generating
error free syntactically compatible CNC program for machine simulation according
to the present invention
Fig. 3 is an exemplary diagram illustrating the problems encountered during machine
simulation with the customized codes.
Fig. 4 is an exemplary diagram illustrating the conventional process for overcoming
the errors.
Fig. 5 is an exemplary diagram illustrating an automatic method of parsing the
extraneous code according to the present invention.

Detailed description of the Drawings
System and Method for generating error free syntactically compatible CNC (Computer Numerical Control) part program is described. The system and method is not intended to be restricted to any particular form or arrangement, or any specific embodiment, or any specific use, disclosed herein, since the same may be modified in various particulars or relations without departing from the spirit or scope of the claimed invention herein shown and described of which the system and/or method shown is intended only for illustration and disclosure of an operative embodiment and not to show all of the various forms or modifications in which this invention might be embodied or operated.
An embodiment of the present invention, implementing said system and method for generating error free syntactically compatible CNC (Computer Numerical Control) part program by parsing the extraneous codes from the part program and making it compatible for execution on machine tool simulation software for verifying the correctness of the program will now be explained by referring to the following figures.
According to an embodiment, the instant invention adopts parsing technique that aids in analyzing and identifying the special non compatible codes in CNC program. The identified code is parsed and internally a modified CNC program is created devoid of the extraneous code. The modified CNC program is then fed into the machine simulation software and the correctness of the program is verified. There are no errors found in the parsed CNC program as there are no special non compatible codes in the program.
The techniques described herein may be used in many different operating

environments and systems. An exemplary environment that is suitable for practicing various implementations is discussed in the following section with respect to the accompanying figures.
EXEMPLARY SYSTEM
Fig. 1 illustrates an exemplary system 100 comprising of machine simulation software module 102 integrated to the compatible CNC program generation module 104 according to the present invention. The machine simulation module 102 contains features for developing the machine elements. CAD options enable to model the machine building block using primitives. Once the machine elements are configured, the machine kinematics is defined. The machine kinematics enables different machine elements to move relative to each other. The control logic vocabulary is developed into the system. This aids in decoding the CNC Program and the passing the commands for the movement of the respective machine elements. The cutting tool models are also defined based on tool diameter, tool length, part materials, cutting tool material and method such as roughing, finishing etc.
The user interface 106 aids in developing the hierarchical structure for building the virtual machine model and in navigation through the various functionalities of the machine simulation software. The user interface also helps in tailor making and constructing simulation environment conducive for usage as required.
The Compatible CNC Program generation module 104 defines a methodology and has features for reading the CNC program and then converting the same into an error free syntactically compatible program for executing on the Machine simulation module. The functioning of the module 104 is described in Fig. 2.
EXEMPLARY METHOD

Fig. 2 is a How diagram illustrating an exemplary parsing method 200 for generating an error free syntactically compatible CNC program for machine simulation according to the present invention.
At 202, the program is initiated, and thereafter at 204 the parsing programs opens two files separately - one for reading the existing CNC program and the second for recoding the revised CNC program after the parsing operation. At 206, the existing program is read word by word to identify the extraneous code or compatible code as per the variable assignment. The first word is read at 208 and 210. At 212, the information on the specific characters is obtained and confirmation logic aids to identify the extraneous code. If the word is an extraneous code at 214, the information on the specific character is obtained at 216. At 218, the extraneous code is removed and the control of the program scans word by word, till the next extraneous code is encountered. Thereafter, at 220 the compatible code is saved in the revised CNC program file. If the word is not an extraneous code, at 220 the compatible code is saved in the revised CNC program file. The method iterates till end of the program is encountered at 222 by incrementing the counter to scan next word at 224. This process thus generates a compatible CNC program for execution on the Verification software.
By way of example, the machine can be a dual turret, dual spindle mill-turn multi¬tasking CNC machine with built-in tool life management system. The simulation software variable management system did not accommodate the complex variable assignment used in the context of tool life management. As a result, these variables are either wrongly assigned or are reported as errors by the Simulation software as illustrated in Fig. 3. These errors that are populated into the log file are misleading since the actual machine is able to handle the tool life variables.

A solution to above problem is to remove the errors from the error log file by editing the CNC program manually to remove the special or extraneous codes from the program as illustrated in Fig. 4. However, said method of manually editing the CNC program is time consuming and is prone to errors.
The manual approach can be overcome by developing a parsing program and compiling it to seek and substitute certain set of variables from the main tool path as illustrated in Fig. 5. As an advancement of the solution this parsing program was compiled to output a 'dIP (dynamic link library) file which was called into the Simulation software session through the Application Program Interface option. This 'dlP was then mapped into the 'event' section in the control file and was associated under the 'reset' option.
This action macro was a result of interfacing the generated 'dIF file through the Application Program Interface module of The Simulation software. The user would set-up the Simulation software session with the original CNC program which has the subscripted tool life variables and once the session is 'reset' the customized action macro would substitute the CNC program in a way where no more false errors were generated by The Simulation software. Thus the machining process can be checked very accurately.
The advantage provided by the system and methods of the present invention is that it provides a more convenient and flexible simulation environment so that CNC programs are devoid of the extraneous code inside the simulation environment making the CNC programs compatible and maintaining the original structure of the CNC program for executing it on the CNC machines.
The embodiments described above and illustrated in the figures are presented by way of example only and are not intended as a limitation upon the concepts and

principles of the present invention. Elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. As such, it will be appreciated by one having ordinary skill in the art that various changes in the elements and their configuration and arrangement are possible without departing from the spirit and scope of the present invention as set forth in the appended claims.

We Claim:
1. A method of generating error free syntactically compatible Computer
Numerical Control (CNC) program for CNC machine tool simulation,
comprising the steps of:
• reading an existing CNC program word by word;
• identifying / searching extraneous code(s) from existing CNC program based on pre-defined set of rules;
• eliminating or modifying the identified extraneous code; and
® generating a compatible or syntactically correct CNC program from the existing CNC program.
2. The method as claimed in claim 1, wherein the compatible CNC program is verified on machine simulation software.
3. The method as claimed in claim 2, wherein the errors are avoided during the verification of the compatible CNC program on the machine simulation software.
4. The method as claimed in claim 1, wherein said method is integrated into the environment of the machine simulation software.
5. A system for generating error free syntactically compatible Computer Numerical Control (CNC) program for CNC machine tool simulation, comprising:

• means for reading an existing CNC program word by word;
• means for identifying /searching extraneous code(s) from the existing CNC program based on pre-defined set of rules;

• means for eliminating or modifying the identified extraneous code;
and » means for generating a compatible or syntactically correct CNC
program from the existing CNC program.
6. The system as claimed in claim 5, comprising means for verifying the compatible CNC program.
7. The system as claimed in claim 6, wherein the errors are avoided during the verification of the compatible CNC program on the machine simulation
software.
8. The system as claimed in claim 5, wherein said system is integrated into the environment of the machine simulation software.
9. A computer program product for generating error free syntactically compatible Computer Numerical Control (CNC) program for CNC machine tool simulation, comprising one or more computer readable media configured to perform said method.

Documents

Application Documents

# Name Date
1 483-CHE-2010 FORM-9 08-04-2010.pdf 2010-04-08
1 483-CHE-2010-AbandonedLetter.pdf 2018-11-28
2 483-CHE-2010 POWER OF ATTORNEY 27-04-2010.pdf 2010-04-27
2 483-CHE-2010-FER.pdf 2018-05-01
3 483-CHE-2010 FORM-1 27-04-2010.pdf 2010-04-27
3 Form 13 [25-04-2016(online)].pdf 2016-04-25
4 Form 26 [25-04-2016(online)].pdf 2016-04-25
4 483-CHE-2010 FORM-18 09-07-2010.pdf 2010-07-09
5 Form-1.pdf 2011-09-03
6 Form-1.pdf 2011-09-03
7 483-CHE-2010 FORM-18 09-07-2010.pdf 2010-07-09
7 Form 26 [25-04-2016(online)].pdf 2016-04-25
8 483-CHE-2010 FORM-1 27-04-2010.pdf 2010-04-27
8 Form 13 [25-04-2016(online)].pdf 2016-04-25
9 483-CHE-2010 POWER OF ATTORNEY 27-04-2010.pdf 2010-04-27
9 483-CHE-2010-FER.pdf 2018-05-01
10 483-CHE-2010-AbandonedLetter.pdf 2018-11-28
10 483-CHE-2010 FORM-9 08-04-2010.pdf 2010-04-08

Search Strategy

1 search_strat_23-04-2018.pdf