scispace - formally typeset
Open AccessJournal ArticleDOI

An intelligent NC program processor for CNC system of machine tool

Reads0
Chats0
TLDR
This paper explains the NC specification dictionary structure by using EBNF representation, which is further implemented in tool command language, an embedded script language tool and the unchanged processing engine has been designed from a compiler's point of view to process the data dictionary.
Abstract
NC program interpreting is one of the most important tasks of CNC in machine tool system. The existing CNC systems only support vendor-specific NC program input, which restrict the applying of other similar functional NC programs with different program format. Especially for those users owning several machine tools with different CNC from the same provider, the diversity of NC programs dramatically increases their cost and time on operator training and machine tool maintenance. In order to deal with the variety of NC program, an intelligent NC program processor (NCPP) is proposed in this paper. The proposed NCPP has a novel structure with separated NC specification dictionary and processing engine, which ease the CNC system to adapt to a new NC program specification by only updating the NC specification dictionary (NCSD). This paper explains the NC specification dictionary structure by using EBNF representation, which is further implemented in tool command language, an embedded script language tool. Meanwhile, the unchanged processing engine has been designed from a compiler's point of view to process the data dictionary. A NCPP prototype is built to evaluate the proposed design. Case study shows that the proposed NCPP handles different NC program inputs successfully.

read more

Content maybe subject to copyright    Report

UC Davis
UC Davis Previously Published Works
Title
An intelligent NC program processor for CNC system of machine tool
Permalink
https://escholarship.org/uc/item/65r5c7tj
Journal
Robotics and Computer-Integrated Manufacturing, 23(2)
ISSN
0736-5845
Authors
Liu, Y
Guo, X
Li, W
et al.
Publication Date
2007-04-01
Peer reviewed
eScholarship.org Powered by the California Digital Library
University of California

1
An Intelligent NC Program Processor for CNC System of Machine Tool
Yadong Liu
1
, Xingui Guo
1
, Wei Li
1
, Kazuo Yamazaki
1
, Keizo Kashihara
2
, Makoto Fujishima
2
1
IMS-Mechatronics Laboratory, Mechanical Aeronautical Engineering Department, University of
California, Davis, USA
2
Mori Seiki Co. Ltd., 2-35-16 Meieki, Nakamura-ku, Nagoya City, Japan
Abstract
NC program interpreting is one of the most important tasks of CNC in machine tool system. The
existing CNC systems only support vendor-specific NC program input, which restrict the applying
of other similar functional NC programs with different program format. Especially for those users
owning several machine tools with different CNC from the same provider, the diversity of NC
programs dramatically increases their cost and time on operator training and machine tool
maintenance. In order to deal with the variety of NC program, an intelligent NC program
processor (NCPP) is proposed in this paper. The proposed NCPP has a novel structure with
separated NC specification dictionary and processing engine, which ease the CNC system to
adapt to a new NC program specification by only updating the NC specification dictionary (NCSD).
This paper explains the NC specification dictionary structure by using EBNF representation,
which is further implemented in TCL, an embedded script language tool. Meanwhile, the
unchanged processing engine has been designed from a compiler’s point of view to process the
data dictionary. A NCPP prototype is built to evaluate the proposed design. Case study shows
that the proposed NCPP handles different NC program inputs successfully.
Keywords: NC Program Processor, Canonical Machining Function, EBNF, TCL
1 INTRODUCTION
In the CNC system of modern machine tool, NC program interpreting is very important, which is in
charge of the accurate resolving of machining intention generated from CAM system. Figure 1
shows the role of NC program processor (NCPP) in CNC system, the input is NC program. The
major function of NCPP is to decode the input into motion command and PLC command, and

2
send them to the motion control processor (MCP) and programmable logic controller (PLC) of
CNC separately in order to control the movement of the cutting tool and auxiliary machine logic.
Most CNC systems can handle only one specific NC program format, while the diversity of NC
programs always entangles the machine tool users, especially for those owning several machine
tools with different CNC but from the same provider. Such a situation is formed due to the
following facts:
First, no actual NC program standard is available, although some nominal ones are existing.
There have been three basic standards: RS274D (USA), ISO6983 (ISO) and DIN66025 (Europe)
for NC program since CNC was invented. However, machine tool and control technology have
undergone great development since then, thus a lot of new functions and controller-specific
features, not supported by these NC standards have been added to the CNC.
Second, different CNC providers extended the NC program standard a lot to adapt their own
specific functions; a typical example is the special interpolation function added by each CNC
provider. This contributes to the difficulty of interchanging NC programs generated by different
CNC systems. Hence, even the users who own several kinds of machine tools from the same
machine tool manufacturer but equipped with different CNC systems have to generate different
NC programs for each machine tool. This situation even happens in the same CNC system case
with later updated functions.
Third, NC program modification is always mandatory in order to safely reuse a NC program with
different format. This process usually requires much more specialist knowledge of different kinds
of CNC, although the CNC providers always say that only less than 5% change is needed. This
issue obviously forces the machine tool users to spend more expense and time on training their
programmers or operators.
Fourth, most CAM system can generate different NC program by applying different post-processor
now. However, it’s not workable for manual programming cases, which still cover major
applications in industry. In addition, different CNC system requires different post-processor, the
CAM system thus has to prepare a lot of unused post-processors in advance. Universal post-

