US20020161727A1 - Methods and systems for electronics assembly systems pricing and customer benefit sharing - Google Patents

Methods and systems for electronics assembly systems pricing and customer benefit sharing Download PDF

Info

Publication number
US20020161727A1
US20020161727A1 US09/873,023 US87302301A US2002161727A1 US 20020161727 A1 US20020161727 A1 US 20020161727A1 US 87302301 A US87302301 A US 87302301A US 2002161727 A1 US2002161727 A1 US 2002161727A1
Authority
US
United States
Prior art keywords
customer
simulation
electronics assembly
count
repair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/873,023
Inventor
Tuan Nguyen
Anthony Duck
Ian Rawles
Thomas Mair
Robert Gray
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Energy and Automation Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US09/873,023 priority Critical patent/US20020161727A1/en
Assigned to SIEMENS DEMATIC ELECTRONICS ASSEMBLY SYSTEMS, INC. reassignment SIEMENS DEMATIC ELECTRONICS ASSEMBLY SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DUCK, ANTHONY PETER, MAIR, THOMAS, GRAY, ROBERT, RAWLES, IAN, NGUYEN, TUAN
Publication of US20020161727A1 publication Critical patent/US20020161727A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32338Use new conditions for model, check, calculate if model meets objectives
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32343Derive control behaviour, decisions from simulation, behaviour modelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32352Modular modeling, decompose large system in smaller systems to simulate
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32359Modeling, simulating assembly operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34038Web, http, ftp, internet, intranet server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates in general to the field of electronics assembly systems and, in particular, to tools and methods for assisting consultation and sales efforts relating to such systems.
  • a spreadsheet such as Microsoft Excel® 98, for example, can be used to perform static modeling of an assembly line. While spreadsheets are easy to use and provide generally good results for static modeling, however, they do not adequately take into account how various factors interact with each other.
  • a spreadsheet can be configured to show that certain pieces of equipment in an assembly line may have a downtime of 25%, but it cannot be configured adequately to show that at various times, all of these pieces of equipment might be down at the same time, much less predict the actual impact such an event might have on line performance.
  • Discrete event simulation software products such as Witness® 2000 (available from Lanner Group, Greenwich England), can provide better estimates of how a line may actually operate.
  • One drawback of using existing discrete event simulation products is the amount of time and skill they demand to set up a simulation of an actual or proposed system.
  • Most discrete event simulation packages require that highly detailed simulation objects be created by the person performing the modeling. These objects contain numerous parameters, some of which may be variable in nature and some of which are inherent in the piece of equipment that the simulation object represents.
  • the well-founded presentation based on an accurate assessment of the customer benefit particulars of one or more proposed electronics assembly system configurations, would also ideally provide a basis for a variety of customer benefit sharing approaches that would permit the two parties to allocate risk and reward in a mutually agreeable fashion that places the proper incentives on both parties.
  • the present invention provides a set of approaches for electronics assembly equipment manufacturers, solutions providers and other suppliers to make offers to customers based on a benefit sharing basis.
  • the various embodiments of the present invention are applicable to electronics assembly systems, equipment, solutions or other offering, and may be referred to below collectively as electronic assembly systems solutions.
  • One embodiment of the present invention provides for a method for pricing an electronics assembly system solution for a customer.
  • a customer benefit to be realized through the use of the electronics assembly system solution is predicted.
  • a customer benefit guarantee is then generated, based on the predicted customer benefit, and a message relating to the customer benefit guarantee associated with the predicted customer benefit is transmitted to the customer.
  • Another embodiment of the present invention is directed to a method for financing the price of a customer's purchase of an electronic assembly system solution.
  • An electronics assembly system solution is provided (i.e., arrived at or defined), and a customer benefit associated with the solution is computed. Then, a monetary value based on the customer benefit is derived, and an amount based upon this value is collected from the customer.
  • a method for selling a customer an electronic assembly system solution is disclosed.
  • a performance-based contract for sale of the assembly system solution is offered, wherein the price of the solution is a function of the performance of the solution,
  • the assembly system solution is delivered.
  • the performance of the delivered assembly system solution is monitored, and compensation for the seller is assessed based upon the monitored performance and the price function.
  • a customer benefit associated with the solution is computed, as is a monetary value based on the computed customer benefit.
  • An amount based on the computer monetary value may then be collected from the customer.
  • FIG. 1 is a flow chart illustrating the overall file structure and logic flow of one embodiment of the present invention.
  • FIG. 3 illustrates the files and directories that are set up when the tool according to an embodiment of the present invention is run.
  • FIGS. 4 - 4 C are screen views of spreadsheets (e.g., in MS Excel®) configured to act as interface for inputting shift schedule data in an embodiment of the present invention.
  • FIGS. 5 - 5 C are screen views of spreadsheets (e.g., in MS Excel®) configured to act as an interface for inputting line configurations in an embodiment of the present invention.
  • FIG. 6 illustrates how pull-down menus, in an embodiment of the present invention, may be used with the screen shown in FIG. 5.
  • FIGS. 7 - 7 F illustrates a partially populated line configuration spread sheet interface in an embodiment of the present invention.
  • FIGS. 8 - 8 B illustrates a board data input interface in an embodiment of the present invention.
  • FIG. 10 is a screen view of an output interface in the form of a spreadsheet that is capable of generating customer specific reports, in an embodiment of the present invention.
  • FIG. 11 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Boundaries” button of FIG. 10 is selected.
  • FIG. 12 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Set-up” button of FIG. 10 is selected.
  • FIG. 13 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Quality” button of FIG. 10 is selected.
  • FIG. 14 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Maintenance” button of FIG. 10 is selected.
  • FIG. 15 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Cost of Ownership” button of FIG. 10 is selected.
  • FIG. 16 is a screen view of a graphical report of Cost of Ownership, in an embodiment of the present invention.
  • FIG. 16 a is a flow-chart illustrating a cost of ownership routine, in an embodiment of the present invention.
  • FIG. 17 is a flow-chart illustrating a process for using the Customer Benefit Tool, in an embodiment of the present invention.
  • FIG. 18 is a diagram showing a set of relationships between customer benefit modeling according to the present invention to various aspects of objectives of a business model that may employ aspects of the present invention.
  • FIG. 19 is a diagram showing a set of relationships between customer benefit modeling according to the present invention to various aspects of objectives of an alternative business model that may employ aspects of the present invention.
  • FIG. 20 illustrates an electronics assembly systems solutions business model embodying and employing aspects of the present invention.
  • FIG. 21 graphically shows electronics assembly customer benefits and enablers provided by various aspects of the present invention.
  • FIG. 22 graphically illustrates an electronics assembly solutions value proposition from a customer project life cycle view.
  • FIG. 23 is a high-level flow-chart illustrating a consultative sales process business method according to the present invention.
  • FIG. 24 is a flow-chart illustrating a method for using the customer benefit modeling tool of the present invention to develop a basic line scenario.
  • FIG. 25 is a flow-chart illustrating customer project life cycle development in accordance with the present invention.
  • FIG. 26 is a flow-chart illustrating customer project life cycle development with added optimized design capabilities, in accordance with the present invention.
  • FIG. 27 is a flow-chart illustrating customer project life cycle development with added automated performance monitoring capabilities, in accordance with the present invention.
  • FIG. 28 is a flow-chart illustrating customer project life cycle development with added capabilities to share data between design and monitoring activities, in accordance with the present invention.
  • FIG. 29 is a flow-chart illustrating customer project life cycle development with added optimized performance capabilities in which a common database is used, in accordance with the present invention.
  • FIG. 30 is a flowchart illustrating an embodiment of a consultative sales method according to the present invention.
  • FIG. 31 is a flowchart illustrating an alternative to the embodiment of FIG. 30, which steps providing for the modification of a proposed assembly system solution.
  • FIG. 32 is a flowchart illustrating an embodiment of a consultative sales method according to the present invention, in which the configuration, modeling and evaluation of electronics assembly configurations is performed in an iterative manner until a performance measure satisfies one or more customer constraints and an offer is made.
  • FIG. 33 is a flowchart illustrating an alternative embodiment of a consultative sales method according to the present invention, in which the configuration, modeling and evaluation of electronics assembly configurations are performed
  • FIG. 34 is a flowchart illustrating a method for pricing an electronics assembly system solution.
  • FIG. 35 is a flowchart illustrating a method for financing the price of a customer's purchase of an electronic assembly system solution.
  • FIG. 36 is a flowchart illustrating a method for selling a customer an electronic assembly system solution.
  • the present invention provides, among other things, tools and methods that enable quick and easy modeling and simulation of production assembly lines without the need to spend days or weeks building simulation models. It is particularly well-suited for use in modeling electronic component assembly production lines. Of course, it is also useful in modeling other assembly and manufacturing processes. Because the present invention enables quick, efficient modeling that typically can be performed in approximately 30 minutes or less, it is an ideal tool for use by electronics assembly equipment salespersons, as well as consultants and customers.
  • the present invention provides methods and tools for modeling a configuration for, among other things, an electronics assembly system and generating performance measures associated with a given configuration based upon a simulation of the behavior of the system.
  • the methods and tools make it possible for an electronics assembly equipment salesperson or consultant to generate a simulation model for purposes of a sales pitch or a consulting project within approximately half and hour, or even less, to conduct model-based prediction of system performance under various configuration assumptions, and finally, to generate for an actual or prospective customer one or more expected cost of ownership values for particular configuration assumptions.
  • the consultant or salesperson can generate and evaluate configuration options for a customer in “real time” or “on the fly”, during the course of a session with the customer.
  • the customer benefit modeling tool of the present invention enables trained consultants to accurately model current and future customer assembly systems at the line, multi-line, shop floor and factory levels. It also enables the performance of customer systems to be expressed in a range of key metrics that include, for example, throughput, cost performance, yield, OEE and COO.
  • the customer benefit tool according to the present invention can be used to accurately represent production reality because, in one embodiment, it can handle distributed inputs and events by using a dynamic model based on discrete event simulation. This modeling approach enables separate analysis of system design issues (e.g. equipment configuration, wip buffer sizing) and operations issues (e.g. staffing, material availability).
  • the customer benefit modeling tool can also provide customer/project specific target benchmarking under defined, ideal operating conditions (e.g. no break downs, no run outs). That is, the performance that one would expect under short duration “acceptance testing.”
  • the tool may also be configured to enable target production metrics to be established based on realistic conditions. It can also be configured to model the impact of changing operations related variables.
  • the tool advantageously allows customer models to be validated under “acceptance test” conditions to ensure that the machine based processes and cycle times have been accurately modeled.
  • the tool may allow a customer-specific model to be calibrated against real data.
  • the validation process may focus on throughput or yield. In one embodiment, throughput is dominant factor.
  • a user proposes a configuration for an assembly line by selecting from among objects that represent assembly line equipment and parameters characterizing the operation of the equipment.
  • the assembly line equipment often has various operating characteristics well-known to industrial engineers (e.g., mean time between failure, mean time to repair, how often a piece of equipment needs manual assistance, how long the manual assistance takes, etc.).
  • these operating characteristics are empirically derived statistical measures or models that may be fixed or that may vary as a function of one or more variables.
  • the order in which the equipment will be laid out to form a line may also be part of the configuration process.
  • Specific values for the operating characteristics, determined statistically, are associated with each piece of equipment in the proposed line configuration. Shift data, production part data, and other line parameters may also be assigned values.
  • the configuration and associated operating characteristic values are then used to build a discrete event simulation.
  • building a discrete event simulation requires creating detailed simulation objects.
  • templates may be created in advance for each simulation object and values may be read into the template to create the simulation object.
  • performance results gathered for those trials are exported to a reporting means.
  • the reporting means may contain an interface that allows the user to input specific data, which in turn would allow for custom reports to be generated that present the performance results in a manner that can be tailored by a salesperson or consultant to the needs of the customer or the situation.
  • the assembly equipment modeling and simulation according to the present invention may be performed virtually anywhere, using suitable computer software, further described below, that runs solely on the process of any type of personal computer, or in a client-server fashion over a network, such as the Internet, or in communication with sites on the World-Wide-Web.
  • the computer software provides a means for representing assembly line components and parameters in a configuration that is chosen on the fly.
  • a means for reading data and parameters about each selected component and proposed line configuration and parameter setting is also provided.
  • a simulation generating means takes the inputted line configuration and parameter setting and associated data and uses that information to generate a simulation, which in some embodiments involves building simulation objects from templates. Output information derived by running the simulation over a suitable number of trials is sent to a reporting means.
  • the means for representing the assembly line components in the user-chosen configuration and having user-chosen parameter settings, as well as the reporting means may take the form of a spreadsheet. Since the reporting means may be a spreadsheet, it may be configured to accept user-specific inputs and generate custom reports based on this information.
  • a consultant, sales person, customer, or an assembly line designer can quickly perform sophisticated simulations on a computer by inputting or selecting simple designer computer representations, e.g., designer objects, which represent particular pieces of equipment that are used in an assembly line, from a set of such representations created in advance.
  • simple designer computer representations e.g., designer objects, which represent particular pieces of equipment that are used in an assembly line
  • simulation objects are described, but the invention contemplates the use of any suitable computer representations.
  • the computer is configured to take this list of designer objects, and import from a database key parameters for each designer object in the list, as well as other production line data; launch a discrete event simulation tool, which contains templates for detailed simulation objects; build detailed simulation objects from the templates and the designer objects; run a simulation, using simulation software, such as Witness®, ProModel,® Automod,® Simul8,® Arena,® Saimple®; and output specific simulation and modeling parameters in a user friendly manner.
  • simulation software such as Witness®, ProModel,® Automod,® Simul8,® Arena,® Saimple®
  • the present invention achieves its efficiency for several reasons. Notably, the populating of detail-intensive simulation objects in the simulation tool is largely automated. A user performing the simulation needs only a low level of computer skill and does not need to spend large amounts of time setting up and building a simulation.
  • the user input interface takes the form of a spreadsheet, preferably an MS Excel®, spreadsheet. From the spreadsheet, the user can build a simulation model in a sophisticated simulation software package, examples of which were listed above, launch the simulation software, and run the simulation. After a particular simulation is run, the outputs may stored in a separate spreadsheet.
  • FIG. 1 provides a high-level logic flow for one embodiment of the present invention.
  • MS Excel,® spread sheets may be configured to function as input interfaces.
  • Visual Basic forms and Web forms may also be configured to function as the input interfaces. Not all of the input interfaces needs to take the same form.
  • a salesperson's interface may be a spread sheet
  • a customer's may be a web form
  • a consultant's may be a Visual Basic form.
  • Those skilled in the art will recognize that various software can be used to generate the input interfaces and in some cases they may be written from scratch by a skilled programmer.
  • the interfaces may be adapted to a specific type of user. For example, there may be one interface for use by salespersons, another for use by consultants, and yet another for use by customers.
  • dialog boxes may be created as part of the input interfaces. This allows for easy inputting of data and allows for selecting in advance the number and type of inputs available.
  • a routine is run to create and put the data in correct files and formats necessary to run a simulation.
  • the routine at step 2 formats the data that was entered through the interface at step 1 for use with a particular simulation software package according to the requirements of that package. For example, the interface may allow a user to input cycle time in hours or minutes, but the simulation software may need cycle time in seconds.
  • the simulation software may need cycle time in seconds.
  • witness® 2000 has a specific format for shift data; however, it may be easier for a user to input shift data in terms of start time, break time, and end time.
  • the routine at step 2 takes the shift data as entered by the user and builds files and structures that can be used by the simulation package (e.g., Witness® 2000 or other available package).
  • data may be exported from the input interface directly to the simulation package.
  • the routine in step 2 builds the module that is shown in Step 3 as the CBM_Transfer.XLS module.
  • This module may, but does not necessarily, take the form of a spreadsheet.
  • This module contains all the files and data in the format required by the simulation software.
  • the module shown in Step 3 is a repository for the information read in from the interface.
  • the files and data in this module have a fixed structure that is required by the simulation software.
  • step 4 Another routine is executed to build simulation objects from the templates, step 4 .
  • the code for implementing this module, in an embodiment of the present invention, is shown and described below.
  • data, files, and information are read into the simulation software from the module of step 3 to build a simulation.
  • the simulation software is launched.
  • step 5 a simulation is run, step 5 .
  • the simulation is run and displayed on a computer screen.
  • a routine then exports values from the simulation routine to a Reports spreadsheet, such as for example, an MS Excel® spreadsheet, step 6 .
  • the Reports spreadsheet may contain a user input interface to allow for the generation of custom reports based on customer-specific data.
  • the reports may be generated in the simulation software in addition to or in place of a report spreadsheet.
  • an input interface spreadsheet is configured to accept certain set-up data, such as the name of the project being modeled, file management information, time of the simulation run, etc.
  • the user may, for example, enter the directory where the simulation software is saved.
  • the user may also input a project name, and the user may input a simulation time in a convenient unit, such as days.
  • the input spreadsheet can be configured with a soft button or other selection mechanism, such as the “Create Project” button shown in FIG. 2.
  • a soft button or other selection mechanism such as the “Create Project” button shown in FIG. 2.
  • the appropriate subdirectories appear and the required files are copied.
  • FIG. 3 illustrates files and directories that are created in the background when the “Create Project” button is selected in one embodiment.
  • a CBM directory may be created and appropriate templates copied.
  • a project directory may be created for a specific project and populated with appropriate templates and files, such as the CBM.XLS, CMB-Transfer.XLS, and the CBM_Reports.XLS, as shown.
  • FIG. 2 various other soft buttons may be employed to select various user interfaces and user requested processes.
  • the “Shift Data” button opens a user interface as depicted in FIGS. 4 - 4 C.
  • This interface also takes the form of a spreadsheet. The user populates this spreadsheet with appropriate shift patterns, an example of which is shown in FIGS. 4 - 4 C.
  • the user may select the “Line Configuration” button, shown in FIG. 2. Upon selecting this button, the screen in FIGS. 5 - 5 C appears. The user may then select the equipment to be added to the line. The user also can select where to insert a piece of equipment. As is shown in FIG. 6, a drop down menu can be employed to facilitate populating this spreadsheet.
  • Adding a piece of equipment results in the addition of a row in the line configuration spreadsheet and adds to the number of lines which are stored in process cells of the board spreadsheet, discussed below. (See FIGS. 7 - 7 F).
  • the process of adding equipment is continued until a line is completed.
  • the first version of the line can be manipulated. Clicking on “Main” returns to the main user interface.
  • FIGS. 5 - 5 C illustrates, without limitation, some of the parameters that may be associated with a specific piece of equipment.
  • the values for these parameters may be stored in an object parameter database, which may take the form of another spreadsheet, that can be periodically updated based on real-world experience.
  • An advantage of maintaining a parameter database as a separate spreadsheet is that it may be updated over time with empirically derived, real-world data, that is gathered in the field for each component and each line configuration that is developed. For example, the components of an assembly line can be configured to automatically track the data required for these parameters. That data can then be used to update the second spreadsheet.
  • the tool may use the latest data available at the conclusion of each project, where the tool is employed, to update the object database parameters.
  • the user can input specific board data by selecting the “Board Data” button at the main user interface shown in FIG. 2. As is shown in FIG. 8 the user may enter cycle times for every piece of equipment, enter board specific data, enter a board to use for the simulation, and then return to the main menu by clicking on “Main.”
  • the user executes one or more routines that build simulation objects from the data in the spreadsheet.
  • the spreadsheet can be configured with a soft button, such as the “Create Simulation” button, to build the simulation objects and, in some embodiments, may automatically run a simulation; in other embodiments, the user may be prompted to run the simulation after the simulation objects are built.
  • FIG. 9 illustrates a screen view that is reached by selecting the “Create Simulation” button. At this point, all data out of the simulation is transferred from the input interfaces to the CBM_Transfer.XLS module, a Base.Mod is copied to the project directory, and Witness® 2000 or other simulation software is opened. The simulation is started and the line or other electronics assembly configuration is built on the screen.
  • the process for building the simulation objects may be streamlined by creating templates in the simulation software for the simulation objects.
  • the templates according to the present invention may contain certain values for the parameters for each piece of equipment or process step that are inherent and cannot be readily varied. For example, the conveyor speed, machine routing logic, and station to station time of a pick and place machine is often fixed. Some of these values may be proprietary.
  • One advantage of burying the proprietary values in the template is that the contents of the template is usually not readily accessible to the user.
  • the template may also contain place holders for values for other parameters that may vary. These values correspond to the parameters and data in the populated spreadsheet.
  • FIG. 7A depicts certain parameters for a cluster of two Siemens® HS 50, such as Mean Time Between Failure, etc.
  • the Simulation object template for the HS 50 cluster has corresponding parameters that utilize the actual values from the populated spreadsheets.
  • a simulation development tool interfaces the spreadsheet with the discrete simulation software.
  • the development tool extracts data from the user interface spreadsheets and other sheets, e.g. board data, shift data, etc. It puts this data in a Transfer File, such as, CBM_Transfer.XLS, where the data can be used to the build large and data intensive simulation objects in the discrete event simulation software.
  • the development tool uses an OLE connection to interface a spreadsheet, such as MS Excel®, with a discrete event simulation software package, such as Witness® 2000.
  • simulation software such as ProModel® (available from Promodel Corp., Provo Utah), Automod® (available from Autosimulations, Provo Utah), Arena® (available from Systems Modeling, Pittsburgh Pa.), Saimple® (available from AESOP GmbH, Germany) can also be used.
  • the development tool has grouping functionality similar to that found in products such as Microsoft Powerpoint,®
  • a lock function can be incorporated.
  • the lock can be on a module base and the lock may be password protected.
  • simulation objects After the simulation objects are built, they may be outputted, e.g., to the screen, in a spreadsheet form as is shown in FIG. 9.
  • a simulation may be run by selecting a button to execute the simulation, or the simulation may be programmed to run automatically after it is built.
  • outputs from the simulation software may be exported to an output spread sheet.
  • outputs may comprise data such as the number of circuit boards processed per time period of simulation and utilization of machines and conveyors.
  • the present invention could be used in other areas besides the electronic assembly area and would provide data appropriate to these areas.
  • the output spreadsheet may be configured to accept certain inputs, such as boundary conditions, exchange rates, and depreciation rates.
  • the output spreadsheet may contain buttons such as those shown in FIG. 10.
  • the spreadsheet may also be configured to provide useful machine and assemble line data, such as cost of ownership and machine statistics.
  • Selecting the “Boundaries” button opens the interface shown in FIG. 11 and allows the user to enter boundary data. Selecting the “Setup” button results in the launching of an interface as depicted in FIG. 12 and allows the user to enter Setup information. The user may also select the “Quality” button to launch an interface as is depicted in FIG. 13. This allows the user to input quality data and criteria. Likewise, the user can input maintenance data by clicking on the “Maintenance” button, which launches another input interface permitting the entry of maintenance-related information. (See FIG. 14).
  • FIG. 15 depicts a spreadsheet configured to provide cost of ownership data. The data may also be depicted graphically as is shown in FIG. 16. Typical cost of ownership calculations may employ the following equations.
  • Cost per Year Investment*depreciation(%)*(1+Interest Rate)+Labor cost Operator+Labor cost Technician+Electricity cost+Air costs+Nitrogen costs+Floorspace costs+Spare part costs+Setup cost+Maintenance cost. All costs may be summarized per year.
  • FIG. 16A is a flowchart illustrating how a cost of ownership function may be configured. Typically, cost of ownership will be calculated in conformance with SEMI E 35 standards, which are hereby incorporated by reference.
  • the present invention allows simulation objects to be built, and simulations to be run, in a comparatively short period of time, it is possible to quickly and easily model actual production line configurations.
  • This modeling allows the accuracy of the simulation to be accessed and also allows simulation parameters to be adjusted to improve the overall performance of the simulation tool. For example, if the cycle time of a particular machine were reduced by one second, the tool can be used to predict the effect on the entire line's performance.
  • the present invention provides numerous advantages when modeling and designing assembly lines and other systems.
  • the present invention provides an easy-to-use customer benefit modeling tool that is readily adaptable for use in the electronic assembly systems equipment and/or solutions areas. It enables a method for applying customer benefit modeling to permit new pricing and financing arrangements for the electronic assembly systems, equipment and solutions areas, and it provides for a consultative sales process that employs these modeling approaches.
  • consultants and others may employ the customer benefit modeling to develop performance-based contracts for configuring and/or selling of assembly and/or production systems.
  • all consultants employing the tools and techniques of the present invention will have at their disposal standardized calculating schemes. This will enable improved solutions business models based on analysis, modeling, simulation, and quantification of customer benefits.
  • the tools and techniques of the present invention may be used to provide a model-based, closed loop process control approach to electronic assembly.
  • An optimizer module based on advanced computing methodology may be added, as well as a combined business rule repository/optimizer module for electronic assembly systems, equipment and/or solutions.
  • a combination data mining module and business rule repository may also be added.
  • the present invention may also be enabled to function over a network, such as the Internet. Consultants and customers can then access the tools and methods of the present invention from virtually anywhere.
  • a web-based version allows the simulation objects to be centrally maintained and the database of parameters for the designer elements may also be centrally maintained and readily updated.
  • FIG. 17 illustrates the logic flow of how the present invention may be used.
  • a consultant first inputs, in a defined user interface, a configuration resembling an existing assembly line, step 1001 .
  • the consultant may do this by selecting or inputting predefined Designer Elements, 1002 , which may include values for certain operating parameters associated with the equipment and line being modeled. These values may be stored in a separate database, which can be periodically updated. This results in a base case configuration, Step 1003 .
  • various data such as actual customer data inputs, 1004 , including actual operating parameters from the existing line may be incorporated and used to adapt the default data of the base case, step 1005 . If data on the actual operating parameters is not available, default data can be used.
  • a simulation is re-run using the actual customer data, step 1007 . The values obtained by the model can be compared with the customer's actual production line data
  • the consultant may attempt to optimize certain line parameters, such as cycle times, times to repair a particular machine, length or speed of conveyors, etc. It is also possible to allow the simulation software to automatically optimize some of these parameters. For example, Witness® 2000, contains a function to do this automatic optimization. Some of these parameter values may have initially been incorporated from the data associated with the Designer Elements.
  • step 1011 Another simulation is created, step 1011 . If the simulation produces erroneous results, it may be necessary to redefine and re-adapt the default data to the project at step 1005 . If the results produced at step 1011 are reasonable, the configuration and associated parameters can be stored in a database, 1020 , or the optimization step 1009 , may be re-run to further optimize the line.
  • Logic flow line 1050 in FIG. 17 shows one possible embodiment where the operating parameter database associated with the designer elements is updated based on real world experience. This database may be updated and be customized to reflect actual experiences of a particular customer.
  • the customer benefit modeling tool of the present invention may support various business models and methods.
  • the tool may be used as part of a method of doing business for an electronics assembly solutions business, such as is outlined in FIGS. 18 and 19.
  • An electronics assembly solutions business method may employ various phases, as is outlined in FIG. 20.
  • phase 1 a PCB assembly line may be modeled statically and a simulation may be run using performance metrics that are estimated and may perform sensitivity analysis.
  • phase 2 data may be collected from the PCB assembly line.
  • phase 3 data mining may occur through a Facilitator. The data collected may be used to perform modeling and simulation, as well as parameter estimation to validate performance metrics, perform sensitivity analysis, to perform forecasting and prediction.
  • a business rule repository may be implemented that may, in some embodiments, acquire expert knowledge—from consultants and customers.
  • the business rule repository may exchange information with modeling and simulation parameter groups, which may in turn with the business rules repository data be used to do line optimization. Performance may be optimized by the use of an Inference Engine.
  • the method may be web-enabled using web portals and may provide feedback to the PCB assembly line for closed loop control.
  • the electronics assembly solutions business method may focus on the line, multi-line and shop floor levels in a customer's electronics assembly facilities.
  • Customers may be both original equipment manufacturers (“OEMs”) and contract manufacturers (“CMs”).
  • a solutions business method may encompass a scope of supply that includes placement machines and other machines from Certified Partners, line level software products and a full range of service and support capabilities.
  • the sales of electronics assembly solutions may be managed through a new Consultative Sales Process based on Customer Value Space Analysis and Fulfillment.
  • the primary opportunities to increase customer solutions value include: Increased utilization, throughput, yield, flexibility and responsiveness; Reduced inventories; and Effective new product and new technology introduction.
  • Long term performance may be optimized through bundled packages of innovative software and consulting services. This may enable real people in real factories to achieve high levels of ongoing system performance. Once a system has been modeled and implemented, real production data can be used to calibrate the model and improve the accuracy of future system changes.
  • FIG. 21 graphically represent the advantages that are achievable with the tools and methods of the present invention when compared with prior art tools and methods.
  • key enablers i.e. products, methodologies, practices, tools, software applications, services, etc. enable customers to improve their performance and enhance performance metrics. Enhancement may be improved as part of an ongoing production line.
  • FIG. 22 graphically illustrates a solutions value proposition from a customer project life cycle view.
  • new line requirements are defined.
  • basic configuration is selected.
  • Suggested modifications are simulated, performance is analyzed, and the line configuration is optimized.
  • a final line configuration is defined and a customer is shown the value of the optimization.
  • Key performance metrics are defined and a contract implementing the optimization is negotiated.
  • the customer benefit modeling tool of the present invention enables a business method that includes the steps of providing a specific set of documented, quantitative consulting process by trained consultants within a defined consulting framework.
  • a consultant benchmarks existing customer operations; identifies and prioritizes solutions opportunities at a customer site; designs optimized solutions comprising machines, software tools, and operating parameters, such as staffing; defines achievable target performance metrics for proposed solutions; and quantifies and shows the customer benefit of implementing the proposed solutions.
  • the tools and methods of the present invention define: optimum shop floor configuration for a defined set of products and production volume; optimum line configurations and specific equipment within the shop floor; optimum batch sizing; set-up and changeover strategy; achievable target set-up and changeover metrics; achievable target run-time performance metrics; the operating environment needed to achieve target performance metrix, such as staffing, material supply, maintenance, operating rules; when and how to introduce specific new technology; and when and how to introduce new products.
  • the customer benefit modeling tool can accurately predict the performance of real production systems because it uses a dynamic model based on discrete event simulation. Accordingly, it enables customer system performance to be expressed in a range of metrics, including for example, throughput, cost performance, yield, OEE, and COO.
  • An embodiment of a method according to the present invention of using the customer benefit modeling tools described above involves managing a given customers specific project through a series of phases defined by a consultative sales process, as is outline in FIG. 23. These method steps include:
  • Step 450 phase 1 —Identify opportunity.
  • this step which is a solution level, custom details, primary issues and goal are identified. Key criteria, such as needs, willingness to pay, and potential costs and savings are also identified.
  • This step may be performed by a consultant or salesperson. If performed by a salesperson, a consultant may provide any necessary support.
  • Step 460 phase 2 —Identify specific high level analysis.
  • specific opportunities are identified for detailed analysis.
  • the customer benefit tool of the present invention enables a consulting process, which may include showing a rough solution with value potential to a customer. In some embodiments, this will be generated on the fly during a sales call or initial meeting with the client. “What if” scenarios can be evaluated quickly to illustrate the value that can be added for the customer.
  • Step 470 Phase 3 —Detailed Customer value analysis.
  • phase 3 Detailed Customer value analysis.
  • the customer benefit modeling tool of the present invention enables a consultant to show accurately the solutions value potential. “What if” changes and benefits can be analyzed. In this phase, more detailed analysis is performed.
  • the consultant is paid for his time and efforts in this phase, whereas in phase 2 , the consultant or sales person may make only sales pitches and therefore not be compensated for the effort expended there.
  • Step 480 phase 4—Implementation plan and contract.
  • a detao;ed performance improvement plan for each area from phase 3 is developed.
  • a value based implementation contract may be drawn-up and negotiated.
  • the equipment, software, implementation plan, scope of consulting and technical services can be specified.
  • Step 490 phase 5 —Implement.
  • the plan of phase 4 is implemented.
  • the proposed customer benefits of the proposed solution are validated.
  • This phase provides an opportunity for the consultant to demonstrate excellent implementation capability.
  • the consultant also has the opportunity in this phase to become a preferred supplier (over internal resources) for the next project.
  • the consultant in some embodiments, is paid on a value added basis.
  • a consulting knowledge management process can be used to organize, update, and disseminate knowledge about the customer benefit tool, the consulting process, the consulting framework and the customer solutions database.
  • the consulting knowledge management process comprise: Documenting; Training; Performing case studies; and Meeting to discuss “Best Practices.”
  • the customer benefit modeling tool of the present invention is particularly well-suited to enable electronics assembly solutions selling based on customer value.
  • the tool allows firm performance metrics to be established for any electronics assembly solutions project prior to implementation.
  • the metrics may span the range from throughput, basic cost performance and yield, through overall equipment effectiveness (“OEE”) and onto full cost of ownership (“COO”).
  • OEE overall equipment effectiveness
  • COO full cost of ownership
  • the tool enables a consultant to accurately quantify unfulfilled value spaces at a customer site; design an optimized assembly solution to “fill the spaces”—this results in low cost of production and other customer specific goals; and to quantify and show the customer benefit of the proposed solution.
  • the customer benefit tool of the present invention enables unique and innovative sales and marketing techniques by offering low-risk line level performance guarantees (e.g. throughput, yield, OEE, COO, unit assembly cost).
  • the present invention also offers gain share pricing solutions packages.
  • the tools and methods of the present invention may be used to model various processes and production environments.
  • One primary target domain is for electronics assembly/test line and shop floor levels, although it is also well-suited for use in the general electronic assembly factory level, including sub-assembly levels of building, final assembly, testing, and packaging).
  • electronics assembly and testing are directly in-line with final assembly and testing.
  • final assembly and testing may be considered part of the electronics assembly line for modeling purposes.
  • Electronics assembly/test lines typically comprise a linked series of linked processing machines and board handling equipment.
  • the handling equipment may include WIP buffers. Local, dedicated, component storage areas may be present. Individual machines may be able to buffer boards between one or more process stages and lince can be single or dual conveyor, synchronous or asynchronous operations.
  • the primary processes and environments that may be modeled may include SMT assembly (print, dispense, place, reflow /cure), through hole assembly (auto, manual, pin/connector insertion), inspection (manual, auto-optical, x-ray), and Test (in circuit, functional).
  • An electronics assembly shop floor typically comprises: multiple lines that start and finish with a magazine load/unload unit; workcells containing groups of machines (not all in-line); WIP buffers; local component storage areas; tooling storage areas; and feeder set-up/kitting areas.
  • One business method of the present invention may employ the use of certified machine suppliers. All machines that are offered as part of an electronics assembly solutions will come from a certified OEM partner. Certification may require providing and maintaining for each of the specific equipment/option configurations: Tools for calculation nominal cycle time for a defined electronic assembly; Tools for calculating nominal process yield for a defined electronic assembly; Full and validated COO model, including accurate MTBF/MTTR data; Full classification/definition of interrupts that can decrease throughput from nominal levels; Information/acceptable roadmap for automated provision of key event data automatically available from equipment; and Full classification/definition of factors that can increase defects above nominal levels.
  • Assembly lines that may be the subject of the consultative sales process and that are suitable for use with the customer benefit model tool include:
  • Type A lines which are very high volume, low mix lines having the following characteristic: 100 to 300 k components per hour (“cph”); Up to 14 assembly systems per line (top and bottom assembly); Up to 40 total machines per line with a line length up to 100 m; Fixed set-up (i.e. less than 1 product change per month); 24 ⁇ 7 production; and Pulse time 10 to 45 seconds.
  • Type B lines which are High Volume, Medium Mix lines having the following characteristics: 40 to 120 cph; Up to 6 SIPLACE in ine (single sided assembly); Up to 25 machines per line with a line length up to 50 m; Flexibility through “cluster configuration;” and 24 ⁇ 5 operation.
  • Type C lines which are medium volume, high mix lines and have the following characteristics: 15 to 50 cph; Up to 3 SIPLACE machines per line; Up to 15 machines per line with a line length up to 25 m; Small batch sizes, wide component and packaging type variety; and Ratio of production to set-up/changeover time can be less then 1:1.
  • a consultant may use the customer benefit modeling tool of the present invention to develop a basic line scenario.
  • the process flow for developing the scenario may start with the defining of a line process sequence. This may be selected from a library of supported process stages.
  • the line equipment configuration is defined. This includes selecting models, number of units and options. These may be selected from a library of supported machines. In one embodiment, all have certified/expected COO models associated with them.
  • a process sequence is entered and for each stage in the process cycle time, composite yield, cost of material added, and handling data are inputted.
  • This definitional step may be manual or may be automated through the use of such tools as Siemens SICALC tool.
  • a production schedule is defined. Set-up cycle time for a first cluster is entered, as is set-up and changeover time. This may be manually inputted or may be automatically inputted from a tool such as Siemens SIPLACE cluster tool. The process may require running several iterations to get a consensus on basic line design.
  • the customer benefit model tool of the present invention may also be used to perform customer project lifecycle development.
  • This lifecycle development process is outline in the flowcharts of FIGS. 25 to 29 .
  • the process can line and system design. It can include optimized design capabilities (see FIG. 26); it may include automated performance monitoring. (See FIG. 27). In some embodiments data between design and monitoring activities may be shared. (See FIG. 28). A common data base may also be employed to aid in performance optimization. (See FIG. 29).
  • One aspect of the present invention is that it allows for line performance monitoring and basic analysis.
  • a line level software application that can be built upon is implemented. All machines in the line may be connected to together through an interface or in any suitable manner.
  • the application supports machine/line level performance reporting and simple “drill down” capabilities defined to current accepted industry standards, for example from Semiconductor Equipment and Materials International (“SEMI”) or Association Connecting Electronic Industries (“IPC”). Basic line performance guarantees are fully enabled.
  • SEMI Semiconductor Equipment and Materials International
  • IPC Association Connecting Electronic Industries
  • This embodiment requires the installation of “Solution X” infrastructure (server, framework, database—at least one per site).
  • connectivity to each machine is achieved with interface/adapter kits (i.e. network adapters, drivers, etc.)
  • interface/adapter kits i.e. network adapters, drivers, etc.
  • Other software modules may “Plug and Play” into the infrastructure. This minimizes customer time and the costs involved.
  • This aspect of the invention is applicable to various manufacturers equipment.
  • the lines that may be monitored may be proprietary, such as Siemens SIPLACE® lines, or they can be comprised of equipment from various competitors.
  • This aspect of the invention provides for a targeted sales business method where line monitoring capabilities are installed on all new lines. It also enables concurrent/subsequent sale of high value/high margin customer benefit modeling, consulting and sale of software packages.
  • the customer benefit modeling tool of the present invention may also be used to optimize line set-up and line change over.
  • One method of optimization involves optimizing set-up and changeover strategy to achieve required production goals.
  • the set-up process can be managed to achieve a target performance.
  • the present invention provides for a consultative method that may include the steps of developing a strategy for optimization, developing an implementation plan, and showing the benefits of the plan to the customer by using the customer benefit modeling tool of the present invention.
  • the method of line set-up and changeover optimization may be implemented by software to optimize clustering, perform comprehensive set-up verification, perform changeover management, and handle local logistics.
  • Optimizing clustering involves consideration of comprehensive production constraints. These may include: board output requirements (wip, lot cycle time, due date); nominal changeover time; component placement rate; number of component reels (or trays, sticks); and number of feeders and feeder tables.
  • the benefits of this method include equipment efficiency increases of up to 35%. Less scrap is generated and rework is reduced. This method also results in less set-up errors.
  • the customers that may be prime targets for this method include all Type B and C production, and some Type A (e.g. prototype/pilot runs).
  • the customer benefit modeling tool may provide to the customer the impact of different clustering and set-up strategies on OEE/COO, the impact of effective changeover management on OEE/COO, the impact of set-up verification on OEE/COO.
  • the cost of a single mistake and the material and rework cost elements may also be shown to a customer. The customer can see the value of the consultants process in terms of real dollars because the customer benefit model can be quickly and easily run for the customer.
  • the customer benefit tool of the present invention also provides for a method for optimizing line performance during runtime.
  • a consultant designs an optimized line.
  • the consultant may select a specific configuration or add or select specific equipment that will result in optimization (e.g. buffers and feeders).
  • Staffing requirements are defined and may include (number, skill level, and tasks).
  • Local material management practices/levels are also defined and may include components, WIP, and consumables.
  • PM strategy is also defined and may include frequency and duration.
  • Software may be employed to perform line monitoring. It may incorporate additional events not provided in the basic monitoring package.
  • the software may also be useful for performing analysis, such as providing a range of basic analysis relevant to different “User Views.” In other words, each user, depending on his or her role, will have a different view of the information provided by the entire system. Accordingly, each role within an organization will have access to the right information/applications in the right form to effectively perform their tasks. For example, a line operator will have another set of information than the line supervisor or the maintenance technician or the production manager. As a further example, a solution may be expressed in terms of capacity for line management and terms of cost of ownership for executive management.
  • the software may assist with local logistics.
  • the software can manage, among other things, lists of required materials to avoid run out during the next time interval(s). It can also provide reports of separate scrap usage of components, as well as packaging related groups.
  • the benefits of the line runtime performance optimization method include the following. Equipment effectiveness may be increased by up to 35%. Bottleneck analysis and optimization may be provided. Material run out may be avoided. And other interrupts, such as feeder jams, mispicks, etc. may be minimized. Scrap and rework costs are reduced. The method results in the elimination of incorrect components added. It also results in the process being optimized. Staffing costs are also optimized.
  • This method may be targeted to Type A and B production customers, as well as some Type C customers.
  • the customer benefit tool of the present invention works well with this method to provide to the customer: the impact of different line configurations on OEE/COO; the impact of material run out on OEE/COO; the impact of incorrect material replenishment on OEE/COO; the Impact of Process Yields on OEE/COO; and the Impact of different staffing strategies on COO/OEE.
  • FIG. 30 An embodiment of a consultative sales method according to the present invention is shown in flowchart form in FIG. 30.
  • This embodiment of the method may be implemented over any time frame, but may be most suitable for performing during a consultation or sales session with the customer.
  • the consultant or salesperson after becoming familiar with the customer's electronics assembly system needs, identifies a corresponding set of one or more potential solutions opportunities.
  • the solutions opportunities may involve any combination of equipment and parameter settings that may be involved in the design and/or configuration of an electronics assembly system.
  • the consultant or salesperson models the customer's electronics assembly system, which is preferably done in “real time,” that is with the customer present, using the methods and tools described above. In this embodiment, as with the others described herein, this approach is done using a laptop computer on which all the necessary functionality for the methods according to the present invention have been programmed.
  • one or more performance metrics may be defined for the electronics assembly system. This definition can occur at any time prior to evaluating the system, and could well be determined prior to the consulting or sales meeting by the customer.
  • the potential solutions are prioritized by including them in the model and running the model under these configurations, and then by comparing them with each other and possibly with the one or more performance metrics.
  • one or more proposed solutions may be selected from among those that have been prioritized, preferably, although not necessarily, according to their priority.
  • the benefit of the proposed solution or solutions are quantified, again according to the methods described above. When the quantified benefit(s) have been computed, they can then be communicated to the customer for his or her consideration.
  • steps 3102 to 3112 are similar to the corresponding and like numbered steps of the flowchart in FIG. 30.
  • the configuration of the modeled assembly system under the one or more potential solutions may be modified, which could be the case, for example, if the results of the modeling of those potential solutions (as evidenced, e.g., in the performance metrics) did not compare favorably with customer needs and/or expectations.
  • the benefit(s) of the modified proposal(s) are again quantified at 3116 (which would involve running the model again under the modifications), at which point a final quantified benefit may be presented to the customer.
  • Steps 3114 and 3116 could be repeated as necessary, time permitting, to explore various configuration options, or to search for new possible solutions in the event that the predicted performance of the previous potential solutions have not approached customer needs.
  • FIG. 32 Another embodiment of a consultative sales method according to the present invention is shown in FIG. 32, in which the configuration, modeling and evaluation of electronics assembly configurations is performed in an iterative manner until a performance measure satisfies one or more customer constraints.
  • a set of customer constraints, needs, or expectations are first identified, at 3202 . As described above, this identification, and the rest of the method, can ideally be done according to the present invention, in real time (or “on the fly”) during the course of a particular consultation or sales meeting with the customer.
  • an electronics assembly configuration (or solution) is selected.
  • a model is established for the customer electronics assembly system comprising the selected configuration.
  • the model is run, at 3208 , to generate at least one performance measure (which as in the embodiment of FIG. 30 should have been arrived at in advance).
  • the at least one performance measure is then compared, at 3210 , against the customer constraints. If, as determined at 3212 , the at least one performance measure does not satisfy customer constraints, then a new electronics assembly configuration or solution can be selected, at step 3204 , and the process is repeated. If, however, the performance measures, as determined by the modeling process, do meet customer constraints, then at 3214 , the consultant or salesperson may offer to sell to the customer at least a subset of the solution or of the electronics assembly equipment associated with that configuration or solution.
  • an alternative embodiment of a consultative sales method involves first establishing at 3302 a model of a customer's electronics assembly system, which can have a plurality of possible configurations or solutions.
  • a measure of performance for the assembly system is selected, as in the descriptions presented above, in accordance with customer needs at step 3304 , and a subset of the plurality of the configurations (which may be all the configurations) are selected for evaluation.
  • the criteria could, alternatively, have been set well in advance of the method by the customer alone, or by the customer with the assistance of the consultant/salesperson, or, as shown, might theoretically be modified if appropriate during iterations of the approach.
  • the model is then run, at 3310 , to generate a predicted measure of performance for each of the subset of configurations selected at 3306 to be evaluated.
  • the results are compared at 3312 to the criteria in order to select at least one preferred configuration. If, as determined at step 3314 , it is determined that none of the configurations or solutions meets the customer criteria, control is returned to step 3306 , where a new set of configurations or solutions may be selected or otherwise arrived at.
  • this consultative sales process is preferably implemented using the methods and tools described above in the course of a consultation or sales meeting with a customer.
  • Another aspect of the present invention concerns methods for pricing or financing electronics assembly solution or equipment purchases. This aspect of the present invention is based on the recognition of the potential value of customer benefit sharing in the electronics assembly industry, as well as in the practicability of such an approach given the methods and tools for modeling and evaluating such systems, as described above.
  • FIG. 34 is directed to a method for pricing an electronics assembly system solution or configuration.
  • a customer benefit that might be realized through the adoption of a proposed electronics assembly solution or configuration is predicted (e.g., using the methods and tools described above) at step 3402 .
  • a customer benefit computation may involve any measure that affects a customer's actual or perceived valuation for an electronics assembly system, including without limitation, the cost of ownership of the electronics assembly system, described above and in the literature.
  • the purveyor of electronics assembly equipment, or of solutions involving such equipment may then generate, at step 3406 , a customer benefit guarantee associated with the electronics assembly solution.
  • the purveyor's ability to generate such a guarantee with any comfort stems from its ability to effectively use the methods and tools for customer benefit modeling described above.
  • a customer benefit guarantee When a customer benefit guarantee has been arrived at, it is then communicated to the customer at step 3406 .
  • the purveyor can then, at step 3408 , offer the electronics assembly system configuration or solution to the customer at a price that is a function of the guaranteed customer benefit.
  • the price may be set as a mutually agreeable percentage of the guaranteed benefit, so that, from the customer's perspective, the electronics assembly configuration or solution is seen as “paying for itself” in real economic terms.
  • the purveyor could bind itself to receive compensation, or full compensation, only if the guaranteed customer benefit were actually to be realized.
  • FIG. 35 shows an alternative approach for a purveyor of electronics assembly equipment and/or solutions involving such equipment and/or related services, to engage in benefit sharing with a customer.
  • an electronics assembly system solution or configuration is defined and the definition provided for customer consideration.
  • a customer benefit associated with the provided solution or configuration is computer at 3504 above, and a monetary value based on the customer benefit is computed at 3506 , both steps in accordance with the techniques described.
  • an economic amount based on the computed monetary value is collected from the customer, at step 3508 .
  • the collectible amount could be, for example, a fraction of the monetary value of the customer benefit computed at step 3506 , which fraction could be the subject of negotiation between the purveyor of electronics assembly equipment or solutions and the customer.
  • the collectible amount could be a function of the customer benefit actually realized, which would involve monitoring the actual performance of the electronics assembly system or solution purchased by the customer.
  • FIG. 36 provides a flowchart showing a method for selling a customer an electronic assembly system solution according to a performance-based contract.
  • the purveyor of electronic assembly systems or solutions offers, at 3602 , a performance based contract for a particular sale, where the price associated with the contract is set as a function of the performance of the system or solution that is being offered for sale. If the customer accepts the offer, as determined at 3604 , the electronics assembly system solution (which may comprise assembly equipment), is delivered to the customer at 3606 . If at 3604 the customer did not accept the offer, the method would be complete, although it could be re-initiated with a modified offer at 3602 .
  • the performance of the deliverables are monitored at step 3608 .
  • the purveyor's compensation i.e., the price for the deliverables—is assessed.
  • the purveyor's compensation i.e., the price for the deliverables—is assessed.
  • the purveyor's ability to comfortably enter into this type of transaction depends at least in part upon an ability to adequately model the expected customer benefit in advance, which can be done using the methods and tools described in this application.

