Introduction

With the development of computer technology, Computer Numerical Control (CNC) machine tool has more ability to do efficient and precise manufacturing than its ancestor Numerical Control (NC) machine tool which appeared since 1950s (Xu et al. 2005). Currently, development of internet and information technology brings new concept such as Internet of Things (IoT) and cloud computing into manufacturing field. IoT solutions (Tao et al. 2014b) enrich the use of sensors in manufacturing to collect real-time data, while cloud computer (Tao et al. 2017a, 2014a) enables network based data storage, transmission, analysis. These new concept contributes to the volume growth of data collection in manufacturing, which offers an opportunity in the transformation of today’s manufacturing paradigm to intelligent manufacturing (Tao et al. 2017b). As the important part of manufacturing, CNC machine tools could and should take advantage of this large-scale data to adapt itself in intelligent manufacturing environment. In this situation, data-driven strategy is adopted to exploit the data from manufacturing to refine manufacturing process, improving the flexibility and intelligent level of manufacturing (Tao et al. 2018). For raw data (e.g. sensory data), data mining (Wang 2007) and related technology like machine learning (Pham and Afify 2005) and deep learning (Wang et al. 2018) are applied to analyze and extract useful information from discrete data. While for electric files (e.g. CAD design, program), because they already contain useful information, their management (e.g. sharing, storage, processing) becomes the main concerns.

Some researches that using data-driven strategy have been done to improve CNC intelligence in various aspects such as thermal error compensation (Lee et al. 2005) and control technological parameters adjustment (Yury and Abramov 2011). We can summarize that, the intelligence means CNC machine tool has ability to read and understand the external inputs and respond to the inputs through independent thinking.

Fig. 1
figure 1

CNC controller with cloud knowledge base support

In the current environment of changing market and customized product demands (Gui et al. 2002), process planning plays an important role among the manufacturing process. An effective and efficient process planning can shorten the production cycle and improve the utilization rate of CNC machine tools. Currently, process planning mostly depends on the experience and expertise of process planners, which means every shop floor level change or workpiece redesign would cost lots of additional preparing time before machining and the time is unstable because of planners’ different level. Furthermore, due to the proliferation of terminology, organizations from similar business environments have trouble sharing and accumulating process knowledge (Jardim-Goncalves et al. 2011), which impedes the promotion of the whole industry. With the development of distributed manufacturing (Tao et al. 2010, 2012), if process knowledge could be unified in a understandable format and be collected through this distributed network, and then CNC controller could make process planning intelligently with the support of existed process knowledge. From this perspective, problems mentioned before would be solved simultaneously. To realize this assumption, three main challenges are listed as follows:

  • A uniform process knowledge model needs to be designed, which is understandable by machine and convenient to transmit through internet.

  • A suitable database needs to be found and designed properly to fulfill the large-scale process planning knowledge storage.

  • An efficient way needs to be found to make process planning autonomously based on the large-scale process knowledge.

This paper proposed a knowledge-based process planning method for CNC controller to face these challenges. As shown in Fig. 1, the cloud knowledge base is considered as the brain of intelligent CNC controller, and takes main responsibility for knowledge storage and process planning. Compared with other knowledge based process planning method or expert system (Li et al. 2011; Liu et al. 2006), knowledge base in this paper mainly depends on instance knowledge rather than rule knowledge, which means its process planning ability can be developed with the instances accumulation. The utilization of cloud computing offers powerful storage and processing ability for collected process knowledge, which means that, the knowledge base has ability to deal with large scale knowledge accumulation and thus extendable enough for knowledge update.

This paper is organized as follows. “Related works” section introduces some efforts to realize the intelligent process planning. “Interactivity between intelligent CNC controller and knowledge base” section illustrates how intelligent CNC controller cooperates with cloud knowledge base. In “Knowledge acquisition flow of process planning” section, querying and inference mechanisms of cloud knowledge base are introduced to show the process planning generation flow. Then, a case study of shafts machining is given in “Case study” section to demonstrate the feasibility of the process planning method. Conclusion and future work is discussed in “Conclusion and Future work” section.

