Keywords

1 Introduction

Computer Numerical Control (CNC) machining systems have been proved to be economical across various types of production; including mass or flow production, batch production and one-off production. Today, numerous CNC machine brands with multiple capabilities are widely used in manufacturing industry to meet the quality requirement and customer demands. Embedded with multiple capabilities and functionalities, CNCs give the shop floor some alternatives in respect of flexibility. However, in the face of today’s fluctuating shop floor environments, flexibility and interoperability of current CNC system to respond dynamically and adaptively are believed to be inadequate [1,2,3]. In most situations, the CNC systems are not able to handle unforeseen changes efficiently and effectively. The impediment of existing technologies is illustrated in Fig. 1.

Fig. 1
figure 1

Key issues in limiting existing technology to create more adaptable and interoperable CNC system

CNC machine tool as a termination mechanism converts inputs into semi-finished or finished outputs based on customer requirements. The way that CNC machines are being programmed remains almost unchanged over the years. Traditionally, machining operations are executed based on predefined NC program that is generated beforehand. This program is mostly rigid in such a way that modifications on any cutting conditions and machining sequences during machining operations are nearly impossible. Simply said, CNC machines are ‘blind slave’ that only followed the input program without fail. In the absent of intelligence element, CNCs disregard whether the program led to inappropriate machine movements, which may result in low productivity or low-quality product.

In the progressive development of next generation CNCs, existing CNC systems still utilising outdated ISO 6983 (also called G&M code) as interface language have become major issue and must be faced out [4]. G&M code is a collection of low-level codes and has large number of limitations such as delivering limited information to CNC, unsupported bi-directional data flow and vendor dependency. Due to the limited scope of G&M-code, most CNC vendors have extended the ISO 6983 through creation of their own proprietary G&M code dialects. Extended version of G&M code was used to support development of new advanced CNC functions. Consequently, it was realized that interoperability and reusability among the systems become more difficult, if not impossible. These proprietary dialects are not compatible with each other, making it difficult to reuse the program. Thus, the same data must be key-in several times into several systems since every system has its own dialects. This non value added activities have led to redundancy and possible errors [5].

To date, many researchers have reported different approaches to enhance capabilities of CNC controller system toward intelligence or smart machine system. In this paper, a new framework of a novel structure of adaptive controller based on STEP-NC/Function Block technology is proposed. Basically, this research works utilizes advantages of both technologies by bringing high level information into CNC level and layered controller architecture in creating a new breed of intelligent controller that offers new possibilities of adaptive control strategies. With the proposed structure, decision making and control abilities are both embedded inside the controller architecture. A new algorithm will be developed to generate automatically optimal machining parameter at machine tool level based on available online machine resources.

2 Machine Tools Evolution

Machine tools are core apparatus of industrialization. Evolution of machine tools is a continuous and everlasting innovation process. The outcome was the new era of production methods that replaced tedious, hard, repetitive jobs with autonomous and intelligent machine tools in metalworking processes.

2.1 Machine Tools Transition Epoch (1700s–1940s)

The histories of machine tolls development were started in the late 1700s up to 1940s, where first industrial revolutionary transformation occurred in the metalworking industry with the conversion from hard production method to machine assisted production method. Most of the machine tool available at this time was manually operated with some form of human assistance and highly depending with the human expertise’s and experiences to operates [6].

2.2 Automatization Machine Tools Epoch (1945–1980)

In the 1950s, numerical control (NC) machine tools technology was developed and introduced in metalworking industry. NC is defined as a method of controlling the motions of machine components and other auxiliary functions by directly inserting coded instruction in the form of series alpha-numerical characters into an electronic control system [7]. At this period, machine tools motion actuation and control gradually shifted from mechanical to electronic actuations and was called “Hardwire NC”. In this system, electrical wiring was used to connect the elements for performing NC functions. In 1960s, machine automation faced significant development with the introduction of direct numerical control (DNC) concept. DNC system permits the programmers to directly send NC program files from central control system to the machine unit [8]. Employment of NC machine tools bring multiple advantages such as reduced manpower, machining time, part rejected and improve product quality.