3
processor is another solution, which allows the end user to customize a post-processor; however
making a specific post-processor requires much more experienced specialists.
In order to efficiently reuse NC programs from different CNC systems, an intelligent NCPP is
proposed to deal with variety of NC program inputs in CNC system. With separated processing
engine and NC specification dictionary (NCSD) structure, the proposed NCPP can easily interpret
different NC programs by applying different specification dictionaries while keeping the processing
engine unchanged.
The rest portions of this paper are organized as following. In Section 2, the interface of NCPP is
introduced. In Section 3, conceptual model of proposed NCPP is presented. Section 4 discusses
the design of proposed NCPP. Section 5 shows the implementation of a prototype system. The
paper is concluded in Section 6.
2 INTERFACE OF NC PROGRAM PROCESSOR
NCPP is one module of the CNC, which requires cooperation between different modules;
therefore it’s quite necessary to clarify the interface before starting design. As shown in Figure 1,
the purpose of NCPP is to translate the input NC program into machine instruction, such as
motion command, PLC command or simple parameter settings and error messages. NIST calls
these outputs as Canonical Machining Functions. A set of definition of these canonical machining
functions has been given as shown in table 1, which has been used by Enhanced Machine
Controller (EMC) project and other open CNC research projects.
NC program
in memory
Manual Data
Input (MDI)
Motion
command
PLC
command
NC program
from DNC
INPUT OUTPUT
Motion
command
&PLC
command
distributor
Parameter
setting
Error
message
NC
Program
Processor
(NCPP)
MCP
PLC
Figure 1: Role of NCPP in CNC system.
The canonical machining functions were devised with two objectives in mind:

4
All the functionality of common 3-axis to 5-axis machining centers had to be covered by the
functions; for any function a machining center can perform, there has to be a way to tell it to do
that function.
It must be possible to interpret RS274-compatible NC program into canonical machining function
calls.
Table 1: Canonical machining function definitions.
Functionality Functions
Representation
SET_ORIGIN_OFFSETS(x,y,z,a,b,c)
USE_LENGTH_UNITS(units)
Free Space Motion STRAIGHT_TRAVERSE(x,y,z,a,b,c)
Machining Attributes
SELECT_PLANE(plane)
SET_FEED_RATE(rate)
SET_MOTION_CONTROL_MODE(mode)
……
Machining Functions
ARC_FEED(first_end, second_end, …)
DWELL (seconds)
STRAIGHT_FEED(x,y,z,a,b,c)
Spindle Functions
SET_SPINDLE_SPEED(r)
START_SPINDLE_CLOCKWISE()
STOP_SPINDLE_TURNING()
Tool Functions
CHANGE_TOOL(slot)
SELECT_TOOL(i)
…… ……
The canonical machining functions are atomic commands. Each function produces a single tool
motion or a single logical action. A NC command usually includes two types: those for which a
single NC command corresponds exactly to a canonical function call and those for which a single
command will be decomposed into several canonical function calls. Things like “move in a straight

Citations
More filters
Journal ArticleDOI

Strategic advantages of interoperability for global manufacturing using CNC technology

Abstract: In the domain of manufacturing, computer numerically controllers (CNC) technology is a major contributor to the production capacity of the enterprises. The advances in CNC technology coupled with enhancements in computing systems have provided the basis to re-examine the way in which computer-aided systems (CAx) can be used to enable global manufacturing. Interoperability of the various components of the CAx chain is therefore a major prerequisite for manufacturing enterprises for becoming strategically agile and consequently globally competitive. Being interoperable, resources can be utilized interchangeably in a plug-and-produce manner. Over the last 8 years the eminence of a STEP standard for machining entitled STEP-NC (numerical control) has become a well-known vehicle for research to improve the level of information availability at the CNC machine tool. In this paper, the authors introduce the background to the evolution of CNC manufacturing over the last 50 years and the current standards available for programming. A review of the literature in interoperable CNC manufacturing is then provided relating to milling, turn-mill and other NC processes. The major part of the paper provides a strategic view of how interoperability can be implemented across the CAx chain with a range of standards used to regulate the flow of information. Finally, the paper outlines the advantages and major issues for future developments in interoperability, identifying future key requirements and limiting factors.
Journal ArticleDOI