Related works

To realize the intelligence of CNC controller from process planning aspect, some researches have been done from two aspects. Besides reviewing these researches, previous work of our group about the realization of intelligent CNC controller is also introduced in this section.

Data interactivity aspect

STEP-NC (ISO 14649) was proposed to offer a consistent data model from product design stage to the manufacturing stage (Nassehi et al. 2006), which makes it possible for CNC to recognize the upstream design. Besides workpiece, operation, working step etc. already defined in STEP-NC, resource model is also defined based on STEP to improve the manufacturing information model (López-Ortega and Moramay 2005). Based on the STEP-NC data model, reformations have been carried out both to STEP-compliant process planning and STEP-compliant manufacturing (Xu et al. 2006).

STEP-compliant CAPP/CAM system was developed to generate STEP-NC file. Features were either manually created in a brand-new CAPP system (Yusof and Case 2008) or based on the secondary development of commercial software like CATIA (Xiao et al. 2015), which provided more intuitive graphical interface. Meanwhile, researches focused on STEP-compliant CNC controller were carried out to interpret and execute STEP-NC file (Zhang 2008; Calabrese and Celentano 2007; Huang 2010; Liang and Li 2013). Besides, there are also solutions for the integration of CAx (CAD/CAE/CAM/CAPP) and CNC system. An integrated and interoperable platform named INFELT STEP was proposed to overcome the communication problem between various CAx software and CNC system (Valilai and Houshmand 2010). Suh et al. developed a STEP-compliant CNC system for turning (Suh et al. 2006) to generate and interpret STEP-NC file using NPSG (nonlinear process sequence graph), which was proposed by their group to make CNC system more intelligent.

These researches made contributions for the portability and interoperability between CAx system and CNC system, making workpiece design and process planning understandable by CNC system. However, due to the information lack of surface roughness and geometric tolerance in STEP-NC, it could not provide enough information for intelligent manufacturing.

Process planning optimization aspects

Some optimizations have been done to improve the performance of CAPP/CAM. Reasonable suggestions or machining estimations were provided by CAPP/CAM system and a new framework was developed to make process planning adapt to the changeable shop floor environment.

Safaieh et al. proposed a system named Cross-Technology CNC Interoperability System (XTSys) (Safaieh et al. 2013). XTSys took cutting tools into consideration to decide a feasible operation for its corresponding feature based on logic rules. Amaitik et al. developed an intelligent process planning system entitled ST-Feat CAPP which utilized various algorithms for different aspects of process planning (Amaitik and Kiliç 2007). Ridwan et al. developed a three-module system, which can optimize the feed-rate based on estimated cutting force (Ridwan et al. 2012). Liu et al. built typical process template based on rules, feature was the characteristic to classify various templates, then template would be selected according to similar feature (Liu et al. 2014). Turley proposed an approach to generate a process plan based on geometric reasoning (Turley et al. 2014). Deb et al. applied neutral network to generate an operation sequence based on the machining features (Deb et al. 2006). To make it convenient for process planners modifying the process planning for a certain optimization objective, roughness estimation (Zhang et al. 2011), energy consumption estimation (Borgia et al. 2013) and manufacturing cycle time and cost estimation (Allen et al. 2005) were added into CAPP system based on computational formula and empirical data.

Facing the uncertain shop floor environment, Wang proposed a two-layer system architecture, which included generic supervisory planning and machine-specific operation planning (Wang 2015). Through this architecture, adjustments on shop floor level can be realized according to the generic supervisory planning because it is machine-irrelevant. This framework is in accordance with adaptive process planning (APP), which has ability to communicate with CNC controller and does dynamic decision based on the seamless information flow. Other aspects of APP like setup planning (Wang et al. 2010) and process planning optimization based on industrial environment (Singh and Jebaraj 2005) were also researched.