Abstract

Methods and systems according to the present invention permit a manufacturer, supplier or other purveyor of electronics assembly system equipment, solutions or the like, to market and to sell their offerings based on a customer benefit sharing approach. The purveyor's incentives are therefore aligned with the customer's and superior performance, if achieved, will not only benefit the customer, but may also redound to the financial benefit of the purveyor. Various such customer-benefit sharing approaches, including performance guarantees and the setting of prices to be paid by customers based upon actual performance of the system(s) and/or solutions(s) purchased, are described, as are the underlying methods and tools that permit the customer benefit sharing approach to be done in a practicable fashion. The purveyor's ability to offer such arrangements turns on its ability to accurately and efficiently model the customer's system under various scenarios, according to principles of the present invention.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This applications claims the benefit for purposes of priority, under 35 U.S.C. §119(e), of U.S. Patent Application Serial Nos. 60/208,664, filed Jun. 1, 2000, and 60/280,679 filed Mar. 30, 2001, the contents of which are herein incorporated by reference in their entirety.[0001]
  • FIELD OF THE INVENTION
  • The present invention relates in general to the field of electronics assembly systems and, in particular, to tools and methods for assisting consultation and sales efforts relating to such systems. [0002]
  • BACKGROUND OF THE INVENTION
  • Manufacturers of electronics assembly systems, when marketing and selling their products, solutions, and services have historically been limited to the well-known approach in which particular goods, solutions or services are offered at a negotiated price in advance of their actual delivery and use, and therefore before the actual value of the deliverables are realized and are capable of being measured. As a result, manufacturers to some extent bear a risk that the deliverables will underperform, a factor that presumably is fed back into the price the purveyor is able to charge. Because the effort involved in predicting the performance and expected value of electronics assembly systems and solutions has been great, and the turn-around times have been long, there has been no mechanism to reallocate the risks and rewards associated with the acquisition of such systems. [0003]
  • Purveyors and customers alike have been hampered in their ability to satisfactorily predict the performance of particular new electronics assembly configurations. Customers might thereby be driven by the existing lack of predictive power into electronics assembly resource allocation decisions that do not result in the optimal return on investment or in a minimized cost of ownership. Many creative approaches to structuring electronics assembly equipment and solutions transactions have not been realized. [0004]
  • Methods and tools for modeling and simulating production and assembly lines have been in existence, but they have been unable to support the goals achieved by the present invention. A spreadsheet such as Microsoft Excel® 98, for example, can be used to perform static modeling of an assembly line. While spreadsheets are easy to use and provide generally good results for static modeling, however, they do not adequately take into account how various factors interact with each other. A spreadsheet can be configured to show that certain pieces of equipment in an assembly line may have a downtime of 25%, but it cannot be configured adequately to show that at various times, all of these pieces of equipment might be down at the same time, much less predict the actual impact such an event might have on line performance. [0005]
  • Discrete event simulation software products, such as Witness® 2000 (available from Lanner Group, Greenwich England), can provide better estimates of how a line may actually operate. One drawback of using existing discrete event simulation products, however, is the amount of time and skill they demand to set up a simulation of an actual or proposed system. Most discrete event simulation packages require that highly detailed simulation objects be created by the person performing the modeling. These objects contain numerous parameters, some of which may be variable in nature and some of which are inherent in the piece of equipment that the simulation object represents. [0006]
  • Consultants typically spend a great deal of time, sometimes several weeks, building a discrete event simulation model. A simulation requiring such a protracted set up process is of little value to a salesperson pitching equipment, or to a consultant trying to demonstrate ways of increasing an assembly system's efficiency during the course of a customer visit. It would be preferable if a consultant or a salesperson attempting to sell products or services were equipped to deliver a persuasive, well-supported sales presentation, or needed consultation, in far less time. The well-founded presentation, based on an accurate assessment of the customer benefit particulars of one or more proposed electronics assembly system configurations, would also ideally provide a basis for a variety of customer benefit sharing approaches that would permit the two parties to allocate risk and reward in a mutually agreeable fashion that places the proper incentives on both parties. [0007]
  • Prior to the present invention, there appears to have been no adequate way for a consultant or salesperson to offer a customer a benefit sharing approach to financing the prospective purchase. This inability may have been due, among other things, to the absence of methods to quickly and easily build and run a simulation model for a proposed electronics assembly system configuration that would provide adequate computational results within the time frame of a customer visit. Moreover, the level of skill required to build a simulation have exceeded the skill level of a typical salesperson. It would therefore be valuable to provide one or more approaches for purveyors of electronics assembly systems equipment and/or solutions to base the financing of their transactions on customer benefit sharing approaches and to have tools and methods to support these approaches. [0008]
  • SUMMARY OF THE INVENTION
  • The present invention provides a set of approaches for electronics assembly equipment manufacturers, solutions providers and other suppliers to make offers to customers based on a benefit sharing basis. The various embodiments of the present invention are applicable to electronics assembly systems, equipment, solutions or other offering, and may be referred to below collectively as electronic assembly systems solutions. [0009]
  • One embodiment of the present invention provides for a method for pricing an electronics assembly system solution for a customer. First, with the aid of a computer model, a customer benefit to be realized through the use of the electronics assembly system solution is predicted. A customer benefit guarantee is then generated, based on the predicted customer benefit, and a message relating to the customer benefit guarantee associated with the predicted customer benefit is transmitted to the customer. [0010]
  • Another embodiment of the present invention is directed to a method for financing the price of a customer's purchase of an electronic assembly system solution. An electronics assembly system solution is provided (i.e., arrived at or defined), and a customer benefit associated with the solution is computed. Then, a monetary value based on the customer benefit is derived, and an amount based upon this value is collected from the customer. [0011]
  • In another embodiment, a method for selling a customer an electronic assembly system solution is disclosed. A performance-based contract for sale of the assembly system solution is offered, wherein the price of the solution is a function of the performance of the solution, Upon customer acceptance, the assembly system solution is delivered. The performance of the delivered assembly system solution is monitored, and compensation for the seller is assessed based upon the monitored performance and the price function. A customer benefit associated with the solution is computed, as is a monetary value based on the computed customer benefit. An amount based on the computer monetary value may then be collected from the customer.[0012]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flow chart illustrating the overall file structure and logic flow of one embodiment of the present invention. [0013]
  • FIGS. [0014] 2-2A are screen views of spreadsheets (e.g., in MS Excel®) that are configured to act as an input interface in an embodiment of the present invention.
  • FIG. 3 illustrates the files and directories that are set up when the tool according to an embodiment of the present invention is run. [0015]
  • FIGS. [0016] 4-4C are screen views of spreadsheets (e.g., in MS Excel®) configured to act as interface for inputting shift schedule data in an embodiment of the present invention.
  • FIGS. [0017] 5-5C are screen views of spreadsheets (e.g., in MS Excel®) configured to act as an interface for inputting line configurations in an embodiment of the present invention.
  • FIG. 6 illustrates how pull-down menus, in an embodiment of the present invention, may be used with the screen shown in FIG. 5. [0018]
  • FIGS. [0019] 7-7F illustrates a partially populated line configuration spread sheet interface in an embodiment of the present invention.
  • FIGS. [0020] 8-8B illustrates a board data input interface in an embodiment of the present invention.
  • FIGS. [0021] 9-9B illustrates a built simulation, in an embodiment of the present invention, that is ready to be run.
  • FIG. 10 is a screen view of an output interface in the form of a spreadsheet that is capable of generating customer specific reports, in an embodiment of the present invention. [0022]
  • FIG. 11 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Boundaries” button of FIG. 10 is selected. [0023]
  • FIG. 12 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Set-up” button of FIG. 10 is selected. [0024]
  • FIG. 13 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Quality” button of FIG. 10 is selected. [0025]
  • FIG. 14 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Maintenance” button of FIG. 10 is selected. [0026]
  • FIG. 15 is a screen view of the screen that appears, in an embodiment of the present invention, when the “Cost of Ownership” button of FIG. 10 is selected. [0027]
  • FIG. 16 is a screen view of a graphical report of Cost of Ownership, in an embodiment of the present invention. [0028]
  • FIG. 16[0029] a is a flow-chart illustrating a cost of ownership routine, in an embodiment of the present invention.
  • FIG. 17 is a flow-chart illustrating a process for using the Customer Benefit Tool, in an embodiment of the present invention. [0030]
  • FIG. 18 is a diagram showing a set of relationships between customer benefit modeling according to the present invention to various aspects of objectives of a business model that may employ aspects of the present invention. [0031]
  • FIG. 19 is a diagram showing a set of relationships between customer benefit modeling according to the present invention to various aspects of objectives of an alternative business model that may employ aspects of the present invention. [0032]
  • FIG. 20 illustrates an electronics assembly systems solutions business model embodying and employing aspects of the present invention. [0033]
  • FIG. 21 graphically shows electronics assembly customer benefits and enablers provided by various aspects of the present invention. [0034]
  • FIG. 22 graphically illustrates an electronics assembly solutions value proposition from a customer project life cycle view. [0035]
  • FIG. 23 is a high-level flow-chart illustrating a consultative sales process business method according to the present invention. [0036]
  • FIG. 24 is a flow-chart illustrating a method for using the customer benefit modeling tool of the present invention to develop a basic line scenario. [0037]
  • FIG. 25 is a flow-chart illustrating customer project life cycle development in accordance with the present invention. [0038]
  • FIG. 26 is a flow-chart illustrating customer project life cycle development with added optimized design capabilities, in accordance with the present invention. [0039]
  • FIG. 27 is a flow-chart illustrating customer project life cycle development with added automated performance monitoring capabilities, in accordance with the present invention. [0040]
  • FIG. 28 is a flow-chart illustrating customer project life cycle development with added capabilities to share data between design and monitoring activities, in accordance with the present invention. [0041]
  • FIG. 29 is a flow-chart illustrating customer project life cycle development with added optimized performance capabilities in which a common database is used, in accordance with the present invention. [0042]
  • FIG. 30 is a flowchart illustrating an embodiment of a consultative sales method according to the present invention. [0043]
  • FIG. 31 is a flowchart illustrating an alternative to the embodiment of FIG. 30, which steps providing for the modification of a proposed assembly system solution. [0044]
  • FIG. 32 is a flowchart illustrating an embodiment of a consultative sales method according to the present invention, in which the configuration, modeling and evaluation of electronics assembly configurations is performed in an iterative manner until a performance measure satisfies one or more customer constraints and an offer is made. [0045]
  • FIG. 33 is a flowchart illustrating an alternative embodiment of a consultative sales method according to the present invention, in which the configuration, modeling and evaluation of electronics assembly configurations are performed [0046]
  • FIG. 34 is a flowchart illustrating a method for pricing an electronics assembly system solution. [0047]
  • FIG. 35 is a flowchart illustrating a method for financing the price of a customer's purchase of an electronic assembly system solution. [0048]
  • FIG. 36 is a flowchart illustrating a method for selling a customer an electronic assembly system solution.[0049]
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention provides, among other things, tools and methods that enable quick and easy modeling and simulation of production assembly lines without the need to spend days or weeks building simulation models. It is particularly well-suited for use in modeling electronic component assembly production lines. Of course, it is also useful in modeling other assembly and manufacturing processes. Because the present invention enables quick, efficient modeling that typically can be performed in approximately 30 minutes or less, it is an ideal tool for use by electronics assembly equipment salespersons, as well as consultants and customers. [0050]
  • The present invention provides methods and tools for modeling a configuration for, among other things, an electronics assembly system and generating performance measures associated with a given configuration based upon a simulation of the behavior of the system. In particular, the methods and tools make it possible for an electronics assembly equipment salesperson or consultant to generate a simulation model for purposes of a sales pitch or a consulting project within approximately half and hour, or even less, to conduct model-based prediction of system performance under various configuration assumptions, and finally, to generate for an actual or prospective customer one or more expected cost of ownership values for particular configuration assumptions. In other words, the consultant or salesperson can generate and evaluate configuration options for a customer in “real time” or “on the fly”, during the course of a session with the customer. [0051]
  • The customer benefit modeling tool of the present invention enables trained consultants to accurately model current and future customer assembly systems at the line, multi-line, shop floor and factory levels. It also enables the performance of customer systems to be expressed in a range of key metrics that include, for example, throughput, cost performance, yield, OEE and COO. The customer benefit tool according to the present invention can be used to accurately represent production reality because, in one embodiment, it can handle distributed inputs and events by using a dynamic model based on discrete event simulation. This modeling approach enables separate analysis of system design issues (e.g. equipment configuration, wip buffer sizing) and operations issues (e.g. staffing, material availability). [0052]
  • The customer benefit modeling tool can also provide customer/project specific target benchmarking under defined, ideal operating conditions (e.g. no break downs, no run outs). That is, the performance that one would expect under short duration “acceptance testing.” The tool may also be configured to enable target production metrics to be established based on realistic conditions. It can also be configured to model the impact of changing operations related variables. [0053]
  • The tool advantageously allows customer models to be validated under “acceptance test” conditions to ensure that the machine based processes and cycle times have been accurately modeled. As part of the validation process, the tool may allow a customer-specific model to be calibrated against real data. The validation process may focus on throughput or yield. In one embodiment, throughput is dominant factor. [0054]
  • In accordance with the present invention, a user proposes a configuration for an assembly line by selecting from among objects that represent assembly line equipment and parameters characterizing the operation of the equipment. The assembly line equipment often has various operating characteristics well-known to industrial engineers (e.g., mean time between failure, mean time to repair, how often a piece of equipment needs manual assistance, how long the manual assistance takes, etc.). Typically, these operating characteristics are empirically derived statistical measures or models that may be fixed or that may vary as a function of one or more variables. Sometimes, the order in which the equipment will be laid out to form a line may also be part of the configuration process. Specific values for the operating characteristics, determined statistically, are associated with each piece of equipment in the proposed line configuration. Shift data, production part data, and other line parameters may also be assigned values. The configuration and associated operating characteristic values are then used to build a discrete event simulation. [0055]
  • In some embodiments of the present invention, building a discrete event simulation requires creating detailed simulation objects. To streamline the building of a simulation by selecting and arranging the simulation objects, templates may be created in advance for each simulation object and values may be read into the template to create the simulation object. After the discrete event simulation is run through a suitable number of trials, performance results gathered for those trials are exported to a reporting means. The reporting means may contain an interface that allows the user to input specific data, which in turn would allow for custom reports to be generated that present the performance results in a manner that can be tailored by a salesperson or consultant to the needs of the customer or the situation. [0056]
  • The assembly equipment modeling and simulation according to the present invention may be performed virtually anywhere, using suitable computer software, further described below, that runs solely on the process of any type of personal computer, or in a client-server fashion over a network, such as the Internet, or in communication with sites on the World-Wide-Web. [0057]
  • The computer software provides a means for representing assembly line components and parameters in a configuration that is chosen on the fly. A means for reading data and parameters about each selected component and proposed line configuration and parameter setting is also provided. A simulation generating means takes the inputted line configuration and parameter setting and associated data and uses that information to generate a simulation, which in some embodiments involves building simulation objects from templates. Output information derived by running the simulation over a suitable number of trials is sent to a reporting means. [0058]
  • The means for representing the assembly line components in the user-chosen configuration and having user-chosen parameter settings, as well as the reporting means, may take the form of a spreadsheet. Since the reporting means may be a spreadsheet, it may be configured to accept user-specific inputs and generate custom reports based on this information. [0059]
  • In accordance with the present invention, a consultant, sales person, customer, or an assembly line designer can quickly perform sophisticated simulations on a computer by inputting or selecting simple designer computer representations, e.g., designer objects, which represent particular pieces of equipment that are used in an assembly line, from a set of such representations created in advance. In the description of the embodiments, “designer objects” and “simulation objects” are described, but the invention contemplates the use of any suitable computer representations. The computer is configured to take this list of designer objects, and import from a database key parameters for each designer object in the list, as well as other production line data; launch a discrete event simulation tool, which contains templates for detailed simulation objects; build detailed simulation objects from the templates and the designer objects; run a simulation, using simulation software, such as Witness®, ProModel,® Automod,® Simul8,® Arena,® Saimple®; and output specific simulation and modeling parameters in a user friendly manner. [0060]
  • The present invention achieves its efficiency for several reasons. Notably, the populating of detail-intensive simulation objects in the simulation tool is largely automated. A user performing the simulation needs only a low level of computer skill and does not need to spend large amounts of time setting up and building a simulation. In one embodiment, the user input interface takes the form of a spreadsheet, preferably an MS Excel®, spreadsheet. From the spreadsheet, the user can build a simulation model in a sophisticated simulation software package, examples of which were listed above, launch the simulation software, and run the simulation. After a particular simulation is run, the outputs may stored in a separate spreadsheet. [0061]
  • FIG. 1 provides a high-level logic flow for one embodiment of the present invention. As is illustrated in FIG. 1, several different user interfaces are available. MS Excel,® spread sheets may be configured to function as input interfaces. In some embodiments, Visual Basic forms and Web forms may also be configured to function as the input interfaces. Not all of the input interfaces needs to take the same form. For example, a salesperson's interface may be a spread sheet, a customer's may be a web form, and a consultant's may be a Visual Basic form. Those skilled in the art will recognize that various software can be used to generate the input interfaces and in some cases they may be written from scratch by a skilled programmer. [0062]
  • By having multiple interfaces available, the interfaces may be adapted to a specific type of user. For example, there may be one interface for use by salespersons, another for use by consultants, and yet another for use by customers. To facilitate input, dialog boxes may be created as part of the input interfaces. This allows for easy inputting of data and allows for selecting in advance the number and type of inputs available. [0063]
  • After the user enters the requisite data via a user input interface, [0064] step 1 in FIG. 1, a routine is run to create and put the data in correct files and formats necessary to run a simulation. The routine at step 2 formats the data that was entered through the interface at step 1 for use with a particular simulation software package according to the requirements of that package. For example, the interface may allow a user to input cycle time in hours or minutes, but the simulation software may need cycle time in seconds. As a further example, Witness® 2000 has a specific format for shift data; however, it may be easier for a user to input shift data in terms of start time, break time, and end time. The routine at step 2 takes the shift data as entered by the user and builds files and structures that can be used by the simulation package (e.g., Witness® 2000 or other available package). In some embodiments, data may be exported from the input interface directly to the simulation package.
  • The routine in [0065] step 2, builds the module that is shown in Step 3 as the CBM_Transfer.XLS module. This module may, but does not necessarily, take the form of a spreadsheet. This module contains all the files and data in the format required by the simulation software. In essence, the module shown in Step 3 is a repository for the information read in from the interface. The files and data in this module have a fixed structure that is required by the simulation software.
  • Another routine is executed to build simulation objects from the templates, [0066] step 4. The code for implementing this module, in an embodiment of the present invention, is shown and described below. During this step, data, files, and information are read into the simulation software from the module of step 3 to build a simulation. Also, during this step, the simulation software is launched.
  • Next, a simulation is run, [0067] step 5. At this point the simulation model and all associated files exist. The simulation is run and displayed on a computer screen.
  • A routine then exports values from the simulation routine to a Reports spreadsheet, such as for example, an MS Excel® spreadsheet, [0068] step 6. The Reports spreadsheet may contain a user input interface to allow for the generation of custom reports based on customer-specific data. In some embodiments, the reports may be generated in the simulation software in addition to or in place of a report spreadsheet.
  • As is shown in FIG. 2, an input interface spreadsheet is configured to accept certain set-up data, such as the name of the project being modeled, file management information, time of the simulation run, etc. The user may, for example, enter the directory where the simulation software is saved. The user may also input a project name, and the user may input a simulation time in a convenient unit, such as days. [0069]
  • The input spreadsheet can be configured with a soft button or other selection mechanism, such as the “Create Project” button shown in FIG. 2. When the user selects the “Create Project” button the appropriate subdirectories appear and the required files are copied. FIG. 3 illustrates files and directories that are created in the background when the “Create Project” button is selected in one embodiment. For example, a CBM directory may be created and appropriate templates copied. In addition, a project directory may be created for a specific project and populated with appropriate templates and files, such as the CBM.XLS, CMB-Transfer.XLS, and the CBM_Reports.XLS, as shown. [0070]
  • As is shown in FIG. 2, various other soft buttons may be employed to select various user interfaces and user requested processes. The “Shift Data” button opens a user interface as depicted in FIGS. [0071] 4-4C. This interface also takes the form of a spreadsheet. The user populates this spreadsheet with appropriate shift patterns, an example of which is shown in FIGS. 4-4C.
  • After the appropriate Shift data is entered, the user may select the “Line Configuration” button, shown in FIG. 2. Upon selecting this button, the screen in FIGS. [0072] 5-5C appears. The user may then select the equipment to be added to the line. The user also can select where to insert a piece of equipment. As is shown in FIG. 6, a drop down menu can be employed to facilitate populating this spreadsheet.
  • Adding a piece of equipment results in the addition of a row in the line configuration spreadsheet and adds to the number of lines which are stored in process cells of the board spreadsheet, discussed below. (See FIGS. [0073] 7-7F). The process of adding equipment is continued until a line is completed. By using an insert procedure with the input of a row number and a delete procedure, which works accordingly, the first version of the line can be manipulated. Clicking on “Main” returns to the main user interface.
  • As the user enters a specific piece of equipment at a particular cell of the column (or row), other cells in the same column (or row) are automatically populated with values that correspond to specific operating parameters for that piece of equipment. These parameters may include, but are not limited to, Machine Cycle Time, Mean Time Between Manual Assists, Mean Time to Assist, Shift Pattern (i.e. how many shifts per day the machine will be operated for), Mean Time Between Failure, etc. FIGS. [0074] 5-5C illustrates, without limitation, some of the parameters that may be associated with a specific piece of equipment.
  • The values for these parameters may be stored in an object parameter database, which may take the form of another spreadsheet, that can be periodically updated based on real-world experience. One advantage of maintaining a parameter database as a separate spreadsheet is that it may be updated over time with empirically derived, real-world data, that is gathered in the field for each component and each line configuration that is developed. For example, the components of an assembly line can be configured to automatically track the data required for these parameters. That data can then be used to update the second spreadsheet. The tool may use the latest data available at the conclusion of each project, where the tool is employed, to update the object database parameters. [0075]
  • In addition to inputting a specific line configuration through the “Line Configuration” spreadsheet interface and shift data through the “Shift Data” interface, the user can input specific board data by selecting the “Board Data” button at the main user interface shown in FIG. 2. As is shown in FIG. 8 the user may enter cycle times for every piece of equipment, enter board specific data, enter a board to use for the simulation, and then return to the main menu by clicking on “Main.”[0076]
  • After all the input spreadsheet interfaces are populated with the necessary data, the user executes one or more routines that build simulation objects from the data in the spreadsheet. As is shown in FIG. 2, the spreadsheet can be configured with a soft button, such as the “Create Simulation” button, to build the simulation objects and, in some embodiments, may automatically run a simulation; in other embodiments, the user may be prompted to run the simulation after the simulation objects are built. [0077]
  • FIG. 9 illustrates a screen view that is reached by selecting the “Create Simulation” button. At this point, all data out of the simulation is transferred from the input interfaces to the CBM_Transfer.XLS module, a Base.Mod is copied to the project directory, and Witness® 2000 or other simulation software is opened. The simulation is started and the line or other electronics assembly configuration is built on the screen. [0078]
  • The process for building the simulation objects may be streamlined by creating templates in the simulation software for the simulation objects. Set forth below is an example of a template for a simulation object for a cluster of 3 Siemens HS-50 machines that may be used with Witness ® 2000. [0079]
    HS-50 Template
    * * * Begin Template * * *
    SELECT
    HS50Cluster310101
    NAME OF MODULE: HS50Cluster310101;
    TITLE: ;
    INPUT ELEMENT: Undefined;
    OUTPUT ELEMENT: Undefined;
    FILENAME: C:\IanRawles\Projects\CBM\Monday\H50-
    Cluster3_L1.mdl;
    WALK: No;
    LINK_TO_FILE: No;
    USE CYCLE: No;
    CYCLE TIME: Undefined;
    ELEMENT PLACEMENT: −1;
    REPORTING: Individual;
    BEGIN_MODULE_DETAIL
    HS50
    NAME OF MODULE: HS50;
    TITLE: ;
    INPUT ELEMENT: Undefined
    OUTPUT ELEMENT: Undefined;
    ACTIONS, Initialise
    Add
    !1=asynch, 2=synch
    HS50.SWITCHS25AS = 1
    HS50.SWITCHS25SINGDUAL = 2
    !
    !Put flags to one if maintenance stops line, 0 if maintenance is smarter
    and performed by operator as
    ! conditions allow
    ! 1= daily, 2-weekly, 3=long term.
    !
    HS50.Maintainflag (1) = 1
    HS50.Maintainflag (2) = 1
    HS50.Maintainflag (3) = 1
    !
    ! Configuration for single vs. dual conveyor
    !
    !SET QUANTITY OF Conveyor001 TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Conveyor002 TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Go TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Cycletimes TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Setuptimes TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Machine001 TO SWITCHS25SINGDUAL
    End Actions
    WALK: No;
    LINK_TO_FILE: No;
    USE CYCLE: No;
    CYCLE TIME: Undefined;
    ELEMENT PLACEMENT: −1;
    REPORTING: Individual;
    BEGIN_MODULE_DETAIL
    Conveyor001
    NAME OF CONVEYOR: Conveyor001;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor001
    Machine001
    NAME OF MACHINE: Machine001;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: 3.0 !Setuptimes (N);
    INPUT RULE: PULL from Conveyor001(N) at Front;
    OUTPUT RULE: IF Go (N) = 1
    PUSH to Conveyor002(N) at Rear
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Machine001
    Conveyor002
    NAME OF CONVEYOR: Conveyor002;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    ACTIONS, Join
    Add
    Go (N) = 0
    End Actions
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor002
    Head
    NAME OF MACHINE: Head;
    QUANTITY: 1;
    TYPE: General(Multi-Cycle);
    PRIORITY: Lowest;
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE_DETAIL
    Cycle number: 1
    * Cycle time: 1.0;
    * Input quantity: 1;
    * Finish quantity: 1;
    * Description: Cycle number 1
    ACTIONS, Finish
    Add
    IF TYPE = Dummy1
    Go (1) = 1
    ELSEIF TYPE = Dummy2
    Go (2) = 1
    ELSE
    STOP
    ENDIF
    IF TYPE = Dummy1
    Headwhere1 = “Top Lane”
    ELSE
    Headwhere1 = “Bottom Lane”
    ENDIF
    End Actions
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: IF ISTATE (Machine001(1)) = 3 AND Go (1) = 0
    PULL from Dummy1 out of WORLD
    ELSE
    Wait
    ENDIF;
    Output Rule: Wait;
    Output_From: Front;
    Output_Quantity: 0;
    Cycle number: 2
    * Cycle time: 0.01
    * Input quantity: 0;
    * Finish quantity: 1;
    * Description: Cycle2
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: Wait;
    Output Rule: IF Go (1) = 0
    PUSH to SHIP
    ELSE
    Wait
    +L,7 ENDIF;
    Output_From: Front;
    END CYCLE_DETAIL
    BREAKDOWN_DETAIL
    Breakdown number: 1
    * Mode: Busy time;
    * Down interval: Undefined;
    * Repair time: Undefined;
    * Scrap part: No;
    * Description: MTBF
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 0;
    ACTIONS, Breakdown
    Add
    !
    BREAKDWN (Conveyor001(1))
    BREAKDWN (Machine001(1))
    BREAKDWN (Conveyor002(1))
    BREAKDWN (Machine002(1))
    BREAKDWN (Head2)
    !
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Conveyor001(1))
    REPAIR (Machine001(1))
    REPAIR (Conveyor002(1))
    REPAIR (Machine002(1))
    REPAIR (Head2)
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 2
    * Mode: Busy time;
    * Down interval: NORMAL (3600.0,500,48);
    * Repair time: 3.5 * 60;
    * Scrap part: No;
    * Description: MTBA
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 1;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Machine001(1))
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Machine001(1))
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 3
    * Mode: Busy time;
    * Down interval: TRIANGLE (2.5 * 1440 * 60,3 * 1440 * 60,3.5 *
    1440 * 60,72);
    * Repair time: 120.0;
    * Scrap part: No;
    * Description: Nozzle ID Error
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 2;
    LABOR:
    Repair: None;
    END
    END BREAKDOWN_DETAIL
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Head
    Go
    NAME OF VARIABLE: Go;
    QUANTITY: 4;
    REPORTING: Yes;
    END Go
    SWITCH S25AS
    NAME OF VARIABLE: SWITCHS25AS;
    QUANTITY: 1;
    REPORTING: Yes;
    END SWITCHS25AS
    Cycletimes
    NAME OF VARIABLE: Cycletimes;
    QUANTITY: 1;
    REPORTING: Yes;
    END Cycletimes
    Setuptimes
    NAME OF VARIABLE: Setuptimes;
    QUANTITY: 1;
    REPORTING: Yes;
    END Setuptimes
    SWITCHS25SINGDUAL
    NAME OF VARIABLE: SWITCHS25SINGDUAL;
    QUANTITY: 1;
    REPORTING: Yes;
    END SWITCHS25SINGDUAL
    Operator
    NAME OF LABOR: Operator;
    QUANTITY no shift: 1;
    REPORTING: Group;
    END Operator
    Maintainflag
    NAME OF VARIABLE: Maintainflag;
    QUANTITY: 3;
    REPORTING: Yes;
    END Maintainflag
    Day
    NAME OF SHIFT: Day;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (1) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 28200.000000,600.000000,0.000000;
    REPORTING: Yes;
    END Day
    Weekly
    NAME OF SHIFT: Weekly;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (2) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 6002880.000000,1920.000000,0.000000;
    REPORTING: Yes;
    END Weekly
    LongtermFactor
    NAME OF SHIFT: LongtermFactor;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (3) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 596575.000000,8225.280273,0.000000;
    REPORTING: Yes;
    END LongtermFactor
    Machine002
    NAME OF MACHINE: Machine002;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None;
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: 3.0 !Setuptimes (N);
    INPUT RULE: PULL from Conveyor002(N) at Front;
    OUTPUT RULE: IF Go (N + 2) = 1
    PUSH to Conveyor003(N) at Rear
    ELSE
    Wait
    END IF;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Machine002
    Head2
    NAME OF MACHINE: Head2;
    QUANTITY 1;
    TYPE: General(Multi-Cycle);
    PRIORITY: Lowest;
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE_DETAIL
    Cycle number: 1
    * Cycle time: 1.0;
    * Input quantity: 1;
    * Finish quantity: 1;
    * Description: Cycle number 1
    ACTIONS, Finish
    Add
    IF TYPE = Dummy3
    Go (3) = 1
    ELSEIF TYPE = Dummy4
    Go (4) = 1
    ELSE
    STOP
    ENDIF
    IF TYPE = Dummy3
    Headwhere2 = “Top Lane”
    ELSEIF TYPE = Dummy4
    Headwhere2 = “Bottom Lane”
    ENDIF
    End Actions
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: IF ISTATE (Machine002(1)) = 3 AND Go (3) = 0
    PULL from Dummy3 out of WORLD
    ELSE
    Wait
    ENDIF;
    Output Rule: PUSH to SHIP;
    Output_From: Front;
    Output_Quantity: 0;
    Cycle number: 2
    * Cycle time: 0.01;
    * Input quantity: 0;
    * Finish quantity: 1;
    * Description: Cycle2
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: Wait;
    Output Rule: IF Go (3) = 0 OR Go (4) = 0
    PUSH to SHIP
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    END CYCLE_DETAIL
    BREAKDOWN_DETAIL
    Breakdown number: 1
    * Mode: Busy time;
    * Down interval: Undefined;
    * Repair time: Undefined;
    * Scrap part: No;
    * Description: MTBF
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 0;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Conveyor001(1))
    BREAKDWN (Machine001(1))
    BREAKDWN (Conveyor002(1))
    BREAKDWN (Machine002(1))
    BREAKDWN (Head)
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Conveyor001(1))
    REPAIR (Machine001(1))
    REPAIR (Conveyor002(1))
    REPAIR (Machine002(1))
    REPAIR (Head)
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 2
    * Mode: Busy time;
    * Down interval: NORMAL (3600.0,500,48);
    * Repair time: 3.5 * 60;
    * Scrap part: No;
    * Description: MTBA
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 1;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Machine002(1))
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Machine002(1))
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 3
    * Mode: Busy time;
    * Down interval: TRIANGLE (2.5 * 1440 * 60,3 * 1440 * 60,3.5 *
    1440 * 60,72);
    * Repair time: 120.0;
    * Scrap part: No;
    * Description: Nozzle ID Error
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 2;
    LABOR:
    Repair: None;
    END
    END BREAKDOWN_DETAIL
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Head2
    Conveyor003
    NAME OF CONVEYOR: Conveyor003;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor003
    Dummy1
    NAME OF PART: Dummy1;
    TYPE: Variable attributes;
    GROUP NUMBER: 1
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy1
    Dummy2
    NAME OF PART: Dummy2;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy2
    Dummy3
    NAME OF PART: Dummy3;
    TYPE: Variable attributes;
    GROUP NUMBER: 1
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy3
    Dummy4
    NAME OF PART: Dummy4;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy4
    Headwhere1
    NAME OF VARIABLE: Headwhere1;
    QUANTITY: 1;
    REPORTING: Yes;
    END Headwhere1
    Headwhere2
    NAME OF VARIABLE: Headwhere2;
    QUANTITY: 1;
    REPORTING: Yes;
    END Headwhere2
    Pie001
    NAME OF PIE_CHART: Pie001;
    QUANTITY: 1;
    STATE_VALUES:
    * Name: Head;
    * Type: standard;
    * Report by: on_shift_time;
    * Values: group;
    REFRESH INTERVAL: 3600;
    REPORTING: Individual;
    PULL_OUT_SEGMENT: 0;
    SHIFT: Undefined;
    END Pie001
    Pie002
    NAME OF PIE_CHART: Pie002;
    QUANTITY: 1;
    STATE_VALUES:
    * Name: Head2;
    * Type: standard;
    * Report by: on_shift_time;
    * Values: group;
    REFRESH INTERVAL: 3600;
    REPORTING: Individual;
    PULL_OUT_SEGMENT: 0;
    SHIFT: Undefined;
    END Pie002
    END_MODULE_DETAIL
    END HS50
    HS51
    NAME OF MODULE: HS51;
    TITLE:;
    INPUT ELEMENT: Undefined
    OUTPUT ELEMENT: Undefined;
    ACTIONS, Initialise
    Add
    !1=asynch, 2=synch
    HS51.SWITCHS25AS = 1
    HS51.SWITCHS25SINGDUAL = 2
    !Put flags to one if maintenance stops line, 0 if maintenance is smarter
    and performed by operator as
    ! conditions allow
    ! 1 = daily, 2-weekly, 3=long term.
    !
    HS51.Maintainflag (1) = 1
    HS51.Maintainfiag (2) = 1
    HS51.Maintainflag (3) = 1
    !
    !Configuration for single vs. dual conveyor
    !
    !SET QUANTITY OF Conveyor001 TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Conveyor002 TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Go TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Cycletimes TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Setuptimes TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Machine001 TO SWITCHS25SINGDUAL
    End Actions
    WALK: No;
    LINK_TO_FILE: No
    USE CYCLE: No;
    CYCLE TIME: Undefined;
    ELEMENT PLACEMENT: −1;
    REPORTING: Individual;
    BEGIN_MODULE_DETAIL
    Conveyor001
    NAME OF CONVEYOR: Conveyor001;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor001
    Machine001
    NAME OF MACHINE: Machine001;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None;
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: 3.0 !Setuptimes (N);
    INPUT RULE: PULL from Conveyor001(N) at Front;
    OUTPUT RULE: IF Go (N) = 1
    PUSH to Conveyor002(N) at Rear
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Machine001
    Conveyor002
    NAME OF CONVEYOR: Conveyor002;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    ACTIONS, Join
    Add
    Go (N) = 0
    End Actions
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor002
    Head
    NAME OF MACHINE: Head;
    QUANTITY: 1;
    TYPE: General(Multi-Cycle);
    PRIORITY: Lowest;
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE_DETAIL
    Cycle number: 1
    * Cycle time: 1.0;
    * Input quantity: 1;
    * Finish quantity: 1;
    * Description: Cycle number 1
    ACTIONS, Finish
    Add
    IF TYPE = Dummy1
    Go (1) = 1
    ELSEIF TYPE = Dummy2
    Go (2) = 1
    ELSE
    STOP
    ENDIF
    IF TYPE = Dummy1
    Headwhere1 = “Top Lane”
    ELSE
    Headwhere1 = “Bottom Lane”
    ENDIF
    End Actions
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: IF ISTATE (Machine001(1)) = 3 AND Go (1) = 0
    PULL from Dummy1 out of WORLD
    ELSE
    Wait
    ENDIF;
    Output Rule: Wait;
    Output_From: Front;
    Output_Quantity: 0;
    Cycle number: 2
    * Cycle time: 0.01
    * Input quantity: 0;
    * Finish quantity: 1;
    * Description: Cycle2
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: Wait;
    Output Rule: IF Go (1) = 0
    PUSH to SHIP
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    END CYCLE_DETAIL
    BREAKDOWN_DETAIL
    Breakdown number: 1
    * Mode: Busy time;
    * Down interval: Undefined;
    * Repair time: Undefined;
    * Scrap part: No;
    * Description: MTBF
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 0;
    ACTIONS, Breakdown
    Add
    !
    BREAKDWN (Conveyor001(1))
    BREAKDWN (Machine001(1))
    BREAKDWN (Conveyor002(1))
    BREAKDWN (Machine002(1))
    BREAKDWN (Head2)
    !
    !
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Conveyor001(1))
    REPAIR (Machine001(1))
    REPAIR (Conveyor002(1))
    REPAIR (Machine002(1))
    REPAIR (Head2)
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 2
    * Mode: Busy time;
    * Down interval: NORMAL (3600.0,500,48);
    * Repair time: 3.5 * 60;
    * Scrap part: No;
    * Description: MTBA
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 1;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Machine001(1))
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Machine001(1))
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 3
    * Mode: Busy time;
    * Down interval: TRIANGLE (2.5 * 1440 * 60,3 * 1440 * 60,3.5 *
    1400 * 60,72);
    * Repair time: 120.0;
    * Scrap part: No;
    * Description: Nozzle ID Error
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 2;
    LABOR:
    Repair: None;
    END
    END BREAKDOWN_DETAIL
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Head
    Go
    NAME OF VARIABLE: Go;
    QUANTITY: 4;
    REPORTING: Yes;
    END Go
    SWITCHS25AS
    NAME OF VARIABLE: SWITCHS25AS;
    QUANTITY: 1;
    REPORTING: Yes;
    END SWITCHS25AS
    Cycletimes
    NAME OF VARIABLE: Cycletimes;
    QUANTITY: 1;
    REPORTING: Yes;
    END Cycletimes
    Setuptimes
    NAME OF VARIABLE: Setuptimes;
    QUANTITY: 1;
    REPORTING: Yes;
    END Setuptimes
    SWITCHS25SINGDUAL
    NAME OF VARIABLE: SWITCHS25SINGDUAL;
    QUANTITY: 1;
    REPORTING: Yes;
    END SWITCHS25SINGDUAL
    Operator
    NAME OF LABOR: Operator;
    QUANTITY no shift: 1;
    REPORTING: Group;
    END Operator
    Maintainflag
    NAME OF VARIABLE: Maintainflag;
    QUANTITY: 3;
    REPORTING: Yes;
    END Maintainflag
    Day
    NAME OF SHIFT: Day;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (1) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 28200.000000,600.000000,0.000000;
    REPORTING: Yes;
    END Day
    Weekly
    NAME OF SHIFT: Weekly;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (2) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 6002880.000000,1920.000000,0.000000;
    REPORTING: Yes;
    END Weekly
    LongtermFactor
    NAME OF SHIFT: LongtermFactor;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (3) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 596575.000000,8225.280273,0.000000;
    REPORTING: Yes;
    END LongtermFactor
    Machine002
    NAME OF MACHINE: Machine002;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest
    LABOR:
    Cycle: None;
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: 3.0 !Setuptimes (N);
    INPUT RULE: PULL from Conveyor002(N) at Front;
    OUTPUT RULE: IF Go (N + 2) = 1
    PUSH to Conveyor003(N) at Rear
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Machine002
    Head2
    NAME OF MACHINE: Head2;
    QUANTITY: 1;
    TYPE: General(Multi-Cycle);
    PRIORITY: Lowest;
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE_DETAIL
    Cycle number: 1
    * Cycle time: 1.0;
    * Input quantity: 1;
    * Finish quantity: 1;
    * Description: Cycle number 1
    ACTIONS, Finish
    Add
    IF TYPE = Dummy3
    Go (3) = 1
    ELSEIF TYPE = Dummy4
    Go (4) = 1
    ELSE
    STOP
    ENDIF
    IF TYPE = Dummy3
    Headwhere2 = “Top Lane”
    ELSEIF TYPE = Dummy4
    Headwhere2 = “Bottom Lane”
    ENDIF
    End Actions
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: IF ISTATE (Machine002(1)) = 3 AND Go (3) = 0
    PULL from Dummy3 out of WORLD
    ELSE
    Wait
    ENDIF;
    Output Rule: PUSH to SHIP;
    Output_From: Front;
    Output_Quantity: 0;
    Cycle number: 2
    * Cycle time: 0.01
    * Input quantity: 0;
    * Finish quantity: 1;
    * Description: Cycle2
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: Wait;
    Output Rule: IF Go (3) = 0
    PUSH to SHIP
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    END CYCLE_DETAIL
    BREAKDOWN_DETAIL
    Breakdown number: 1
    * Mode: Busy time;
    * Down interval: Undefined
    * Repair time: Undefined;
    * Scrap part: No;
    * Description: MTBF
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 0;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Conveyor001(1))
    BREAKDWN (Machine001(1))
    BREAKDWN (Conveyor002(1))
    BREAKDWN (Machine002(1))
    BREAKDWN (Head)
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Conveyor001(1))
    REPAIR (Machine001(1))
    REPAIR (Conveyor002(1))
    REPAIR (Machine002(1))
    REPAIR (Head)
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 2
    * Mode: Busy time;
    * Down interval: NORMAL (3600.0,500,48);
    * Repair time: 3.5 * 60;
    * Scrap part: No;
    * Description: MTBA
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 1;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Machine002(1))
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Machine002(1))
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 3
    * Mode: Busy time;
    * Down interval: TRIANGLE (2.5 * 1440 * 60,3 * 1440 * 60,3.5 *
    1400 * 60,72);
    * Repair time: 120.0;
    * Scrap part: No;
    * Description: Nozzle ID Error
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 2;
    LABOR:
    Repair: None;
    END
    END BREAKDOWN_DETAIL
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Head2
    Conveyor003
    NAME OF CONVEYOR: Conveyor003;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor003
    Dummy1
    NAME OF PART: Dummy1;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No:
    END Dummy1
    Dummy2
    NAME OF PART: Dummy2;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy2
    Dummy3
    NAME OF PART: Dummy3;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy3
    Dummy4
    NAME OF PART: Dummy4;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy4
    Headwhere1
    NAME OF VARIABLE: Headwhere1;
    QUANTITY: 1;
    REPORTING: Yes;
    END Headwhere1
    Headwhere2
    NAME OF VARIABLE: Headwhere2;
    QUANTITY: 1;
    REPORTING: Yes;
    END Headwhere2
    Pie001
    NAME OF PIE_CHART: Pie001;
    QUANTITY: 1;
    STATE_VALUES:
    * Name: Head;
    * Type: standard;
    * Report by: on_shift_time
    * Values: group;
    REFRESH INTERVAL: 3600;
    REPORTING: Individual;
    PULL_OUT_SEGMENT: 0;
    SHIFT: Undefined;
    END Pie001
    Pie002
    NAME OF PIE_CHART: Pie002;
    QUANTITY: 1;
    STATE_VALUES:
    * Name: Head2;
    * Type: standard;
    * Report by: on_shift_time;
    * Values: group;
    REFRESH INTERVAL: 3600
    REPORTING: Individual;
    PULL_OUT_SEGMENT: 0
    SHIFT: Undefined;
    END Pie002
    END_MODULE_DETAIL
    END HS51
    HS52
    NAME OF MODULE: HS52;
    TITLE:;
    INPUT ELEMENT: Undefined;
    OUTPUT ELEMENT: Undefined;
    ACTIONS, Initialise
    Add
    !1= asynch, 2=synch
    HS52.SWITCHS25AS = 1
    HS52.SWITCHS25SINGDUAL = 2
    !
    !Put flags to one if maintenance stops line, 0 if maintenance is smarter
    and performed by operator as
    ! conditions allow
    ! 1= daily, 2-weekly, 3=long term.
    !
    HS52.Maintainflag (1) = 1
    HS52.Maintainflag (2) = 1
    H552.Maintainflag (3) = 1
    !
    ! Configuration for single vs. dual conveyor
    !
    !SET QUANTITY OF Conveyor001 TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Conveyor002 TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Go TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Cycletimes TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Setuptimes TO SWITCHS25SINGDUAL
    !SET QUANTITY OF Machine001 TO SWITCHS25SINGDUAL
    End Actions
    WALK: No;
    LINK_TO_FILE: No
    USE CYCLE: No;
    CYCLE TIME: Undefined;
    ELEMENT PLACEMENT: −1;
    REPORTING: Individual;
    BEGIN_MODULE_DETAIL
    Conveyor001
    NAME OF CONVEYOR: Conveyor001;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor001
    Machine001
    NAME OF MACHINE: Machine001;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None;
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: 3.0 !Setuptimes (N);
    INPUT RULE: PULL from Conveyor001 (N) at Front;
    OUTPUT RULE: IF Go (N) = 1
    PUSH to Conveyor002(N) at Rear
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Machine001
    Conveyor002
    NAME OF CONVEYOR: Conveyor002;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    ACTIONS, Join
    Add
    Go (N) = 0
    End Actions
    INPUT RULE: !IF ISTATE (Machine001(1)) = 3
    !PULL from Dummy1 out of WORLD
    !ELSEIF ISTATE (Machine001(2)) = 3
    !PULL from Dummy2 out of WORLD
    !ELSE
    !Wait
    !ENDIF
    Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor002
    Head
    NAME OF MACHINE: Head;
    QUANTITY: 1;
    TYPE: General(Multi-Cycle);
    PRIORITY: Lowest;
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE_DETAIL
    Cycle number: 1
    * Cycle time: 1.0;
    * Input quantity: 1;
    * Finish quantity: 1;
    * Description: Cycle number 1
    ACTIONS, Finish
    Add
    IF TYPE = Dummy1
    Go (1) = 1
    ELSEIF TYPE = Dummy2
    Go (2) = 1
    ELSE
    STOP
    ENDIF
    IF TYPE = Dummy1
    Headwhere1 = “Top Lane”
    ELSE
    Headwhere1 = “Bottom Lane”
    ENDIF
    End Actions
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: IF ISTATE (Machine001(1)) = 3 AND Go (1) = 0
    PULL from Dummy1 out of WORLD
    ELSE
    Wait
    ENDIF;
    Output Rule: Wait;
    Output_From: Front;
    Output_Quantity: 0;
    Cycle number: 2
    * Cycle time: 0.01
    * Input quantity: 0;
    * Finish quantity: 1;
    * Description: Cycle2
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: Wait;
    Output Rule: IF Go (1) = 0
    PUSH to SHIP
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    END CYCLE_DETAIL
    BREAKDOWN_DETAIL
    Breakdown number: 1
    * Mode: Busy time;
    * Down interval: Undefined;
    * Repair time: Undefined;
    * Scrap part: No;
    * Description: MTBF
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 0;
    ACTIONS, Breakdown
    Add
    !
    BREAKDWN (Conveyor001(1))
    BREAKDWN (Machine001(1))
    BREAKDWN (Conveyor002(1))
    BREAKDWN (Machine002(1))
    BREAKDWN (Head2)
    !
    !
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Conveyor001(1))
    REPAIR (Machine001(1))
    REPAIR (Conveyor002(1))
    REPAIR (Machine002(1))
    REPAIR (Head2)
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 2
    * Mode: Busy time;
    * Down interval: NORMAL (3600.0,500,48);
    * Repair time: 3.5 * 60;
    * Scrap part: No;
    * Description: MTBA
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 1;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Machine001(1))
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Machine001(1))
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 3
    * Mode: Busy time;
    * Down interval: TRIANGLE (2.5 * 1440 * 60,3 * 1440 * 60,3.5 *
    1400 * 60,72);
    * Repair time: 120.0;
    * Scrap part: No;
    * Description: Nozzle ID Error
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 2;
    LABOR:
    Repair: None;
    END
    END BREAKDOWN_DETAIL
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Head
    Go
    NAME OF VARIABLE: Go;
    QUANTITY: 4;
    REPORTING: Yes;
    END Go
    SWITCHS25AS
    NAME OF VARIABLE: SWITCHS25AS
    QUANTITY: 1;
    REPORTING: Yes;
    END SWITCHS25AS
    Cycletimes
    NAME OF VARIABLE: Cycletimes;
    QUANTITY: 1;
    REPORTING: Yes;
    END Cycletimes
    Setuptimes
    NAME OF VARIABLE: Setuptimes;
    QUANTITY: 1;
    REPORTING: Yes;
    END Setuptimes
    SWITCHS25SINGDUAL
    NAME OF VARIABLE: SWITCHS25SINGDUAL;
    QUANTITY: 1;
    REPORTING: Yes;
    END SWITCHS25SINGDUAL
    Operator
    NAME OF LABOR: Operator;
    QUANTITY no shift: 1;
    REPORTING: Group;
    END Operator
    Maintainflag
    NAME OF VARIABLE: Maintainflag;
    QUANTITY: 3;
    REPORTING: Yes;
    END Maintainflag
    Day
    NAME OF SHIFT: Day;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (1) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 28200.000000,600.000000,0.000000;
    REPORTING: Yes;
    END Day
    Weekly
    NAME OF SHIFT: Weekly;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (2) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 6002880.000000,1920.000000,0.000000;
    REPORTING: Yes;
    END Weekly
    LongtermFactor
    NAME OF SHIFT: LongtermFactor;
    TYPE OF SHIFT: main;
    OFFSET:
    Working time: 0.000000;
    Rest time: 0.000000;
    ACTIONS, Start
    Add
    REPAIR (Head)
    End Actions
    ACTIONS, End
    Add
    IF Maintainflag (3) = 1
    BREAKDWN (Head)
    ENDIF
    End Actions
    SHIFT DATA: 596575.000000,8225.280273,0.000000;
    REPORTING: Yes;
    END Longterm Factor
    Machine002
    NAME OF MACHINE: Machine002;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None;
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: 3.0 !Setuptimes (N);
    INPUT RULE: PULL from Conveyor002(N) at Front;
    OUTPUT RULE: IF Go (N + 2) = 1
    PUSH to Conveyor003(N) at Rear
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Machine002
    Head2
    NAME OF MACHINE: Head2;
    QUANTITY: 1;
    TYPE: General(Multi-Cycle);
    PRIORITY: Lowest;
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE_DETAIL
    Cycle number: 1
    * Cycle time: 1.0;
    * Input quantity: 1;
    * Finish quantity: 1;
    * Description: Cycle number 1
    ACTIONS, Finish
    Add
    IF TYPE = Dummy3
    Go (3) = 1
    ELSEIF TYPE = Dummy4
    Go (4) = 1
    ELSE
    STOP
    ENDIF
    IF TYPE = Dummy3
    Headwhere2 = “Top Lane”
    ELSEIF TYPE = Dummy4
    Headwhere2 = “Bottom Lane”
    ENDIF
    End Actions
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: IF ISTATE (Machine002(1)) = 3 AND Go (3) = 0
    PULL from Dummy3 out of WORLD
    ELSE
    Wait
    ENDIF;
    Output Rule: PUSH to SHIP;
    Output_From: Front;
    Output_Quantity: 0;
    Cycle number: 2
    * Cycle time: 0.01;
    * Input quantity: 0;
    * Finish quantity: 1;
    * Description: Cycle2
    LABOR:
    Cycle: None;
    Pre-empt level: None;
    END
    Input rule: Wait;
    Output Rule: IF Go (3) = 0
    PUSH to SHIP
    ELSE
    Wait
    ENDIF;
    Output_From: Front;
    END CYCLE_DETAIL
    BREAKDOWN_DETAIL
    Breakdown number: 1
    * Mode: Busy time;
    * Down interval: Undefined;
    * Repair time: Undefined;
    * Scrap part: No;
    * Description: MTBF
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 0;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Conveyor001(1))
    BREAKDWN (Machine001(1))
    BREAKDWN (Conveyor002(1))
    BREAKDWN (Machine002(1))
    BREAKDWN (Head)
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Conveyor001(1))
    REPAIR (Machine001(1))
    REPAIR (Conveyor002(1))
    REPAIR (Machine002(1))
    REPAIR (Head)
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 2
    * Mode: Busy time;
    * Down interval: NORMAL (3600.0,500,48);
    * Repair time: 3.5 * 60;
    * Scrap part: No;
    * Description: MTBA
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 1;
    ACTIONS, Breakdown
    Add
    BREAKDWN (Machine002(1))
    End Actions
    ACTIONS, Repair
    Add
    REPAIR (Machine002(1))
    End Actions
    LABOR:
    Repair: None;
    END
    Breakdown number: 3
    * Mode: Busy time;
    * Down interval: TRIANGLE (2.5 * 1440 * 60,3 * 1440 * 60,3.5 *
    1400 * 60,72);
    * Repair time: 120.0;
    * Scrap part: No;
    * Description: Nozzle ID Error
    * Setup on repair: No;
    * Check at cycle start only: Yes;
    DIALOG DISPLAY NUMBER: 2;
    LABOR:
    Repair: None;
    END
    END BREAKDOWN_DETAIL
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Head2
    Conveyor003
    NAME OF CONVEYOR: Conveyor003;
    QUANTITY: 1;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    ACTIONS, Front
    Add
    STAGE = STAGE + 1
    End Actions
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 2.0;
    BREAKDOWNS: No;
    PRIORITY: Lowest
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Conveyor003
    Dummy1
    NAME OF PART: Dummy1;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy1
    Dummy2
    NAME OF PART: Dummy2;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy2
    Dummy3
    NAME OF PART: Dummy3;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy3
    Dummy4
    NAME OF PART: Dummy4;
    TYPE: Variable attributes;
    GROUP NUMBER: 1;
    MAXIMUM ARRIVALS: 0;
    OUTPUT RULE: Wait;
    PART ROUTE: None
    REPORTING: Yes;
    CONTAINS FLUIDS: No;
    SHIFT: Undefined;
    ARRIVAL_PROFILE: No;
    END Dummy4
    Headwhere1
    NAME OF VARIABLE: Headwhere1;
    QUANTITY: 1;
    REPORTING: Yes;
    END Headwhere1
    Headwhere2
    NAME OF VARIABLE: Headwhere2;
    QUANTITY: 1;
    REPORTING: Yes;
    END Headwhere2
    Pie001
    NAME OF PIE_CHART: Pie001;
    QUANTITY: 1;
    STATE_VALUES:
    * Name: Head;
    * Type: standard;
    * Report by: on_shift_time;
    * Values: group;
    REFRESH INTERVAL: 3600;
    REPORTING: Individual;
    PULL_OUT_SEGMENT: 0;
    SHIFT: Undefined;
    END Pie001
    Pie002
    NAME OF PIE_CHART: Pie002;
    QUANTITY: 1;
    STATE_VALUES:
    * Name: Head2;
    * Type: standard;
    * Report by: on_shift_time;
    * Values: group;
    REFRESH INTERVAL: 3600;
    REPORTING: Individual;
    PULL_OUT_SEGMENT: 0;
    SHIFT: Undefined;
    END Pie002
    END_MODULE_DETAIL
    END HS52
    Lift1
    NAME OF MACHINE: Lift1;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: Lifttime;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Lift1
    Lift2
    NAME OF MACHINE: Lift2;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: Lifttime;
    INPUT RULE: ! Top to bottom done
    IF NPARTS (HS50.Conveyor003) > 0 AND NPARTS
    (Underconvl(9)) = 0
    PULL from HS50.Conveyor003 at Front
    !
    !! Bottom not done to next machine or next not done
    conveyor (not)
    !
    ELSEIF NPARTS (Underconvl(2)) > 0 AND (NPARTS
    (HS51.Conveyor001) = 0 OR NPARTS (Underconvl(3)) = 0)
    PULL from Underconvl(2) at Front
    ELSE
    Wait
    ENDIF;
    OUTPUT RULE: Wait;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Lift2
    Lift3
    NAME OF MACHINE: Lift3;
    QUANTITY: 1;
    TYPE: Single;
    PRIORITY: Lowest;
    LABOR:
    Cycle: None
    END
    DISCRETE LINKS:
    Fill: None
    END
    DISCRETE LINKS:
    Empty: None
    END
    CYCLE TIME: Lifttime;
    INPUT RULE: ! Top to bottom done
    IF NPARTS (HS51.Conveyor003) > 0 AND NPARTS
    (Underconvl(11)) = 0
    PULL from HS51.Conveyor003 at Front
    !
    !! Bottom not done to next machine or next not done
    conveyor (not)
    !
    ELSEIF NPARTS (Underconvl(4)) > 0 AND NPARTS
    (HS52.Conveyor000) = 0 !or nparts(underconvl(3)))
    PULL from Underconvl(4) at Front
    ELSEIF NPARTS (Underconvl(10)) > 0 AND NPARTS
    (Underconvl(11)) = 0
    PULL from Underconvl(10) at Front
    ELSE
    Wait
    ENDIF;
    OUTPUT RULE: Wait;
    Output_From: Front;
    REPORTING: Individual;
    SHIFT: Undefined,0,0;
    END Lift3
    Underconvl
    NAME OF CONVEYOR: Underconvl;
    QUANTITY: 12;
    TYPE: Queuing;
    PART LENGTH: 1;
    MAX CAPACITY: 1;
    INPUT RULE: Wait;
    OUTPUT RULE: Wait;
    CYCLE TIME: 1.0;
    BREAKDOWNS: No;
    PRIORITY Lowest;
    LABOR:
    Repair: None;
    END
    REPORTING: Individual;
    SHIFT: Undefined;
    RESTART DELAY: Undefined;
    END Underconvl
    Lifttime
    NAME OF VARIABLE: Lifttime;
    QUANTITY: 1
    REPORTING: Yes;
    END Lifttime
    END_MODULE_DETAIL
    END HS50Cluster310101
    END SELECT
    END DETAIL
    * * * ENDTEMPLATE * * *
  • The templates according to the present invention may contain certain values for the parameters for each piece of equipment or process step that are inherent and cannot be readily varied. For example, the conveyor speed, machine routing logic, and station to station time of a pick and place machine is often fixed. Some of these values may be proprietary. One advantage of burying the proprietary values in the template is that the contents of the template is usually not readily accessible to the user. [0080]
  • The template may also contain place holders for values for other parameters that may vary. These values correspond to the parameters and data in the populated spreadsheet. For example, FIG. 7A, at [0081] Row 40, depicts certain parameters for a cluster of two Siemens® HS 50, such as Mean Time Between Failure, etc. The Simulation object template for the HS 50 cluster has corresponding parameters that utilize the actual values from the populated spreadsheets.
  • In order to build the simulation objects that are needed to run the simulation software, a simulation development tool interfaces the spreadsheet with the discrete simulation software. The development tool extracts data from the user interface spreadsheets and other sheets, e.g. board data, shift data, etc. It puts this data in a Transfer File, such as, CBM_Transfer.XLS, where the data can be used to the build large and data intensive simulation objects in the discrete event simulation software. In one embodiment, the development tool uses an OLE connection to interface a spreadsheet, such as MS Excel®, with a discrete event simulation software package, such as Witness® 2000. Other simulation software, such as ProModel® (available from Promodel Corp., Provo Utah), Automod® (available from Autosimulations, Provo Utah), Arena® (available from Systems Modeling, Pittsburgh Pa.), Saimple® (available from AESOP GmbH, Germany) can also be used. Preferably, the development tool has grouping functionality similar to that found in products such as Microsoft Powerpoint,® To avoid accidentally moving objects, a lock function can be incorporated. The lock can be on a module base and the lock may be password protected. [0082]
  • Below is exemplary code for a software tool that, as is shown as [0083] step 4 of FIG. 1, extracts designer objects from an Excel Spreadsheet, builds simulation objects and places the current data in a Witness® 2000 simulation.
    Software Tool
    *  *  *  Begin Code for Software Tool!  *  *  *
    !************************************************************************
    ************************
    ! This section reads all of the data from the CBM_TRANSFER spreadsheet
    into WITNESS tables
    !************************************************************************
    ************************
    !
    ok = XLReadArray (stringpath +
    “\\cbm_transfer.xis”,“tr_Iine”,“$B$1:$B$101”,Siplacenumbers)
    PRINT “siplacenumbers”, ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”
    ,“tr_line”,“$D$1:$D$100”,Siplacepcnums)
    PRINT “siplacepcnumbers”,ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”
    ,“Iookup”,“$A$1:$B$43”,routeadd)
    PRINT “routeadd”,ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”
    ,“tr_brd_ct”,“$A$1:$A$100”,cycletimes)
    PRINT “cycletimes”,ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”
    ,“tr_line”,“$Y$1:$Y$100”,lastx)
    PRINT “lastx”,ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”
    ,“tr_line”,“$G$1:$H$101”,Assistsdata)
    PRINT “assists”,ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”,“tr_line”,“$M$1:$N$101”
    ,Failuresdata)
    PRINT “failures”,ok
    ok = XLReadArray (stringpath + “\\cbm_transfer.xls”
    ,“tr_line”,“$E$1:$E$101”,Singleordual)
    PRINT “singleordual”,ok
    !
    !************************************************************************
    ******************************************************
    ! This section relates the numbers from the front end to the WITNESS
    elements sitting in the designer elements box. Object
    ! chosen also depends on whether it is single or dual lane on the
    spreadsheet.
    !************************************************************************
    ******************************************************
    !
    mccount = 0
    FOR count = TO 100
    mccount = mccount + 1
    IF Singleordual (count) = 1
    IF Siplacenumbers (count) = 1200 OR Siplacenumbers (count)
    = 1230 OR Siplacenumbers (count) = 1250 OR Siplacenumbers (count) =
    1040 OR Siplacenumbers (count) = 1050
    elname (mccount) = S25_L1
    ELSEIF Siplacenumbers (count) = 1042 OR Siplacenumbers
    (count) = 1052
    elname (mccount) = S25Cluster2_L1
    ELSEIF Siplacenumbers (count) = 1043 OR Siplacenumbers
    (count) = 1053
    elname (mccount) = S25Cluster3_L1
    ELSEIF Siplacenumbers (count) = 1500
    elname (mccount) = HS50_L1
    ELSEIF Siplacenumbers (count) = 1502
    elname (mccount) = HS50Cluster2_L1
    ELSEIF Siplacenumbers (count) = 1503
    elname (mccount) = HS50Cluster3_L1
    ELSEIF Siplacenumbers (count) = 1040
    elname (mccount) = S25_L1
    ELSEIF Siplacenumbers (count) = 1050
    elname (mccount) = S25_L1
    ELSEIF Siplacenumbers (count) = 7500
    elname (mccount) = Lastlift
    ELSEIF Siplacenumbers (count) = 9001 OR Siplacenumbers
    (count) = 9002 OR Siplacenumbers (count) = 9003 OR Siplacenumbers
    (count) = 9004
    elname (mccount) = Printer
    ELSEIF Siplacenumbers (count) = 8001 OR Siplacenumbers
    (count) = 8002 OR Siplacenumbers (count) = 8003 OR Siplacenumbers
    (count) = 8004 OR Siplacenumbers (count) = 8005 OR Siplacenumbers
    (count) = 8006
    elname (mccount) = Oven_1Lane
    ELSEIF Siplacenumbers (count) = 7000
    elname (mccount) = Conv5_1
    ENDIF
    ELSEIF Singleordual (count) = 2
    IF Siplacenumbers (count) = 1200 OR Siplacenumbers (count)
    = 1230 OR Siplacenumbers (count) = 1250 OR Siplacenumbers (count) =
    1040 OR Siplacenumbers (count) = 1050
    elname (mccount) = S25
    ELSEIF Siplacenumbers (count) = 1042 OR Siplacenumbers
    (count) = 1052
    elname (mccount) = S25Cluster2
    ELSEIF Siplacenumbers (count) = 1043 OR Siplacenumbers
    (count) = 1053
    elname (mccount) = S25Cluster3
    ELSEIF Siplacenumbers (count) = 1500
    elname (mccount) = HS50
    ELSEIF Siplacenumbers (count) = 1502
    elname (mccount) = HS50Cluster2
    ELSEIF Siplacenumbers (count) = 1503
    elname (mccount) = HS50Cluster3
    ELSEIF Siplacenumbers (count) = 1040
    elname (mccount) = S25
    ELSEIF Siplacenumbers (count) = 1050
    elname (mccount) = S25
    ELSEIF Siplacenumbers (count) = 7500
    elname (mccount) = Lastlift
    ELSEIF Siplacenumbers (count) = 9001 OR Siplacenumbers
    (count) = 9002 OR Siplacenumbers (count) = 9003 OR Siplacenumbers
    (count) = 9004
    elname (mccount) = Printer
    ELSEIF Siplacenumbers (count) = 8001 OR Siplacenumbers
    (count) = 8002 OR Siplacenumbers (count) = 8003 OR Siplacenumbers
    (count) = 8004 OR Siplacenumbers (count) = 8005 OR Siplacenumbers
    (count) = 8006
    elname (mccount) Oven_2
    ELSEIF Siplacenumbers (count) = 7000
    elname (mccount) = Conv5_2
    ENDIF
    ELSEIF Singleordual (count) = 0
    IF Siplacenumbers (count) = 7100
    elname (mccount) = Shuttlel_2
    ELSEIF Siplacenumbers (count) = 7200
    elname (mccount) = Shuttle2_1
    ELSEIF Siplacenumbers (count) 7300
    elname (mccount) = Buffers
    ELSEIF Siplacenumbers (count) = 7500
    elname (mccount) = Lastlift
    ENDIF
    ENDIF
    NEXT
    !
    !
    ************************************************************************
    **********
    ! This section sets the path to each of the modules
    !
    ***********************************************************************
    ***********
    !
    stringpathso = stringpathso + “\\” + “\\”
    PRINT stringpathso
    FOR X = 1 TO 100
    ! IF elname (X) <> NAME2STR (Initial01)
    modname = STR2NAME (elname (X))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n FILENAME:“
    + stringpathso + modname +”.MDL;\nEND“+ modname +”\nEND
    SELECT\nEND DETAIL”)
    PRINT elname (X),ok
    ! ENDIF
    NEXT
    !
    !
    !
    ***********************************************************************
    ****************************************
    ! This section creates the actual WITNESS simulation elements
    !************************************************************************
    *******************************************
    !
    FOR X = 1 TO 100
    IF elname (X) <> ″″
    success = CreateFromDesigner (STR2NAME (elname
    (X)),elname (X) + “0” + X,lastx (X),500,NONE,lastx (X) + 20,530)
    ellist (X) = STR2NAME (elname (X) + “0” + X)
    ELSE
    elname (X) = Initial01
    ellist (X) = Initial01
    ENDIF
    NEXT
    !
    !
    !************************************************************************
    *******************************************
    ! This section establishes that the correct cycle time are inserted into each of
    the simulation elements.
    !************************************************************************
    *******************************************
    !
    !
    mccount = 1
    FOR count = 1 TO ELTCOUNT (1)
    IF ELTTYPE (ELTNAME (count)) = 4 AND LEFTSTR (ELTNAME
    (count),3) = “buf”
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 3 AND (LEFTSTR
    (ELTNAME (count),3) = “Con” OR LEFTSTR (ELTNAME (count),3) = “Shu”)
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),5) = “Lift4”
    mccount = mccount + 1
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 3 AND LEFTSTR (ELTNAME
    (count),4) = “Oven”
    strvar = “initial01.Cycletimes(“+ mccount +”)/30”
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nOven_2001\nCYCLE TIME: “+ strvar +”;\nEND
    Oven_2001\n END_MODULE_DETAIL\nEND ” + modname +
    “\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    !
    ELSE IF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),9) = “Printermc”
    strvar = “initial01.Cycletimes(“+ mccount +”)”
    periodpos = STRSTR (NAME2STR (ELTNAME (count))“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n” + modname + “\n
    BEGIN_MODULE_DETAIL\nPrintermc\n TYPE: Single;\n CYCLE TIME:” +
    strvar + “;\nEND Printermc\n END_MODULE_DETAIL\nEND” + modname +
    “\nSELECT\nEND DETAIL”)
    mccount = mccount + 1
    !
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),4) = “Head”
    strvar = “initial01.Cycletimes(“+ mccount +”)−0.01”
    !
    !******1 MODULE
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nHead\n TYPE: General(Multi-Cycle);\n
    CYCLE_DETAIL\n Cycle number: 1\n  * Cycle time: “+ strvar +”\n  *
    Input quantity: 1;\n  * Finish quantity: 1;\n  * Description: Cycle number
    I\nEND CYCLE_DETAIL\nEND Head\n END_MODULE_DETAIL\nEND ” +
    modname + “\nSELECT\nEND DETAIL”)
    !
    !*****2 MODULES
    periodpos2 = STRLEN (NAME2STR (modname))
    modstr = MIDSTR (NAME2STR (ELTNAME (count)),periodpos2
    + 2,100)
    periodpos2 = STRSTR (modstr,“.”)
    modstr = LEFTSTR (modstr,periodpos2 − 1)
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +” \n
    BEGIN_MODULE_DETAIL\n“+ modstr +” \n
    BEGIN_MODULE_DETAIL\nHead\n TYPE: General(Multi-Cycle);\n
    CYCLE_DETAIL\n Cycle number: 1\n * Cycle time: “+ strvar +”;\n  *
    Input quantity: 1;\n * Finish quantity: 1;\n * Description: Cycle number
    1\nEND CYCLE_DETAIL\nEND Head\nEND_MODULE_DETAIL\nEND “+
    modstr +” \n END_MODULE_DETAIL\nEND“+modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count)4) = “ead2”
    strvar = “initial01.Cycletimes(“+ mccount +”)−0.01”
    !
    !******1 MODULE
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +” \n
    BEGIN_MODULE_DETAIL\nHead2\n  TYPE: General(Multi-Cycle);\n
    CYCLE_DETAIL\n  Cycle number: 1\n  * Cycle time: “+ strvar +” \n  *
    Input quantity: 1;\n  * Finish quantity: 1;\n  * Description: Cycle number
    1\nEND CYCLE_DETAIL\nEND Head2\n END_MODULE_DETAIL\nEND “+
    modname +” \nSELECT\nEND DETAIL”)
    !
    !*****2 MODULES
    periodpos2 = STRLEN (NAME2STR (modname))
    modstr = MIDSTR (NAME2STR (ELTNAME (count)),periodpos2
    + 2,100)
    periodpos2 = STRSTR (modstr,“.”)
    modstr = LEFTSTR (modstr,periodpos2 − 1)
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +” \n
    BEGIN_MODULE_DETAIL\n“+ modstr +” \n
    BEGIN_MODULE_DETAIL\nHead2\n  TYPE: General(Multi-Cycle);\n
    CYCLE_DETAIL\n  Cycle number: 1\n  * Cycle time: “+ strvar +”;\n  *
    Input quantity; 1;\n  * Finish quantity: 1;\n  * Description: Cycle number
    1\nEND CYCLE_DETAIL\nEND Head2\nEND_MODULE_DETAIL\nEND“+
    modstr +”\n END_MODULE_DETAIL\nEND “+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    !
    ENDIF
    NEXT
    !
    !************************************************************************
    ! This section forms the routing table for the boards
    !************************************************************************
    FOR count = 1 TO 100
    IF elname (count) <>″″
    X = IPOSSVAL (routeadd,elname (count),2,1)
    !PRINT count,X
    IF routeadd (2,X) <> “None”
    modoutput (count) = STR2NAME (ellist (count) + “.” +
    routeadd (2,X) + “(N)”)
    ELSE
    modoutput (count) = STR2NAME (ellist (count))
    ENDIF
    ENDIF
    NEXT
    !
    !***********************************************************
    ! Shifts
    !**********SETS SHIFTS IN ALL MACHINES & CONVEYORS
    !***********************************************************
    READSHFT (Shiftpattern,stringpath + “\\tr_shft_I.sft”)
    FOR count = 1 TO ELTCOUNT (1)
    IF ELTTYPE (ELTNAME (count)) = 2 OR ELTTYPE (ELTNAME
    (count)) = 3 OR ELTTYPE (ELTNAME (count)) = 1 OR ELTTYPE (ELTNAME
    (count)) = 8
    SETSHIFT (ELTNAME (count),Shiftpattern)
    ENDIF
    NEXT
    !************************************************************************
    !****************************Assists*************************************
    *
    !************************************************************************
    !RETURN
    !
    PRINT “\f”
    mccount = 1
    FOR count = 1 TO ELTCOUNT (1)
    IF ELTTYPE (ELTNAME (count)) = 4 AND LEFTSTR (ELTNAME
    (count),3) = “buf”
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 3 AND (LEFTSTR
    (ELTNAME (count),3) = “Con” OR LEFTSTR (ELTNAME (count),3) = “Shu”)
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),5) = “Lift4”
    mccount = mccount + 1
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 3 AND LEFTSTR (ELTNAME
    (count),4) = “Oven”
    strvar = “Normal(initial01.Assists (1,“+ mccount +”) *2, 0.05 *
    initial01.Assists (1,“+ mccount +”),“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.Assists (2,“+ mccount +”), 0.05 *
    initial01.Assists (2,“+ mccount +”),“+ 8 + mccount +”)”
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nOven_2001\nBREAKDOWNS: Available time;\n*
    Down interval: “+ strvar +”\n* Repair Time: “+ strvar2 +”;\nEND
    Oven_2001\n END_MODULE_DETAIL\nEND “+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),9) = “Printermc”
    strvar = “Normat(initial01.Assists (1,“+ mccount +”) *2, 0.05 *
    initial01.Assists (1,“+ mccount +”),“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.Assists (2,“+ mccount +”), 0.05 *
    initial01.Assists (2,“+ mccount +”),“+ 8 + mccount +”)”
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nPrintermc\nBREAKDOWN_DETAIL\nBreakdown
    number: 2\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Printermc\nEND_MODULE_DETAIL\nEND“+
    modname +”\nSELECT\nEND DETAIL”)
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),4) = “Head”
    strvar “Normal(initial01.Assists (1,“+ mccount +”) *2, 0.05 *
    initial01.Assists (1,“+ mccount +”),“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.Assists (2,“+ mccount +”), 0.05 *
    initial01.Assists (2,“+ mccount +”),“+ 8 + mccount +”)”
    !**********1 Module
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nHead\nBREAKDOWN_DETAIL\nBreakdown
    number: 2\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\fl* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head\nEND_MODULE_DETAIL\nEND “+
    modname +”\nSELECT\nEND DETAIL”)
    !***********2 Modules
    periodpos2 = STRLEN (NAME2STR (modname))
    modstr = MIDSTR (NAME2STR (ELTNAME (count)),periodpos2
    + 2,100)
    periodpos2 = STRSTR (modstr,“.”)
    modstr = LEFTSTR (modstr,periodpos2 − 1)
    ok = SETINFO (“DETAIL\nSELECTXn“+ modname +”\n
    BEGIN_MODULE_DETAIL\n“+ modstr +”\n
    BEGIN_MODULE_DETAIL\nHead\n BREAKDOWN DETAIL\nBreakdown
    number: 2\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head\nEND_MODULE_DETAIL\nEND“+
    modstr +”\n END_MODULE_DETAIL\nEND“+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),4) = “ead2”
    strvar = “Normal(initial01.Assists (1, “+ mccount +”) *2, 0.005 *
    initial01.Assists (1,“+ mccount +”),“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.Assists (2,“+ mccount +”), 0.05 *
    initial01.Assists (2,“+ mccount +”),“+ 8 + mccount +”)”
    !**********1 Module
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nHead2\nBREAKDOWN_DETAIL\nBreakdown
    number: 2\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head2\nEND_MODULE_DETAIL\nEND “+
    modname +”\nSELECT\nEND DETAIL”)
    !***********2 Modules
    periodpos2 = STRLEN (NAME2STR (modname))
    modstr = MIDSTR (NAME2STR (ELTNAME (count)),periodpos2
    + 2,100)
    periodpos2 = STRSTR (modstr,“.”)
    modstr = LEFTSTR (modstr,periodpos2 − 1)
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\n“+ modstr +”\n
    BEGIN_MODULE_DETAIL\nHead2\n BREAKDOWN_DETAIL\nBreakdown
    number: 2\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head2\nEND_MODULE_DETAIL\nEND“+
    modstr +”\n END_MODULE_DETAIL\nEND “+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    ENDIF
    NEXT
    !
    rowcount = 1
    FOR count = 1 TO mccount
    Assists (1,count) = Assistsdata (1,rowcount)
    Assists (2,count) = Assistsdata (2,rowcount)
    Siplaceponums (rowcount) = Siplacepcnums (rowcount) − 1
    IF Siplacepcnums (rowcount) <= 0
    rowcount = rowcount + 1
    ENDIF
    NEXT
    !*********************************************
    !Failures at Level 1
    !*********************************************
    PRINT “\f”
    mccount = 1
    FOR count = 1 TO ELTCOUNT (1)
    IF ELTTYPE (ELTNAME (count)) = 4 AND LEFTSTR (ELTNAME
    (count),3) = “buf”
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 3 AND (LEFTSTR
    (ELTNAME (count),3) = “Con” OR LEFTSTR (ELTNAME (count),3) = “Shu”)
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),5) = “Lift4”
    mccount = mccount + 1
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 3 AND LEFTSTR (ELTNAME
    (count),4) = “Oven”
    strvar = “Normal(initial01.failures1 (1,“+ mccount +”) *2, 0.05 *
    initial01.failures1 (1,“+ mccount +”),“+ 3 + mccount +”)”
    strvar2 = “Normal(initial01.failures1 (2,“+ mccount +”), 0.05 *
    initial01.failures1 (2,“+ mccount +”),“+ 4 + mccount +”)”
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nOven_2001\nBREAKDOWNS: Available time;\n*
    Down interval: “+ strvar +”\n,* Repair Time: “+ strvar2 +”;\nEND
    Oven_2001\n END_MODULE_DETAIL\nEND “+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    !
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),9) = “Printermc”
    strvar = “Normal(initial01,failures1 (1,“+ mccount +”) *2, 0.05 *
    initial01.failures1 (1,“+ mccount +”),“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.failures1 (2,“+ mccount +”), 0.05 *
    initial01.failures1 (2,“+ mccount +”),“+ 8 + mccount +”)”
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nPrintermc\nBREAKDOWN_DETAIL\nBreakdown
    number: 1\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Printermc\nEND_MODULE_DETAIL\nEND “+
    modname +”\nSELECT\nEND DETAIL”)
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),4) = “Head”
    strvar = “Normal(initial01.failures1 (1,“+ mccount +”) *2, 0.05 *
    intial01.failures1 (1,“+ mccount +”),“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.failures1 (2,“+ mccount +”), 0.05 *
    initial01.failures1 (2,“+ mccount +”),“+ 8 + mccount +”)”
    !**********1 Module
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nHead\nBREAKDOWN_DETAIL\nBreakdown
    number: 1\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head\nEND_MODULE_DETAIL\nEND “+
    modname +”\nSELECT\nEND DETAIL”)
    !***********2 Modules
    periodpos2 = STRLEN (NAME2STR (modname))
    modstr = MIDSTR (NAME2STR (ELTNAME (count)),periodpos2
    + 2,100)
    periodpos2 = STRSTR (modstr,“.”)
    modstr = LEFTSTR (modstr,periodpos2 − 1)
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\n“+ modstr +”\n
    BEGIN_MODULE_DETAIL\nHead\n BREAKDOWN_DETAIL\nBreakdown
    number: 1\n* Mode: Busy Time;\n* Down interval:“+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBA\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head\nEND_MODULE_DETAIL\nEND “+
    modstr +”\nEND_MODULE_DETAIL\nEND “+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    ELSEIF ELTTYPE (ELTNAME (count)) = 2 AND RIGHTSTR
    (ELTNAME (count),4) = “ead2”
    strvar = “Normal(initial01.failures1 (1,“+ mccount +”) *2, 0.05 *
    initial01.failures1 (1,“+ mccount +”,“+ 9 + mccount +”)”
    strvar2 = “Normal(initial01.failures1 (2,“+ mccount +”), 0.05 *
    initial01.failures1 (2,“+ mccount +”),“+ 8 + mccount +”)”
    !**********1 Module
    periodpos = STRSTR (NAME2STR (ELTNAME (count)),“.”)
    modname = STR2NAME (LEFTSTR (NAME2STR (ELTNAME
    (count)),periodpos − 1))
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\nHead2\nBREAKDOWN_DETAIL\nBreakdown
    number: 1\n* Scrap part: No;\n* Description: MTBF\nSetup on
    repair: No;\n* Check at cycle start only: Yes,\nEND
    BREAKDOWN_DETAIL\nEND Head2\nEND_MODULE_DETAIL\nEND “+
    modname +”\nSELECT\END DETAIL”)
    !***********2 Modules
    periodpos2 = STRLEN (NAME2STR (modname))
    modstr = MIDSTR (NAME2STR (ELTNAME (count)),periodpos2
    + 2,100)
    periodpos2 = STRSTR (modstr,“.”)
    modstr = LEFTSTR (modstr;periodpos2 − 1)
    ok = SETINFO (“DETAIL\nSELECT\n“+ modname +”\n
    BEGIN_MODULE_DETAIL\n“+ modstr +”\n
    BEGIN_MODULE_DETAIL\nHead2\n BREAKDOWN_DETAIL\nBreakdown
    number: 1\n* Mode: Busy Time;\n* Down interval: “+ strvar +”;\n* Repair
    time: “+ strvar2 +”;\n* Scrap part: No;\n* Description: MTBF\nSetup on
    repair: No;\n* Check at cycle start only: Yes;\nEND
    BREAKDOWN_DETAIL\nEND Head2\nEND_MODULE_DETAIL\nEND “+
    modstr +”\n END_MODULE_DETAIL\nEND “+ modname +
    ”\nSELECT\nEND DETAIL”)
    !
    mccount = mccount + 1
    ENDIF
    NEXT
    !
    ok = XLReadArray (stringpath +
    “\\cbm_transfer.xls”,“tr_”,“$D$1:$D$100”,Siplacepcnums)
    PRINT “siplacepcnumbers”,ok
    rowcount = 1
    FOR count = 1 TO mccount
    Failures1 (1,count) = Failuresdata (1,rowcount)
    Failures1 (2,count) = Failuresdata (2,rowcount)
    Siplacepcnums (rowcount) = Siplacepcnums (rowcount) − 1
    IF Siplacepcnums (rowcount) <= 0
    rowcount = rowcount + 1
    ENDIF
    NEXT
    *  *  *  END CODE FOR SOFTWARE TOOL  *  *  *
  • After the simulation objects are built, they may be outputted, e.g., to the screen, in a spreadsheet form as is shown in FIG. 9. A simulation may be run by selecting a button to execute the simulation, or the simulation may be programmed to run automatically after it is built. [0084]
  • After the simulation is run, outputs from the simulation software may be exported to an output spread sheet. When used to perform electronic assembly solutions, outputs may comprise data such as the number of circuit boards processed per time period of simulation and utilization of machines and conveyors. The present invention could be used in other areas besides the electronic assembly area and would provide data appropriate to these areas. [0085]
  • The output spreadsheet may be configured to accept certain inputs, such as boundary conditions, exchange rates, and depreciation rates. In some embodiments, the output spreadsheet may contain buttons such as those shown in FIG. 10. The spreadsheet may also be configured to provide useful machine and assemble line data, such as cost of ownership and machine statistics. [0086]
  • Selecting the “Boundaries” button opens the interface shown in FIG. 11 and allows the user to enter boundary data. Selecting the “Setup” button results in the launching of an interface as depicted in FIG. 12 and allows the user to enter Setup information. The user may also select the “Quality” button to launch an interface as is depicted in FIG. 13. This allows the user to input quality data and criteria. Likewise, the user can input maintenance data by clicking on the “Maintenance” button, which launches another input interface permitting the entry of maintenance-related information. (See FIG. 14). [0087]
  • FIG. 15 depicts a spreadsheet configured to provide cost of ownership data. The data may also be depicted graphically as is shown in FIG. 16. Typical cost of ownership calculations may employ the following equations.[0088]
  • Cost per Year=Investment*depreciation(%)*(1+Interest Rate)+Labor cost Operator+Labor cost Technician+Electricity cost+Air costs+Nitrogen costs+Floorspace costs+Spare part costs+Setup cost+Maintenance cost. All costs may be summarized per year.
  • Output per year=(Yearly working hours−setup time−maintenance time−quality time)*Real placement capacity (by simulation)
  • Quality time=time which is necessary to reproduce bad boards.
  • FIG. 16A is a flowchart illustrating how a cost of ownership function may be configured. Typically, cost of ownership will be calculated in conformance with [0089] SEMI E 35 standards, which are hereby incorporated by reference.
  • Central to a successful modeling and simulation effort is the arrival at an appropriate level of abstraction for modeling the system of interest. While simulations may be run at various levels of abstraction, tradeoffs between accuracy and speed often exist. One wants to represent the system with sufficient fidelity and detail to generate results that satisfy the developer's objectives. At the same time, this goal needs to be achieved without excessive use of scarce resources, which, among other things, include the time available to set up particular models of systems to be simulated, as well as the time for the simulations to execute. [0090]
  • According to the present invention, satisfactory results in the electronic assembly solutions area may be obtained by modeling assembly system configurations at a material flow level of abstraction. Other levels of abstraction may be used might be used consistent with other aspects of the present invention; however, a higher level of abstraction may produce less accurate results and a lower level of abstraction may require more resources and may give more detail than is necessary for adequate customer benefit modeling. For example, to simulate at a lower level of abstraction, more details may be required for the simulation objects. [0091]
  • Because the present invention allows simulation objects to be built, and simulations to be run, in a comparatively short period of time, it is possible to quickly and easily model actual production line configurations. This modeling allows the accuracy of the simulation to be accessed and also allows simulation parameters to be adjusted to improve the overall performance of the simulation tool. For example, if the cycle time of a particular machine were reduced by one second, the tool can be used to predict the effect on the entire line's performance. [0092]
  • The present invention provides numerous advantages when modeling and designing assembly lines and other systems. In particular, the present invention provides an easy-to-use customer benefit modeling tool that is readily adaptable for use in the electronic assembly systems equipment and/or solutions areas. It enables a method for applying customer benefit modeling to permit new pricing and financing arrangements for the electronic assembly systems, equipment and solutions areas, and it provides for a consultative sales process that employs these modeling approaches. For example, consultants and others may employ the customer benefit modeling to develop performance-based contracts for configuring and/or selling of assembly and/or production systems. By incorporating a customer solutions database that employs standard calculations, all consultants employing the tools and techniques of the present invention will have at their disposal standardized calculating schemes. This will enable improved solutions business models based on analysis, modeling, simulation, and quantification of customer benefits. [0093]
  • The tools and techniques of the present invention may be used to provide a model-based, closed loop process control approach to electronic assembly. An optimizer module based on advanced computing methodology may be added, as well as a combined business rule repository/optimizer module for electronic assembly systems, equipment and/or solutions. A combination data mining module and business rule repository may also be added. [0094]
  • The present invention may also be enabled to function over a network, such as the Internet. Consultants and customers can then access the tools and methods of the present invention from virtually anywhere. In addition, a web-based version allows the simulation objects to be centrally maintained and the database of parameters for the designer elements may also be centrally maintained and readily updated. [0095]
  • The present invention is particularly well suited for use by consultants wishing to improve the efficiency of assembly lines. FIG. 17 illustrates the logic flow of how the present invention may be used. A consultant first inputs, in a defined user interface, a configuration resembling an existing assembly line, [0096] step 1001. The consultant may do this by selecting or inputting predefined Designer Elements, 1002, which may include values for certain operating parameters associated with the equipment and line being modeled. These values may be stored in a separate database, which can be periodically updated. This results in a base case configuration, Step 1003. Next, various data, such as actual customer data inputs, 1004, including actual operating parameters from the existing line may be incorporated and used to adapt the default data of the base case, step 1005. If data on the actual operating parameters is not available, default data can be used. Next, a simulation is re-run using the actual customer data, step 1007. The values obtained by the model can be compared with the customer's actual production line data
  • Next, at [0097] step 1009, the consultant, using his own consulting knowledge, may attempt to optimize certain line parameters, such as cycle times, times to repair a particular machine, length or speed of conveyors, etc. It is also possible to allow the simulation software to automatically optimize some of these parameters. For example, Witness® 2000, contains a function to do this automatic optimization. Some of these parameter values may have initially been incorporated from the data associated with the Designer Elements.
  • Another simulation is created, [0098] step 1011. If the simulation produces erroneous results, it may be necessary to redefine and re-adapt the default data to the project at step 1005. If the results produced at step 1011 are reasonable, the configuration and associated parameters can be stored in a database, 1020, or the optimization step 1009, may be re-run to further optimize the line.
  • [0099] Logic flow line 1050 in FIG. 17 shows one possible embodiment where the operating parameter database associated with the designer elements is updated based on real world experience. This database may be updated and be customized to reflect actual experiences of a particular customer.
  • The customer benefit modeling tool of the present invention may support various business models and methods. For example, the tool may be used as part of a method of doing business for an electronics assembly solutions business, such as is outlined in FIGS. 18 and 19. An electronics assembly solutions business method may employ various phases, as is outlined in FIG. 20. In [0100] phase 1, a PCB assembly line may be modeled statically and a simulation may be run using performance metrics that are estimated and may perform sensitivity analysis. In a phase 2, data may be collected from the PCB assembly line. In phase 3, data mining may occur through a Facilitator. The data collected may be used to perform modeling and simulation, as well as parameter estimation to validate performance metrics, perform sensitivity analysis, to perform forecasting and prediction. A business rule repository may be implemented that may, in some embodiments, acquire expert knowledge—from consultants and customers. The business rule repository may exchange information with modeling and simulation parameter groups, which may in turn with the business rules repository data be used to do line optimization. Performance may be optimized by the use of an Inference Engine. The method may be web-enabled using web portals and may provide feedback to the PCB assembly line for closed loop control.
  • The electronics assembly solutions business method may focus on the line, multi-line and shop floor levels in a customer's electronics assembly facilities. Customers may be both original equipment manufacturers (“OEMs”) and contract manufacturers (“CMs”). A solutions business method may encompass a scope of supply that includes placement machines and other machines from Certified Partners, line level software products and a full range of service and support capabilities. The sales of electronics assembly solutions may be managed through a new Consultative Sales Process based on Customer Value Space Analysis and Fulfillment. The primary opportunities to increase customer solutions value include: Increased utilization, throughput, yield, flexibility and responsiveness; Reduced inventories; and Effective new product and new technology introduction. Long term performance may be optimized through bundled packages of innovative software and consulting services. This may enable real people in real factories to achieve high levels of ongoing system performance. Once a system has been modeled and implemented, real production data can be used to calibrate the model and improve the accuracy of future system changes. [0101]
  • FIG. 21 graphically represent the advantages that are achievable with the tools and methods of the present invention when compared with prior art tools and methods. As is graphically depicted, key enablers, i.e. products, methodologies, practices, tools, software applications, services, etc. enable customers to improve their performance and enhance performance metrics. Enhancement may be improved as part of an ongoing production line. [0102]
  • The flowchart in FIG. 22 graphically illustrates a solutions value proposition from a customer project life cycle view. First, new line requirements are defined. Next, the basic configuration is selected. Suggested modifications are simulated, performance is analyzed, and the line configuration is optimized. A final line configuration is defined and a customer is shown the value of the optimization. Key performance metrics are defined and a contract implementing the optimization is negotiated. [0103]
  • Next, orders are placed for necessary equipment and components. The new line is then installed and commissioned. The line is monitored and performance problems are defined as part of a comprehensive performance analysis. An optimization plan is defined and the customer is shown the value of the optimization. A contract is then negotiated and required line changes are identified. The process may be repeated until the desired level of optimization is reached. [0104]
  • The customer benefit modeling tool of the present invention enables a business method that includes the steps of providing a specific set of documented, quantitative consulting process by trained consultants within a defined consulting framework. In an embodiment of the consulting process according to the present invention, a consultant: benchmarks existing customer operations; identifies and prioritizes solutions opportunities at a customer site; designs optimized solutions comprising machines, software tools, and operating parameters, such as staffing; defines achievable target performance metrics for proposed solutions; and quantifies and shows the customer benefit of implementing the proposed solutions. [0105]
  • The tools and methods of the present invention define: optimum shop floor configuration for a defined set of products and production volume; optimum line configurations and specific equipment within the shop floor; optimum batch sizing; set-up and changeover strategy; achievable target set-up and changeover metrics; achievable target run-time performance metrics; the operating environment needed to achieve target performance metrix, such as staffing, material supply, maintenance, operating rules; when and how to introduce specific new technology; and when and how to introduce new products. [0106]
  • The customer benefit modeling tool can accurately predict the performance of real production systems because it uses a dynamic model based on discrete event simulation. Accordingly, it enables customer system performance to be expressed in a range of metrics, including for example, throughput, cost performance, yield, OEE, and COO. [0107]
  • An embodiment of a method according to the present invention of using the customer benefit modeling tools described above involves managing a given customers specific project through a series of phases defined by a consultative sales process, as is outline in FIG. 23. These method steps include: [0108]
  • [0109] Step 450, phase 1—Identify opportunity. In this step, which is a solution level, custom details, primary issues and goal are identified. Key criteria, such as needs, willingness to pay, and potential costs and savings are also identified. This step may be performed by a consultant or salesperson. If performed by a salesperson, a consultant may provide any necessary support.
  • [0110] Step 460, phase 2—Identify specific high level analysis. In this step, specific opportunities are identified for detailed analysis. The customer benefit tool of the present invention enables a consulting process, which may include showing a rough solution with value potential to a customer. In some embodiments, this will be generated on the fly during a sales call or initial meeting with the client. “What if” scenarios can be evaluated quickly to illustrate the value that can be added for the customer.
  • [0111] Step 470, phase 3—Detailed Customer value analysis. In this step, detailed measurements and analysis for each area covered in phase 2 can be performed. The customer benefit modeling tool of the present invention enables a consultant to show accurately the solutions value potential. “What if” changes and benefits can be analyzed. In this phase, more detailed analysis is performed. In one embodiment, the consultant is paid for his time and efforts in this phase, whereas in phase 2, the consultant or sales person may make only sales pitches and therefore not be compensated for the effort expended there.
  • [0112] Step 480, phase 4—Implementation plan and contract. In this phase, a detao;ed performance improvement plan for each area from phase 3 is developed. A value based implementation contract may be drawn-up and negotiated. Also in this phase, the equipment, software, implementation plan, scope of consulting and technical services can be specified.
  • [0113] Step 490, phase 5—Implement. In this phase, the plan of phase 4 is implemented. The proposed customer benefits of the proposed solution are validated. This phase provides an opportunity for the consultant to demonstrate excellent implementation capability. The consultant also has the opportunity in this phase to become a preferred supplier (over internal resources) for the next project. The consultant, in some embodiments, is paid on a value added basis.
  • In an embodiment of the consultative sales process, all results from customer specific projects are used to build a customer solutions database. This database enables: Benchmarking of the current and proposed solutions; Proliferation of “best practice;” Consistency of processes and solutions; and Minimization of overall solution variety. [0114]
  • A consulting knowledge management process can be used to organize, update, and disseminate knowledge about the customer benefit tool, the consulting process, the consulting framework and the customer solutions database. In one embodiment, the consulting knowledge management process comprise: Documenting; Training; Performing case studies; and Meeting to discuss “Best Practices.”[0115]
  • The customer benefit modeling tool of the present invention is particularly well-suited to enable electronics assembly solutions selling based on customer value. The tool allows firm performance metrics to be established for any electronics assembly solutions project prior to implementation. The metrics may span the range from throughput, basic cost performance and yield, through overall equipment effectiveness (“OEE”) and onto full cost of ownership (“COO”). The tool enables a consultant to accurately quantify unfulfilled value spaces at a customer site; design an optimized assembly solution to “fill the spaces”—this results in low cost of production and other customer specific goals; and to quantify and show the customer benefit of the proposed solution. [0116]
  • The customer benefit tool of the present invention enables unique and innovative sales and marketing techniques by offering low-risk line level performance guarantees (e.g. throughput, yield, OEE, COO, unit assembly cost). The present invention also offers gain share pricing solutions packages. [0117]
  • The tools and methods of the present invention may be used to model various processes and production environments. One primary target domain is for electronics assembly/test line and shop floor levels, although it is also well-suited for use in the general electronic assembly factory level, including sub-assembly levels of building, final assembly, testing, and packaging). In some key sectors (e.g. cellphone manufacture) electronics assembly and testing are directly in-line with final assembly and testing. In situations such as these, final assembly and testing may be considered part of the electronics assembly line for modeling purposes. Electronics assembly/test lines typically comprise a linked series of linked processing machines and board handling equipment. The handling equipment may include WIP buffers. Local, dedicated, component storage areas may be present. Individual machines may be able to buffer boards between one or more process stages and lince can be single or dual conveyor, synchronous or asynchronous operations. [0118]
  • The primary processes and environments that may be modeled may include SMT assembly (print, dispense, place, reflow /cure), through hole assembly (auto, manual, pin/connector insertion), inspection (manual, auto-optical, x-ray), and Test (in circuit, functional). An electronics assembly shop floor typically comprises: multiple lines that start and finish with a magazine load/unload unit; workcells containing groups of machines (not all in-line); WIP buffers; local component storage areas; tooling storage areas; and feeder set-up/kitting areas. [0119]
  • One business method of the present invention may employ the use of certified machine suppliers. All machines that are offered as part of an electronics assembly solutions will come from a certified OEM partner. Certification may require providing and maintaining for each of the specific equipment/option configurations: Tools for calculation nominal cycle time for a defined electronic assembly; Tools for calculating nominal process yield for a defined electronic assembly; Full and validated COO model, including accurate MTBF/MTTR data; Full classification/definition of interrupts that can decrease throughput from nominal levels; Information/acceptable roadmap for automated provision of key event data automatically available from equipment; and Full classification/definition of factors that can increase defects above nominal levels. [0120]
  • Assembly lines that may be the subject of the consultative sales process and that are suitable for use with the customer benefit model tool include: [0121]
  • Type A lines, which are very high volume, low mix lines having the following characteristic: 100 to 300 k components per hour (“cph”); Up to 14 assembly systems per line (top and bottom assembly); Up to 40 total machines per line with a line length up to 100 m; Fixed set-up (i.e. less than 1 product change per month); 24×7 production; and [0122] Pulse time 10 to 45 seconds.
  • Type B lines, which are High Volume, Medium Mix lines having the following characteristics: 40 to 120 cph; Up to 6 SIPLACE in ine (single sided assembly); Up to 25 machines per line with a line length up to 50 m; Flexibility through “cluster configuration;” and 24×5 operation. [0123]
  • Type C lines, which are medium volume, high mix lines and have the following characteristics: 15 to 50 cph; Up to 3 SIPLACE machines per line; Up to 15 machines per line with a line length up to 25 m; Small batch sizes, wide component and packaging type variety; and Ratio of production to set-up/changeover time can be less then 1:1. [0124]
  • A consultant may use the customer benefit modeling tool of the present invention to develop a basic line scenario. As is shown in FIG. 24, the process flow for developing the scenario may start with the defining of a line process sequence. This may be selected from a library of supported process stages. Next the line equipment configuration is defined. This includes selecting models, number of units and options. These may be selected from a library of supported machines. In one embodiment, all have certified/expected COO models associated with them. [0125]
  • Next, in the “products defined” step, a process sequence is entered and for each stage in the process cycle time, composite yield, cost of material added, and handling data are inputted. This definitional step may be manual or may be automated through the use of such tools as Siemens SICALC tool. Next, a production schedule is defined. Set-up cycle time for a first cluster is entered, as is set-up and changeover time. This may be manually inputted or may be automatically inputted from a tool such as Siemens SIPLACE cluster tool. The process may require running several iterations to get a consensus on basic line design. [0126]
  • The customer benefit model tool of the present invention may also be used to perform customer project lifecycle development. This lifecycle development process is outline in the flowcharts of FIGS. [0127] 25 to 29. As shown in FIG. 25 the process can line and system design. It can include optimized design capabilities (see FIG. 26); it may include automated performance monitoring. (See FIG. 27). In some embodiments data between design and monitoring activities may be shared. (See FIG. 28). A common data base may also be employed to aid in performance optimization. (See FIG. 29).
  • Line Performance Monitoring/Basic Analysis
  • One aspect of the present invention is that it allows for line performance monitoring and basic analysis. In one embodiment a line level software application that can be built upon is implemented. All machines in the line may be connected to together through an interface or in any suitable manner. The application monitors and records key time-based event data, such as “Board xyz is entering,” or “Begin processing on Boardxyz,” or “Board ID='xyz001 is complete,” or “Part ABC123 is rejected at [0128] pickup location 15.” Preferably, the application supports machine/line level performance reporting and simple “drill down” capabilities defined to current accepted industry standards, for example from Semiconductor Equipment and Materials International (“SEMI”) or Association Connecting Electronic Industries (“IPC”). Basic line performance guarantees are fully enabled. This embodiment requires the installation of “Solution X” infrastructure (server, framework, database—at least one per site). In this embodiment connectivity to each machine is achieved with interface/adapter kits (i.e. network adapters, drivers, etc.) Other software modules may “Plug and Play” into the infrastructure. This minimizes customer time and the costs involved.
  • This aspect of the invention is applicable to various manufacturers equipment. The lines that may be monitored may be proprietary, such as Siemens SIPLACE® lines, or they can be comprised of equipment from various competitors. [0129]
  • This aspect of the invention provides for a targeted sales business method where line monitoring capabilities are installed on all new lines. It also enables concurrent/subsequent sale of high value/high margin customer benefit modeling, consulting and sale of software packages. [0130]
  • The customer benefit modeling tool of the present invention may also be used to optimize line set-up and line change over. One method of optimization involves optimizing set-up and changeover strategy to achieve required production goals. The set-up process can be managed to achieve a target performance. [0131]
  • The present invention provides for a consultative method that may include the steps of developing a strategy for optimization, developing an implementation plan, and showing the benefits of the plan to the customer by using the customer benefit modeling tool of the present invention. [0132]
  • Line Set-up and Changeover Optimization
  • In one embodiment, the method of line set-up and changeover optimization may be implemented by software to optimize clustering, perform comprehensive set-up verification, perform changeover management, and handle local logistics. [0133]
  • Optimizing clustering involves consideration of comprehensive production constraints. These may include: board output requirements (wip, lot cycle time, due date); nominal changeover time; component placement rate; number of component reels (or trays, sticks); and number of feeders and feeder tables. [0134]
  • Comprehensive Set-up Verification includes external set-up; it is preferably performed in a closed loop fashion to avoid mistakes. It should cover critical parts, such as value, reworkability, test coverage, and shortages). Changeover Management involves the development of nominal schedules, monitoring key events, and configuring escalation processes/messages. Local Logistics often involve completing a list of required materials to ensure set-ups for the next time intervals. [0135]
  • The benefits of this method include equipment efficiency increases of up to 35%. Less scrap is generated and rework is reduced. This method also results in less set-up errors. The customers that may be prime targets for this method include all Type B and C production, and some Type A (e.g. prototype/pilot runs). When this method is employed, the customer benefit modeling tool may provide to the customer the impact of different clustering and set-up strategies on OEE/COO, the impact of effective changeover management on OEE/COO, the impact of set-up verification on OEE/COO. The cost of a single mistake and the material and rework cost elements may also be shown to a customer. The customer can see the value of the consultants process in terms of real dollars because the customer benefit model can be quickly and easily run for the customer. [0136]
  • The customer benefit tool of the present invention also provides for a method for optimizing line performance during runtime. According to this method, a consultant designs an optimized line. The consultant may select a specific configuration or add or select specific equipment that will result in optimization (e.g. buffers and feeders). Staffing requirements are defined and may include (number, skill level, and tasks). Local material management practices/levels are also defined and may include components, WIP, and consumables. PM strategy is also defined and may include frequency and duration. [0137]
  • Software may be employed to perform line monitoring. It may incorporate additional events not provided in the basic monitoring package. The software may also be useful for performing analysis, such as providing a range of basic analysis relevant to different “User Views.” In other words, each user, depending on his or her role, will have a different view of the information provided by the entire system. Accordingly, each role within an organization will have access to the right information/applications in the right form to effectively perform their tasks. For example, a line operator will have another set of information than the line supervisor or the maintenance technician or the production manager. As a further example, a solution may be expressed in terms of capacity for line management and terms of cost of ownership for executive management. The software may assist with local logistics. The software can manage, among other things, lists of required materials to avoid run out during the next time interval(s). It can also provide reports of separate scrap usage of components, as well as packaging related groups. [0138]
  • The benefits of the line runtime performance optimization method include the following. Equipment effectiveness may be increased by up to 35%. Bottleneck analysis and optimization may be provided. Material run out may be avoided. And other interrupts, such as feeder jams, mispicks, etc. may be minimized. Scrap and rework costs are reduced. The method results in the elimination of incorrect components added. It also results in the process being optimized. Staffing costs are also optimized. [0139]
  • This method may be targeted to Type A and B production customers, as well as some Type C customers. The customer benefit tool of the present invention works well with this method to provide to the customer: the impact of different line configurations on OEE/COO; the impact of material run out on OEE/COO; the impact of incorrect material replenishment on OEE/COO; the Impact of Process Yields on OEE/COO; and the Impact of different staffing strategies on COO/OEE. [0140]
  • An embodiment of a consultative sales method according to the present invention is shown in flowchart form in FIG. 30. This embodiment of the method, like those described below, may be implemented over any time frame, but may be most suitable for performing during a consultation or sales session with the customer. First, at [0141] 3002, the consultant or salesperson, after becoming familiar with the customer's electronics assembly system needs, identifies a corresponding set of one or more potential solutions opportunities. The solutions opportunities may involve any combination of equipment and parameter settings that may be involved in the design and/or configuration of an electronics assembly system. At 3004, the consultant or salesperson models the customer's electronics assembly system, which is preferably done in “real time,” that is with the customer present, using the methods and tools described above. In this embodiment, as with the others described herein, this approach is done using a laptop computer on which all the necessary functionality for the methods according to the present invention have been programmed.
  • At [0142] 3006, one or more performance metrics may be defined for the electronics assembly system. This definition can occur at any time prior to evaluating the system, and could well be determined prior to the consulting or sales meeting by the customer. At step 3008, the potential solutions are prioritized by including them in the model and running the model under these configurations, and then by comparing them with each other and possibly with the one or more performance metrics. At step 3010, one or more proposed solutions may be selected from among those that have been prioritized, preferably, although not necessarily, according to their priority. At step 3012, the benefit of the proposed solution or solutions are quantified, again according to the methods described above. When the quantified benefit(s) have been computed, they can then be communicated to the customer for his or her consideration.
  • Referring to FIG. 31, [0143] steps 3102 to 3112 are similar to the corresponding and like numbered steps of the flowchart in FIG. 30. At step 3114, the configuration of the modeled assembly system under the one or more potential solutions may be modified, which could be the case, for example, if the results of the modeling of those potential solutions (as evidenced, e.g., in the performance metrics) did not compare favorably with customer needs and/or expectations. In this event, the benefit(s) of the modified proposal(s) are again quantified at 3116 (which would involve running the model again under the modifications), at which point a final quantified benefit may be presented to the customer. Steps 3114 and 3116 could be repeated as necessary, time permitting, to explore various configuration options, or to search for new possible solutions in the event that the predicted performance of the previous potential solutions have not approached customer needs.
  • Another embodiment of a consultative sales method according to the present invention is shown in FIG. 32, in which the configuration, modeling and evaluation of electronics assembly configurations is performed in an iterative manner until a performance measure satisfies one or more customer constraints. A set of customer constraints, needs, or expectations are first identified, at [0144] 3202. As described above, this identification, and the rest of the method, can ideally be done according to the present invention, in real time (or “on the fly”) during the course of a particular consultation or sales meeting with the customer. At 3204, an electronics assembly configuration (or solution) is selected. Then, at 3206, a model is established for the customer electronics assembly system comprising the selected configuration. The model is run, at 3208, to generate at least one performance measure (which as in the embodiment of FIG. 30 should have been arrived at in advance). The at least one performance measure is then compared, at 3210, against the customer constraints. If, as determined at 3212, the at least one performance measure does not satisfy customer constraints, then a new electronics assembly configuration or solution can be selected, at step 3204, and the process is repeated. If, however, the performance measures, as determined by the modeling process, do meet customer constraints, then at 3214, the consultant or salesperson may offer to sell to the customer at least a subset of the solution or of the electronics assembly equipment associated with that configuration or solution.
  • Turning to FIG. 33, an alternative embodiment of a consultative sales method according to the present invention involves first establishing at [0145] 3302 a model of a customer's electronics assembly system, which can have a plurality of possible configurations or solutions. A measure of performance for the assembly system is selected, as in the descriptions presented above, in accordance with customer needs at step 3304, and a subset of the plurality of the configurations (which may be all the configurations) are selected for evaluation. At step 3308, a set of one or more criteria or selected for comparison against the subset of the evaluated configurations. The criteria could, alternatively, have been set well in advance of the method by the customer alone, or by the customer with the assistance of the consultant/salesperson, or, as shown, might theoretically be modified if appropriate during iterations of the approach. The model is then run, at 3310, to generate a predicted measure of performance for each of the subset of configurations selected at 3306 to be evaluated. The results are compared at 3312 to the criteria in order to select at least one preferred configuration. If, as determined at step 3314, it is determined that none of the configurations or solutions meets the customer criteria, control is returned to step 3306, where a new set of configurations or solutions may be selected or otherwise arrived at. If, on the other hand, an evaluated configuration or solution meets the customer's criteria, then the method is complete, but could be followed by any number of follow sales scenarios. As before, this consultative sales process is preferably implemented using the methods and tools described above in the course of a consultation or sales meeting with a customer.
  • Another aspect of the present invention concerns methods for pricing or financing electronics assembly solution or equipment purchases. This aspect of the present invention is based on the recognition of the potential value of customer benefit sharing in the electronics assembly industry, as well as in the practicability of such an approach given the methods and tools for modeling and evaluating such systems, as described above. [0146]
  • One customer benefit sharing approach according to the present invention is shown in the flowchart of FIG. 34, which is directed to a method for pricing an electronics assembly system solution or configuration. A customer benefit that might be realized through the adoption of a proposed electronics assembly solution or configuration is predicted (e.g., using the methods and tools described above) at [0147] step 3402. A customer benefit computation may involve any measure that affects a customer's actual or perceived valuation for an electronics assembly system, including without limitation, the cost of ownership of the electronics assembly system, described above and in the literature. The purveyor of electronics assembly equipment, or of solutions involving such equipment, may then generate, at step 3406, a customer benefit guarantee associated with the electronics assembly solution. The purveyor's ability to generate such a guarantee with any comfort stems from its ability to effectively use the methods and tools for customer benefit modeling described above. When a customer benefit guarantee has been arrived at, it is then communicated to the customer at step 3406. The purveyor can then, at step 3408, offer the electronics assembly system configuration or solution to the customer at a price that is a function of the guaranteed customer benefit. For example, the price may be set as a mutually agreeable percentage of the guaranteed benefit, so that, from the customer's perspective, the electronics assembly configuration or solution is seen as “paying for itself” in real economic terms. In addition, consistent with the guarantee, the purveyor could bind itself to receive compensation, or full compensation, only if the guaranteed customer benefit were actually to be realized.
  • FIG. 35 shows an alternative approach for a purveyor of electronics assembly equipment and/or solutions involving such equipment and/or related services, to engage in benefit sharing with a customer. At [0148] step 3502, an electronics assembly system solution or configuration is defined and the definition provided for customer consideration. A customer benefit associated with the provided solution or configuration is computer at 3504 above, and a monetary value based on the customer benefit is computed at 3506, both steps in accordance with the techniques described. Finally, an economic amount based on the computed monetary value is collected from the customer, at step 3508. The collectible amount could be, for example, a fraction of the monetary value of the customer benefit computed at step 3506, which fraction could be the subject of negotiation between the purveyor of electronics assembly equipment or solutions and the customer. Alternatively, the collectible amount could be a function of the customer benefit actually realized, which would involve monitoring the actual performance of the electronics assembly system or solution purchased by the customer.
  • FIG. 36 provides a flowchart showing a method for selling a customer an electronic assembly system solution according to a performance-based contract. The purveyor of electronic assembly systems or solutions offers, at [0149] 3602, a performance based contract for a particular sale, where the price associated with the contract is set as a function of the performance of the system or solution that is being offered for sale. If the customer accepts the offer, as determined at 3604, the electronics assembly system solution (which may comprise assembly equipment), is delivered to the customer at 3606. If at 3604 the customer did not accept the offer, the method would be complete, although it could be re-initiated with a modified offer at 3602. Following the delivery at step 3606, the performance of the deliverables are monitored at step 3608. Based on the monitored performance, as well as on the price function set at 3602, the purveyor's compensation—i.e., the price for the deliverables—is assessed. In this way, the benefit to the customer is shared between the customer and the purveyor. Actual payment could either be made in advance, with adjustments made as the performance-based assessments are made, or could be made following the assessments, depending upon the two parties' preferences. As with the previous examples, the purveyor's ability to comfortably enter into this type of transaction depends at least in part upon an ability to adequately model the expected customer benefit in advance, which can be done using the methods and tools described in this application.
  • In addition to the embodiments of the aspects of the present invention described above and in the code listings set forth herein, those of skill in the art will be able to arrive at a variety of other arrangements and steps which, if not explicitly described in this document, nevertheless embody the principles of the invention and fall within the scope of the appended claims. [0150]