2.3 High Speed, Adaptive and Flexible Machine Tools Epoch (1980–Present)

Computer numerical control (CNC) was introduced as advanced version of NC machine in the 1970s. The advancement of computer technology was used in assisting NC machines, where most punch cards and electronic hardware were replaced by computers. In CNC technology, the machine control unit (MCU) is a microcomputer that uses to stores machining programs, parse each commands code and execute the sequential controls of machine operation, one command at a time. Typically, the data-processing unit (DPU) and the control-loops unit (CLU) are two main components inside MCU [6]. The function of DPU is to process the command coded data and then deliver the instruction with the required information such as each axis position, motion direction, machining parameters and auxiliary function control signals to the CLU. Whereas, the CLU activates the drive mechanisms of the CNC machine and obtains feedback signals regarding the exact position and speed of each machine axis [6].

Emerging CNC machines enable effective utilization of machine tools towards more automatic and more flexible machining system. Due to their capability to reprogram for a different part in single machine tool, CNC machines have become critical manufacturing resources. The advancement of computer technology together with development of information and communication technology (ICT) infrastructure brought a great improvement to CNC machine capabilities. Today, CNC machine was embedded with the multiple abilities such as multi-axis, multi-tool, and multi-processes manufacture to fulfill customer demands [9].

However, CNC languages still pose an issue at hand that is not fully solved towards development of more intelligent and smart CNC system. Unstable information volume and information lost at each stage of process has become barrier to development of more robust, intelligent, and smart CNC system. Figure 2 presents scenarios of information for current CNC system and next generation of CNC systems.

Fig. 2
figure 2

Information dealt with in current CNC (a) and next-generation CNC (b) [6]

2.4 Smart and Intelligent Machine Tools Epoch (Next Generation Machine Tools)

Revolutionary shift in paradigm is not easy to be implemented on traditional CNC system when most CNC machines are still predominantly use outdated G&M codes as machine control language. Stringent quality requirements and customer demands are the core behind the development of next generation machine tool that are more intelligent, adaptable and interoperable [10]. In previous developments, tremendous efforts were placed by researchers to create machine tools that are faster, more accurate, more reliable, and safer. Today, the concept of sustainable, economical, resource efficient and multiple function machine tools has sparked interest in researchers and industrial communities. It has encouraged energetic research into supportive areas that are proving very beneficial to existing machine tools. e.g., process planning, jigs and fixturing.

The requirements and the characteristics of next generation of CNC have been described by many authors. Some most commonly accepted characteristics and issues are associated with intelligence and versatility of the system. New CNC machine tools system that are smarter, well connected, widely accessible, more adaptive and more autonomous need to be developed in response to the needs of modern manufacturing challenges and demands [6]. To facilitate such characteristics, CNC system should be designed to have:

  1. (i)

    seamless vertically integrated between machine tools and CAx chain by using high level programming language.

  2. (ii)

    ability to generate machining parameter and tool path automatically at machine level.

  3. (iii)

    ability to react adaptively and automatically in real time for maintain a desired performance.

  4. (iv)

    open architecture with software-based modular structure as an implementation technology.

3 STEP-NC and IEC 61499 as Enabler Technology

STEP-NC and function block as two enabler technology for creating interoperable CNC machining system has been discussed in depth by Xu and their co-researcher in [11]. Merging of these two standards believed will bring more beneficial features for next generation CNC machining system. Comprehensive data model provided by STEP-NC combined with distributed control architecture by IEC61499 FBs will enabled extra and autonomy from system to adapts any unscheduled changes without sacrificed their manufacturing objectives.

3.1 STEP-NC: High-Level Data Interface

Since 2002, a new standard called ISO 14649, also recognised as STEP-NC was being developed thru intelligent manufacturing project that involves European Union, Korea, Switzerland and USA [4, 11]. This project objectives to provide a data model for a new breed of intelligent CNCs system. By provides a high level and standardized data model between CAx and CNC systems and is considered as the next generation of CNC programming languages. Commonly, STEP-NC is being developed by the international community with the motivation to formalise the data model interface used at CNC machine level and remedies the shortcoming of the outdated ISO 6983 standard, which yet still dominates the control system of the most existing CNC machines.