Fig. 2
figure 2

Differences between STEP-complaint CAx system, APP system and intelligent CNC system

These researches provide various directions to improve the intelligence of process planning, however, they are not designed for intelligent CNC controllers. Most of their outputs still are G-code, which cannot deliver workpiece design information to CNC controller. Besides, knowledge develops every day, no feedback or no update means no improvement. These systems are not open enough for knowledge collection, which would result in knowledge rigidify.

To realize intelligence of CNC controller from process planning aspect, an ideal scenario (shown in Fig. 1) is that, the machining task (hereinafter referred to as task), machining resource (hereinafter referred to as resource)and process planning solution are splatted in different files. Then CNC controller makes process planning on the shop floor level according to the task and its processing capacity to show the entire intelligence of CNC system. The differences between STEP-complaint CAx System, APP system and intelligent CNC system are shown in Fig. 2.Compared with traditional CAPP/CAM, the two-layer structure of APP provides generic data (machining method, machining sequence, and machining strategy) rather than G-code to allow alternative CNC machine tools executing the task. While STEP-NC file not only contains the neutral process planning information but also includes the workpiece description to allow CNC controller knowing what it machines. However, both of them provide process planning information for CNC controller, which impedes CNC controller showing its intelligence in process planning.

Previous work

As shown in Fig. 2, intelligent CNC controller needs knowledge support to do intelligent process planning. In previous work, an ontology knowledge model was built and the framework of cloud process knowledge base was designed according to this model (Ye et al. 2018).

Knowledge model design

The ontology process knowledge model contains three important parts and their relationships are shown in Fig. 3. Feature and cutting tool are the overlap definition to make process planning connect the other two parts. Not all instances of these parts would be stored in the knowledge base, instances to be stored only contain workpiece design and its corresponding process planning, known as the project. While the resource instance is used as a filter to select out the process planning within the scope of its processing capacity. Both the concept and instance are described using Ontology Web Language (OWL), which is understandable for human and machine.

Fig. 3
figure 3

Relationship between the three parts of model

Knowledge base framework design

Based on this model, cloud knowledge base framework was designed from five modules as shown in Fig. 4. Considering the large amount of instances storage and processing, this knowledge base was built on Hadoop platform, which allows for distributed processing of large data set. HBase, which supports distributed storage and column dynamically added, is selected as data base.

Fig. 4
figure 4

Framework of knowledge base

Each module is designed as following:

  • Input File Dispose Module: interprets input xml files and classifies them. If inputs are task and resource files, information in these files will be distilled to generate a task and added to the task queue waiting for query. If input is knowledge file, information in this file will be stored in the data base.

  • Query Engine: inquiries similar workpieces to the one in task file and checks whether their corresponding solutions can be directly applied. Besides, two mappings between global id (used for identifying instances in the scope of knowledge base) and local id (used for identifying instances in the scope of machine tools) are generated on both feature and cutting tool aspects.

  • Reasoning Engine: undertakes two types of reasoning based on the query result and simple rules. One infers on the workpiece level, the other infers on the feature level.

  • Data Base: stores project instances, two tables are designed separately for workpiece related storage and solution related storage. The ontology knowledge model is stored as its original ontology file in the HDFS, which is used for checking semantic consistency and showing relationship between classes.

  • Output File Dispose Module: accepts the output from query engine or reasoning engine. This module accesses the database to acquire information and replace global id to local one, then construct the final solution file in the XML format.

Based on previous work of our group, this paper mainly focuses on the interactivity between CNC controller and knowledge base, and the inner process planning flow which depends on Query Engine and Reasoning Engine design.

Interactivity between intelligent CNC controller and knowledge base