Claims (37)

What is claimed is:
1. A method for pricing an electronics assembly system solution for a customer comprising the steps of:
a. predicting, with the aid of a computer model, a customer benefit to be realized through the use of the electronics assembly system solution;
b. generating a customer benefit guarantee based on the predicted customer benefit; and
c. communicating a message relating to the customer benefit guarantee associated with the predicted customer benefit.
2. The method according to claim 1 in which the customer benefit guarantee comprises a particular cost of ownership of the electronics assembly system.
3. The method according to claim 1, wherein the prediction is performed using a computer model that represents the electronics assembly system at a material flow level of abstraction.
4. The method according to claim 1, wherein the step of predicting a customer benefit with the aid of a computer model comprises the steps of:
entering data into an input interface;
transferring data from the input interface to a modeling tool; and
building a simulation with the modeling tool utilizing the transferred data.
5. The method according to claim 4, wherein the simulation comprises a discrete event simulation.
6. The method according to claim 4, wherein the step of entering data is performed on a client device and the step of building the simulation is performed on a server device.
7. The method according to claim 4, wherein the input interface comprises a spread sheet.
8. The method according to claim 4, wherein the input interface comprises a web form.
9. The method according to claim 1, wherein the computer model comprises a customized user interface.
10. The method according to claim 1, wherein the prediction is performed using a computer model that represents the electronics assembly system and simulates an aspect of the behavior of the system.
11. The method according to claim 1, wherein the prediction is performed during a particular customer session.
12. The method according to claim 1, comprising the further step of offering the electronics assembly solution at a price that is a function of the guaranteed customer benefit.
13. The method according to claim 1, comprising the further step of offering the electronics assembly solution at a price that is a preselected fraction of the guaranteed customer benefit.
14. The method according to claim 12, wherein value corresponding to the price for the electronics assembly solution is collected after the customer benefit is realized.
15. A method for financing the price of a customer's purchase of an electronics assembly system solution, the method comprising the steps of:
a. providing an electronics assembly system solution;
b. computing a customer benefit associated with the solution;
c. computing a monetary value based on the customer benefit; and
d. collecting from the customer an amount based on the computed monetary value.
16. The method according to claim 15, wherein the step of computing a customer benefit comprises modeling the electronics assembly system solution at a material flow level of abstraction.
17. The method according to claim 16, wherein the step of computing a customer benefit comprises the steps of:
entering data into an input interface;
transferring data from the input interface to a modeling tool; and
building a simulation with the modeling tool utilizing the transferred data.
18. The method according to claim 17, wherein the simulation comprises a discrete event simulation.
19. The method according to claim 17, wherein the step of entering data is performed on a client device and the step of building the simulation is performed on a server device.
20. The method according to claim 17, wherein the input interface comprises a spread sheet.
21. The method according to claim 17, wherein the input interface comprises a web form.
22. The method according to claim 15, wherein the step of computing a customer benefit is performed using a computer model that represents the electronics assembly system and simulates an aspect of the behavior of the system.
23. The method according to claim 15, wherein the computed monetary value is based on actual customer benefit realized during use of the electronics assembly system solution.
24. The method according to claim 15, wherein the collected amount comprises a fixed price portion and a variable portion based on actual customer benefit realized during use of the electronics assembly system solution.
25. The method according to claim 23, wherein the customer benefit is computed using a computer model.
26. The method according to claim 25, wherein the computer model represents the system at a material flow level of abstraction.
27. The method according to claim 25, wherein the computer model comprises a portion that simulates at least an aspect of the behavior of the system.
28. A method for selling a customer an electronic assembly system solution, the method comprising the steps of:
a. offering a performance-based contract for sale of the assembly system solution, wherein the price of the solution is a function of the performance of the solution;
b. upon customer acceptance, delivering the assembly system solution;
c. monitoring the performance of the assembly system solution; and
d. assessing compensation based upon the monitored performance and the price function.
29. The method according to claim 28, wherein the performance of the system is predicted using a computer model.
30. The method according to claim 29, wherein the step of computing system performance comprises modeling the electronics assembly system at a material flow level of abstraction.
31. The method according to claim 29, wherein the step of computing system performance comprises the steps of:
entering data into an input interface;
transferring the data from the input interface to a modeling tool; and
building a simulation with the modeling tool utilizing the transferred data.
32. The method according to claim 31, wherein the simulation comprises a discrete event simulation.
33. The method according to claim 31, wherein the step of entering data is performed on a client device and the step of building the simulation is performed on a server device.
34. The method according to claim 31, wherein the input interface comprises a spread sheet.
35. The method according to claim 31, wherein the input interface comprises a web form.
36. The method according to claim 29, wherein the step of computing system performance is performed using a computer model that represents the electronics assembly system and simulates an aspect of the behavior of the system.
37. The method according to claim 29, wherein the computer model represents the system at a material flow level of abstraction.
US09/873,023 2000-06-01 2001-06-01 Methods and systems for electronics assembly systems pricing and customer benefit sharing Abandoned US20020161727A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/873,023 US20020161727A1 (en) 2000-06-01 2001-06-01 Methods and systems for electronics assembly systems pricing and customer benefit sharing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20866400P 2000-06-01 2000-06-01
US28067901P 2001-03-30 2001-03-30
US09/873,023 US20020161727A1 (en) 2000-06-01 2001-06-01 Methods and systems for electronics assembly systems pricing and customer benefit sharing

