Using Information Technology to Gain a Competitive Advantage In Discrete Manufacturing By Jason E. Seay B.E. Mechanical Engineering, Vanderbilt University, 1993 M.S. Mechanical Engineering, University of California-Irvine, 1995 Submitted to the Sloan School of Management and the Department of Civil and Environmental Engineering in Partial Fulfillment of the Requirements for the Degrees of Master of Business Administration and Master of Science in Civil and Environmental Engineering In Conjunction with the Leaders for Manufacturing Program at the Massachusetts Institute of Technology June, 2003 @ 2003 Massachusetts Institute of Technology All Rights Reserved Signature of Author Jason E. Slay of Sloan School Management Department of Civil and Environmental Engineering May 9th 2003 Certified by Don Rosenfield Senior Lecturer of Management, Sloan School of Management Thesis Supervisor Certified by Associate Professor, Department of C'vil andE Jol;i(Williams ironmental Engineering Thesis Supervisor Accepted by Oral Buyukozturk Engineering Environmental and Department of Civil Chairman, Department Committee on Graduate Studies Accepted by____ Margaret Andrews Sloan School of Management Director, Master's Program MASSACHUSETTS INSTITUTE OF TECHNOLOGY AUG 0 4 2003 LIBRARIES BARKER (This Page Left Intentionally Blank) 2 Using Information Technology to Gain a Competitive Advantage In Discrete Manufacturing By Jason E. Seay Submitted to the Sloan School of Management and the Department of Civil and Environmental Engineering on May 9 th, 2003 in partial fulfillment of the requirements for the degrees of Master of Business Administration And Masters of Science in Civil and Environmental Engineering ABSTRACT The use of computers has inextricably altered the process of manufacturing in every company in every industry. These changes began with the introduction of word processors and spreadsheets and have developed into enterprise and collaborative software systems which are capable of linking the entire supply chain. While the majority of effort to date has focused on Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), and Supply Chain Management (SCM), the arena of Manufacturing Execution Software (MES) presents a unique opportunity for development. ERP focuses on what has happened within an organization, while CRM and SCM analyze what is going to happen. MES systems provide the critical link to what is happening right now. The delivery of this real time production information will enable tremendous benefits in terms of operating efficiencies in the future. The current work focuses on the MES space and the possibilities for software development in this space. The work specifically examines a variety of software applications being developed at ABB, which are attempting to enable real time information from the shop floor. An assessment of the required functionality for a basic MES application was completed and a new direction was defined. This new direction centers on the development of broadly applicable software. To broadly apply software, a particular application must be customizable in order to meet a variety of customers' requirements. Based on a software project implemented at Ratingen Germany, the current work explored new methods for linking software systems. A new application for connecting the shop floor to enterprise level systems, termed Cell Manager, is presented. This application should be considered a generic software application which could be applied to any factory. Additionally, the work presents a new methodology for developing software within ABB. This new methodology is focused on the use of web services for development of a next generation MES system. A method for utilizing web services to create MES applications is presented and defined. Thesis Supervisor: Don Rosenfield Title: Senior Lecturer of Management Sloan School of Management Thesis Supervisor: John Williams Title: Associate Professor Department of Civil and Environmental Engineering 3 ACKNOWLEDGEMENTS First and foremost, I wish to acknowledge the Leaders for Manufacturing program at MIT for supporting this work. The knowledge that this program delivers is unmatched at any university in the world. I must also thank ABB and specifically Mika Kuhmonen and Rafael De-Jesus for sponsoring my internship. A host of other people at ABB must also be acknowledged. First, Mark Shaw assisted me from day one and without him I would have never succeeded. There are too many reasons to list why I am happy that he is a friend. Next, Joni Rautavuori kept me focused on lean processes and fed me well. Johanna Finskas provided endless amusement around the office. I must thank Petri Isotalo for being a great friend and confidant. And finally, I must thank my LFM partner, Roland Sargeant, who made my first three months there great. I wish to also thank my thesis advisors, Don Rosenfield and John Williams, for their tremendous support, advice and thoughts throughout the entire process. Finally, I wish to dedicate this thesis to my parents, Bill and Rosina. They have offered complete support throughout every endeavor of my life and I will be eternally grateful for this. 4 TABLE OF CONTENTS A B S T R A C T ......................................................................................................................... 3 ACKNOW LEDGEMENTS .............................................................................................. 4 TABLE OF CONTENTS ................................................................................................... 5 L IST O F TA B LE S ................................................................................................................ 6 LIST OF FIGURES....................................................................................................... 6 1.0 INTRODUCTION .............................................................................................. 1.1 The Use of Software in Manufacturing Environments ................................... 1.2 Scope of Current Thesis............................................................................... 1.3 ABB Attempts Software Development......................................................... 1.4 Project History ............................................................................................. 2.0 BACKGROUND ............................................................................................... 2.1 ABB and Industrial IT ................................................................................... 2.1.1 W hat is Industrial IT?............................................................................. 2.1.2 W hat is the Aspect Integrator Platform?............................................... 2.2 The Layers of Manufacturing Software....................................................... 2.2.1 Collaborative Software Systems ........................................................... 2.2.2 Enterprise Resource Planning (ERP/MRP).......................................... 2.2.3 Device-Level Software Systems............................................................ 2.2.4 Manufacturing Execution Software (MES) Systems.............................. 2.3 Discrete vs. Process Manufacturing ........................................................... 7 7 8 10 12 17 17 18 21 28 28 35 41 45 49 3.0 52 3.1 3.2 4.0 MES DEVELOPMENT AT ABB .............................................................................. Distribution Transformer Project - Lodz....................................................... Embedded Pole Project - Ratingen ............................................................. 52 55 GENERALIZATION OF SOFTWARE SOLUTIONS ........................................................ 59 4.1 Cell Manager / Line Manager Development ................................................ 4.1.1 Cell Manager 2.0 .................................................................................. 4.1.2 Line Manager 1.0 ................................................................................. 4.2 W eb Services Model ................................................................................... 4.2.1 W hat are W eb Services?....................................................................... 4.3 Using W eb Services for Customizable MES Software ................................. 5.0 5.1 5.2 5.3 5.4 60 62 65 67 68 71 CONCLUSIONS AND RECOMMENDATIONS ............................................................... 74 The Business Value of IT in Manufacturing ................................................ Creating Generic Software ........................................................................... Creating Lean Software................................................................................ W eb Services as an Alternative.................................................................. 74 75 77 78 APPENDIX A: DATA MODEL FOR CELL MANAGER 2.0............................................ 80 APPENDIX B: FUNCTIONAL REQUIREMENTS OF ABASIC APS PACKAGE ............ 81 R E F E R E N C E S .................................................................................................................. 97 5 LIST OF TABLES Table Table Table Table Table 1: 2: 3: 4: 5: Current OPC standards. [21]...................................................................... MES interactions with other systems. [23].................................................. MES functions as described by MESA. [22]............................................. Simplified data model for Cell Manager 2.0................................................ 18 initial functions for Line Manager 1.0.................................................... 44 47 48 65 66 LIST OF FIGURES Figure 1: Advancements in processing speeds and storage space. [1]...................... 8 Figure 2: Shrink-wrap application example for ABB's discrete MES offering. ........... 10 Figure 3: Aspect Integrator Platform [3].................................................................... 12 Figure 4: Hoag Example of WIP Tracking at Transformer Factory [4]....................... 13 Figure 5: Distribution Transformer Project Schematic [5]......................................... 15 Figure 6: Embedded Pole Operator Screen [6]........................................................ 16 Figure 7: Integration of systems utilizing Industrial IT [3]......................................... 20 Figure 8: Switchgear object and its aspects (attributes). [11]................................... 23 Figure 9: Object modeling of substation. [11]........................................................... 24 25 Figure 10: Functional structure of a reactor system. [11] ........................................ Figure 11: Location structure within AIP. [11]........................................................... 26 Figure 12: AIP Development architecture [12]......................................................... 27 Figure 13: Flow of information and goods in the supply chain. [14]......................... 32 Figure 14: Supply Chain Data Exchange Points. [15].............................................. 33 Figure 15: Schematic of MRP. [17] ......................................................................... 36 40 Figure 16: M R P II Schem atic. [17] .......................................................................... Figure 17: Device-driver concept with proprietary software. [20]............................. 43 Figure 18: MES and its interactions with various systems. [22]................................ 45 Figure 19: Discrete vs. Process Industries. [23]...................................................... 50 Figure 20: MES Functions with discrete and process spaces. [23].......................... 51 Figure 21: Distribution Transformer Project Overview. [24]...................................... 53 Figure 22: Devices connected to Ratingen workplace software ............................... 56 62 Figure 23: C ell M anager G U I. [25] .......................................................................... Figure 24: Example Line Manager GUI................................................................... 67 Figure 25: Web service interactions. [28]................................................................. 70 71 Figure 26: Utilizing web services for MES applications. ............................................ 73 Figure 27: Running MES through a web browser.................................................... Figure 28: Business Value of IT. [29]..................................................................... 75 6 1.0 INTRODUCTION 1.1 The Use of Software in Manufacturing Environments The development of the personal computer (PC) has dramatically changed the face of manufacturing operations. Both the speed and the storage capabilities of personal computers have increased at an incredibly fast pace. Since the 1970s, processor speeds have increased by over 1,000 percent and storage capabilities have increased by a factor of 10 9 [1]. Figure 1 below demonstrates the rapid advancements achieved in these two areas. These improvements in hardware have allowed software developers to create more advanced user interfaces, which attempt to automate processes and improve efficiency. The first software tools allowed businesses to transition from typewriters to word processors. Additionally, spreadsheets improved efficiency with accounting and large, engineering calculations. However, during the 1980s, the advent of powerful servers enabled computers to become more broadly applied. The processing speeds of these servers could handle calculations for an entire company. This led to an explosion in Manufacturing Resource Planning (MRP) software. These MRP systems were utilized to store a variety of information from Bills of Material (BOM) to on-hand inventories to vendor information. As MRP systems developed, additional functionalities were included to handle accounting, human resource, and financial functions. This gave birth to Enterprise Resource Planning (ERP) eftware , whichis now commonplace in manufacturing companies. In today's world, software associated with the Internet is dramatically improving methods by which companies can communicate. Software tools such as the eXtensible Markup Language (XML), Java, and Web Services enable a host of new concepts within the manufacturing 7 world. As software standards continue to develop, manufacturing operations will be capable of relying on software to an ever increasing degree. Research for the current work was centered on the development of Manufacturing Execution Software (MES) within the discrete manufacturing arena. Both of these terms will be further explained in the following sections. 10122000 *01 01800 1010- 00 16 1400 . S*g 109 .2 108C 'OC1200 G S 10oo MR 107- 1 30 ~0 1960 1970 1980 1990 2000 1970 1975 Figure 1: Advancements in processing speeds and storage space 1.2 1980 1985 1990 1995 2000 [1] Scope of Current Thesis Over the course of seven months, research was conducted at the ABB Corporate Research Center in Finland (Vaasa, Finland). The focus of this research was in the application of software tools to the factory floor, as part of ABB's new initiative termed Industrial IT. The thesis project was broken down into three major areas of research, which are listed below. * Understanding the benefits of Manufacturing Execution Systems (MES) * Understanding how ABB's Industrial IT initiative can be utilized within the MES space * Initiating the development of a commercially available MES product The first stepvas centered on gaining a better understanding of MES systems and the required functionality of a commercially available MES product. A well-defined 8 specification for an MES product was completed in August by Roland Sargeant, a previous LFM intern [2]. Therefore, the majority ofmy work in this area focused on the ability to incorporate lean processes into a software program to improve the value proposition to the customer. Additionally, my research identified the appropriate method for productization of a MES system within the ABB Corporation. The second phase of the research project incorporated MES specification information and analysed the method through which ABB's Industrial IT platform can be utilized to achieve lean MES applications. This phase examined the ability of the aspect/object methodology in modeling shop floor processes. The final area of research focuses on the initiation of a commercially available MES product. This was accomplished by working with project teams in Finland and Sweden, who were independently developing software tools to interact with manufacturing workplaces. The final phase of the thesis project primarily focused on assisting these groups in defining the next generationsoftware solution for manufacturing workplaces. The goal was to specify a product that is applicable to any manufacturing cell within any industry. Figure 2 below depicts a typical "shrink wrap" application to be developed as part of this project. 9 Figure 2: Shrink-wrap application example for ABB's discrete MES offering. 1.3 ABB Attempts Software Development In 1988, the merger of Asea and Brown Boveri created Europe's second largest engineering group with yearly revenues in the $20 to $30 billion range. The company is 10 split into three major divisions: Power Technologies, Automation Technologies, and Oil and Gas solutions. However, the primary focus of the company lies in the power and automation groups. In fact, the oil and gas division is currently up for sale, as ABB strives to refocus on its core capabilities. The power technologies division sells products such as distribution transformers, switches, circuit breakers, and inverters. The automation division is most renowned for delivering high quality robotic solutions as well as motors, drives, and actuators. In an effort to integrate their products with a common software platform, ABB has recently (late 1990s) launched an effort to develop a major corporation-wide program termed Industrial IT. The concept behind Industrial IT is to develop a combination of software products and IT enabled devices such as motors, switchgears, robots, and other electrical equipment. By focusing both on products and software, the company hopes to provide customers increased value by both delivering complete hardware solutions and automating those solutions to provide real-time information from the shop floor. The development of this idea has certainly followed an evolutionary strategy with the original Industrial IT concept formulated within the process industries side of ABB. In 1992, a software product, named Operate IT, was developed on Microsoft's COM platform, which provided real-time information on plant equipment. Since that time, this product has evolved into a software platform, termed the Aspect Integrator Platform (AlP). This system utilizes a combination of objects and aspects for those objects. Objects can be considered any piece of plant floor equipment, such as motors, mixing tanks, or casting machines. Aspects store information for those objects, such as user manuals, temperature data, maintenance logs, and other information. The AIP platform 11 then ties these objects together into a logical Windows Explorer framework. Figure 3 below presents a standard view from the AIP platform. Loa Additive Warehouse SolidProcessingBuding ntermediate Store fo edsing devl u opi , Functional Structure 10/6/98 A Location Structure Structure 10/6/98 10/6/98 e OCS ..... 1 O/G/9 7:23:30 A14 10/6/98 7:23-30 AM 10/6/98 7:23:30 AM-7:23-30 AM 10/6/98 7:23:30 f A 10//98 7:23:30 A 7:23-30 AM 7:2a.30 AM Control Room -Laboratory Process Room Packaging Building % LcThis pltfr 1.4 ui Proect no 4 seve as th bai for al nusra T eaesfwr Huistory Th urn res ecttheo ooftAmn dvtuepme ntaisa obc andME aspystemisacotnutono wigr3 sAse IJneao wogr s:tase inuegr20012 lafo1 bytfr Mihe[ byM[3]Ha og34.A]enindpevosy [] smnind rvosy Asfucs deve ostoftheearly developngthpatfmrojtes fusd solutions h h ithinparoce lopmert ofwIsdustsial ITeandsAsPfbrgan withintthe prTcessaindusre sidwaefAB development. Becanusrae id usreschi H y Ascusued os o th or AP beeganpting g prfoss andoutins, stdwo a developin h ltomwe poterts bousd solutions th ABB.nc n pratfo ss industries, such as paper, oil, or consumer goods. However, Michael Hoag identified 12 the discrete manufacturing segment as a potential avenue for development. A further description of the differences between discrete and process industries is provided in the following section. Michael formulated a strategy for this new direction and then proceeded to develop a series of concepts that demonstrated how IT could be applied within the discrete manufacturing context. One example of his many concepts is presented below as Figure 4. Figure 4: Hoag Example of WIP Tracking at Transformer Factory [4] This original work was completed within the Advanced Manufacturing Engineering (AME) group, headed by Rafael De-Jesus. This group is primarily tasked with process improvement projects and lean manufacturing implementations at factories 13 throughout the ABB group. The majority of projects are focused on the Power Technologies side of ABB. Based on Michael's initial work, this group has begun to acquire software development capabilities. Two projects are currently underway and are attacking MES development from two very different directions. The first project, at a distribution transformer factory in Lodz Poland, is closer to an enterprise-level MES system. This work is attempting to link the sales process to the ERP system within the plant. This project is also attempting to schedule orders at various factories and link to shop floor operations. Figure 5 below demonstrates the aggressive project goals. Further details about the scope and achievements of this project will be discussed in Chapter 3. 14 AIP ERP OfferEntry Design TrafoNetl - FTaoe TraoNet Viewer Machines -OPC - S EDSM AlP SAP SOAP JCO SOP AP Facade ERP Facade SDesign Facade sign SOAP SOAP- Offer Facade- 9,7777 HTTP TrafoNe Bea JSP -77 Figure 5: Distribution Transformer Project Schematic [5] The second project is tackling the MES development problem from the bottom up by focusing on the transfer of information on the shop floor. This project, at an embedded pole factory in Germany, provides process related information to workers on the line. Each workstation in the process will be outfitted with a computer which has been customized to provide the required information for that process step. Figure 6 below presents the "typical" operator screen displayed on the shop floor, which provides 15 information on process steps, components required, drawings, and other useful details. Additionally, this project links workorders within the ERP system to individual workstations. Again, further details on this project will be provided in Chapter 3. 9/92002 13.04 000070192062 GCE0000000R0101 000W70192M6 GCED00000R0101 Quantity: Short Name of EP: Short Name of VI: 15) M murm80thcower 1P4S 2412-31 vG 4 Nomis VOaae p NOmme CUment p96 SoaCent pi Product ID of Vi: IGCE70042MR0102 Figure 6: Embedded Pole Operator Screen [6] While these plant specific projects are continuing, LFM interns have been utilized to continue development of a generic MES product that could be easily implemented at a variety of factories. The initial work in this area, completed by Roland Sargeant, was centered on four major areas: Project Definition, Project Feasibility, Product Development, and Product Commercialization. Project definition included identifying the requirements of a generic MES product and the emerging trends within this industry. The feasibility of the project was assessed by examining the competitive space and the resource base within ABB. The product development work revolved around appropriate development processes, the overall strategy, and apparent risks in development. 16 Finally, the commercialization plan spelled out various product attributes such as the maintenance plan, pricing, and training. The work described above set the foundation for all topics discussed in the current thesis. 2.0 BACKGROUND The previous section introduced a variety of concepts and terminology related to the use of information technology in a manufacturing setting. This included terms such as ERP, MES, Industrial IT and others. The goal of the background section is to provide further detail for each of the terms in order to provide the reader a solid understanding of the final results. This section begins with an overview of Industrial IT and the Aspect Integrator Platform. Next, the various pieces of software, currently in use in manufacturing facilities, will be discussed. The final section describes the differences between discrete and process manufacturing, as well as the application of an MES product in each of these spaces. 2.1 ABB and Industrial IT ABB is primarily a producer of products. It is difficult to determine a single focus of the company, as itsproduct lines ex tend into control products, instrumentation, motors, drives, robotics, valves, and actuators. However, the company is best known for its wide array of electrical transmission equipment. These products include circuit breakers, surge arrestors, capacitors, transformers, fuses, switches, vacuum interruptors, and a host of other products. Therefore, the foundation of the company centers on a variety of low margin (i.e. commodity) products. ABB's profit margins signal this focus with net income averaging 2-4% of sales [32]. In an attempt to improve 17 profit margins, a strategic initiative, named Industrial IT, was developed. The goal of the new initiative was to develop a set of software products to complement the company's commodity product offerings. An example of this would be to not only provide components for a power sub-station, but also the software to control that station. By offering a complete service, ABB hopes to improve its profit margins. 2.1.1 What is Industrial IT? The term Industrial IT is ambiguous and could certainly be applied to any application of computers within any industrial setting. Clearly, Microsoft's definition of Industrial IT will differ from GE's, which will again differ from ABB's. The following section attempts to define what the term Industrial IT means within ABB. In its simplest sense, Industrial IT is considered the enabling and integration of information across an enterprise. The ultimate goal of the program is to develop a set of intelligent products and re-useable applications which can be applied in any industrial factory. In fact, the Industrial IT initiative is split between the development of products and software solutions. On the product side, the concept of 'plug and produce' is often utilized when describing Industrial IT. This concept is similar to current standard practice within the computer industry. For example, when purchasing a printer, the device includes all the fonts and other drivers for use. When the printer is connected to the computer, all of the required information is transferred, and the printer should work seamlessly. The Industrial IT concept hopes to extend this vision to the entire line of ABB products. To standardize the development of Industrial IT enabled products, a framework has been 18 defined to establish various levels of functionality. The four Industrial IT certification levels for products are presented below [7]. Information (Level 0): To become Industrial IT Level 0: Information enabled, a product must have the following aspects: - Product Identification - Product documentation: 1. Product data sheet or technical reference manual 2. Installation and commissioning manual 3. Application manual 4. Operating manual 5. Maintenance and service manual 6. Declaration of conformity regarding CE marking 7. Environmental product declaration 8. Environmental information - CAD Data - Technical data and product classification Connectivity (Level 1): Having Level 1 certification means that the product can be connected to and work well in an Industrial IT system. This means that the product has all the level 0 characteristics, plus: - Hardware can be physically connected via defined and approved interfaces. - Software can be installed and handled in a consistent manner. - The product does not introduce disturbances to the environment in which it is inserted. - Basic data can be exchanged via defined protocols. Integration (Level 2): As well as having all the characteristics of levels 0 and 1, a product that is level 2 certified will also guarantee that: - Extended data (status, maintenance, etc) can be exchanged via defined protocols. - Aspect System functionality is available. Optimization (Level 3): Certification to level 3 means that a Pnduct, when integrated into an Industrial IT system, is capable of all Industrial IT functionality. As of April 2, 2003, the ABB website displays that 35,833 products have achieved at least the Level 0 certification level. While the number of products achieving levels of certification above 0 has been limited [8], ABB continues to initiate programs to further develop the existing products into higher certification levels. 19 On the software side, Industrial IT refers to the real-time transfer of information across an enterprise. Currently, in most manufacturing environments, information is stored in a variety of systems which are not capable of communicating with one another. Industrial IT hopes to integrate this information so that it can be delivered to the right person at the right time. Figure 7 below presents the concept of data integration, utilizing Industrial IT. As seen in the figure, information can be broken down into a variety of levels, extending from enterprise-wide data down to data for a specific device. Most enterprise-level data is typically stored within ERP systems, provided by companies such as SAP or Oracle. When approaching the device layer, information could be stored in databases or files or within a maintenance manager's desk. SAP, i2, Baan, t Oracle SAP, i2, Baan, Oracle, IBM E Manugisitics, Honeywell, Ariba Honeywell, Invensys, Siemens, ABB, etc. Figure 7: Integration of systems utilizing Industrial IT [3] This transfer and integration of data can come in many forms. In fact, any software application that communicates with industrial equipment or shop floor 20 processes is classified as being Industrial IT enabled. Within ABB, this included a host of custom visual basic applications and other software which had been developed prior to the Industrial IT initiative. However, to better define the term Industrial IT on the software side of the initiative, ABB developed a common platform to standardize Industrial IT software solutions. This common platform (or architecture) is termed the Aspect Integrator Platform ad will be discussed in the following section . Further, to better organize these software solutions, ABB has defined 30 functional categories to allocate each solution. Rather than describe all 30 categories, a representative sample is listed here: Design'T , InformT, OperateT, ProduceT, Optimize T , and ProteCtIT Products and software, within the Operate' T folder, would focus on the human-machine interface. In summary, the term Industrial IT includes products that meet the certification requirements defined above and software solutions that utilize the Aspect Integrator Platform as a basis for development. 2.1.2 What is the Aspect Integrator Platform? As mentioned previously, the development of the Aspect Integrator Platform (AIP) began in 1992 with the release of OperatelT. This product was originally designed to model production equipment in the process industry. For example, the software could be customized to display a variety of equipment, such as tanks, valves, and actuators, within a production line. Data associated with this equipment could then be displayed via links within the software. Since that time, the product has evolved into the foundation for all Industrial IT software products and has been renamed AIP. Currently, an entire team of engineers continues to develop further functionality for the 21 product. For example, there are presently two versions of the software; a thick client allowing 10 concurrent users and a thin client allowing unlimited users. The AlP development group continues to refine the product based on the needs of the software developers who are creating applications on top of the platform. The AIP software is based on objecto riented programming. The concept of object oriented programming began back in the mid 1960's with the development of the first object oriented language, SIMLUA, by Ole-Johan Dahl and Kristen Nygaard [9]. However, this programming technique has only recently gained recognition with the increasing use of languages such as C++ and Java. Object oriented design is based on the hypothesis that the more closely a program models its real world counterpart, the more stable the program will be. The steps in object oriented design are [10]: " Identify the objects and their attributes " Determine what can be done to each object " Determine what each object can do to other objects " Determine what parts of each object will be visible to other objects " Define each object's public interface When referring to development at ABB, it is important to make the distinction between object-oriented-design within the context of AIP and other development on top of AIP. The AlP platform itself relies completely on this method of design. All elements within AIP are classified as objects with a specified set of attributes. However, typical software projects utilizing AIP rarely employ object oriented design. For example, the Ratingen project (the German project previously identified) is using the structured 22 design philosophy for development. Further details of this distinction are provided in Section 3.2. To better describe the AIP platform, one must first start with objects. As mentioned previously, object oriented design attempts to take real world objects and model them. Each object will then have a set of attributes. Within ABB, these attributes are classified as aspects. A good example of how AIP pulls together a series of objects is obtained by examining a switchgear operating inside a power substation. Figure 8 presents a switchgear (the object) with a variety of information (i.e. aspects) associated with it. As seen in the figure, information such as test reports, mechanical drawings, and technical specifications, all describe the object. As more information becomes available, it can be attached to this object as a new aspect. For example, maintenance reports for the device could be generated and attached to this object at a later time. While there might be hundreds of switchgears in one substation, object oriented programming makes this particular switchgear a unique object within the plant. Describing this device in the software code as a unique object provides tremendous flexibility to a software designer. Technical Spec. Mech. Drawing Elec. Diagram Simulation Model Control Program Test Report Figure 8: Switchgear object and its aspects (attributes). [11] 23 Now, this switchgear operates as one piece of machinery within the entire substation operations. Within the context of AIP, this substation will be abstracted as a combination of hundreds of objects. Figure 9 presents a schematic example of this arrangement. Each object in the facility will have appropriate aspects attached to it and can be allocated to larger subsystems. For example, the switchgear could be allocated to a group termed transmission equipment or described by its location (i.e. Room 121). Each physical object within the substation will be represented as a virtual object within AlP. Power System Installation Aspect Object Aspect Object Model Figure 9: Object modeling of substation. [11] One of the primary benefits of AIP is that it provides some structure to these hundreds of objects associated with one installation. It accomplishes this task by grouping objects into larger subsystems. In fact, AIP can be setup to offer any number 24 of structures to a potential user. Two of the more useful structures are the functional structure and the location structure. Figure 10 presents an example of a functional structure for a reactor. The functional structure associates objects with the systems to which they are attached. Three levels of abstraction are presented in the figure. The highest structural level that is presented is the reactor. Obviously, this level is a few steps down in the overall hierarchy of the plant. Below the reactor level, two additional subsystems are presented (heating and draining). Finally, within the heating level, we reach a layer of abstraction that actually includes a physical object (valve) which can be modeled. Of course, lower levels of abstraction can also be included on the heating layer. For example, the temperature control layer isn't an object itself but could contain a variety of different objects. Using this hierarchical structure, the user or programmer is capable of finding any desired object. II Reactor I Ti, Reactor,.-, -1 Heating I Valve 1.1 Temp control 4MVI1.1 PID 1.1 Out 1.1 Draining I Heating System I I Reactor 2 I Heating 2 Valve 2.1 Temp control 2 MV 2.1 PID 2.1 Out 2.2 Valve Draining 2 Figure 10: Functional structure of a reactor system. [11] 25 Additionally, the AIP platform allows one to view objects via a location structure. Figure 11 presents this concept as it would appear to a user running AIP. The top layer of the location structure is the Milko Chemical Plant. This plant has a variety of different locations, such as the additive warehouse, the solid processing building, and others. These locations then have sub locations. For example, the liquid processing building contains a control room, a laboratory, and a process room. Each of these rooms will then contain individual pieces of equipment and the structure will begin to resemble the functional structure described above. For example, the process room could contain a reactor that might have a variety of objects attached to it. i j j Additive Warehouse Solid Processing Building Intermediate Store SMilk Silos j Liquid Processing Building Control Room j Laboratory Process Room E, Product Silos Packaging Building + s Figure 11: Location structure within AIP. [11] 26 The AIP platform described above now serves as a platform for further software development. AIP has been designed to function with a host of other software programs, such as Visual Basic and C+. This then allows developers to create applications that utilize data stored in each object. Development of tools to improve manufacturing operations is now the primary focus of ABB's Industrial IT program. Figure 12 depicts the concept of developing applications on top of AIP. The program AIP itself was built on top of Window's COM technology, which handles many of the lower level computing operations of the program. Within AIP, a variety of standard object types has been created and serves as a library for developers to utilize. Above this layer, developers utilize Visual Basic and C+, as well as other programming languages, to create new solutions. A few of the applications which have been created are shown in the figure. Utilizing this architecture, ABB is currently attempting to enter the Manufacturing Execution Software space with a new product offering. Solution Folders Solutions Technology Figure 12: AIP Development architecture [12] 27 2.2 The Layers of Manufacturing Software Within a given manufacturing facility, a myriad of potential software applications can be utilized to get product out the door. These applications can include everything from million dollar enterprise-wide systems to simple, custom Visual Basic programs. For the current project at ABB, the development is focused on the Manufacturing Execution Software space. In order to understand how this fits into other plant systems, the following section describes in detail, the myriad of software offerings utilized within manufacturing. The section begins at the very top of the software food chain, collaborative software systems, and works down to software associated with various devices on the shop floor. The section concludes with a description of how Manufacturing Execution Software is capable of bridging the gap between collaborative software and devices. 2.2.1 Collaborative Software Systems The term, collaborative software, is fairly general and can be utilized to describe a great number of software products. However, this term is typically associated with three major software areas: Customer Relationship Management (CRM), Supply Chain Management (SCM), and E-Commerce. A further description of each of these areas is provided below. Customer Relationship Management (CRM) The basic premise of any CRM system is to learn more about customer's needs and behaviors in order to develop stronger relationships with them. These improved relationships should then translate into higher customer satisfaction and increased revenues. CRM systems achieve this goal by focusing on three, main objectives: 28 " Acquire new customers " Retain the right, existing customers " Grow the relationship with existing customers The business processes that are primarily impacted by a CRM solution are the marketing, sales, and service organizations. This is fairly obvious as these organizations are any company's primary contact with customers. The CRM space can be split into three main areas of functionality: customer-facing applications, customertouching applications, and customer-centric intelligence gathering [13]. Customer-facing applications include contact center support, sales force automation, and field service automation. Within a contact center, CRM applications will assist by providing information for both incoming (teleservice) and outgoing operations (telemarketing and telesales). These applications provide everything from customer order histories, leads, and prospects to quotes, customer requests, and product information. Sales force applications support the selling efforts of a company's salesforce by managing leads, prospects, and personal customer information throughout the sales cycle. Field service automation systems support customer service efforts for a variety of personnel. This type of application will manage information such as customer service requests, service orders, service contracts, service schedules, and service calls. Many of these applications are centered on efficient planning, scheduling, dispatching, and reporting for a group of service representatives. Customer-touching applications include functions such as campaign management and self-service customer support. Campaign management systems typically automate a marketing campaign. They accomplish this task by providing 29 leads, contacts, and on demand customers via automated email lists, call center data and direct mail databases. Additionally these systems should be capable of providing analysis on the effectiveness of a specified campaign. Self-service customer support applications allow customers to access a variety of information including product support instructions, service requests, and order management. An excellent example of this type of system is UPS's on-line shipment tracking system. This system saves UPS millions of dollars by automating this aspect of customer service. Customer-centric intelligence applications are required to both store and analyze customer information. These applications include customer data warehousing, reporting, and analytical functions. Data warehousing refers to systems which capture and store customer data for later use. This is a tremendously complex function for CRM applications as it serves as the foundation and must provide efficient access to huge amounts of data. Reporting applications include software to extract data and present both tabular and graphical data. Analytical functions are utilized to automate the reporting process. Analytical applications actually process warehoused data, whereas reports merely present the data. This includes functions such as detecting customer requests, providing insight on customer behavior, and forecasting response to marketing, sales, and service initiatives. Additionally, the CRM space is rapidly changing as new technologies become available. The first CRM applications were designed to work on large internal servers that limited the flow of information within companies. Software to access any CRM data had to be installed on each individual's computer. Currently, most CRM vendors provide Internet access to their entire range of functionality. This provides much 30 improved distribution of information and greater possibilities for functionality. However, the future of CRM applications will be completely altered by the introduction of web services. Many CRM companies are currently developing web service functionality that will allow customers to select specific functions that are most appropriate for their business. Supply Chain Management (SCM) The term Supply Chain Management (SCM) can potentially involve a wide range of activities. Therefore the following section will provide a simplified view of the major aspects of SCM and related IT concepts. This will be completed to again demonstrate the potential interactions with Manufacturing Execution Software and the benefits afforded by this interaction. Figure 13 presents the two types of information flow within a SCM system, interfirm and intrafirm [14]. This figure demonstrates one of the primary goals for SCM: to seamlessly link the point of production to the point of delivery. This section will begin with a further discussion of the goals of SCM and then move on to the various elements that comprise an SCM system. Finally, the section will conclude with a discussion of the IT technologies that are utilized by SCM applications. 31 I _ I Product Flow - I _ Suppliers I Manufacturers Warehouses I Retailers Information Flow ISInterfirm ,+ Intrafirm -- +. -Interfirm-+ Figure 13: Flow of information and goods in the supply chain. [14] Delivering the right piece of information to the right person at the right time is central to SCM. As such, the three primary goals of supply chain information technology revolve around data. These goals are listed below [14]. " Gather information on each product from pre-production to delivery and provide complete visibility to all players. " Provide a single point of contact for all data within the system. * Analyze, plan, and suggest tradeoffs based on information from all sources. Based on the current available technologies and status of companies, these goals are very difficult to achieve. Most companies utilize a variety of systems which could include data wrapped in proprietary databases. This lack of data structure standard severely limits the ability of a SCM system to gather information across the various systems within the supply chain. This fragmentation also limits the ability to serve up all information from a single point of contact. Information will reside on a 32 myriad of systems and complete integration into a single contact point would require endless links. Even SCM software itself is very fragmented. Software tools for any number of needs have been developed. This limits the ability to analyze and plan while still considering the entire system. For example, would the inventory management application be capable of communicating with the demand forecasting application? If not, then the inventory management system will be operating with less than optimal data and could yield a faulty analysis. Since this lack of communication severely limits the effectiveness of SCM, an enormous amount of effort is placed into methods for communicating, storing, and retrieving data. As mentioned above, SCM software is tremendously fragmented, with hundreds of small applications available for handling any number of needs. The following section attempts to describe some of the major areas of development. Figure 14 below segments these areas of functionality into the following five major categories: Suppliers, Procurement, Production, Logistics, and Customer [15]. Enterprise Suppliers Procurement Production Logistics Purchasing Planning n Planning Parts Mg G DFinished Materials Sourcing WholesalingDstribution otealig nd IASchduieg Goosb '~Mgmnt Customers DelIvery A and and CDeliveries nstattiond ( Support and Services Figure 14: Supply Chain Data Exchange Points. [15] Within each of these categories, there are sub-sections with overlapping categories. These areas are considered points of data exchange. Additionally, within each sub-section, there are multiple programs for dealing with a host of issues. As it would be very difficult to describe all in sufficient detail, we will provide an example by digging into the sub-section of scheduling within production. From external research 33 [16], it was determined that approximately 117 different companies operate in the advanced planning and scheduling software space. These companies sell applications which provide everything from finite capacity scheduling and work-order dispatching to what-if analyses for optimizing schedules. All told, there are approximately 30 different pieces of functionality within the scheduling space. As a summary, the list below presents some of the more common functions of a SCM system. While this is not a comprehensive list, it does represent pieces of functionality which should be considered critical pieces of any SCM software. " Demand Planning / Forecasting " Distribution Planning / Deployment " Inventory Management " Transportation Management * Warehouse Management The effectiveness of a SCM system is directly dependent on the ability of the system to communicate up and down the supply chain. Some relatively new technologies are assisting tremendously in this area. The face of supply chain management will be completely altered as the standards associated with the eXtensible Markup Language (XML) and Web Services become fully developed. Currently, both the XML and Electronic Data Interchange (EDI) are allowing improved transmission of data over the Internet. Additionally, technologies related to radio frequency identification (RF-ID) and the Global Positioning System (GPS) are improving the ability to track in real-time all parts and equipment. 34 E-Commerce The concept of E-commerce should be readily understood by most readers at this point. Therefore, a very limited discussion of this topic will be presented. In its most basic sense, E-commerce is the buying a selling of products and services via the Internet. Some of the premiere Internet retailers include Amazon.com and Dell Computers. If properly connected to the right systems, E-commerce can improve the efficiency and speed of responding to customer requests. In fact, E-commerce systems can be utilized to provide customer preference data to CRM applications, as well as demand forecasting data to SCM applications. E-commerce has impacted customers in primarily two ways: improved information on products and services (i.e. both product details and competitive alternatives) and improved access to products and services (e.g. 24 hour, 7 day availability). 2.2.2 Enterprise Resource Planning (ERP/MRP) As opposed to collaborative systems, traditional Enterprise Resource Planning software is focused on the internal operations of a company. These software applications have developed over time to include all aspects of running a business. In fact, the first examples of enterprise software systems were solely focused on Manufacturing Resource Planning (MRP). Since that time, these applications have improved to include functions for handling financial information such as accounts receivable/payable, the general ledger, purchasing as well as functions such as human resources planning and payroll. However, for the current research, we will focus on the development of MRP, as this piece of ERP software has significant interactions with Manufacturing Execution Software. The following section describes the processes 35 completed by a typical MRP system. This perspective is important to fully understand the benefits of utilizing an MES to improve information flow to and from the shop floor. As mentioned previously, MRP systems came into existence in the early 1980s in response to improved server capabilities. These first applications were primarily utilized to manage the dispatching and organization of products. Figure 15 below provides a schematic representation of the inputs and outputs of an MRP system. Further detail for each element is provided. On-Hand Inventory Item Master (BOM) Scheduled Master Receipts Schedule MRP: Netting Lot Sizing Offsetting BOM Exploding Planned Change rerse Notices Exception Notices Figure 15: Schematic of MRP. [17] First, any MRP system requires a set of inputs, typically from three sources: (1) the item master file, (2) the master production schedule, and (3) the inventory status file [17]. The item master file is a database, with part number as a primary key, containing information such as a description of the part, bill of material structure, lot-sizing, and 36 planning lead times. The Master Production Schedule (MPS) provides a forecast of demand for all final products. This demand will include requirements for all final assembled products as well as lower level items, which could be sold as spare parts. The MPS contains information on part number, quantity needed, and a due date for each purchase order. The inventory status file provides information, sorted by part number, for part location, and on-hand status. A final input to the MRP system, scheduled receipts, are obtained from previous MRP runs. Once a purchase order or manufacturing job has been released, a scheduled receipt is created within the MRP system. In other words, a planned order release that has actually been released to the floor is a scheduled receipt. Once that job is completed and the inventory file is updated, the scheduled receipt for that part is deleted. With the information provided above, the MRP system then completes five tasks as described below [17]. 1. Netting: The MRP system obtains the gross requirements for zero level BOM items from the MPS and calculates net requirements by subtracting the on-hand inventory. For lower level items, the gross requirements are obtained from previous MRP runs. For example, with zero scheduled receipts and an on hand quantity of 30 units, an MPS gross requirement for 75 units will net to a production requirement of 45. 2. Lot Sizing: This task takes the netted demand and divides it into appropriate lot sizes to create new production jobs. The minimum lot size will dictate the number of units that can be produced during one job. For instance, a certain part might have a minimum lot size of 50 units to minimize setup time. Therefore, when demand for that part exists, the MRP system will produce 50 units of that part. Demand for a part results in a planned order receipt, which calls for one or more lots of parts on a specific date. 3. Time Phasing: This task simply requires two pieces of information: planned order receipts for a given part and the lead time for that part. To determine the production release date (or purchase order date), the lead time is subtracted from the planned order receipt. 37 4. BOM Explosion: The system then determines the planned release dates for all sub-components by exploding the BOM from the top down. Lead time information on sub-components will once again come from the item master database. 5. Iterate: The MRP system will continue to repeat these steps until the bottommost level of the BOMs for all demanded parts has been processed. Once this has been accomplished, the MRP system then outputs three items: (1) planned order releases, (2) change notices, and (3) exception reports. The planned order release contains information on the part number, the number of units required, and the due date. Once released, these become scheduled receipts. Change notices indicate modifications to existing jobs, such as expediting or deferring. Exception reports indicate the differences between what was planned and reality. These reports can contain information on job count differences, inventory discrepancies, and other actual events. With an understanding of MRP operation, one can now better understand the problems with the system. First, capacity infeasibility is a major limitation. MRP systems base schedules on fixed lead times. Since this lead time does not take into account the level of work in a plant, the system assumes that any and all production lines will always have sufficient or infinite capacity. This assumption can result in large problems, especially when a plant is operating at or near capacity [17]. This constant lead time assumption also leads to pressures to increase planned lead times. For instance, let us assume that the lead time for a specific part is on average 4 weeks with a standard deviation of 1 week. Most production planners will set the lead time to 6 weeks to ensure a very high service level (i.e. >95%). This, in turn, leads to larger levels of WIP and potential lost orders due to lengthy lead times. System nervousness is another problem with traditional MRP systems [17]. This occurs when a small change 38 in the MPS results in a new production schedule that is infeasible. Further, typical MRP systems require fixed processes or routings, when alternative methods or processes could be utilized. These systems also prioritize production releases only by period or date, when other options, such as priority or minimum tool changes might be preferred. MRP 11 systems attempted to correct some of these problems by introducing new functionality, including demand management, forecasting, rough-cut capacity planning, and capacity requirements planning. Long-term planning and aggregate production planning attempted to address the levels of production, staffing, overtime, and inventory over the long term. However, due to sometimes dramatic changes in demand, these systems have proven to be less than reliable. One of the primary problems lies not with MRP itself, but rather the way that it is used. Using arbitrary schedules with significantly varying demand proves to be an extremely challenging task. Additionally, demand management attempted to resolve issues with creating feasible production schedules by utilizing a combination of firm orders and a short-term forecast. This system utilized the technique known as available to promise (ATP), where forecasted orders are "consumed" by actual orders. However, this system also relies on a potentially incorrect short-term forecast. Finally, Capacity Requirements Planning (CRP) has been utilized to obtain more details on the capacity loading within a factory. However, this model still utilizes fixed lead times and simply informs the production planner which machines are in an overloaded condition. The planner is then forced to determine the source of the problem and potential solutions. Figure 16 depicts the new functionality introduced by MRP 11 systems. 39 Long-Term Forecast Resource Plannge i Rough-Cut Capacity Planning Aggregate PEv otooan Firm Orders Master Production Scheduling (MPS) Short-Term Forecast Demand Management Master Resource Planning (MRP) Job Pool 4 - 0 Capacity Requirements Planning Figure 16: MRP 11 Schematic. [17] While ERP vendors continue to add functionality such as web interfaces, the technology behind MVRP has only evolved minimally per the MVRP I I discussion above. Some vendors have attempted to improve upon the limitations of MVRP by adding Advanced Planning and Scheduling (APS) modules. APS systems do utilize a finite scheduling approach to dispatch orders, which dramatically improves the ability to model a given plant. However, these modules also rely on the input of accurate and timely data for actual production times. A comprehensive specification for APS software was also completed as part of the current work [16]. An overview of the required functionality for a basic APS software product, generated as part of this research, is provided in Appendix B. The ultimate solution to this problem is to implement an MES system that provides real-time data on shop floor operations. 40 2.2.3 Device-Level Software Systems In order to enable a real-time MES system, shop floor equipment and processes must be connected to the computer network in some way. Depending on the nature of the work being performed in a particular process, this connection can prove to be either very easy or fairly complex. For example, we will study the production line for a distribution transformer. Within this line, there are a series of processes that are either completely manual, machine-assisted, or completely automated. The cutting and stamping of the transformer core is a process that is completely automated once a roll of material has been installed on the machine. Under these conditions, it would be optimal for the MES system to interact with this machine without human intervention. All required information would simply pass from the machine into the MES. Further down this production line, operators use devices, termed winding machines, to finalize the transformer cores. This process requires both a full time worker and a machine. Under these conditions, interactions with an MES system could be performed by the operator of the machine or could be fully automated as described above. In this case, ease of interaction would become the deciding factor for or against fully automating the transfer of data. After the winding process, finished cores are then manually inserted into the transformer enclosure. As this process is completely manual, there is only one method of interaction with the MES system. The operator must be utilized to input all required data on his/her process step. This type of interaction is considered relatively easy, as the operator can utilize a computer that has been connected to the plant's network. The link from data to MES is performed via an Ethernet connection to the MES system. 41 As mentioned above, the fully automated link presents the greatest challenge. The following section describes the technologies utilized to enable this automated link, and we will again use the example of a distribution transformer factory to illustrate this link. In addition to the cutting/stamping machines and winding machines, there are at least two other major processes that require a semi-automated system. The first is the heating process. Once a distribution transformer has been completely assembled, it is then placed into a heating oven to remove all moisture. This oven heats and cools the transformers using a specific protocol which is transferred to the heating elements via a Programmable Logic Controller (PLC). Additionally, the transformer test process is controlled by a series of PLCs. These PLCs serve as connections to lower level devices such as valves, heating elements, or capacitors. The connection between the PLC and controlled device is typically completed using a point-to-point wired 4-20 mA signal. Each device is then calibrated to respond over this signal range. For example, a valve will move to a fully closed position when sent a 4 mA signal and move to fully open when provided a 20 mA signal. In order to reduce the wiring requirements associated with this point-to-point system, a technology termed fieldbus was developed. This technology continues to support the interconnectivity provided by conventional 4-20 mA systems, but also allows multiple devices to be connected to a single bus, provides additional data content, and distributes intelligent functions such as proactive maintenance and self-diagnostics [18]. The basic premise behind fieldbus is that it establishes a network of connected devices and allows improved communication with those devices. While fieldbus can be 42 considered the most popular standard for industrial networks, there are several other standards which are utilized within industry, Profibus and CANbus [19]. However, the data from this equipment is not yet connected to the MES system or any computer network for that matter. In order to obtain full real-time functionality, data transmitted over the fieldbus network must be transferred to a standard operating system. In the past, this connection was completed by simply writing drivers (i.e. code) for every device that a particular program must use. Figure 17 below presents an example of this situation. Because each system utilized proprietary software, developers were required to write drivers for every device. The best example of this is the original word processors which only supported a limited number of printers. PC With PLC with DCS with software proprietary proprietary pack ge A software software Devie A Device B Device C Figure 17: Device-driver concept with proprietary software. [20] While this method of data conversion is effective, it consumes a large amount of software development resources. In August of 1995, a task force, including members from Fisher-Rosemount, Rockwell, Intellution, Opto-22, and Intuitive Technology, began to develop a standard communication protocol for communicating with various devices [20]. The goal of the group was to develop an open, flexible, plug-and-play standard which could be utilized by anyone. The result was the OPC standard (OLE for Process Control). OPC consists of a standard set of interfaces, properties, and methods for 43 communication between devices, controllers and software programs. The OPC standard chose to utilize Microsoft's Active X, COM, and DCOM technologies as the platform for development. Therefore, all OPC compliant devices, software, or controllers use COM to interact and share data. To better explain the implications of this standard, we will use the example of a PLC. The OPC standard requires the PLC hardware manufacturer to provide data collection and distribution, because they are most familiar with the methods for extracting data internal to the device. The PLC would then become an OPC server and provide data to any number of OPC clients. At this point, developers could utilize any software program (i.e. C++, Visual Basic, etc..) to create applications that access this data. Essentially, the OPC server (i.e. PLC) translates the internal data into a form recognized by COM. Once the data is resident on the COM platform, any number of applications can be utilized to perform functions on that data. The development of OPC compliant products continues to evolve as is the standard for OPC itself. The table below describes the various standards created by the OPC Foundation to date. The following spedfications ewst for OPC W OPC Data Access Specification . . . . . .process .. data communication U OPC Alarms and Events Specification . . . . monitoring of alarms and events * OPC Historical Data Access Specification . access to historical data a OPC Batch Specification ............. access to data of MES/Batch systems 2 OPC Security Specification ........... protection against unauthorized access and intervention U OPC and XML* ................... integration of OPC and XML for the creation of Web applications and interfacing with non-Windows operating system platforms a OPC DX* ...................... configurable Server-Server interaction * in preparation Table 1: Current OPC standards. [21] 44 2.2.4 Manufacturing Execution Software (MES) Systems With a description of the various pieces of manufacturing software completed, it is now possible to describe how Manufacturing Execution Software (MES) can be utilized to improve the performance of these other systems. Figure 18 presents the relationship between MES and both higher level and lower level software systems. Sales & Service Management ERP Customer Relationship MManagement E-Commerce Dispatching Production Units Product Tracking Maintenance Management Process Management Supply Chain Management Inventory Management Procurement E-Auction Resource Allocation Scheduling & Planning Strategic Sourcing MES: Integrated Production Data Working with Operations Quality Management Systems, People, Management And Practice Document Control Labor Management Inbound/ Outbound Logistics Product & Process Engineering CAD/CAM Performance Analysis Product Data Management Controls PLC/ SoftLogic Drives, Motors Relays Data Collection Manual Process Control DCS/ OCS Automation, Instruments, Equipment Figure 18: MES and its interactions with various systems. [22] As described in the previous sections, device-level software systems translate data from physical devices and convert them into conventional 4-20 mA signals or more advanced fieldbus signals or even COM based data via OPC. The MES system then serves as the aggregator of this data and performs functions that convert the data into more useful forms. This system also stores the data and then interacts with other 45 systems to improve their performance. A good example would be the potential interaction of an MES system and an ERP system. An MES system is capable of monitoring in real-time processes on the shop floor. If a machine breaks down, the MES system will recognize this event. This information could then be relayed to an ERP system to prevent it from releasing more work-orders to that particular section of the plant. In this way, the MES would prevent a Work in Progress (WIP) explosion, which can be fairly common when only operating with an ERP. MES systems also are capable of performing a wide variety of other functions that are tremendously useful to CRP systems as well as SCM systems. The following table displays some of the key data that is transferred between MES systems and other manufacturing systems. DATA TO/FROM 9 0 SYSTEM Costs Cycle times and throughput SLot consumptions per part number Inventory 0 WIP and FG 0 Production Posting 0 Issue Work Order 0 Plans and routings 0 Bills of Materials SMaterial visibility Numbers lot information " Order status " Time spent * Production ca acities and ca abilities " Master plans and schedules " Supplier information on rework Product yield and quality * ERP SCM PDM Maintenance records 46 * Work instructions * Operational parameters * Availability and delivery * On-hand inventory levels CRM " Configurations * Special * Instructions and recipes * Operating parameters Instructions Controls * Operating conditions * Alarms & events Table 2: MES interactions with other systems. [23] A Manufacturing Execution System (MES) is a factory floor information and communication system [23]. Its primary goal is to integrate real-time data from the shop floor to enable efficient production, manage manufacturing processes, and feed shop floor information back to enterprise applications. Within the world of manufacturing software, the functional boundaries among programs are very blurred. For example, ERP systems are constantly incorporating functions that could be considered part of a Supply Chain Management application or other process-specific applications. The situation is the same for MES software with different vendors offering different levels of functionality. However, the Manufacturing Enterprise Solutions Association (MESA) has developed a detailed model of the basic functionality of any MES solution. Table 3 provides descriptions of all eleven MES modules, as defined by MESA. 47 1. Resource Allocation and Status Manages resources including machines, tools, labor skills, documents and other materials that are needed for work to start at an operation. 2. Operations/Detailed Scheduling Sequences and times activities for optimized plant performance based on finite capacities of the resources and attributes of specific production units. 3. Dispatching Production Units Manages the flow of production units in the form of jobs, orders, batches, lots and work orders by giving commands to send materials or orders to parts of the plant to begin a process or step. 4. Document Control Manages and distributes records or forms on products, processes, designs, or orders. 5. Data Collection Monitors, gathers, and organizes data about processes, materials, and operations from people, machines, or controls. 6. Labor Management Tracks, directs and provides status on the use of operations personnel based on qualifications, work patterns and business needs. 7. Quality Management Records, tracks, and analyzes product/process characteristics against engineering specifications. 8. Process Management Directs the flow of work in the plant based on planned and actual production activities. 9. Maintenance Management Plans and tracks activities to maintain capital assets to ensure their availability for manufacturing. 10. Product Tracking and Genealogy Monitors the progress of units, batches, or lots of output to create a full product history. 11. Performance Analysis Compares actual manufacturing results in the plant to goals and historical performance. Table 3: MES functions as described by MESA. [22] The key benefit of a MES application, like most Manufacturing Information Systems, is the efficient handling of production data. This improved efficiency is often due to the integration of information from disparate systems. MES applications are tools for organizing and cataloging enormous amounts of data and provide easy and 48 immediate access to the right data at the right time. The five bullets below describe in further detail some of the specific benefits of MES [23]. Improved Information Flow - Implementing a MES allows integration of several systems for scheduling, procurement, order tracking, metrics reporting, process control and testing. By making the MES the "window" into these various systems, non-value added repetitive activities such as managing paperwork can be eliminated and real-time electronic information flow enabled. In essence, it enables a "paperless" manufacturing environment. Inventory Management - MES provides visibility to key metrics such as WIP and FG inventory levels. By seeing the current level of inventory, the plant manager can set inventory targets and define alarms when pre-set levels are exceeded. MES systems improve inventory turns by allowing focused inventory reduction actions, decreased inprocess inventory, increased cost avoidance in compliance, and reduced work in process. Orders Tracking Capability - Production order tracking within the plant will provide greater visibility to information. Having the capability to track orders through the plant will give the sales force and customers a better estimate of when orders will be delivered. Improved Quality - Tracking of key quality metrics allows for easier reporting, control charting, statistical process control, and root cause analysis, which all result in improved quality. In this area, they reduce scrap, rework and returns and offer complete product traceability. Improved Operator Efficiency - Operators no longer have to wade through several reams of paper to find the information they need. The correct Bill Of Material or Product Drawing is made available on demand at the workstation. Revisions to product specifications can be pushed to the floor electronically without significantly disrupting production. 2.3 Discrete vs. Process Manufacturing As mentioned previously, it is important to identify the differences between the process and discrete manufacturing spaces in order to understand the direction of 49 ABB's MES development. The following section will attempt to shed some light on this topic. In discrete industries, products can be sold as units or multiples of a unit; in process industries, products can be divided into any lot size by adjusting container size. Examples of discrete industries include the aerospace, automotive and semiconductor industries while the chemicals, paper, oil refining and mill products are considered process industries. In some cases, the line between process and discrete manufacturing is blurred. In the food industry, many products use continuous processes but the packaging of the end product may be discrete. In the apparel industry, production of raw materials is process while production of the final units of clothing is discrete. Figure 19 presents a table of various industries and their classifications as either discrete or process. Discrete Machinery Communications Aerospace Consumer Goods Automotive Food SemconucorsApare Medical Electronics Process Oil and Gas Metal Refining Pulp and Paper Pharmaceuticals Electricity Generation Figure 19: Discrete vs. Process Industries. [23] Manufacturing Execution Systems fordiscrete manufacturing address diagnostic, maintenance, and productivity challenges associated with personnel and machines used in volume manufacturing. The operator interfaces typically provide machine control, diagnostic/production instructions, fault logs, product flow, material management, and operator guidance. The biggest challenge facing discrete 50 manufacturers is how to integrate and leverage real-time information from multiple sources to get a product out the door. The effort is focused on integrating data from individual parts of the process - from product specifications and parts inventory, to assembly, instructions, QA testing, receiving and shipping. Manufacturing Execution Systems forprocess manufacturing address diagnostics, maintenance, statistical process control, recipe management and productivity challenges associated with batch processes. The operator interfaces typically provide machine control, diagnostic messages, bar graphsor parameters such as temperature, flow meters, pressure monitors, and recipe editors. The challenge facing process manufacturers is capturing real-time information from several points in a single integrated process to get a product of exacting quality out the door. Not only does the production process involve a continuous flow that cannot be interrupted, but also the individual production processes are so closely linked to each other that it's impossible to view or manage any of them in isolation. Though MES applications exist for both the discrete and process industries, there are significant differences in the way they are used. Figure 20 below shows typical functions that are available in MES applications in both industries and some that apply to both but are used differently in each. PROCESS Ung il Mgn du -,06 Rorce Allocation Scheduling &Planning. Dispatch c-A um Workflow Management. peormance Anm - Flow Monitoring Recipe Management larm, Managmn - Proces Man Figure 20: MES Functions with discrete and process spaces. [23] 51 3.0 MES Development at ABB Based on the initial work of Michael Hoag, ABB did in fact launch several software development efforts into the discrete manufacturing space. Rather than create generic applications that could be applied to any factory, ABB made the decision to develop both projects in partnerships with specific factories. While this strategy eases the customer requirements and functionality phases of software development, it severely restricts the ability to re-use the software at a variety of factories. The following sections provide detailed information on each of the projects. 3.1 Distribution Transformer Project - Lodz As a first trial of AIP and Industrial IT in a discrete manufacturing setting, ABB selected a distribution transformer factory in Lodz, Poland as a test case. The project plan called for development of a variety of systems including software to support sales, engineering design, global scheduling, and electronic transfer of information. Figure 5 in Chapter 1 provided an overview of the complete system and all the interactions with various subsystems. As seen in Figure 5, the project extends from the sales/design process all the way down to pieces of equipment on the shop floor. The first step in the process was to utilize a software program, termed TrafoNet, to assist engineers with the selection of appropriate designs to meet customer requirements. This program was intended to standardize the quoting process and attempts to translate customer requirements into specific design features. This system would then be connected to both the ERP system and an order management application. The primary function of the order management application is to store design information and select an existing design which could be applied to TrafoNet's specified requirements. Once a design is 52 selected, the information is then passed back to TrafoNet for costing and quoting. If the order is placed, this information is then sent to the ERP system and back to an order facilitator application. The order facilitator application interacts with a variety of systems: ERP, Inventory Manager, Rules Engine, Shop Floor Manager, Planning Manager. All of these applications then begin the process of determining how and when to schedule the order for production. This process is completed by retrieving realtime data from machines operating on the shop floor. All major processes will be connected to these applications via the AIP platform. Figure 21 below presents a schematic overview of the intended system. Business Process Optimization Windf~rs TrafoNet CIS Skyva APS Core CteTest Manufacturing Process Optimization Skyva: Transactional Data - '- Industrial IT: - implemented as Aspect Systems Real Time Data - implemented as Aspect Objects Figure 21: Distribution Transformer Project Overview. [24] This specific project is attempting to optimize both the manufacturing process and the business process. On the manufacturing side, all of the applications just described should improve the speed and efficiency with which an order is handled. The intent here is to dramatically reduce the time from quote to delivery. On top of these systems, the project called for a global planning and scheduling application, termed 53 Skyva, to optimize the business process. The Skyva application will be connected to several distribution transformer factories around the world and will have real-time access to information such as equipment utilization, backlog, and other capacity related data. The primary goal of the Skyva application is to determine the factory that is most suitable for handling the order promptly. Once the minimum lead time is calculated, the order would be sent to the factory that provides both the best customer service and best cost. It is difficult to classify this project as solely an MES application, as it includes a variety of functions which would be considered out of the scope of MES per our earlier description. The features which could be considered MES are the planning/scheduling of shop floor processes, the real-time connections to equipment, and the electronic transfer of shop floor information. Both the TrafoNet application and order manager application assist with the sales/quotation processes and therefore should be considered part of a CRM system. Additionally, the business optimisation, performed by Skyva, could also be classified as a CRM function or even a SCM function. The Lodz project was officially launched in June 2001 with an intended project completion date of January 2003. However, based on a plant visit in September 2002, the project has fallen significantly behind schedule. At that time, the only piece of functionality in place was the TrafoNet application. This delay can be attributed to a host of factors including the project team, scope, and complexity of interactions. The project team consisted of a variety of personnel residing in six locations: Poland (Warsaw, Krackow, Lodz, and Wroclaw) and U.S.A. (Boston and Raleigh). While distributed development is feasible, it requires a detailed set of requirements and 54 exhaustive communication management systems. It was not clear to the author that either of these elements was in place. The scope of the project also limited the development capabilities. This project is attempting to create MES, CRM, and advanced planning and scheduling applications. To undertake an effort of this scope requires a huge project team that is fully dedicated to the task. Again, this was not readily apparent. Finally, the complexities of the interactions are tremendous with a host of programming languages being employed. For example, connections to provide real-time shop floor data will be provided via the AIP platform. The planning manager, order manager, order facilitator, inventory manager, and machine manager applications are being developed in Java. Meanwhile, these applications must also interact with an SAP ERP system, TrafoNet, and the Skyva software. With a host of independently developed software, the interactions will present a significant challenge. 3.2 Embedded Pole Project - Ratingen A second discrete manufacturing MES program was launched at an embedded pole factory in Ratingen, Germany in January 2002. Compared to the Lodz project, the development efforts in Ratingen are much better focused on the MES space. The primary goal of the application is to improve the flow of information throughout shop floor processes. It is achieving this goal by delivering the following list of functions: " Dispatch work orders from ERP to required workplace. " Scan & print barcodes to enable product genealogy. * Provide "on-line" documents for BOM, drawings, etc. * Log information on quality defects. * Collect data from measurement locations. 55 * Store and display process steps for each workplace. Since the majority of process steps within this factory are manual (i.e. require human interactions), the software is focused on improving the efficiency of these actions by delivering the required information promptly. Figure 6 in chapter 1 displays the primary Graphical User Interface (GUI) for the Ratingen application. As seen in this figure, the employees at various workplaces will primarily be presented information on the workorders within their queue and information on the product in progress. Additionally, these workers will be capable of linking to drawings, product specifications, BOMs, and procedural instructions. The software program also attempts to eliminate many of the non value adding (NVA)steps in the current process. Figure 22 presents the specific devices that will be linked to the software to eliminate a few of these NVA steps. WORKPLACE GUI MANAGER GUI ADMINISTRATION GUI Aspect Integrator Platform OPC (OL for Process Control) SCANNER TEST EQUIPMENT TORQUE WRENCH LP TNDGER CASTING MACHINE CALIPERS PRINTER Figure 22: Devices connected to Ratingen workplace software. 56 For example, the current process requires workers to label a product with an ID number several times. The Ratingen project automates this process by linking to a scanner and printer which will automatically generate, register, and print the required labels. Additionally, the program is linked to callipers, torque wrenches, test equipment, and a casting machine. Data from all of this equipment will be automatically stored by the new program. In this way, the Ratingen project should dramatically improve the speed of production by eliminating many of these NVA steps. In fact, the primary quantified benefits of the program revolve around improvements in speed. The list below describes some of these benefits as well as expected savings in dollar terms. " Production ($151,000 savings/year by 2006). o Reduction in throughput time per embedded pole. o Reduction of working time for updating instructions. o Reduction of clarification time for completing products. * Packaging ($7,000 savings/year by 2006). o Reduction in working time. " Quality ($216,000 savings/year by 2006). o Reduction in number of EP rejections due to poor quality. " Management of Process ($26,000 savings/year by 2006). o Reductions in clarification/investigation time. The Ratingen project also represents what should be considered a full Industrial IT solution. All relevant product data will be stored as objects/aspects within the AIP platform, rather than in external SQL databases. The program does utilize an external database to store information such as drawings or other documents, but the majority of 57 information will reside within AIR As the AIP platform contains interface capabilities with Visual Basic, all of the GUIs for this projecthave been programmed in that language. Additionally, the Ratingen project will pull workorder information from an interface with SAP's ERP system. While the Ratingen project was initially conceived as a "quick win", several factors have slowed progress. In fact, the original implementation date for the software was August 2002, while the revised date is currently scheduled in December 2003. One of the primary factors hindering development is the project's use of the thin client version of AIP. The thin client version is still under development and the programmers for this project are utilizing a beta release of the software. As such, there are a number of bugs in the AIP software which have caused significant delays. Additionally, the Ratingen project is attempting to use transient objects (i.e. objects that move through the data structure). For example, each embedded pole is represented by an object within the AIP structure. As the product moves through the process, the IT representation of this product will also move through the various workstations. This movement requires additional, complex programming when compared to static objects. Second, the complexity of interfacing with a variety of systems has caused several delays. The Ratingen software must be capable of communicating with the ERP system, as well as a variety of products on the shop floor. While the connection to the ERP system is accomplished via a standard Business Application Programming Interface (BAPI), connections to older plant equipment prove more difficult. For example, the PLC utilized to control the casting machine is not OPC compatible and therefore, interface code must be written to extract data from this machine. Finally, the 58 project team consists of one project manager and only two full-time programmers. While this is certainly an efficient organizational structure, the limitation in resources will slow progress. Another organizational factor affecting development speed is each programmer's knowledge of the AIP system. While it is easy to find Visual Basic or Java programmers, AIP experts are in short supply. 4.0 Generalization of Software Solutions Some pieces of code are written for very specific applications, while others are intended to be broadly applied. The key to elegant software development is to create an application which is detailed enough to be beneficial to a specific application, while broad enough to appeal to a variety of users. For example, the program, Microsoft Word, was clearly written to serve as a word processor, a very specific application. However, the code was developed in such a way that it can be applied broadly. Imagine if Microsoft only considered the needs of novelists while developing the program. Many pieces of functionality, such as inserting of tables or figures, would not have been included, since novelists do not require this feature. If Microsoft attempted to sell this particular version of Word to professors or students, it would certainly not be received well, as both parties rely heavily on figures and tables. Microsoft would then need to re-code a second version of the software to appease this group of customers. In reality, Microsoft Word includes a myriad of features, which make it applicable to any person in any industry. While developing a piece of MES software, the same must be true. In order to be applied in a variety of industries, the program must be general (or customizable) to 59 be applied broadly, but provide functionality to assist a specific plant. However, the development method at ABB prevents programmers from thinking broadly. By partnering with specific plants, the developers focus their efforts on solving one particular customer's needs. For example, consider the Ratingen project described earlier. This application contains code which was written to handle a specific number of workplaces for a specific part in one factory. Rather than creating a general workplace object that can be added or removed as necessary, the developers have coded specific workstations in the process with specific pieces of functionality at each workstation. Therefore, it is doubtful that this program could be applied to even another embedded pole factory without recoding, since their process could be slightly different. This is an extreme case of utilizing only one customer's perspective. On the other hand, the Lodz project is a step in the right direction. The developers of this application are utilizing Java. If the Java classes are created properly, it is possible that they could be re-used in other factories. However, by partnering with a specific distribution transformer factory, it is again doubtful that the program could be utilized in, say, a semiconductor factory without some level of recoding. Recognizing these limitations in re-use, another project was initiated with the goal of producing generally applicable version of the Ratingen software. This new project included the development of two pieces of code, termed Cell Manager and Line Manager. The following section describes the current status of this project. 4.1 Cell Manager I Line Manager Development The Cell Manager / Line Manager project was born out of some initial work completed by a robotics solutions company in Sweden. This particular company builds 60 and installs turnkey solutions that utilize roboticells . After interviewing several groups of customers, a development project was launched to create an application that would interface with a variety of devices within a given robotic cell. The result of this effort is a product termed Cell Manager. The following list describes the overall functionality of the software. " Provides current status of equipment. - Running, Down, % of expected production. - Starved, Blocked. - Current process/product. - Alarm information. " Delivers cell specific information. * - User Manuals, Maintenance Info., Drawings, etc. Displays production information. - Average/Present/Expected cycle time. - Number of products completed. Figure 23 depicts the main graphical user interface for the Cell Manager application. This main screen presents an overhead view of a specific robotic cell. As seen in the figure, the exact layout of the cell is represented with conveyors, two robots, and two tooling stations. Detailed information, such as drawings and maintenance instructions, can be obtained by right-clicking on a specific object. Additionally, a standard set of information, such as cell status, product in progress, and production performance, is provided on the right-hand side of the screen. Because this product was forced to consider the needs of more then one customer, the software can actually be customized without re-coding. Additional robots or tooling can simply be added to the picture presented below without going back to the code. This ability to customize makes the product more broadly applicable. 61 Figure 23: Cell Manager GUI. [25] However, the development team only considered customers that utilize robotic cells. As such, this piece of software could not be utilized at the embedded pole factory in Ratingen. The functionality to handle manual workstations was not developed. The project initiated in November 2002 was tasked with making a second version of Cell Manager, which could be applied to any factory. Additionally, the project entailed the development of a second layer of functionality which could present simplified information for a series of work cells. 4.1.1 Cell Manager 2.0 At first glance, the generalization of Cell Manger 1.0 appears to be a fairly simple task, since no changes in functionality were planned. However, four main issues made 62 the problem much more difficult: customisation of graphics, equipment connections, data storage, and data capture. In order for the program to be generally applicable, the main GUI must be easily customisable. The Cell Manager 1.0 application utilized another program termed Graphics Builder from Visual Basic to create the view shown in Figure 23. The ease of use associated with the Graphics Builder application will limit the ability for various customers to generate their desired view. Since Graphics Builder requires expert knowledge of Visual Basic, the Cell Manager 2.0 becomes less useful, because a programmer is required to customize the applbation. Additionally, t he current library of images for the main user GUI consists of products related to robotic cells, which includes such elements as robots, conveyors, etc. In order for the program to be broadly applied, some easy method for generating user-specific graphics must be supplied. In this way, customers or consultant teams could perform the customisation process. The second major issue relates to equipment connections. The Cell Manager 1.0 program utilizes a piece of software termed WebWare SDK to communicate with each robot. For generally applicable software, the program must be capable of communicating with a variety of equipment. For example, the Cell Manger 2.0 application must be capable of communicating with ABB robots or a PLC attached to a casting machine, as at Ratingen. Obviously the first step to improving communications is to build an OPC interface into the program. This will allow communication with any OPC compliant piece of equipment. Secondly, a system for storing a library of proprietary connections must be developed. This is a similar concept to the "plug-ins" 63 seen in Microsoft Word. While many customers do not require the use of equations in their documents, some do. If desired, a user can simply add this piece of functionality into the program via the tools menu. A similar concept for communicating with PLCs and other equipment must be considered in Cell Manager 2.0. The third major issue relates to the storage of data. Cell Manager 1.0 utilizes the AIP platform to store all product and equipment data as objects. However, due to limitations in AIP, this data is only stored for a single day. Obviously, a great many customers would appreciate the ability to store data for a longer period of time. Therefore, some method for storing data must be developed. This could be accomplished by utilizing a SQL database or possibly with the Inform IT Historian product. The final major issue relates to the information that is stored in Cell Manager 1.0. The current application does store useful information such as machine status, units produced, and even process details. However, many details are omitted. This again relates to the development process of looking at a small set of users. The generally applicable version of the software must consider a variety of users as well as potential future development of functionality. Establishing a detailed data model which considers future functionality reduces the probability that re-coding will be necessary. For example, consider recording a simple piece of data such as a time stamp when the status of a machine changes. If the data is present, future versions of the software could include functionality to calculate overall equipment effectiveness (OEE) based on the time stamps. If the data is not present, then this functionality cannot be included. With this in mind for manufacturing workplaces, a data model was developed. Table 4 64 below presents a simplified version of the model, while the full version can be seen in Appendix A. The intent of this data model is to present all required data for a generic workstation. With this data model in place for Cell Manager 2.0, a host of downstream functionality should be enabled. Classification Info Provide current status Running States Normal operation % of expected production Stopped Product Process Workorder Machine Failure Starved Blocked Idle Setup/Adjustment Preventative Maintenance Product I Product 2.... Process I Process 2... Quality Station Inbox In Progress nuthnx Deliver Cell/Workplace information Information button ...... Calculate, store & display production info Process Data Process Instructions Setup Instructions Other Info.... Present Cycle Time Temperature Pressure Other Data..... Workorder Data Number Produced [Number of Rejects Table 4: Simplified data model for Cell Manager 2.0 4.1.2 Line Manager 1.0 With the Cell Manager 2.0 data model above in place, Line Manager should simply be considered an aggregator of information from a series of Cell Managers. This program will be responsible for interacting with higher level systems as well as performing calculations related to line specific information, such as throughput time. Based on initial customer feedback and an internal expert survey, Table 5 displays the top 18 functions to be included in the first version of the software. Each piece of 65 functionality has been broken down into six major categories. Obviously, the functions presented in this list should be considered the wish list for the first version of the software. Depending on the desired completion date and availability of resources, the list of functionality could be reduced to meet any limitations. Workorder Management Line Control/Status Performance Data Lean Processes Reporting/Data Output Product Tracking and Genealogy Recieve workorders from external system (inbox) Start Workorder Stop Workorder Provide complementary workorder information (serial number, user manuals, drawings, etc.) Dispatch workorders to appropriate cells/workplaces Modify workorder Forecast/Simulate workorder completion Alarm Notification Start/Stop line cycle (empty line before stopping) Line Supervision (Overall view and detailed view per cell) Throughput Tracking Average-current-expected cycle time Quality performance (for line/each employee per part per _month, day, year, etc....) Define Maximum WIP levels WIP Status OEE for each cell/workplace Extract information to Excel, Word, Crystal Reports, etc... Store/Retrieve product genealogy information Table 5: 18 initial functions for Line Manager 1.0 Figure 24 presents an example GUI for the Line Manager application. Similar to Cell Manager, the Line Manager program must be customizable to suit the needs on any number of customers. For example, all items in the left hand window of Figure 24 must be "drag and drop" functionality. In this particular case, the user has defined three major process steps. For each step, the customer has chosen to link to information on the equipment within that particular process step. This is represented by the figures on the left hand side. Also, the customer has added the stoplight functionality which allows him/her to quickly analyze the equipment status in each workplace. As seen, the WIP 66 tracking functionality has also been enabled. Quick information on the number of products residing in a workstation's inbox, outbox, and in progress box are presented. Finally, the OEE "plug-in" has been enabled for the first process step. While this is simply an example, this level of customizable functionality should be included with a generic Line Manager program. Figure 24: Example Line Manager GUI 4.2 Web Services Model While the Line Manager and Cell Manager applications described above present a generic solution for MES development, the ease of customization and integration must be considered. Both of the programs will utilize a combination of AIP, Visual Basic, and likely a SQL server for data storage. While these programs are tremendously useful, there are significant limitations to their flexibility. For example, it is doubtful that true "drag and drop" functionality will be enabled via these technologies, especially for difficult functions such as WIP tracking. It is likely that while customizing the GUls, 67 some level of experience in Visual Basic, AIP, and SQL server will be required. Therefore the customization process will be performed by programmers and general users will be shut out. However, another development model could be utilized for development of an MES which would allow simple full customization on a per user basis (i.e. easily completed by people with practically no IT knowledge). This development model employs web services for small pieces of functionality. Complete details on this model are presented in the following sections. 4.2.1 What are Web Services? In the simplest sense, web services are a web-based technology for improving the exchange of information. This technology has only recently been enabled via the standardization of a variety of processes. In fact, web services rely on the existence of four primary standards: XML, SOAP, WSDL, and UDDI. Each of these concepts are explained in a simplified manner below. The introduction of eXtensible Markup Language (XML) was the critical step to enabling improved data communication [26]. Basically, XML creates a standard method for defining data by setting up a protocol for defining data tags. Data tags simply inform a user (i.e. human or machine) what data is enclosed in the tag. The following example presents a series of XML statements for a chocolate chip recipe to emphasize this point [27]. The comments enclosed in parenthesis <" "> are the XML statements. In this way, both the data and the context of the data are presented to users. <?xml version="1.0"?> <list> <recipe> <author>Carol Schmidt</author> <recipe name>Chocolate Chip Bars</recipe name> <meal>Dinner <course>Dessert</course> </meal> 68 <ingredients> <item>2/3 C butter</item> <item>2 C brown sugar</item> <item>l tsp vanilla</item> <item>l 3/4 C unsifted all-purpose flour</item> <item>1 1/2 tsp baking powder</item> <item>1/2 tsp salt</item> <item>3 eggs</item> <item>1/2 C chopped nuts</item> <item>2 cups (12-oz pkg.) semi-sweet choc. chips</item> </ingredients> <directions> Preheat oven to 350 degrees. Melt butter; combine with brown sugar and vanilla in large mixing bowl. Set aside to cool. Combine flour, baking powder, and salt; set aside. Add eggs to cooled sugar mixture; beat well. Stir in reserved dry ingredients, nuts, and chips. Spread in greased 13-by-9-inch pan. Bake for 25 to 30 minutes until golden brown; cool. Cut into squares. </directions> </recipe> </list> The acronym SOAP stands for Simple Object Access Protocol and is essentially the tool used to pass commands and parameters between clients and servers. One of the primary benefits of SOAP is that it is independent of the platform, object model, and programming language. This enables it to work across a variety of systems. Additionally, SOAP is based upon the XML standard. For more information on the details of SOAP, please refer to the W3C SOAP 1.1 specification (http://www.w3.org/TR/SOAP/). The Web Services Description Language (WSDL) is the method by which web services are defined and is basically a user manual for the service. A WSDL file is attached to every web service and defines the method for interacting with that web service. By interacting with a given WSDL file, the web service can be called and utilized by another application. 69 The Universal Description, Discovery, and Integration (UDDI) is essentially a large telephone directory for web services. It stores a list of available web services and points a user to the appropriate location for a particular web service's WSDL file. Figure 25 presents a schematic overview of how each of these elements work together to enable a web service. The first step in the process is to find a web service that will serve the needs of the user (i.e. XML web service client). This is accomplished by referring to an existing UDDI registry. Next, the client issues a HTTP statement to the web service's website and receives an HTML or XML message back with a link to the WSDL file. The client then issues a statement to the web service asking for information on the WSDL file and receives an XML document with the service description. The actual service is then called and a XML document is transferred using SOAP. At this point, the web service is then active on the client's site. Figure 25: Web service interactions. [28] 70 4.3 Using Web Services for Customizable MES Software The use of web services within the context of an MES application has profound implications on the ease of customization. This is primarily related to the modular aspect of web services. For example, the software development projects described earlier are large, complex, interconnected programs with thousands of lines of code. Re-coding a section within this type of program could cause significant problems in other areas, which of course would be difficult to detect due to the size of the project. The web services model allows the use of tiny pieces of functionality which can be brought together at run time. Therefore, a given MES application could consist of 1000's of very small web services. Figure 26 attempts to explain this concept in relation to the Ratingen solution described above. Ratingen Workplace User Interface \SOAP Internal UDDI Registry Bill of Materials Workorder Wnding QueueMtr Figure 26: Utilizing web services for MES applications. Let us assume that three web services have been developed which handle specific pieces of MES functionality. The first web service is capable of interacting with an ERP system and returns a list of the items on Bill of Materials for a given product. The second web service again interacts with the same ERP system, but simply returns 71 a list of workorders for a given workstation. The third web service communicates with a motor utilized within a winding machine and displays this information in the form of a plot of r.p.m. over time. Now, let us assume that I am a developer creating an MES application for the Ratingen factory. Rather than utilize a standard programming language such as Visual Basic or C++, I decide to attempt a thin client version of the software using only a web browser as the user interface. My first step is to utilize ABB's internal UDDI registry to find relevant web services. With luck, my search of the registry identifies three web services which can be of use to me. For all other required pieces of functionality, I can simply program additional web services to meet those needs and register them in the UDDI. Next, I create a call statement which returns the WSDL files for the three web services that I desire. With the WSDL file, I can then embed these three web services into my web browser interface. Over time, my library of web services continues to grow and additional functionality can be easily added to my webbased MES application. The point of the story above is to demonstrate how web services changes the traditional programming paradigm. In the traditional programming world, applications are written, compiled, and then installed on client machines. In the web services world, applications are pieced together from individual elements of functionality and executed over a thin client, which only requires a web browser as an interface. Figure 27 displays how this concept would appear in relation to the MES story above. 72 File Edit View Tools L Back Address Favorites ttp Help Search Favorites Media e om Go !W rkordertNumbe Produdtli 000070192062 GCE00000R0101 000070192065 GCE0000000R0101 Links _ Bill Of Materials 14 Internet Mg Figure 27: Running MES through a web browser. As mentioned previously, web services can enable simple customization of applications. This is again achieved due to the modularity of functionality. By simply calling or not calling specific web services, the user interface can be completely customized. If a particular user would like to see a list of workorders for a given workstation that web service will then be embedded in his/her GUI. In this way, the user interface can be customized down to each individual user. By associating a list of web services with a particular user login, the desired web services can automatically be called and presented upon login. Additionally, the given web services can be arranged on the initial web page in any order (i.e. design layout can be customized per user). Finally, web services enable even basic users to add/remove/arrange functionality 73 without any IT knowledge. Administrative screens can be created which make this process accessible to the most IT adverse user. 5.0 Conclusions and Recommendations ABB's concept of developing software applications in conjunction with their standard product offerings is tremendously sound. The Industrial IT program should certainly move the company toward a more service based business model and thereby improve profit margins. Additionally, by developing software close to the product level (i.e. MES level), the company can leverag its extensive product knowledge base. When combining software, products, and an excellent distribution channel, the ability to improve profit margins is undoubted. The following sections attempt to summarize some of the key concepts discussed within the thesis. 5.1 The Business Value of IT in Manufacturing In any company, an investment is made in order to achieve a return on that investment. The same is true of software implemented in manufacturing environments. Therefore many software vendors claim a host of benefits: deliver efficiencies, cut costs, achieve significant return on investment (ROI), enable business productivity, solve problems, optimize assets, leverage resources and maximize customer value [29]. While these statements might prove to be true, they do not provide quantitative assessments of the true value of the IT implementation. This problem has continued to plague software vendors as many customers demand specific figures concerning the value of the investment. In order to assess the business value of the IT investment, one must establish a link between the IT solution and its contribution to business processes. Figure 28 presents a variety of business processes and the potential types of business 74 value that can be created in each area. By focusing on these areas of business value, software vendors can then begin to apply specific numbers to the return on investment. - Faster orders Better information Lower costs - New and improv d products h nels and ar Reued irwentory Manage Services Produce Services Perform Planning Develop Services productivity pr cost - Faster to market - Reduced irnentory - New product - Improved functionality quality - Easier regulatory compliance Deliver - Higher Services - Lower costs - Faster delivery - Reduced inventory Lower costs 8 etter crossselling - Easier customer acquisition More-profitable - Faster service - ette r information Lower costs customers - More responsive Provide Support Services - Easier communications Lower costs Faster decisions Improved recruitment Better staff development - Faster reports Shared knowledge Easier regulatory compliance Better staff development Figure 28: Business Value of IT. [29] Additionally, the business environment plays a significant role in what companies deem valuable. For example, consider the general industry shift from build-to-stock toward build-to-order. These changes promoted an interest in the order end of the manufacturing process and drove the adoption of ERP and CRM [30]. Further, the outsourcing of production to component manufacturers increased the value proposition for SCM, as these applications improved the communications between vendors within the supply chain. Recently, companies have been focusing on improvements of internal efficiencies, which have promoted further use of MES software [31]. 5.2 Creating Generic Software The value proposition discussed above must extend to the software developers as well. A tremendous amount of money and resources are required to develop useful 75 software applications. Therefore the ability to apply a given piece of software within a variety of industries becomes very important. By creating a piece of software that can be broadly applied, the software developer can tremendously improve the profit possibilities of the product. This brings us back to the creation of generic software, discussed in Chapter 4. A major part of the current work was focused on the ability to apply the Ratingen and Lodz solutions to different factories. However, the research concluded that these applications have limited potential for re-use, due to the method of development. This presents a significant problem when considering the return on investment. Because these solutions will only apply to a single factory without further coding investment, all profit potential must come from efficiency improvements at each factory. This extends the payback period for the software well into the future. The recognition of this fact was the primary driver behind the development of the Cell Manager and Line Manager applications. The intent of these pieces of software is to allow application in a variety of locations. For example, the Cell Manager 2.0 application will extend the functionality of Cell Manager 1.0, so that the software can be applied to any manufacturing workplace. Additionally, the Cell Manager 2.0 data model provides a map of required information which will enable further pieces of functionality to be developed. By considering all possible workplaces and recording all relevant data, the Cell Manager 2.0 software should be generally applicable. Further, by generalizing the Cell Manager application, development of Line Manager becomes much simpler. Since all data will be stored within the Cell Manager application, Line Manager must simply aggregate this data and present a higher level view. The ability of Line Manager to be customized is also a critical element to its success. The 76 specification calls for this application to allow for modules of functionality which can be added or removed by individual customers. This modular concept of functionality is the primary key behind the broad application of the software. With these generalized software applications, ABB should be capable of achieving a much faster return on investment, due to the ability to apply the software at a variety of factories. 5.3 Creating Lean Software While the Cell Manager and Line Manager applications should provide improved payback schedules for ABB, the next step in development is to consider the payback for customers. As discussed in Section 5.1, it is critical for software applications to establish links to the underlying business processes. However, if those business processes are poorly designed, their automation with IT will not improve the customer's bottom line. This was clearly explained by Michael Hoag when describing the Computer Integrated Manufacturing movement [4]. Therefore, software applications must provide tools to customers which allow them to improve their business processes. Specifically, these solutions must promote lean manufacturing processes. Within his thesis, Michael Hoag presented a host of possible applications to achieve this goal. For example, Michael presented opportunities to develop software which provided WIP Tracking, Kanban notification, and RFID monitoring of products. Each of these software concepts were intended to improve the manufacturing processes and drive customers toward more lean enterprises. These same concepts have been proposed for the Cell Manager and Line Manager applications. The most critical elements of functionality for this software relate to the ability to track WIP and provide OEE for specific workplaces. While these pieces 77 of functionality are more difficult to develop, they will provide customers with significantly improved returns due to the elimination of waste by going lean. Additionally much work was completed with the Ratingen team in an effort to introduce lean concepts to the current project development. This includes such topics as an electronic Kanban system which is well suited for the build-to-stock nature of the Ratingen factory. 5.4 Web Services as an Alternative The discussion of web services was intended to present an alternative method of development for an MES system within ABB. The current development processes are utilizing a combination of Visual Basic, AIP and SQL to create applications. While these platforms are sufficient, they present significant problems when attempting to create customizable software. In fact, Visual Basic is typically used as a tool for developing very specific custom applications. Each piece of functionality is built into the software and then compiled to create the executable file. While this is an excellent tool for creating applications with specific functional requirements, it presents a challenge when considering applications that must be customized to meet the requirements of varying customers' needs. The best way to explain this statement is to provide an example. Currently, ABB has developed a product called Optimize IT. This application, created in Visual Basic, serves as a tool for calculating the OEE of a particular piece of machinery. This is the only function that the program can complete. However, an MES-type application such as Line Manager must be capable of performing a variety of functions, such as WIP Tracking, OEE, equipment status, and many more. If every customer desired the same pieces of functionality, this would not be a problem. Unfortunately, this is not the case when considering MES applications, as each customer has differing 78 requirements. Therefore, pieces of functionality must be "turned on or off' based on the requirements of a specific user. Visual Basic does not allow for this flexibility. As described previously, one of the major factors behind broadly applicable software is the ability to customize. Therefore, the project teams at ABB must utilize a software platform which enables this ease in customization. Web services present a unique opportunity for enabling this customization by allowing developers to focus on modules of functionality. Within the web services framework, applications are simply a combination of various pieces of functionality, which can be enabled or disabled very easily. Because each piece of functionality has been created using a standard programming framework, they can be called and enabled at will. This makes the process of customization much easier. Because web services are web based, they provide much improved flexibility with regard to installation and connectivity. First, web services are thin clients. This means that the applications (i.e. pieces of functionality) are run on a central server. The information created from these applications is then presented via an Internet browser. Therefore no software applications must be installed on a user's computer, saving a tremendous amount of time and effort. Additionally, because the software is webbased, all information can be accessed from any location with an Internet or Intranet connection. This allows the data to be provided across multiple factories or even different companies/customers/suppliers along the supply chain. Obviously, the value associated with this connectivity is tremendous. By developing MES applications within a web services framework, ABB could significantly improve the acceptance of these applications. 79 pendix A: Data Model for Cell Manager 2.0 assifiCation Info vide current status Running Sub-states Normal operation % of expected production Reason I Reason 2.... Functions Sub-Functions Display green light on main cell screen Display yellow light on main cell screen & notify operator with alarm Present reasons to operator for input & log reason in database with time stamp Stopped Machine Failure Reason I Reason 2... Component I Component 2 Temperature Measurement DataX Display current process on main cell screen Log temperature data for process 1 Log measurement data for process I Log DataX for process 1 Measurement Log measurement for quality station Present quality tolerances. Display reject screen. WorkorderX WorkorderY Log workorder into inbox with time stamp. WorkorderA WorkorderB Log workorder into progress with time stamp. Record workorder, product #, workstation Break Lunch ReasonX.... Product Setup/Adjustment Preventative Maintenance Product I Process Product 2.... Process I Display red light on main cell screen. Notify operator and manager with alarm. Log reason in database with time stamp Display starved symbol on main cell screen. Nobly manager with alarm Log time stamp. Display blocked symbol on main cell screen. Notify manager with alarm. Log time stamp. Display idle symbol on main cell screen. Log time stamp. Display break symbol on main cell screen. Log time stamp. Display lunch symbol on main cell screen. Log time stamp. Present reasons to operator for input & log reason in database with time stamp Display setup symbol on main cell screen. Log time stamp. Display maintenance symbol on main cell screen. Log time stamp. Diplay current product in process on main cell screen. Log component 1 serial number to product numbertworkorder. Log component 2 serial number to product numberworkorder. Starved Blocked Idle Process 2... Quality Station Workorder Enable quality check list to operator. Inbox In Progress Outbox ver CelllWorkplace culate, States information store & display production Info Information button ...... ..... Process Data Process Instructions Setup Instructions Equipment Manuals Maintenance Instructions Maintenance Log Preventative Maintenance Due Dates Product Information Emergency Contact Information WorkorderC WorkorderD Process button Setup button ... Log workorder into outbox with time stamp upon completion. Find and display information on current process being performed. Find and display information on current setup instructions for specified product. ..... Present Cycle Time Average Cycle Time Expected Cycle Time Speed vs. Time History Temperature Pressure Measurement DataX Graph CalcJGraph Graph CaIcJData Data(Graph ..... ...... Number Produced Number ot Rejects CalcJData CalcJData Find and display data from last completed product. Pull data and calculate average for last X products produced. Display graph. Find and display data on OEM standard cycle time. Pull and present data for operation status for last: hour, shift, day, month, year Pull and present data for temperature for last: hour, shift, day, month, year Workorder Data Calculate and display number of products produced this: hour, day, shift, etc.. Sum the number of rejects for last: hour, shift, day, month, year Enable right click to view equipment picture APPENDIX B: Functional Requirements of a Basic APS Package APS FUNCTIONS As with any product, it is critically important to understand the customer requirements in order to develop appropriate functions for that product. The following table presents both a proposed list of customer requirements and product features to satisfy those requirements. The customer requirements can vary tremendously for different companies within the same industry. Looking at the automobile industry provides us a clear perspective. For example, the requirements of the GM Truck Assembly Plant in Fort Wayne, Indiana will certainly be more complex than the requirements for a small vendor that supplies door handles for the trucks. Within the truck assembly plant there are potentially hundreds of thousands of processes that would require accurate modeling and tracking. For the handle manufacturer, there might be ten or twenty processes to model. Therefore the following list of customer requirements should be considered a "representative sampling." This also stresses the fact that any APS system should be developed in as generic a way as to cater to a variety of different companies. Customer Requirement Allows planning of resources Allows planning prior to commitment or execution of plan Allows schedulinq of resources Due date guoting Hour by hour based planning assembled and finished WhatIf Capability Finite Capacity / Heuristics / Forward / Backward / Mixed / Genetic Algorithm Available to Promise / Qapable to Promise "Drag and Drop" Scheduling Gantt Chart / Order Pegging / Real-time Order Status Simple factory model Account for the build up of Work In Process (WIP) Planned raw material release date Ability to track the quantity of APS Feature Sales & Operation Planning / Capacity Analysis Flexible Model Building Bottleneck Manaqement / Buffer Management / Real-time Order Tracking Material Requirements Scheduling roducts Ability to schedule chanoeover, maintenance. and non-working hours Ability to adust the resource's capacity and efficiency and labor standards Ability to set the detail behind each work order Issue the plan in the form of a report, email or Visual Manaaement display Performance Measurement Ability to identify Critical Constrained Resources Size buffers in front of Critical Constrained Resources Allow for exception handling - 'rush' material lead times, 'rush' capacity, oertime Inventory Analysis Flexible Model Building Flexible Model Building Real-time Work Order Dispatch Crystal Reports Interaction ODBC, crv files Analysis Graphs / Reports Bottleneck Management Buffer Management Exception Management Table 1: Customer Requirements and Resulting Features 81 Functions Overview MESA International decribes the functions of an APS system as follows. attributes, priorities, on based sequencing "Provides characteristics, and/or recipes associated with specific production units at an operation such as shape or color sequencing or other characteristics which, when scheduled in sequence properly, minimize set-up. It is finite and it recognizes alternative and overlapping/parallel operations in order to calculate in detail exact time or equipment loading and adjust to shift patterns." While this definition does in fact provide the premise behind any APS system, it lacks much of the detail necessary to completely understand the functions of the system. A more detailed definition describes APS systems as three integrated aspects; Factory Modeling, Process Control, and Process Optimization/improvement. " Factory Modeling - This function of APS systems should be thought of as the ability to define actual plant processes in sufficient detail to provide meaningful schedules for the plant. This requires that the software tool be generic enough to apply to almost any situation. " Process Control - This function of APS systems is defined as the ability to create an appropriate schedule for customer demand via a proscribed decision/calculation process. This piece of the functionality is the actual scheduling process and can be achieved from a variety of tools, including finite capacity scheduling, Heuristics-based scheduling or other tools. A further analysis of this critical component is presented in the control section below. " Process Optimization/improvement - This piece of APS functionality relates to the ability to improve plant performance by collecting and analyzing historical and real-time data. This is first accomplished by ensuring that the scheduling tool model accurately represents the actual plant processes. Additionally, process optimization can be achieved by utilizing Key Performance Indicators (KPIs) and other tools to focus the improvement process. APS solutions contain many features for accomplishing this task, including Real-time analysis and graphing, bottleneck management, capacity analysis, yield management, inventory analysis, and others. 82 Factory Modeling One of the main benefits of APS systems is the ability to overcome the limitations of infinite scheduling. This is accomplished by accurately modeling the material, labor, and resources of the plant. This should be considered the most critical aspect of an APS system as it determines how well the model schedules processes within the plant. There is no set methodology for modeling the plant, but many companies utilize a system of basic blocks for defining each step of a process. These blocks are defined pieces of time that could be attributed to anything from setup of a machine to molding machine processing time to maintenance time for a particular machine. These blocks are critical to improving the ability of the model to predict production times. By constantly comparing the actual time versus predicted time to complete various tasks under different load levels within the plant, the model can be continuously refined to provide a more realistic picture of factory operations. This database of information is often times the best tool for predicting future flow through the plant. Obviously, by improving the detail (i.e. level of resolution) of each process, one can improve the ability of the model to accurately predict flow through the plant. An enormous amount of information can and should be utilized by APS systems. The list below presents some of the inputs required to accurately model a factory. " Workforce Availability (shifts/hours/days, breaks, holidays, training, etc..) " Raw Material Availability (stock levels, re-order points, lead-times (normal/rush), variance) " Resource Availability (maintenance requirements, scrap rate, setup time, teardown time, transfer batch size, repair time, etc..) " Bill of Materials (BOM) " Potential Routings (standard/alternative) " VolumeNariety Forecast 83 Some APS systems take these basic blocks of time and assign them more specific definitions to improve feedback on factory performance. For example, some systems can analyze actual production time data and classify certain resources as critically constrained (CCR). Additionally, specific blocks of time can be inserted into the factory model to serve as buffers for this resource. Figurel below demonstrates a potential "model" for flow around a CCR. Most, if not all, APS systems should incorporate the ability to apply Theory of Constraint models such as the one presented below. Buffer CCR Buffer Figure 1: Critically Constrained Resource Flow Model Process Control The process of determining an "optimal" schedule for a factory is not completely understood even today. A variety of dispatching rules and scheduling tools work under different production situations. Therefore a host of potential techniques are available for determining "optimal" schedules, and which technique works best depends on both the type of facility (complex job shop vs. continuous production system) and the demand levels. The word optimal is placed in quotes, because all scheduling systems make use of heuristics and therefore are unable to truly create optimal schedules. The following sections provide further detail on a few of the more familiar techniques for creating production schedules. 84 Dispatching The process of scheduling every job on every machine in a factory can become very challenging. Dispatching of orders simplifies this process greatly, by sorting jobs according to a specific order as they arrive at a machine. There are several ways of dispatching jobs, all with varying levels of success. The simplest dispatching rule is first-in, first-out (FIFO). As jobs come to a machine, the first job to arrive will be the first to be completed. Simulation studies have shown that this rule does not work particularly well in complex job shops. A second technique for dispatching is shortest process time (SPT). Under SPT, jobs at a machine are sorted by the expected length of processing time. Therefore, this type of dispatching has the effect of clearing out all the small jobs before tackling the larger jobs. While this type of dispatching does decrease average manufacturing times and improves utilization, the variance in average due date performance is very high. This is due to the fact that some very long jobs continued to get pushed out. One way to avoid this problem is to dispatch via the SPT rule. This rule states that the next job to be completed will be the one with the least processing time unless another job has been waiting for x time units or longer. A third type of dispatching is by earliest due date (EDD). This rule works well under conditions where all jobs are approximately the same size and have similar routings. Under EDD, the job with the closest due date is the next job to be completed. In addition to these three rules, there are at least 100 additional dispatching rules. For a good survey of these different techniques, Blackstone et. al. (1982) evaluate each technique by using a simulated factory. 85 Simulation-Based Scheduling Many of the more advanced APS systems apply simulation-based scheduling. This style of scheduling utilizes detailed and deterministic process times in an attempt to model the entire system at a factory. Each step of a process is completely specified, including setup and teardown time. Demand information for the model is pulled from the master production schedule of ERP, as well as the current status of active jobs. With this information, the model applies a variety of dispatching rules at each factory station and evaluates the result against a set of objective functions. The list below presents some of the potential objective functions that are commonly utilized. " Maximize profit " Maximize machine utilization " Minimize number of late orders " Minimize average lateness " Minimize cycle time " Minimize WIP " Minimize Setup times Once the objective function has been satisfied, the model stops and deems the current schedule to be the "best." One of the main advantages to this type of scheduling is that the model can generate a variety of schedules quickly, allowing the user to choose from the schedule that best fits his/her needs. The main drawback to this model is the enormous amount of data that must be constantly maintained. Setup times, processing times, and other measures must be continuously recorded to ensure that they match actual times as much as possible. This signals another of the larger problems with this system. It does not account for variability between the actual and predicted times. 86 However, virtually all finite scheduling systems ignore this variability. One method for reducing errors associated with variability is to regularly run and regenerate the schedule. Bottleneck Scheduling ("Drum, Buffer, Rope") Bottleneck Scheduling is often referred to as one form of optimization-based scheduling. The main difference between optimization and simulation based scheduling is that optimization based techniques rely on an algorithm to search for the best possible schedule. Bottleneck scheduling involves four basic stages: 1. Determine the bottleneck for the shop 2. Propagate the due date requirements from the end of the line back to the bottleneck using a fixed lead time with a buffer. 3. Maximize the utilization of the bottleneck 4. Propagate material requirements from the bottleneck backward to the front of the line using a fixed lead time to determine a release schedule. This type of scheduling is often referred to as "Drum, Buffer, Rope" scheduling, based on its origins within the Theory of Constraints. The drum represents the bottleneck for the plant, and limits the flow of production through the plant. Therefore, the drum sets the beat for production (i.e. the rate at which product can flow through the plant). The buffer is required to ensure that the bottleneck is never starved for product to process. This can come in the form of either an inventory buffer (i.e. ensuring that WIP is constantly sitting in front of the bottleneck) or a time buffer. The rope is utilized to ensure that all other resources in the plant are coordinated with the drum. The rope is similar to a Kanban type system where just enough material is released to satisfy demand. 87 Heuristic-Based Scheduling As mentioned previously, optimization-based techniques utilize an algorithm or heuristic to arrive at a solution. Within the APS community, there are hundreds of possible optimization-based heuristics. One entire class of solutions is based on the branch and bound problem and simplifications to that problem. A branch and bound problem is defined by selecting a partial schedule (i.e. a branch) and then setting a lower limit (i.e. bound) on the makespan that can be achieved by using that partial schedule. In this case, if the bound on a branch exceeds the makespan of the best schedule found so far, that branch is no longer considered. This can become computationally difficult due to the number of potential branches. Therefore, many other heuristics have been developed to minimize the computation time. For example, the beam search checks only a few branches that have been selected by some intelligent criteria. Another class of optimization-based heuristics is termed local search techniques. These solutions begin with a given schedule and then search in the neighborhood of this schedule to attempt to find a better schedule. However, a simple neighborhood search does not typically work well, as there tends to be many poor schedules that look good in a local neighborhood. One potential correction to this problem has been termed the tabu search. This search prevents the most recent schedules from being selected and forces the solution to look further than just in the local area. The use of genetic algorithms is another technique for preventing local optima. In this case a set of "parent" schedules are used to generate "offspring" or new schedules. Then only the best offspring are allowed to survive and reproduce new schedules. A host of other techniques are also available to the scheduler, but will not be discussed within the 88 context of this paper. Additionally, similar to simulation-based scheduling, these heuristic techniques attempt to satisfy objective functions, such as maximizing resource utilization and minimizing average late orders. To gain a better understanding of which solutions work well in various settings, please refer to Operations Scheduling by Pinedo and Chao (1999). Due Date Quoting Although all of the previously mentioned systems assist production schedulers in finding the "best" available schedule, they still contain one big limitation. If the schedule released from the MPS system is infeasible, then no amount of scheduling or optimization will yield a feasible schedule. Due date quoting is a technique which is utilized to solve this problem, but requires much more integration than a simple scheduling program. It also requires one to be capable of specifying reasonable due dates, which sometimes proves to be a daunting challenge. Due date quoting attempts to encompass the functionality of MPS, MRP, and APS. This system is a real-time system which uses the current capacity utilization in the plant, and other features to determine the lead time to quote to customers. By extending the system all the way to the customer quote, due date quoting is capable of ensuring feasible schedules, that is if the system is capable of reliably predicting due dates. Due date quoting constantly adjusts the lead times it offers to customers by analyzing the current capacity levels in the plant and the current schedule. Many APS systems term this functionality Capable To Promise (CTP). This differs from Available To Promise (ATP) type solutions that are present in MRPII systems. ATP solutions provide due date quoting based on both the finished goods inventory and the WIP. CTP solutions extend this functionality, by 89 considering both the on-hand parts availability and availability of parts down the supply chain. Process Optimization-Improvement The final aspect of an APS system deals with optimization and improvement of processes within the factory. These tools are intended to provide the user with information for continuous improvement. The variety of improvement tools available within different software packages is rather large, and therefore, no single APS system contains all potential improvement tools. Additionally, it would prove impossible to describe each tool in length, so the following sections break these tools into specific categories and presents a representative sampling of potential applications. Real-time Controls Real-time controls deal with applications that are updated at a minimum of every hour. These tools are mainly centered on automating parts of the production process and providing assistance to plant personnel. The following list details a few of the real-time controls available in APS systems. " Order Status/Tracking - Allows users to see real time information on where a particular order is in the production plant. " "Drag and Drop" Scheduling - Many APS systems employ a real-time Gantt chart that allows users to see immediately where every job is in the process. This tool also allows users to change prioritization of jobs and processing of jobs by dragging and dropping them in place. * Work Order Dispatch - This is an automation tool that dispatches work orders to the appropriate personnel when an order is released. * Capable to Promise - Provides users with immediate lead-time information for product delivery. 90 System Management System Management tools are applications that collect data and provide users with assistance in finding areas of improvement. The list below provides information on a variety of available diagnostics. * Buffer Management - Calculates and allocates (or recommends) appropriate buffer sizes to ensure appropriate customer service levels. " Exception Management - Provides visibility, monitoring, alerting, and analysis of the extended factory. Some systems not only identify a problem but also attempt to provide resolution paths and simulation capabilities. " Bottleneck Management - Provides the ability to determine the location of bottlenecks and tracks if bottlenecks move. These systems typically also provide assistance in the appropriate way to schedule bottlenecks. * Capacity Planning - Analyzes machine utilization information and other data to assist in planning for future demand. " Operations Planning - Analyzes operations data to assist in planning for future demand. " Inventory Analysis - Attempts to optimize the levels of inventory maintained within the factory. Performance Measurement Performance measurement refers to the tracking and presentation of data on key performance indicators. Unlike system management tools, these tools only provide information and offer no assistance in finding solutions to identified problems. The list below presents some of the analysis graphs and data that are typically provided within APS systems. " On-time delivery percentage " Machine utilization " Throughput rate " WIP " Cycle Time 91 . Lead Time * Machine Yields Feature Set for Basic APS Implementation The goal of this section of the paper is to define a reasonable feature set for a basic APS application. Using the term "basic"' does not mean that the system is overly simple, but does signify that it contains only the most critical functions. While the capabilities of the system defined would not be suitable for the most advanced users (i.e. Dell Computers), it could certainly be applied to a variety of manufacturing situations. Additionally, the feature set described below represents the opinion of the author. Another opinion could yield a feature set that either contains more or less functionality. " Flexible Model Building - The basic system must include some form of user interface for customizing the factory model to specific customer needs. The simplest form of this would be a flowchart type system where the user can build from scratch a flow of processes and machines for a particular production line. * Rules-based Finite Capacity Scheduling - The basic system should allow users to select between at least two types of rules-based finite capacity scheduling, Bottleneck Scheduling and some form of Simulation-based Scheduling. The simulation-based package should be capable of applying a variety of dispatching rules at individual workstations to model the factory. A nice feature would be to allow users to input their own dispatching rules that might be more applicable to their particular situation. Bottleneck scheduling should include some resources to assist with identification of bottlenecks and management of buffers and scheduling of upstream and downstream resources. Visual Planning Board - The basic system should include some visual method of viewing jobs as they move through the factory. This is required to allow planners/schedulers to immediately view and react to any problems. This visual planning board should include functionality to allow a scheduler to analyze the impact of accepting a rush order or anticipate changes if a piece of equipment fails. This board should also allow the scheduler to move operations, split batches, and add overtime if necessary. The figure below demonstrates one possible method of providing visual job management. * 92 --- D2 .P4MA Screenshot courtesy of Prof@x website. What-if Analysis - While many people would consider what-if analysis to be a complex function, almost every APS systems contains some form of this functionality. The basic APS system should include some tools for analyzing the pros and cons of different scheduling strategies. A simple system would provide basic information such as number of late orders or average days late for a variety of dispatching options. * Work-order Dispatching - The basic system should include functionality to output the schedule to the required people. The simplest form of this would be to print the required workorders directly from the system. A more advanced model might include the ability to email workorders to the required locations. * Analysis - The basic system must include the ability to store and present historical data on a variety of key performance indicators (KPIs). These KPIs could include data on waiting times, stock levels, machine utilization, planned vs. actual reports, material usage and others. A more advanced package would also include the ability for customers to create their own graphs and reports based on their needs. * Systems Integration - The basic system must allow for the integration to the other systems. code should be necessary. In other words, an site should be capable of setting up the required include some functions that No changes to the internal IT manager at any customer links to various databases. 93 Future Trends in APS Once ABB commits to developing and selling an APS product, the company must immediately begin to consider what functionality will be required in the future. This will be necessary to maintain a happy customer base and keep up with competitors. While it might seem premature, I believe that a brief discussion of the future trends in APS would prove useful. A great deal of information on the future of manufacturing systems has been collected and documented by a two year research project (1999-2000) in the United States termed the Integrated Manufacturing Technology Roadmapping (IMTR) initiative. This two-year study was conducted by interviewing over 400 manufacturing experts from over 170 companies, government agencies, and industry associations. The goal of the project was as follows: "to lay out a comprehensive plan for research, development, and implementation of manufacturing technologies that will benefit all sectors of industry by providing quantum improvements in efficiency, flexibility, capability, and competitiveness." Table 3 below presents a state map for process planning and execution. 94 - Manual Process Planning Current State of Practice (2000) - PC-based planning systems using templates - Automated process planning systems using both "variant" and "generative" approaches - Scheduling approaches vary widely, from informal manual techniques to commercial MRP systems - Advanced MRP & ERP systems for scheduling Current State of Art (2000) - Finite Scheduling - Support for large scheduling systems is major expense - Enhanced Logistics - Knowledge- & feature-based process planning Expected 2005 State systems - Scheduling optimized based on orders, WIP & profit - Generative, controller-level process planning coupled to product models IMTR 2015 Vision - Simulation models used to optimize process planning - Adaptive modification of process plans based on workload & equipment availability Table 3: State map for Process Planning and Scheduling (IMTR Roadmap) Additionally, there are four major initiatives currently taking place that will set new standards within the APS community. First, many companies are shifting from client-server based software systems to thin client systems. The intent here is to utilize the power of the Internet to improve communication throughout the company or enterprise. Several players have built complete APS packages from the ground up using web-based techniques (webPlan, SynQuest, Syncra). Second, the most significant initiative involves improved collaboration throughout the supply chain. As parts of the supply chain begin to take a more active role in 95 supplying real-time data to an enterprise, the supply and demand plans will become more accurate. This collaboration will also allow the supply chain to react quicker and more efficiently to changes in the demand curve. Third, companies such as Manugistics have begun to integrate pricing/revenue optimization with supply chain planning in an attempt to meld the operations and marketing departments. The thought here is that the ability to model the cause and effect of marketing changes on the supply chain will improve the strategic decision making process. Finally, as more companies move toward global operations, supply chain planning must begin to incorporate the ability to better evaluate the impact of sourcing and distribution to foreign countries. As a result APS solutions will need to become more tightly integrated into transportation and logistics systems. 96 REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] Hayes, Brian Terrabyte Territory. Computing Science, May-June 2002. Sargeant, Roland Manufacturing Execution Software Specification. Internal ABB document, August 2002. Unknown Author Inside Industrial IT Internal ABB presentation. Hoag, Michael Improved Integration of Information in Discrete Part Manufacturing Environments. LFM Thesis, June 2002. Unknown Author, Internal ABB Visio Specification Drawing for Lodz project. Ratingen Project Application Screenshot, September 2002. Staff Report The ABCs of Industrial IT. ABB Review, Number 1, 2002. Sargeant, Roland Internal ABB document, June 2002. Dahl, Ole-Johan and Nygaard, Kristen How Object Oriented Programming Started. Available from http://heim.ifi.uio.no/-kristen/FORSKNINGSDOK MAPPE/F 00 start.html [Accessed 21 February 2003] McConnell, Steve Code Complete. Microsoft Press, Redmond WA. 1993, pp. 152. Unknown Author Industrial IT Fundamentals. Internal ABB presentation. Unknown Author, Internal ABB Presentation. Staff Report An Executive's Guide to CRM. The Patricia Seybold Group, 2002. Simchi-Levi, David Designing and Managing the Supply Chain. McGraw-Hill Higher Eductation, 2000, Chapter 10. Martin, J. and Roth, R. Supply Chain Management Development Strategy, ECRU Technologies, 2000. Seay, Jason Advanced Planning and Scheduling Specification Internal ABB document, August 2002. Hopp, Wallace and Spearman, Mark Factory Physics. McGraw-Hill, Boston, 2001. Unknown Author What is Fieldbus? Available from www.yokogawa.com/fieldbus [Accessed 23 February 2003]. Unknown Author Profibus. Available from www.softin.com [Accessed 23 February 2003]. Unknown Author OPC Technical Overview. OPC Foundation, 1998. Unknown Author OPC Product Overview. Softing, May 2002. Unknown Author MES Explained: A High Level Vision. MESA International, White Paper #6, September 1997. Sargeant, Roland and Seay, Jason MES for Discrete Manufacturing: An Overview. Internal ABB document, August 2002. Bayoumi, Deia lIT in Distribution Transformer Manufacturing. Internal ABB presentation, 2001. Unknown Author Produce IT Cell Manager Product Description, Internal ABB document, September 2002. Barefoot, Darren Web Services Primer. Available from http://www.capescience.com/education/primer/index.shtml [Accessed 20 March 2003] Greenspan, Jay Introduction to XML. Available from http://hotwired.lycos.com/webmonkey/98/41/index1a.html [Accessed 20 March 2003] 97 [28] Unknown Author .Net Developer Training. Microsoft presentation 2002. [29] Roberts, John The Business Value of /T Vendors. Gartner Research, Note DF 18-9870, January 2003. [30] Robb, Drew Rediscovering Efficiency. ComputerWorld, Vol. 35, Issue 29., pp. 54. [31] Prouty, Kevin AMR Research Note, 2001. [32] Unknown Author ABB Form 20-F. File with Securities and Exchange Commission, Washington D.C., June 2002. 98