The cloud process knowledge base is considered as the brain of this intelligent CNC controller, which aims at making process planning to meet the machining requirement. Files are transferred through internet as an information carrier between CNC controller and knowledge base. CNC controller submits the resource file and task file to the knowledge base, while the knowledge base outputs process planning solution file to CNC controller. These files can be considered as the instantiation of ontology knowledge model. After applying this solution, users can give feedback through CNC controller to assess the solution from several aspects, like efficiency, cost, quality, which is not the emphasis of this paper. The following sections describe the input and output file in detail.

Fig. 5
figure 5

Framework of resource

Input of process knowledge base

As the brain of intelligent CNC controller, knowledge base is not exposed to users. All input files should go through CNC controller and then transport through Internet to the knowledge base. CNC controller not only takes the responsibility to offer a HMI but also transform the file format to make it suitable for network transmission. The file content is introduced following.

Machining resource file

In ideal conditions, the resource file is provided by the machine tool manufacture in a unified format, which exists exclusively in one machine tool.

The resource file aims at describing the machine tools’ processing capacity both in hardware and software level. This file is used as a filter in the knowledge base to move out the process beyond resource’s processing capacity. Four parts constitute the content of machining resource file, which are shown in Fig. 5.

Definitions of the four parts are listed following:

  • basic_info: describes the machine tools’ performance parameter. This part restricts the cutting parameters like feed-rate and spindle speed, and filters the workpiece, which are overweight or over length.

  • component: indicates the fixture and the auxiliary tool installed on the machine tool. This part restricts some special workpiece’s processing like slender shaft.

  • function: indicates the functions that CNC controller owns. This part restricts some feature’s processing as deep hole’s machining.

  • cutting tool: describes the cutting tool installed on the machine tool. This part restricts some feature’s processing when parameter of cutting tool cannot meet the machining requirement.

The CNC controller communicates with knowledge base by using Internet, considering the transmission efficiency and readability, this file is written in the XML format and shown in Fig. 6. Only cutting tool has “id” to specify its usage in the final process planning solution.

Fig. 6
figure 6

Resource file

Machining task file

As mentioned in “Related works” section, there are two methods to edit a feature-based workpiece and this research chooses creating features directly using new developed software. In this software, workblank is simplified to a bar stock and only turning features are supported. Milling related content will be added subsequently to improve the software. Features can be created in sequence with some basic parameter, and then workblank is defined to specify the material removal part. Because position tolerance may refer to other features’ element as datum, this requirement needs to be edited after all features’ creation.

The content of task file is shown in Fig. 7, which is in accordance with the task part of the ontology knowledge model.

Fig. 7
figure 7

Content of task

Considering the Internet transmission, this file is also in XML format and shown in Fig. 8. However, in terms of standard information flow from workpiece design to manufacturing, this file should represent the workpiece design compatibly to STEP-NC, which expressed in EXPRESS. As mentioned before, STEP-NC file cannot be utilized directly due to the lack of some machining requirement definition, and it includes the process planning which impedes showing the entire intelligence of CNC controller. Thus a new task model expressed in EXPRESS should be designed, then, a transfer should be carried out by CNC controller between part 21 file and XML file. Currently, related work is in process by our group member, and in this research, task file is submitted to the CNC controller in the XML format temporarily for method verification.

Fig. 8
figure 8

Task file

This file doesn’t need to be stored in the knowledge base, so the feature id is still in local. But for the purpose to link the process planning solution to specified task, global id is applied in task with a MD5 code. The four high digits indicate class type, here is “task”, while others are generated according to system time and a random number.

The basic_info aims at describing the general shape of the workpiece to inquire a similar workpiece instance in the knowledge base and obtain its corresponding process planning. It consists of several four-digit code in sequence according to feature position’s z value. Each feature uses this code to reflect its character; six turning features are taken for example and shown in Table 1.

Table 1 Feature code

Output of process knowledge base

The process planning file only describes the process parameters which ensure machining quality. Other process parameters like start point of operation and approach/retract strategy can be decided by CNC controller and thus is not included in this file. The content of process planning file is shown in Fig. 9, while files are shown in Figs. 15 and 16.

Fig. 9
figure 9