Publications (1)

Publication Number Publication Date
US20020161727A1 true US20020161727A1 (en) 2002-10-31

Family

ID=26903379

Family Applications (4)

Application Number Title Priority Date Filing Date
US09/873,021 Expired - Fee Related US6983232B2 (en) 2000-06-01 2001-06-01 Electronics assembly systems customer benefit modeling tools and methods
US09/872,401 Expired - Fee Related US7546225B2 (en) 2000-06-01 2001-06-01 Methods and systems for electronics assembly system consultation and sales
US09/873,023 Abandoned US20020161727A1 (en) 2000-06-01 2001-06-01 Methods and systems for electronics assembly systems pricing and customer benefit sharing
US11/118,880 Abandoned US20050228633A1 (en) 2000-06-01 2005-04-29 Method and systems for electronic assembly system pricing and customer benefit sharing

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09/873,021 Expired - Fee Related US6983232B2 (en) 2000-06-01 2001-06-01 Electronics assembly systems customer benefit modeling tools and methods
US09/872,401 Expired - Fee Related US7546225B2 (en) 2000-06-01 2001-06-01 Methods and systems for electronics assembly system consultation and sales

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/118,880 Abandoned US20050228633A1 (en) 2000-06-01 2005-04-29 Method and systems for electronic assembly system pricing and customer benefit sharing