Unlike the current standard, STEP-NC does not defines the cutting tool movements as ISO 6983 does, but it treated high level object-oriented information and standardized information such as feature geometry, cutting tool description, operation attributes and work plan from design to CNC system [12]. Though it is possible to develop a new breed of intelligent controller NC controller that have capability to act more intelligently than ever before and with the abilities of decision making as well as control of the machine tool. This can be achieved through STEP-NC by providing generic file as a controller input and the machine-specific decisions to be made at a final stage by a CNC and its controller. As a result, part programs may be written once and reused on multiple CNC machine tool controller [4]. Besides that, STEP-NC also include a data model for inspection, simulation and optimisation in real time CNC system environment. Implementation of STEP-NC programming approaches will provides new possibilities for adaptive force control and decision making process is migrated from CAM to CNC [12]. As a result, CNC controller now functional as a central element between design and manufacturing chain system.

3.2 IEC 61499 Function Block

IEC 61499 is extends the programmable Function Blocks (FBs) notion from the IEC 61131-3 standard based on an explicit event-driven model. Each FB is functional as a software unit that encapsulates algorithms which can be designed to behave in a similar way as an electronic device or a circuit and this function block can represent a small task in a control plan or can be encapsulate with multiple control unit [5]. The execution of an individual FB in the network is triggered by the event it received, if not, FB will keep remaining in idle condition for the rest of time. There are three standard classes of function blocks defined in IEC 61499:

  1. (i)

    Basic function blocks (BFBs): Explicit event-triggered component containing algorithms and has an execution control chart (ECC), together with input and output data set variables.

    Fig. 3
    figure 3

    Proposed adaptive machining systems

  2. (ii)

    Composite function blocks (CFBs): Encapsulate a network of multiple blocks (combined both basic and composite). It is interconnected by external data sources and the functionality is determined by network of FBs inside.

  3. (iii)

    Service interface function blocks (SIFBs); used to provide complete communication interface with its surrounding environment of a FB network.

In general, all FB types provide an interface that has been represented as “head” and “body” in the block. Head located at upper part listed all the event inputs and outputs for function block. While, data inputs and outputs are connected to the body at lower part of block.

4 Overview on Development of Next-Generation CNC Controller

Open architecture control (OAC) technology is one of the key element on creating next generation CNC to become more flexible and openness system. The OAC offers more beneficial advantages such as interoperability, interchangeability, scalability, portability, etcetera to CNC system [13]. The aims of OAC is to developed CNC system that was independent from any manufactures technology. With OAC, user enable to freely assemble and integrate any software and hardware from different manufacturers. Nowadays, OAC is core of modern controller technology. One of famous research work in OAC field is the development of PC based open controllers that can provide high flexibility and quality at low cost [14, 15]. Major researches on open architecture CNC were carried out in many nations and research organizations, such as open modular architecture controller (OMAC) in USA, open system architecture for control within automation system (OSACA) in Europe and open system environment for controller (OSEC) in Japan.

The introduction of OAC increases the possibility of STEP-NC implementation. Most of the existing STEP-NC controllers have been reviewed by [12, 16,17,18]. STEP-NC as a new language, it is required to have a new breed of CNC controllers that capable to carrying out various intelligent tasks using this new language as an input. At the research front, multiple efforts are being made not only just to expand CNC automation and flexibility capabilities of the machine tool but also to embed intelligence and reconfigurable functionality into the machine. There are various different approaches were introduced by various scholars based on STEP-NC implementation on CNC system, those approaches can be classified into several level of implementation as follow; Indirect STEP-NC programming (Level 1), Interpreted STEP-NC programming (Level 2), Adaptive STEP-NC programming (Level 3) and Collaborative STEP-NC enabled machining (Level 4). All the approaches that had been carried out by various researchers within the implementation level has discussed by Othman et al. in [18]. His and their co-workers conclude that the development of adaptive STEP-NC programming controller still have not completed. There still have a room and research work need to be done to achieve that aims.