Content of process planning

Because features and cutting tools have been defined in detail in the task and resource file, only their ids are referred in process planning solution file to point out which features or cutting tools are included. The local cutting tool id comes from the resource file stored in the CNC controller, while the feature id comes from a specific task file whose global task id is referred in the solution file.

If there was a workpiece stored in knowledge base is very similar to the one in task file, and the resource can support its corresponding process planning solution, then the “ref_solution” would be the referred solution’s id. Otherwise, the solution would be composed by inferred working steps and thus the “ref_solution” is null. This definition is used to guarantee user’s feedback acting on the original solution stored in the knowledge base. When “ref_solution” exists, users can evaluate this solution from three aspects: efficiency, cost and quality. Then knowledge base inquiries “ref_solution” id from solution table and stores these evaluation to corresponding cells. New solutions are also welcomed, users can improve the solution provided by the knowledge base and submit it as a new one.

Knowledge acquisition flow of process planning

After the task file and resource file are submitted to the knowledge base and processed by the input file dispose module, a knowledge acquisition task would be pushed to a queue and be executed in sequence. This section mainly introduces the algorithms in the query engine and reasoning engine, and the relationship between them.

Workflow of query engine

There are three MapReduce Jobs executed in sequence in the query engine. The input and output are shown in Fig. 10.

Fig. 10
figure 10

Job flow in query engine

Table 2 Two mappers of Job1

Workpiece table in the data base is set as the data source of Job1 and Job2, while solution table is the data source of Job3. The detailed query flow is introduced as following.

  • Job1

To make it convenient for acquiring workpiece id from feature and workblank, qualifier “belonged_workpiece” is added to the workpiece table which stored the workpiece id. Two mappers are set separately to determine the similarity of workpiece from different aspects as shown in Table 2.

Each mapper outputs the workpiece ids which fulfill the requirement. Then in the reduce phase, through counting the workpiece id, only the workpiece id with count value 2 is written in the output file. That means, the final workpieces are the intersection of former map outputs and fulfill requirements of two aspects.

We can see from Fig. 10 that three files are output byJob1, the other two are generated in the M2 process without going through reducer. As each feature has a property “its_operation”, when a feature in the data base fulfills the requirement, outputting its corresponding information as the key-value < global feature id, local feature id > to one file, and < local feature id, operation id(s) > to the other file.

  • Job2

This job aims at restricting the workpiece from the whole shape, which means the value of “basic_info” should be exactly the same with the task one. Only filtered workpiece ofJob1 will be accessed and when their basic information fulfills the requirement, acquiring the data in the “its_solution” and outputting available solution ids.

However, at the end ofJob2, there may be a limit case that no workpiece in the data base is similar with the one in task, and thus no solution is provided to the Job3. Reasoning engine is utilized in this situation, and this is illustrated in the 4.2.2.

  • Job3

Table 3 Two mappers of Job3
Table 4 Assumed solutions

As shown in Fig. 9, one workingstep links one operation, and one operation links one cutting tool, that means workingstep and cutting tool has one-to-one relationship. For the purpose to link cutting tool to workingstep, “its_workingstep” is added to the cutting tool in the database.

In actual, Job3 consists of several MapReduce Jobs which are executed in sequence without reduce phase. After taking solutions provided by Job2 as input, the MapReduce Job outputs key-values files in the sequence of , , , , , and .

Two mappers are set in final Job which takes , and as input. The former one is used to check cutting tool, and the other is used for technology information check. Both of them output solution ids, which can fulfill the requirement of resource. Table 3 lists the requirements of these two aspects.

For M1, if cutting tools used in the solution cannot be all mapped to the cutting tools of resource, this solution cannot be utilized directly and thus not output by this mapper. The workingstep,which is linked to the unmapped cutting tool is output as key-value . While workingstep which is linked to the mapped cutting tool is also output as . Besides, In the process of determining the similarity between global cutting tool and local one, as long as they matches each other, a key-value is output in a file for the subsequent use.