Country Status (3)

Country Link
US (4) US6983232B2 (en)
AU (1) AU2001275168A1 (en)
WO (1) WO2001093117A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236622A1 (en) * 2003-05-20 2004-11-25 Moyer Charles A. Method to optimize a customer's manufacturing processes and internal business processes in a comprehensive manner
US20070250295A1 (en) * 2006-03-30 2007-10-25 Subx, Inc. Multidimensional modeling system and related method

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983232B2 (en) * 2000-06-01 2006-01-03 Siemens Dematic Electronic Assembly Systems Inc. Electronics assembly systems customer benefit modeling tools and methods
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7552203B2 (en) * 2001-10-17 2009-06-23 The Boeing Company Manufacturing method and software product for optimizing information flow
CN1591400A (en) * 2001-11-09 2005-03-09 无锡永中科技有限公司 Integrated data processing system
US7516435B2 (en) * 2001-12-10 2009-04-07 Mentor Graphics Corporation Reservation of design elements in a parallel printed circuit board design environment
WO2003050726A1 (en) * 2001-12-10 2003-06-19 Mentor Graphics Corporation Parallel electronic design automation: shared simultaneous editing
US7587695B2 (en) * 2001-12-10 2009-09-08 Mentor Graphics Corporation Protection boundaries in a parallel printed circuit board design environment
US7792691B2 (en) * 2002-01-31 2010-09-07 International Business Machines Corporation Method, system, and computer program product for providing and crediting a solution to a business issue of a current client
DE10335326B4 (en) * 2002-08-16 2007-09-20 Heidelberger Druckmaschinen Ag Method and device for simulating process sequences in the graphics industry
DE10250285A1 (en) 2002-10-29 2004-05-13 Daimlerchrysler Ag Predicting the date of delivery in mass production
US20040117325A1 (en) * 2002-12-16 2004-06-17 Cash Charles R. Post office effectiveness model (POEM)
US7620535B2 (en) * 2002-12-19 2009-11-17 Computer Associates Think, Inc. Method and apparatus for the simulation of computer networks
US7458055B2 (en) * 2003-02-19 2008-11-25 Diversified Systems, Inc. Apparatus, system, method, and program for facilitating the design of electronic assemblies
US7240319B2 (en) * 2003-02-19 2007-07-03 Diversified Systems, Inc. Apparatus, system, method, and program for facilitating the design of bare circuit boards
US7562367B1 (en) 2003-04-11 2009-07-14 Marvell Israel (M.I.S.L.) Ltd. Sorted-tree-based event queue for discrete event simulators
US20040268226A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation, Armonk, New York Facilitating the development of computer programs
US7305648B2 (en) 2003-11-21 2007-12-04 Mentor Graphics Corporation Distributed autorouting of conductive paths in printed circuit boards
US7660641B2 (en) * 2004-07-21 2010-02-09 International Business Machines Corporation System, graphical user interface (GUI), method and program product for configuring an assembly line
US7840449B2 (en) * 2004-09-07 2010-11-23 International Business Machines Corporation Total inventory management
US7546571B2 (en) * 2004-09-08 2009-06-09 Mentor Graphics Corporation Distributed electronic design automation environment
US7272588B2 (en) * 2004-11-30 2007-09-18 Microsoft Corporation Systems, methods, and computer-readable media for generating service order count metrics
US7321804B2 (en) * 2004-12-15 2008-01-22 The Boeing Company Method for process-driven bill of material
US20060129970A1 (en) * 2004-12-15 2006-06-15 Haas Martin C Systems and methods for production planning analysis using discrete event simulation
US8326926B2 (en) * 2005-09-13 2012-12-04 Mentor Graphics Corporation Distributed electronic design automation architecture
DE102005047543A1 (en) * 2005-09-30 2007-04-05 Siemens Ag Controller and/or machine behavior simulating method for tool or production machine, involves automatically transferring data over tool or production machine from machine to simulation device using intranet and/or internet
US8996151B2 (en) * 2005-11-09 2015-03-31 The Boeing Company Visualization of product build using precedence transversal method
US20070265896A1 (en) * 2006-05-12 2007-11-15 The Boeing Company System for valuing multiple solutions in multiple value categories
US20080243763A1 (en) * 2007-03-27 2008-10-02 International Business Machines Corporation System, method and program to provide data to another program
US7912568B2 (en) * 2007-11-27 2011-03-22 International Business Machines Corporation Tuning order configurator performance by dynamic integration of manufacturing and field feedback
CN101587502B (en) * 2008-05-20 2011-12-21 上海海事大学 Method for modeling double triphase asynchronous motor
US20100004916A1 (en) * 2008-07-03 2010-01-07 The Boeing Company Process Analyzer
US20100306825A1 (en) * 2009-05-27 2010-12-02 Lucid Ventures, Inc. System and method for facilitating user interaction with a simulated object associated with a physical location
US8745494B2 (en) * 2009-05-27 2014-06-03 Zambala Lllp System and method for control of a simulated object that is associated with a physical location in the real world environment
US8303387B2 (en) * 2009-05-27 2012-11-06 Zambala Lllp System and method of simulated objects and applications thereof
EP2339418A1 (en) * 2009-12-18 2011-06-29 Siemens Aktiengesellschaft Method and device for enhancing production facility performances
US20130293580A1 (en) 2012-05-01 2013-11-07 Zambala Lllp System and method for selecting targets in an augmented reality environment
US20140156234A1 (en) * 2012-12-03 2014-06-05 Rockwell Automation Technologies, Inc., Input output cloning for industrial automation
JP5688864B2 (en) * 2013-09-03 2015-03-25 株式会社レクサー・リサーチ Production system simulation apparatus, production system simulation method, and production system simulation program
US20160292306A1 (en) * 2015-03-30 2016-10-06 Cae Inc. Simulator customization tool and method for the generation and maintenance of simulation configuration
US10979305B1 (en) * 2016-12-29 2021-04-13 Wells Fargo Bank, N.A. Web interface usage tracker
CN108629138A (en) * 2018-05-14 2018-10-09 广东工业大学 Equip method for building up, equipment knowledge base and the product data management system of maneuver library

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837693A (en) * 1987-02-27 1989-06-06 Schotz Barry R Method and apparatus for facilitating operation of an insurance plan
US4885625A (en) * 1986-02-06 1989-12-05 Northern Telecom Limited Integrated circuit chip manufacture
US5644726A (en) * 1989-05-25 1997-07-01 Oppenheimer; Robert H. Method and system implementing a mortgage partnership
US5799287A (en) * 1994-05-24 1998-08-25 Dembo; Ron S. Method and apparatus for optimal portfolio replication
US5892681A (en) * 1989-01-06 1999-04-06 Minc, Incorporated Partitioning of Boolean logic equations into physical logic devices
US6025708A (en) * 1997-11-26 2000-02-15 Hewlett Packard Company System for verifying signal voltage level accuracy on a digital testing device
US6061691A (en) * 1998-08-31 2000-05-09 Maxagrid International, Inc. Method and system for inventory management
US6078893A (en) * 1998-05-21 2000-06-20 Khimetrics, Inc. Method for stabilized tuning of demand models
US6202679B1 (en) * 1995-12-01 2001-03-20 Perception Incorporated Fluid metering apparatus
US6449597B1 (en) * 1998-12-07 2002-09-10 Mcgill Andrew R. System for assembly and distribution of automobiles utilizing a plurality of partner integrators and a plurality of manufactured and service modules
US6526392B1 (en) * 1998-08-26 2003-02-25 International Business Machines Corporation Method and system for yield managed service contract pricing
US6594799B1 (en) * 2000-02-28 2003-07-15 Cadence Design Systems, Inc. Method and system for facilitating electronic circuit and chip design using remotely located resources

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB811941A (en) 1955-11-12 1959-04-15 Birmingham Small Arms Co Ltd Improvements in or relating to motor cycles and the like
GB840187A (en) 1957-03-13 1960-07-06 Bayer Ag Glass polishing compositions
US4744028A (en) * 1985-04-19 1988-05-10 American Telephone And Telegraph Company, At&T Bell Laboratories Methods and apparatus for efficient resource allocation
US4796194A (en) * 1986-08-20 1989-01-03 Atherton Robert W Real world modeling and control process
US5140537A (en) * 1990-05-21 1992-08-18 Hewlett-Packard Company Modeling a factory with human operators and validating the model
US5280425A (en) * 1990-07-26 1994-01-18 Texas Instruments Incorporated Apparatus and method for production planning
US5913051A (en) * 1992-10-09 1999-06-15 Texas Instruments Incorporated Method of simultaneous simulation of a complex system comprised of objects having structure state and parameter information
US5402367A (en) * 1993-07-19 1995-03-28 Texas Instruments, Incorporated Apparatus and method for model based process control
US5452218A (en) * 1994-02-03 1995-09-19 Texas Instruments System and method for determining quality analysis on fabrication and/or assembly design using shop capability data
US5970465A (en) * 1994-10-05 1999-10-19 International Business Machines Corporation Method for part procurement in a production system with constrained resources
US6161101A (en) * 1994-12-08 2000-12-12 Tech-Metrics International, Inc. Computer-aided methods and apparatus for assessing an organization process or system
US5539652A (en) * 1995-02-07 1996-07-23 Hewlett-Packard Company Method for manufacturing test simulation in electronic circuit design
EP0770967A3 (en) * 1995-10-26 1998-12-30 Koninklijke Philips Electronics N.V. Decision support system for the management of an agile supply chain
US5793632A (en) * 1996-03-26 1998-08-11 Lockheed Martin Corporation Cost estimating system using parametric estimating and providing a split of labor and material costs
US7110956B1 (en) * 1996-05-28 2006-09-19 Texas Instruments Incorporated Capability predictor
GB9622843D0 (en) * 1996-11-01 1997-01-08 Plint & Partners Ltd A system for simulating a production environment
US5907489A (en) * 1996-12-18 1999-05-25 Msx International Business Systems, Inc. Automated fixture builder system
US6064982A (en) * 1997-11-12 2000-05-16 Netscape Communication Corporation Smart configurator
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US6556950B1 (en) * 1999-09-30 2003-04-29 Rockwell Automation Technologies, Inc. Diagnostic method and apparatus for use with enterprise control
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6810401B1 (en) * 1999-10-08 2004-10-26 Edgenet Inc. Automated configuration system and method
US6983232B2 (en) * 2000-06-01 2006-01-03 Siemens Dematic Electronic Assembly Systems Inc. Electronics assembly systems customer benefit modeling tools and methods
US20030172002A1 (en) * 2001-03-15 2003-09-11 Spira Mario Cosmas Menu driven management and operation technique

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885625A (en) * 1986-02-06 1989-12-05 Northern Telecom Limited Integrated circuit chip manufacture
US4837693A (en) * 1987-02-27 1989-06-06 Schotz Barry R Method and apparatus for facilitating operation of an insurance plan
US5892681A (en) * 1989-01-06 1999-04-06 Minc, Incorporated Partitioning of Boolean logic equations into physical logic devices
US5644726A (en) * 1989-05-25 1997-07-01 Oppenheimer; Robert H. Method and system implementing a mortgage partnership
US5799287A (en) * 1994-05-24 1998-08-25 Dembo; Ron S. Method and apparatus for optimal portfolio replication
US6202679B1 (en) * 1995-12-01 2001-03-20 Perception Incorporated Fluid metering apparatus
US6025708A (en) * 1997-11-26 2000-02-15 Hewlett Packard Company System for verifying signal voltage level accuracy on a digital testing device
US6078893A (en) * 1998-05-21 2000-06-20 Khimetrics, Inc. Method for stabilized tuning of demand models
US6526392B1 (en) * 1998-08-26 2003-02-25 International Business Machines Corporation Method and system for yield managed service contract pricing
US6061691A (en) * 1998-08-31 2000-05-09 Maxagrid International, Inc. Method and system for inventory management
US6449597B1 (en) * 1998-12-07 2002-09-10 Mcgill Andrew R. System for assembly and distribution of automobiles utilizing a plurality of partner integrators and a plurality of manufactured and service modules
US6594799B1 (en) * 2000-02-28 2003-07-15 Cadence Design Systems, Inc. Method and system for facilitating electronic circuit and chip design using remotely located resources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236622A1 (en) * 2003-05-20 2004-11-25 Moyer Charles A. Method to optimize a customer's manufacturing processes and internal business processes in a comprehensive manner
US20070250295A1 (en) * 2006-03-30 2007-10-25 Subx, Inc. Multidimensional modeling system and related method