Advanced CNC system with in-process feed-rate optimisation

TL;DR: In this article, an optiSTEP-NC, an AECopt controller and a knowledge-based evaluation (KBE) module have been developed to perform initial feed-rate optimisation based on STEP-NC data to assist process planners in assigning appropriate machining parameters.
Journal ArticleDOI

Process comprehension for shopfloor manufacturing knowledge reuse

TL;DR: In this article, a process comprehension approach has been used to capture the process knowledge at the shop floor of a CNC machine and to reuse shop floor process knowledge to improve manufacturing quality and control while enabling savings in cost and time.
Journal ArticleDOI

Toward interoperable CNC manufacturing

TL;DR: This paper presents the impediments and issues arising from such incompatibilities and proposes a new framework to overcome these barriers in achieving interoperability in the CAD/CAM/CNC chain.
Journal ArticleDOI

Adaptive execution of an NC program with feed rate optimization

TL;DR: In this article, an optimizer for canonical machining commands (optiCMC) has been developed, where fuzzy adaptive control is used to keep a constant cutting load by adjusting feed rate automatically to the cutting conditions.
References
More filters
Book

Tcl and the Tk Toolkit

TL;DR: The Addison-Wesley Publishing Company, Inc. as mentioned in this paper has published the first edition of this book, which is available for personal use only and requires prior written permission of the author or publisher.
Book

CNC Programming Handbook

Peter Smid
ReportDOI

The NIST RS274/NGC Interpreter - Version 3

TL;DR: An interpreter which reads numerical control code and produces calls to a set of canonical machining functions that may be used to drive 3-axis to 6-axis machining centers.
Book

Writing Compilers and Interpreters

Ronald Mak
TL;DR: Reading and Listing the Source Program.
Related Papers (5)
Frequently Asked Questions (18)
Q1. What is the key point of this paper?

Among those interface functions, the corresponding relation between inputting NC program and outputting canonical machining functions is the key point of this paper. 

4) Event generator of processing engine triggers the TCL interpreter to call and execute thecorresponding TCL procedures in NCSD. 

The major function of NCPP is to decode the input into motion command and PLC command, andsend them to the motion control processor (MCP) and programmable logic controller (PLC) of CNC separately in order to control the movement of the cutting tool and auxiliary machine logic. 

In the future, in order to facilitate the preparation of the data to specify certain NC program specifications, it maybe useful to have user-friendly specification dictionary generator which can generate the dictionary in an efficient manner. 

Environment-checking functions, to ask the world outside the NCPP to give the NCPPinformation, such as current system feedrate, spindle speed, tool table and so on. 

In the CNC system of modern machine tool, NC program interpreting is very important, which is in charge of the accurate resolving of machining intention generated from CAM system. 

The dictionary generator in thisfigure is used to generate the syntax dictionary from NC program syntax EBNF representation whenever a new NC specification is given. 

During analysis, all character-based error will be checked, for example whether the unacceptable address letters has been used or not. 

If looking inside the NCPP, the key portion is the interpreting (processing) engine mentioned before, from a compiler’s point of view, the engine can be divided into four steps in order to check and decode an input NC program. 

The major functionality of lexical analysis is to merge a sequence of characters from the input NC program into sequence of words, which is a high-level representation unit, an example is shown in Figure 5. 

A NC command usually includes two types: those for which a single NC command corresponds exactly to a canonical function call and those for which a single command will be decomposed into several canonical function calls. 

Beside NC program input and canonical machining functions output, there are other four kinds of interface functions are required as NCPP is running to interpret input NC program, as shown in Figure 2:• Initial parameters setting, to establish an NCPP environment, such as loading default parameterfiles and tool tables.• 

All the functionality of common 3-axis to 5-axis machining centers had to be covered by thefunctions; for any function a machining center can perform, there has to be a way to tell it to do that function.• 

The paper is concluded in Section 6.NCPP is one module of the CNC, which requires cooperation between different modules; therefore it’s quite necessary to clarify the interface before starting design. 

The operator stack is subject to a rule: the priority of each item is always in a decreasing order while the execution with highest priority always happens first. 

Such a solution provides dramatic flexibility and stability for the NCPP development, only one set of software code of the processing engine needs to be maintained. 

After being processed by proposed NCPP, two syntax errors are both detected out with error messages, as those shown in the figure 14 in italic and bold fonts. 

machine tool and control technology have undergone great development since then, thus a lot of new functions and controller-specific features, not supported by these NC standards have been added to the CNC.