The reduce phase is similar to the Job1, final solutions are intersection of these two mapper outputs. The two files include solutions and their corresponding working steps are also filtered by the output of M2 to make sure solutions in this file meets the technology requirement. At the end of Job3, either there are available solutions can be directly applied, or no available solution is output by this job. In the first situation, available solution ids, and the map of features and cutting tools are transmitted to the output file dispose module. While the second situation needs some reasoning which is introduced in the 4.2.1.

Workflow in the reasoning engine

As mentioned in the 4.1, there are two types of solution need reasoning engine. One is that workpiece is similar with the task one, but due to the cutting tool limitation, the corresponding solution cannot be directly applied. The other is that no similar workpiece stored in the data base, then operations should be inferred separately according to the feature and constitute the solution based on rules for working step sequence.

Reasoning from workpiece

In this situation, solution can be constituted from working step level without considering the sequence planning. Provided that, resource offers three cutting tools of T1, T2, T3 while the workpiece of task has three features F1, F2, F3. Two solutions are listed in Table 4.

Both of the solutions cannot be applied directly because cutting tools cannot be all mapped to the local ones. However, through combining their working steps (as bold in the table), a new solution can be generated under the support of resource. As solution already provides a suitable machining sequence, this type of reasoning aims at replacing the unavailable working step without disorder the sequence. Only solution table is set as the data source of this reasoning type.

The input and output of this type of reasoning are shown in Fig. 11, and detailed query flow is introduced as following.

Fig. 11
figure 11

Job flow in reasoning engine of type1

Fig. 12
figure 12

Job flow in reasoning engine of type2

  • Job1

As shown in Fig. 11, all the input files are generated by the query engine. Input solutions are those that fulfill the technology requirement and output by Job3 of query engine. Two mappers exists, one is for available working steps, the other is for unavailable working steps. M1 links local feature and operation type to the working steps that can be used for replacement. Through accessing available working steps, M1 acquires the corresponding features and operations. Then based on the feature map, output key-value in the format like . While in the reduce phase, working steps with the same key will be gathered and output key-value like . In M2, unavailable working steps are also accessed and based on the feature map to output key-value in the format like .

  • Job2

We can see in Job1 that, the key of M1 output is the value of M2 output. Therefore, Job2 can be considered as a join operation of two files that output by Job1, and thus there is no need for data base access. Finally, as long as the key has value, it means unavailable working step can find replacement to make its corresponding solution available.

At the end of Job2, available solutions with its working steps to be replaced and optional working steps, and the map of features and cutting tools are transmitted to the output file dispose module.

Reasoning from feature

In this situation, there is no similar workpiece in the data base, which means operations should be inferred from features. Each feature of workpiece in task should start-up one job to infer available operations, which is executed parallel. The input and output of this type of reasoning are shown in Fig. 12, and detailed query flow is introduced as following.

The input operations in Job1 are acquired from the stored features which are similar to the those defined in task file, without checking availability of cutting tools. Through comparing the cutting tool map, Job1 outputs operations that can be executed by the local resource. Then Job2 counts up several important parameters (shown in Fig. 12, output of Job2) through accessing these operation instances. Parameters like allowance, cutting depth and other numerical related value is not restricted to a number but a suitable range. While for the parameters like operation type and strategy type, the two most common types would be selected (rough and finish operation type counts separately). Then, at the end of Job2, available operations for each local feature can be determined and corresponding class in Java program instantiate several instances.

In order to organize features that can be processed in one working step and sort working steps in a sequence, some simple rules are listed in Table 6 to introduce how to construct working step and work plan.

Fig. 13
figure 13

Two types of workpiece stored in the knowledge base

Fig. 14
figure 14

Two pieces of workpiece defined in the task file

All these rules are utilized in the knowledge base programming, a class named FeatureForReasoning is designed for organize this rule-related information. Then, these feature instances are stored in a list in sequence according to their position’s z value. Through traversing this feature list, information can be retrieved to match conditions in the rules and organized as sequenced working steps in a work plan instance. Then, work plan instance is transmitted to the file output dispose module to generate the final solution file.

Case study

To verify the feasibility of the algorithm, knowledge collection is carried out using the project model defined in this research. Considering the efficiency of inputting workpiece and process parameters manually, it is unavailable to generate sufficient entirely different knowledge files that meet the amount of experiment requirement. So, two typical workpieces are introduced in this research with a little parameter adjustment (shown in Fig. 13). Property values like material, feature length or radius are modified in different knowledge files. Besides, process related information like the cutting parameter, strategy, cutting tool are also modified within limits in different files.

In this situation, 20 different entirely different knowledge files of each type are designed. All class instances in knowledge file use class name, system time and a random number as seed to generate a MD5 code as its global id when the instance is written to file. That means, even though parameters of one project do not change, the ids in different files are not same because of the change of system time and the random number.

The software generates 100 copies of the same project design with totally unique global ids. Then 4000 files are submitted to the knowledge base to be stored as the experiment data.

Two tasks are used to test the query and reasoning algorithm separately, their design is shown in Fig. 14. The collected knowledge can make sure that, there are similar workpieces to the first task and similar features to the second task.

Table 5 Cutting tool resource defined in this experiment
Table 6 Rules on working step and work plan design

Cutting tool resource in this experiment is shown in Table 5.

After submitting the first task and resource, knowledge base provides 400 solutions (actually, there are 4 similar workpieces with available resources stored in knowledge base, but with 100 copies). As there is no feedback currently, evaluation does not work in this experiment to further filter solutions. Fig. 15 is fragment of one file, which focuses on showing one working step planning.

The global solution id identifies the project instance referred from the knowledge base, and the global task id identifies the task submitted through the CNC controller. Four working steps are included and with the help of task and resource files designed in this experiment, we can know that the first working step is rough facing of end face (feature3) using external turning tool (cuttingtool1).

After submitting the second task and resource, knowledge base provides 1 solution. Fig. 16 is fragment of this file, which focuses on showing the working step sequence.

As there is no similar workpiece that can be referred from knowledge base, the “ref_solution” is null, which means all working steps are generated from similar features. Four working steps are clearly listed in sequence with the operation type and features to be processing, which are in consist with the rules defined in Table 6.

At last, CNC controller can interpret these process planning solution files with resource file and task file to generate the final tool path and execute it, which is not the emphasis of this paper.

This case study shows that, this knowledge base is open enough to collect knowledge and provide enough space for knowledge storage. Based on the consistent knowledge model, CNC controller interacts with knowledge base through submitting task and resource file, and then knowledge base can generate the process planning solution to CNC controller for subsequent interpreting and executing.

Fig. 15
figure 15

Solution file of first task

Fig. 16
figure 16

Solution file of second task

Conclusion and future work

This paper proposed a method for intelligence realization of CNC controller in process planning aspect. The method is based on a knowledge base, which takes advantage of distributed structure to provide theoretical infinite storage space for knowledge storage and parallel processing ability for knowledge query and reasoning. Meanwhile, it is open enough to collect knowledge, which means every sharing knowledge would contribute to the improvement of process planning ability of knowledge base. Then with the support of knowledge base, CNC controller can be considered as having capacity to make process planning autonomously based on the interpretation of machining task and its own processing resource. As this process planning procedure takes place in the CNC controller, users can focus on workpiece design without considering process planning related problem like suitable cutting parameter or resource availability, which will reduce the preparing time under current changeable market environment.

Future work will focus on the multi-CNC controller intelligent process planning. This research assumes one machine tool can carry out the machining task. However, workpiece usually goes through several machine tools from workblank to product in actual. How to consider several resources from the knowledge base aspect, and how to control several machine tools executed collaboratively from the CNC controller aspect would be the long-term future work.