Merging STEP-NC and IEC 61499 FBs technology in machine tool advancement research work is not a new approach. In 2007, Wang et al. in [19] introduced a adaptable CNC system to addresses an issue of fedding STEP-NC data to existing CNC controllers. This prototype system reads data from STEP-NC file and translate them into machine specific G&M code via FB mapping system. The main advantage of this system is do not need to modify the configuration of the existing CNC machines. Two years later, Minhat and their co-researchers has demonstrated an open layered STEP-NC/FBs architecture controller to simplifying the design of CNC machine controllers [5]. This prototype is no longer required G&M code, STEP-NC programming is totally interpreted by controller for machine execution.

Combined STEP-NC with IEC 61499 FBs provides great opportunity for CNC system to have characteristic such as intelligent, portability, interoperability, flexibility, configurability, and openness. Applying FB to the control of CNC machines means giving them extra intelligence and autonomy to better handle and adapts to changes, for a more successful fulfillment of their manufacturing objectives. However, without using real time information, both of developed controller discussed previously are still lack of flexibility and adaptability functionality when dealing with uncertainty and unpredictable events. Therefore, an advanced STEP-NC/FBs controller CNC system design framework is urgently required to cater the problems discussed in previous. The proposed adaptive controller framework is discussed in next section.

5 Adaptive Controller Framework

The proposed adaptive machining control system model aims at developing the next generation of CNC using STEP-NC as a data model interface (Fig. 3). In this research, STEP-NC is used to provide high level information to the CNC and the IEC61499 function block serves as the controller architecture. As STEP-NC is a passive data model that does contain any intelligent functionality, employment of IEC61499 function block will provides intelligent function onto it. This research focuses on developing adaptive DPU system using FBs for open architecture CNC controller.

For increasing the flexibility and interoperability of the proposed system, instead use of native NC program, CNC controller will only be providing with generic information only. Then, based on online manufacturing resource available, native program will automatically generated including machining parameter and tool path. It starts with the activity where generic STEP-NC is converted to IEC61499 FB structure. Once machine resource is connected to the system, optimization module will trigger and run analysis based on machinability and performance criteria to generate optimal machining parameter. When the calculation is completed, the optimal parameter will be sent to online process planning to create native CNC program automatically. Finally, the tool path generation module interprets that native program to generate machining tool path. Without use of any intermediate file, the generated tool-path can be directly used to drive the machine tools without any intermediate file.

The outcome of this research was a plug and play software based controller called adapSTEP-NC/FB controller. This controller has capability to interpreter generic STEP-NC (Part 21) program files as data input and able to automatically generates machining tool-path and optimal parameter such as spindle speed and federate based on the online machine resources availability. The benefits of this structure are the execution of a same STEP-NC file on different machine structures that will able to provides different optimal feed rates, spindle speeds, and tool paths. This structure allows the controller to have more capable mechanism, where decision making and control strategic done inside controller level. For easy and user-friendly purpose, the controller will supported with GUI interface to monitoring the process and communicate with user.

6 Conclusion

Dynamic changes in machining environment have created the needs for CNC system with online optimisation and real-time control of machining operations. Use of STEP-NC data model brings comprehensive and high-levels information into the CNC machine levels, allowing CNC controller to perform intelligent control mechanism such as generation and optimization of machining parameters and tool paths. This paper proposed a framework for adaptive controller of an open CNC system by merging established STEP-NC and IEC 61499 standards utilizing advantages offered by both standards. STEP-NC is proposed as the data input program while IEC 61499 is the layered architecture function to simplify the controller design and enhance the controller performance. With the proposed structure, both decision making and control activities are embedded inside the controller architecture. In this system optimal machining parameters will be issued automatically based on available online machine resources. Hence, tool-path will be generated just-in-time within CNC controller. The generated tool path can be directly used to drive the open architecture machine tool without any intermediate.