Also Published As

Publication number Publication date
US20020107677A1 (en) 2002-08-08
US20020082816A1 (en) 2002-06-27
US7546225B2 (en) 2009-06-09
US20050228633A1 (en) 2005-10-13
US6983232B2 (en) 2006-01-03
WO2001093117A2 (en) 2001-12-06
AU2001275168A1 (en) 2001-12-11
WO2001093117A3 (en) 2002-07-18

Similar Documents

Publication Publication Date Title
US20020161727A1 (en) Methods and systems for electronics assembly systems pricing and customer benefit sharing
Shina Concurrent engineering and design for manufacture of electronics products
Anderson Design for manufacturability & concurrent engineering: how to design for low cost, design in high quality, design for lean manufacture, and design quickly for fast production
US7213232B1 (en) System and method for configuring software using a business modeling tool
US6536935B2 (en) Computerized system for market-based constraint optimization
Sander et al. Analysis of quality information flows in the product creation process of high-volume consumer products
Chakravarty Market driven enterprise: product development, supply chains, and manufacturing
Tirpak Design-to-manufacturing information management for electronics assembly
Bhaskaran et al. Manufacturing supply chain modelling and reengineering
AF et al. Building supply chain communication systems: a review of methods and techniques
Lamghari-Idrissi et al. Spare Parts Planning Accuracy within the Service Supply Network of ASML
Klippel A design methodology for automotive component manufacturing systems
McGillan The importance of communication infrastructure in concurrent engineering: a thesis submitted in partial fulfilment of the requirements for the degree of Master of Engineering in Computer Systems Engineering at Massey University, Albany, New Zealand
Pereira Integrating Production Planning in a Manufacturing Execution System (MES)
Awwal Managing Variety and New Product Introduction in Consumer Electronics Manufacturing Industry
Spieckermann et al. Decentralised architectures for optimised operations via virtualised processes and manufacturing ecosystem collaboration
Pakala et al. Effective supplier involvement in product development projects
Escobar An engineering economy-based sensitivity analysis model for the detailed cost estimation of printed circuit board assembly
Steenbeke Development of a serious game to introduce complex
Ghosh et al. Performance analysis of a configured to order business with a variable product configuration recipe
Snowdon Dynamic Simulation in Business Process Redesign
Custance Using discrete event simulation for scheduling and long range capacity planning of a high volume press shop
Bhargava Real-time production scheduling in ERP systems using a simulation based approach
Entrup Advanced Planning and Scheduling Systems
Danielsson et al. Parameters Affecting Automation Engineering Efficiency

Legal Events

Date Code Title Description
AS Assignment

Owner name: SIEMENS DEMATIC ELECTRONICS ASSEMBLY SYSTEMS, INC.

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NGUYEN, TUAN;DUCK, ANTHONY PETER;RAWLES, IAN;AND OTHERS;REEL/FRAME:012615/0255;SIGNING DATES FROM 20011022 TO 20020206

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION