ARTICLE IN PRESS Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
Contents lists available at ScienceDirect
Engineering Applications of Artificial Intelligence journal homepage: www.elsevier.com/locate/engappai
Designing function blocks for distributed process planning and adaptive control Lihui Wang , Yijun Song, Qiaoying Gao ¨vde, PO Box 408, 541 28 Sko ¨vde, Sweden Centre for Intelligent Automation, University of Sko
a r t i c l e in fo
abstract
Article history: Received 17 March 2008 Received in revised form 17 October 2008 Accepted 14 November 2008 Available online 20 January 2009
The objective of this research is to develop methodologies and a framework for distributed process planning and adaptive control using function blocks. Facilitated by a real-time monitoring system, the proposed methodologies can be applied to integrate with functions of dynamic scheduling in a distributed environment. A function block-enabled process planning approach is proposed to handle dynamic changes during process plan generation and execution. This paper focuses mainly on distributed process planning, particularly on the development of a function block designer that can encapsulate generic process plans into function blocks for runtime execution. As function blocks can sense environmental changes on a shop floor, it is expected that a so-generated process plan can adapt itself to the shop floor environment with dynamically optimized solutions for plan execution and process monitoring. & 2008 Elsevier Ltd. All rights reserved.
Keywords: Function blocks Process planning NC machining Machining features Dynamic scheduling Monitoring Adaptive control Integration
1. Introduction Recently, reconfigurable manufacturing system (RMS) has emerged as a promising manufacturing paradigm that allows flexibility not only in producing a variety of parts, but also in reconfiguring the system itself. The manufacturing processes involved in an RMS are complicated, especially at machining shop floors where a large variety of products are handled dynamically in small batch sizes. The dynamic RMS environment usually has geographically distributed shop floor equipment. It requires a decentralized system architecture that enables distributed shop floor planning, dynamic resource scheduling, real-time monitoring, and remote control. It should be responsive to unpredictable changes of distributed production capacity and functionality. An ideal shop floor should be the one that uses real-time manufacturing data and intelligence to achieve the best overall performance, with the least unscheduled machine downtime. However, traditional methods are inflexible, time-consuming, and errorprone, if applied directly to this dynamic environment. In response to the above needs and to coordinate the RMS activities, a new distributed process planning (DPP) approach supported by real-time manufacturing intelligence is proposed in this research to achieve the adaptability during process planning and its execution control. Corresponding author.
E-mail address:
[email protected] (L. Wang). 0952-1976/$ - see front matter & 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.engappai.2008.11.008
Aiming at the emerging RMS paradigm, our research objective is to develop methodologies and a framework for distributed process planning and adaptive control, capable of linking to dynamic scheduling functions. This framework is supported by a real-time monitoring system for adaptive decision-making. Within the context, the monitoring system is used to provide runtime information of shop floor devices from bottom up for effective decision-making at different levels. Compared with the best estimation of an engineer, this approach assures that the correct and accurate decisions are made in a timely manner. The ultimate goal of the research is to realize both the flexibility and dynamism of shop floor operations that meet the RMS requirements. In this paper, the focus is on a function block designer for process plan encapsulation with adaptive decision-making algorithms. Following a brief literature review and description of the entire research, this paper presents principles of function blocks, internal structure, and execution control chart (ECC) of the function blocks, as well as details of architecture design and implementation. Finally, it is validated through a case study on how a generic process plan can be generated and encapsulated in the function blocks.
2. Brief literature review From design to manufacturing of a product, a series of tasks must be accomplished, including machining operation selection
ARTICLE IN PRESS 1128
L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
and sequencing, setup planning, machine/cutter selection, cutting parameter optimization, tool path planning, and NC code generation. As commonly referred to as process planning, the tasks are knowledge intensive, complex and dynamic in nature, which make process planning intricate and difficult. There are many factors that affect process planning task. Part geometry, tolerance, surface finish, raw material, lot size, and the available resources all contribute to the decision-making, during process planning. It is complicated and time-consuming due to the variety of resource and operation selections together with their combinations. Maintaining the consistency of all process plans and keeping them optimized are usually difficult, especially for job shops. In the past, a number of approaches have been reported in the literature, trying to solve problems in process planning. Recent efforts include object-oriented approach (Zhang et al., 1999), Petri net-based approach (Lee and Jung, 1995), artificial neural network-based approach (Devireddy and Ghosh, 1999), knowledgebased approach (Stori and Wright, 1996), genetic algorithm-based approach (Zhang et al., 1997), and feature-driven approach (Wang
Remote Device Control
4
Distributed Process Planning
1
Cyber Workspace e-Business e-Manufacturing e-ShopFloor
Real-Time Process Monitoring
Dynamic Resource Scheduling
3
2
Physical Shop Floor
Fig. 1. Distributed process planning in a shared cyber workspace.
and Norrie, 2001). These reported approaches and their combinations have been applied to several specific problem domains, such as setup planning (Ong and Nee, 1996), process sequencing (Yeo et al., 1998), tool selection (Lim et al., 2001), cutting parameter selection (Arezoo et al., 2000), and tool path planning (Boogert et al., 1996). Despite the achievements in solving complex decision issues in process planning, these reported approaches and systems are limited to static problems through decisions made in advance. Their adaptability to unpredictable changes on shop floors remains insufficient. Most process planning systems available today are centralized in architecture, and off-line in data processing. It is difficult for a centralized off-line system to make adaptive decisions, in advance, without knowing actual runtime conditions on shop floors. To be responsive to sudden changes, a distributed and adaptive approach is considered suitable for handling the dynamic situation, especially for job shop operations. Our approach to addressing uncertainty in job shop operations relies on combining IEC-61499 function blocks (IEC, 2005), with a distributed process planning concept. Function blocks are defined as an IEC standard for distributed industrial process measurement and control systems, particularly for PLC control. One major use of function block is in the system design of a distributed autonomous system with intelligent control components. Some early research efforts utilizing function blocks include holonic control (Wang et al., 2001), reconfiguration of real-time distributed systems (Brennan et al., 2002), function block-oriented engineering support systems (Thramboulidis and Tranoris, 2001), and Web-based engineering and maintenance of distributed control systems (Schwab et al., 2005). Other researchers focused their efforts on implementation of IEC-61499 in the process control systems. For example, Olsen et al. (2005) introduced their implementation of a real-time distributed control model using a Java-based platform. A control application was distributed across two devices by the support of a MANAGER function block, which can provide device management services. Strasser et al. (2004) implemented a function block library, for close-loop control. Hussain and Frey (2004) reported how IEC61499 can model a flexible and reconfigurable distributed
Machining Feature based
DB/KB
Design System
Machining Features
Product Data Machining Features
Machine Capacity
Shop Floor Level
Supervisory Planning High-Level Execution Control
Cutting Tool
Distribution Function Function Function Block Block Blocks
CNC Controller Level
Operation Planning Dynamic Scheduling
Machining Strategy
Monitoring Distributed machining processes and tasks Fig. 2. Concept of distributed process planning.
ARTICLE IN PRESS L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
application, including the introduction of network-enabled hardware called NETMASTER and a software platform. The work presented in Zoitl et al. (2005) focused on real-time execution of IEC-61499 applications, described all execution elements of IEC61499 within a device and discussed different implementation and scheduling approaches for function block control application. Additionally, a research group at University of Illinois at UrbanaChampaign developed a rapid prototyping design and simulation
Design Office
Supervisory Planning
Open CNC Controller
Scheduling Info
Cutting Strategy
Resource Database
Pocket Roughing
Tool Database Gateway
Corporate Network
Fieldbus
Fig. 3. Architecture design for distributed process planning.
Event Inputs
Event Outputs
Event Inputs
Event Outputs
Execution Control Chart Type identifier
Type identifier
Algorithms
Internal variables
Data Inputs
Data Outputs
Basic Function Block
Data Inputs
Data Outputs
Composite Function Block
Fig. 4. Internal structures of function blocks.
C. Parameters Selection
Cutting Techno.
ECC
Tool Path Generation
Machining Features
FB Processing
Cutting Tool Selection
(Feature-based reasoning)
Operation Planning
Optional Router
Feature Recognition
Sequence Generation
Fixturing Information
Monitoring Info
Execution Control (Agent-based decision-making)
Function Block Design
Machining Feature Parsing
Part Geometry or Features
Manufacturing Knowledge Base
environment (EMBENCH) at different machining control levels (numerical control systems, flexible manufacturing work cell and flexible manufacturing system) using IEC-61499, as a means for modularization and reuse of implemented control services (Jain et al., 2002; Yuan and Ferreira, 2003, 2004). The system allowed users to issue various commands to the controller at different layers, from the simple joint servo to complex manufacturing cell.
Factory Shop Floor
Product Data
1129
ARTICLE IN PRESS 1130
L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
Although the research and applications of IEC-61499 function blocks have been active during the past decade, they are limited to low-level process control for PLCs and are unable to deal with uncertainty issues tightly coupled with high-level manufacturing system layout/configuration design and process planning. According to our literature survey, there has been no attempt of applying function blocks to process planning for adaptive CNC machining.
EI_INI
EO_INI
4-Side Pocket MF-FB
EI_RUN
The function block concept is, however, relevant to distributed process planning and adaptive CNC control in machining data encapsulation and process plan execution. Once applied to CNC machining, the event-driven model of a function block gives an NC machine more intelligence and autonomy to make decisions on how to adapt a process plan to the change of machine configuration so as to best utilize a specific machine available at the time. It also enables dynamic resource scheduling, adaptive execution control, and process monitoring. More details on function blocks are discussed in the next section.
EO_RUNRDY
EI_UPD
ECC
EI_ESR
EO_ESS
Feature EMT
EMT
Internal Algorithm
MT MAC_ID
2
MT
ALG_INI ALG_RUN ALG_UPDATE ALG_MON
FB_EXE
ES-FB Feature
OPER
1
CC_UPD
Feature
Feature
3
5
342
Internal Variables
Feature 4
Fig. 5. A 4-side pocket MF-FB.
Fig. 8. Runtime sequencing for adaptive control.
ALG_INI
INI
1
EO_INI EI_INI
EI_INI
EI_P
1 START
RUN
EI_RUN
ALG_RUN
EO_RUNRDY
EO_INI
Event Switch FB
EO_P2 …… EO_Pn
EI_UPD
EO_DONE
1
1
EO_P1
UPDATE
ALG_UPDATE
EI_ESR
Internal Algorithm ROUTE
MON
ALG_MON
EO_ESS
Fig. 6. Execution control chart of MF-FB.
ALG_INI ALG_SWITCH
Fig. 9. Structure design of ES-FB.
EI_ESR EI_ESS
Feature 2
Feature 1
Feature 3
EI_MSR
Feature 5
Fig. 7. Parallel machining features.
Service Interface FB
EO_ESS EO_MSR
EI_MSS
EO_MSS
EI_USS
EO_USS
FB_EXE MS
Feature 4
EO_ESR
US
Internal Algorithm ALG_ES_REQ ALG_ES_SEND ALG_MS_REQ ALG_MS_SEND ALG_US_SEND
Fig. 10. Structure design of SI-FB.
FB_EXE MS US
ARTICLE IN PRESS L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
3. Distributed process planning Process planning is the task that transforms design information into manufacturing processes and determines optimal sequence for machining. For decades, process planning has been a challenging research topic for researchers and practitioners. However, according to our literature survey, most process planning systems available today are centralized, static, and offline systems. It is difficult for a centralized off-line system to make adaptive decisions and to deal with uncertainties that are regularly challenging manufacturing shop floors, such as product design change, urgent job insertion, fixture shortage, missing tools, job delay, machine in maintenance or breakdown, operator sick, and even system configuration change and other emergency issues on the shop floors. Moreover, process planning is largely relevant to resource scheduling and execution control. It is required to develop an integrated system with seamless information flow among them.
In this research, distributed process planning takes place in a shared cyber workspace, as shown in Fig. 1. The shared cyber workspace is designed to provide users with a web-based and sensor-driven intuitive environment, where distributed process planning, dynamic scheduling, real-time monitoring, and execution control are undertaken. Within the workspace, each machine is a node and a valuable resource in the information network. A direct connection to sensors and machines is used to continuously monitor, track, compare, and analyze production parameters. This enables real-time manufacturing intelligence to be applied to decision-making during process planning in a distributed environment, and to ensure that machines are operating within defined expectations. As a constituent component in manufacturing supply chain, an eShopFloor links a physical shop floor directly to the upper manufacturing systems. Similar to the e-manufacturing and ebusiness, the four major planning and control tasks can, therefore, be accomplished in the cyber workspace.
4-Side Pocket MF-FB EI_ESR
EO_ESS
Slot MF-FB EI_ESR
Internal Algorithm
FB_EXE
Internal Variables
Internal Variables
MS
US
EO_ESS
Internal Algorithm
FB_EXE
FB_EXE
Execution Control
EI_ESR
EO_ESR
EI_ESS
EO_ESS
Machine Selection
EI_MSR
EO_MSR
EI_MSS
EO_MSS
FB Dispatching
EI_USS
EO_USS
Process Monitoring
FB_EXE
FB_EXE
Dynamic Scheduling
1131
MS
MS
US
US
SI-FB
MSR
Fig. 11. Process monitoring by SI-FB.
ARTICLE IN PRESS 1132
L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
Within the context, DPP is a runtime generative planning system and can generate adaptive process plans that are also loosely integrated with dynamic scheduling functions. The ultimate goal of DPP is to improve flexibility, responsiveness, agility, adaptability, and real-time manufacturing intelligence of shop floors. A process plan generally consists of two parts: generic data (machining method, machining sequence, and machining strategy) and machine-specific data (tool data, cutting conditions, and tool paths). A two-layer hierarchy is considered suitable to separate the generic data from those machine-specific ones in DPP. As shown in Fig. 2, the tasks of DPP are divided into two groups and accomplished at two different levels: shop-level supervisory planning and controller-level operation planning. The former focuses on product data analysis, machining feature
decomposition, setup planning, machining process sequencing, jig/fixture selection, and machine selection. The latter considers the detailed working steps for each machining operations, including cutting tool selection, cutting parameters assignment, tool path planning, and control code generation. Between supervisory planning and operation planning, scheduling functions can be integrated with DPP by means of function blocks. Because of the two-level structure, the decision-making in DPP becomes distributed in terms of (1) timing (supervisory planning in advance vs. operation planning at runtime) and (2) location (supervisory planning in one office workstation vs. operation planning by many machine controllers). The separation of decisions also makes the high-level process plans generic and portable to alternative machines. In Fig. 2, the dynamic scheduling
Fig. 12. Package diagram of DPP with a function block designer.
Fig. 13. Designing a basic function block.
ARTICLE IN PRESS L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
is achieved through real-time monitoring of function block execution and machine availability, whereas function blocks with embedded generic process plans for the next batch production are dispatched accordingly to the available machines for detailed operation planning. Since a final process plan is generated adaptively at runtime by CNC controllers, there is no need to generate redundant alternate process plans. A detailed DPP architecture is depicted in Fig. 3, where only the function block design is presented in detail in this paper. Other modules are beyond the scope and will be reported separately.
4. Function block design The concept of function blocks is described in the IEC-61499 specification (IEC, 2005), as an IEC standard for distributed industrial processes and control systems, particularly for PLC control. It is based on an explicit event-driven model and provides for data flow and finite state automata-based control. Similarly to object-oriented definitions, a function block type can be considered as a class, and a particular function block is the instance of that class. The functionality of multi-inheritance, overriding, and dynamic binding can be used to form a composite function block. Polymorphism can be used for messages, and message-passing can be used to change the behavior associated with a function block. For example, a pocket milling function block can be used for either roughing or finishing depending on the message received. However, differently from the object-oriented approach, the behavior of a function block is controlled internally by a state machine whose operation can be represented by an execution control chart. Function blocks are relevant to distributed process planning in machining data encapsulation and process plan execution. The event-driven model of a function block gives an NC machine more intelligence and autonomy to make decisions at runtime on how to adapt a process plan to match the actual machine capacity and dynamics. It also enables dynamic resource scheduling, execution control, and process monitoring. Because of their potential benefits to NC machining, function blocks are adopted in our research to encapsulate process plans and to enable adaptive machining during process plan execution. Fig. 4 illustrates the internal structures of a basic (left) and composite (right) function blocks. A basic function block can have multiple outputs and can maintain internal hidden state information. This
Add Input Data : JButton
: ActionListener
inputTableModel : InputTableModel
1133
means that a function block can generate different outputs even if the same inputs are applied. This fact is of vital importance for automatic cutting parameters modification, after a function block has been dispatched to a machine, by changing the internal state of the function block. For example, the same function block of pocket_milling can be used for milling the same pocket but at different machines with different capacities and configurations, with different cutting parameters and tool paths, by adjusting the internal state variables of the function block to fine-tune the algorithms in use. In the present research, three types of function blocks are designed for the distributed process planning: (1) machining feature function block (MF-FB), (2) event switch function block (ES-FB), and (3) service interface function block (SI-FB). These are the basic function block types for adaptive process plans creation and their execution control. The events among function blocks are also used for triggering machining process monitoring through function block embedded algorithms, including current cutting conditions, cutter location, the machining feature in process, and job completion rate. The job completion rate provides a prediction of future availability of machines for dynamic resource scheduling and next job dispatching.
4.1. Machining feature function block Machining features are commonly used today to facilitate manufacturing processes from product design through process planning to NC machining. They are the standard shapes (such as hole, slot, pocket, etc.) that can be machined by the known machining technology and available machine tools. Each machining feature can be mapped to one machining feature function block. In this paper, we use a 4-side pocket machining feature to illustrate the function block design process. Fig. 5 gives the graphical definition of a 4-side pocket function block. EMT is the estimated machining time based on suggested machining data, which is accumulated and relayed along an MF-FB chain; MT is used to store accumulated machining time during function block execution; MAC_ID passes the selected machine tool ID to the MF-FB for machine-specific local optimization; OPER tells the MF-FB the type of machining operation such as roughing, semi-finishing or finishing; FB_EXE is a vector storing a function block’s execution status (ES) and
: TableChangeListener
featureData : FeatureData
basicFunctionBlockFigure : BasicFunctionBlockFigure2
1: actionPerformed
2: addRow
3: fireTableChanged 4: tableChanged (INSERT) 5: addInputData
6: repaint
Fig. 14. Sequence diagram for adding a new data input to a function block.
ARTICLE IN PRESS 1134
L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
cutting parameters for monitoring; and CC_UPD is another vector that can be used by an operator to override the auto-generated cutting conditions (or cutting condition update). Based on the external variables and embedded internal variables (not shown in
mouse event : MouseEvent
fV iew : StandardDrawingView
connection tool : ConnectionTool
Fig. 5, such as machining feature ID, workpiece material), the four defined algorithms can provide needed functions upon request (triggered by events for distributed planning and runtime adaptive execution).
drawing : StandardDrawing
fP rototype : ConnectionFigure
2: mouseDown
3: search start figure by mouse position 4: startFigure startFigure : BasicFunctionB lockFigure 5: findConnector
6: fStartConnector
7: clone
8: connectionFigure connectionFigure : ConnectionFigure 9: addFigure(connectionFigure)
10: startPoint(m ouse.x, mouse.y)
11: endPoint(mouse.x, mouse.y)
12: mouseDragged 13: mouseDrag
14: endPoint(mouse.x, mouse.y)
15: mouseReleased 16: mouseUp 17: search end figure by mouse position
18: endFigure
19: [endFigure == null] rem oveFigure(connectionFigure)
20: findConnector(mouse.x, m ouse.y)
21: fEndConnector
22: [fEndConnector == null] removeFigure(connectionFigure)
Fig. 15. Sequence diagram for drawing connections.
endFigure : BasicFunctionBlockFigure
ARTICLE IN PRESS L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
Fig. 6 shows the execution control chart of the 4-side pocket MF-FB, describing detailed behavior of the function block. The essential of execution control is a finite state machine. The START state is an initial idle state ready for receiving event inputs. EI_INI triggers the state transition from START to INI, and when state INI is active, algorithm ALG_INI is being executed for initialization (tool change, last-minute local optimization, and control code preparation, etc.). Upon its completion, ALG_INI will fire an event EO_INI indicating the success of initialization. Similarly, for other state transitions to RUN, UPDATE and MON, different internal algorithms ALG_RUN (MF-FB execution), ALG_UPDATE (cutting condition update), and ALG_MON (MF-FB monitoring) are triggered, correspondingly. An event ‘‘1’’ means a state transition is always true. That is to say, the state will transit back to START state and be ready for receiving the next event input. The sequence of event EI_RUN of function blocks determines the sequence of machining operations.
machine tool and an execution control module. In other words, the SI-FB is to facilitate runtime information retrieval from machines and communicating the information with the execution control module of DPP (also see Fig. 3). The runtime data is of vital importance for dynamic re-scheduling (by a third-party scheduling system integrated with the DPP system) in case of a machine failure, in addition to facilitating machine selection, function block dispatching, and process monitoring. As mentioned in the previous section, a generic process plan in DPP contains sequenced critical machining operations and partially sequenced non-critical machining operations. The sequencing of machining operations is treated as that of machining features (more details on feature sequencing are referred to Wang et al., 2006). The sequenced machining features are then mapped to a function block chain, by combining the three types of basic function blocks (MF-FB, ES-FB, and SI-FB), properly.
4.2. Event switch function block According to the DPP concept, a generic process plan may consist of machining sequences of critical and non-critical machining operations. Only critical operations are sequenced based on datum references and manufacturing constraints. The non-critical operations remain parallel in sequence at this stage, and will be further sequenced before the execution by a CNC controller. The operations sequencing is thus treated as the sequencing of machining features (Wang et al., 2006). An event switch function block is designed to deal with the event flows of those parallel features shown in Fig. 7, when they are mapped to a function block chain, and to switch operations properly when a sequence is determined at runtime. The ES-FB can also be applied to parallel setups, each of which may consist of several MF-FBs. This feature is important to dynamic machining sequence optimization. As shown in Fig. 8, an ES-FB is inserted to the function block chain after the five machining features in Fig. 7 are mapped to MF-FBs. When a sequence of ‘‘342’’ is given, the ES-FB can fire events accordingly to execute appropriate MF-FBs, and thus add flexibility and adaptability to a process plan during its execution. Fig. 9 gives the graphical definition of the ES-FB, where ROUTE is the only data input to the function block. It is used as a reserved port for controller-level operation planning, i.e. local optimization of machining sequence. Once the final sequence becomes explicit for those parallel features, a string of integer numbers indicating the final sequence is applied to the port for proper event switching.
Fig. 16. A test part with 14 machining features.
4.3. Service interface function block A service interface function block is designed to facilitate execution control and enable process monitoring during function block execution. It is plugged to a group of MF-FBs (a setup) with the following assigned duties: (1) collects runtime execution status of an MF-FB including machining feature ID, cutting parameters, cutter location, and job completion rate, etc.; (2) collects machining status (MS) (cutting force, cutting heat, and vibration, etc.), if made available; and (3) reports any unexpected situations (USs) including security alarm and tool breakage. Such an SI-FB is designed as illustrated in Fig. 10, with five algorithms embedded. They are responsible for requesting and reporting execution status, machining status, and unexpected situation during the execution of each MF-FB, respectively. As shown in Fig. 11, the SI-FB is chained with other MF-FBs, while interfacing and sharing runtime data with a dedicated
1135
Fig. 17. Machining features grouped in two setups.
ARTICLE IN PRESS 1136
L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
Once downloaded to a selected machine (more specifically to an open-architecture CNC controller), the function blocks will be executed one by one, by calling the embedded algorithms to produce individual machining features, and collectively an entire product. It is these embedded algorithms that make adaptive decisions to any last-minute environmental change.
5. Function block designer implementation A Function Block Designer is implemented in Java to facilitate process plan generation in DPP. The overall objective is to develop a web-based DPP system for multiple users to share information, while fulfilling their duties of distributed process planning in a location-transparent fashion. The package diagram in Fig. 12 represents the interactions between different components in the system, including a function block designer for basic function block design and machining feature mapping. For the ease of debugging, our proof-of-concept prototype is first developed as a standalone Java application. The Function Block Designer consists of a basic function block designer, a composite function block designer, a function block network designer, and a machining process planner. As the name suggests, each designer performs a specific function. The data sharing between the four co-designers are realized through interfaces, with special functions for data communication. Fig. 13 shows a 4-side pocket MF-FB being designed by using the basic function block designer. It is done by entering the required data in the left pane, whereas the function block in the right pane can be updated automatically. A typical procedure of adding a data input to the 4side pocket is depicted in Fig. 14. Similarly, a set of pre-defined algorithms discussed in Section 4 can be embedded to the corresponding function blocks using this design tool. While a basic function block can be designed using the basic function block designer, the connections among function blocks is handled by a composite function block designer. The sequence diagram shown in Fig. 15 is based on the assumption that a connection button is clicked. This sequence diagram captures all details for adding a new connection between two basic function
blocks. A composite function block (a combination of basic function blocks) can be designed by establishing all event and data connections properly.
6. Case study A test part shown in Fig. 16 is chosen to demonstrate the function block designer. In this case, 14 machining features can be grouped into two setups as shown in Fig. 17, each of which consists of two or more machining features by applying the five geometric reasoning rules defined in DPP (Wang et al., 2006). Within the context, each setup is mapped into a composite function block, where each machining feature is an MF-FB. Fig. 18 depicts the final result of Setup 1 after being mapped to a composite function block, which represents a generic process plan with embedded internal algorithms for adaptive execution. Event switching between machining feature function blocks and interfacing to a service interface function block are schematically illustrated in Fig. 19. Rather than sending G-code to a machine, our approach enables an (open architecture) CNC controller to call the embedded algorithms of function blocks at runtime for process plan finalization before execution. Because of the last-minute optimizations of tool path and cutting parameters, it makes adaptive machining possible in turbulent job shop operations. Moreover, the event-driven machining process monitoring facilitates dynamic job/resource scheduling and process plan execution control. In the meantime, function block execution is being tested in an open-architecture controller. Until they can be accepted by commercial machine tools, these function blocks can generate G-code right before machining, to best utilize legacy machines. Details on function block execution and monitoring are beyond the scope of this paper and will be reported separately.
7. Conclusions This paper briefly introduces the concept of a distributed process planning system called DPP, supported by function blocks and a real-time monitoring system. Details are given to the design
Fig. 18. Designing a composite function block for Setup 1.
ARTICLE IN PRESS L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
1137
EO_INI
EI_INI
EO_RUNRDY
EI_RUN EI_UPD
EO_ESS
EI_ESR
EI_INI
Face MF-FB
EI_P
EO_INI
4-Side Pocket MF-FB
EO_P1 EO_P2
INI_INFO
EO_DONE
MT CC_UPD
ES-FB ROUTE
ROUTE
Step MF-FB
FB_INFO MT FB_EXE
EO_INI
EI_INI EI_RDY EI_SIMU
CNC Machine
From a shop floor computer To a shop floor computer
EO_SIMU
EI_UPD
EO_UPD
EI_RUN
EO_RUN
EO_MAC_RUN
EI_MAC_RUN EI_US
EO_US
SI-FB Front-end Control Panel
MAC_INI
MT(0)
FB_INFO
ROUTE
CC_UPD
CC_UPD
FB_EXE US
Back-end Actuators, I/O’s
FB_MAC_EXE US
Fig. 19. A composite function block linked to an SI-FB.
and implementation of function blocks and a function block designer that is crucial to adaptive process plan generation. A prototype of the function block designer is implemented in Java and tested through a case study. During the design process, processing algorithms for decision-making and optimization are defined and prepared for function block embedding. Machining sequence determined by a separate module can be mapped to a function block chain automatically. It is shown through a test part that an adaptive process plan of the part can be generated by converting its machining features to appropriate function blocks using the function block designer. Based on the event-driven model of a function block, a so-generated process plan can adjust its machining parameters to best fit a selected machine during the plan execution. Since the function blocks embed algorithms rather than fixed data such as G-code, they are generic and portable to alternative machines, for adaptive CNC control. It is the embedded algorithms that generate runtime solutions at the request of an event, reflecting a dynamic change during job shop machining
operations. It is also expected that the function blocks can be utilized, for process monitoring and integration with dynamic scheduling. The DPP research aims at uncertainty problems of job shop operation with more dynamism than mass productions, including availability of machines and tools, urgent customer orders, product design change, reconfiguration of shop floors, and variation of production parameters. Compared with conventional centralized process planning systems, our DPP approach can distribute decision-making in two steps and at two levels. The high-level process plans are generic and portable to alternative machines, and only need to be generated once. The low-level operation plans are adaptive and optimal to the chosen available machine, and are generated at runtime to absorb the last-minute change on a shop floor. Future research of distributed process planning will focus on real-time machining intelligence sharing, and its seamless integration with machining process monitoring and dynamic
ARTICLE IN PRESS 1138
L. Wang et al. / Engineering Applications of Artificial Intelligence 22 (2009) 1127–1138
scheduling. Mechanisms for linking DPP to other higher level reactive tools such as MRP and ERP will also be under investigations. References Arezoo, B., Ridgway, K., Al-Ahmari, A.M.A., 2000. Selection of cutting tools and conditions of machining operations using an expert system. Computers in Industry 42, 43–58. Boogert, R.M., Kals, H.J., van Houten, F.J., 1996. Tool paths and cutting technology in computer-aided process planning. International Journal of Advanced Manufacturing Technology 11, 186–197. Brennan, R.W., Zhang, X., Xu, Y., Norrie, D.H., 2002. A reconfigurable concurrent function block model and its implementation in real-time Java. Integrated Computer-Aided Engineering 9, 263–279. Devireddy, C.R., Ghosh, K., 1999. Feature-based modeling and neural networkbased CAPP for integrated manufacturing. International Journal of Computer Integrated Manufacturing 12 (1), 61–74. Hussain, T., Frey, G., 2004. Developing IEC 61499 compliant distributed systems with network-enabled controllers. In: Proceedings of the 2004 IEEE conference on Robotics, pp. 613–618. IEC, 2005. Function Blocks for Industrial Process Measurement and Control Systems—Part 1: Architecture. International Electrotechnical Commission, Geneva, (61499-1). Jain, S., Yuan, C., Ferreira, P., 2002. EMBENCH: a rapid prototyping environment for numerical control systems. In: Proceedings of the 2002 ASME International Mechanical Engineering Congress and Exposition. Lee, K.Y., Jung, M.Y., 1995. Flexible process sequencing using Petri net theory. Computers & Industrial Engineering 28 (2), 279–290. Lim, T., Corney, J., Ritchie, J.M., Clark, D.E.R., 2001. Optimizing tool selection. International Journal of Production Research 39 (6), 1239–1256. Olsen, S., Wang, J., Ramirez-Serrano, A., Brennan, R.W., 2005. Contingencies-based reconfiguration of distributed factory automation. Robotics and ComputerIntegrated Manufacturing 21, 379–390. Ong, S.K., Nee, A.Y.C., 1996. Fuzzy-set-based approach for concurrent constraint setup planning. Journal of Intelligent Manufacturing 7 (2), 107–120.
Schwab, C., Tangermann, M., Ferrarini, L., 2005. Web-based methodology for engineering and maintenance of distributed control systems: the TORERO approach. The Third IEEE International Conference on Industrial Informatics. Stori, J.A., Wright, P.K., 1996. A knowledge-based system for machining operation planning in feature based, open-architecture manufacturing. In: Proceedings of ASME DETC’96, Irvine, CA. Strasser, T., Auinger, F., Zoitl, A., 2004. Development, implementation and use of an IEC 61499 function block library for embedded close loop control. The Second IEEE International Conference on Industrial Informatics, pp. 594–599. Thramboulidis, K., Tranoris, C., 2001. An architecture for the development of function block-oriented engineering support systems. IEEE International Conference on Computational Intelligence in Robotics and Automation. Wang, L., Norrie, D.H., 2001. Process planning and control in a holonic manufacturing environment. Journal of Applied Systems Studies 2 (1), 106–126. Wang, L., Brennan, R.W., Balasubramanian, S., Norrie, D.H., 2001. Realizing holonic control with function blocks. Integrated Computer-Aided Engineering 8 (1), 81–93. Wang, L., Cai, N., Feng, H.-Y., Liu, Z., 2006. Enriched machining feature-based reasoning for generic machining process sequencing. International Journal of Production Research 44 (8), 1479–1501. Yeo, S.H., Ngoi, B.K.A., Chen, H., 1998. Process sequence optimization based on a new cost-tolerance model. Journal of Intelligent Manufacturing 9, 29–37. Yuan, C., Ferreira, P., 2003. An integrated rapid prototyping environment for reconfigurable manufacturing systems. In: Proceedings of the 2003 ASME International Mechanical Engineering Congress. Yuan, C., Ferreira, P., 2004. An integrated environment for the design and control of deadlock-free flexible manufacturing cells. In: Proceedings of the 2004 ASME International Mechanical Engineering Congress and Exposition. Zhang, F., Zhang, Y.F., Nee, A.Y.C., 1997. Using genetic algorithms in process planning for job shop machining. IEEE Transactions on Evolutionary Computation 1 (4), 278–289. Zhang, Y., Feng, S.C., Wang, X., Tian, W., Wu, R., 1999. Object-oriented manufacturing resource modeling for adaptive process planning. International Journal of Production Research 37 (18), 4179–4195. Zoitl, A., Grabmair, G., Auinger, F., Sunder, C., 2005. Executing real-time constrained control applications modeled in IEC 61499 with respect to dynamic reconfiguration. The Third IEEE International Conference on Industrial Informatics.