User Tools

Site Tools



Getting Started

- The MAST-SAIL project starts with the identification of most basic data.
- Start with a list of part numbers
- Then add a machine cycle and load/unload time for each part
- Establish a forecast demand for each part. This can be for any time period (Monthly to Annual)
- Use this data to begin building a MAST Model

Build MAST Model

MAST Modeling step by step External link:

Flow Route Data

- Flow Route data is a table of parts (rows) and work stations (columns)
- Work Stations listed from left to right define the routing for the part. When a column is left blank or 0, the part does not visit this work station.
- Fields in the table contain the cycle time (operation duration) for a single part. When multiple parts are processed simultaneously, MAST will multiply this cycle time by the number of parts per pallet to determine the pallet cycle time. All data is consistent containing the processing time per part.
- Add/Delete columns using a right click
- Delete rows by highlighting the row, the press Delete key.
- Table can be sorted using any column heading. Part order is maintained in Part Detail screen.

Part Detail Data

- Part Detail data adds the production demand, pallet, number of parts processed simultaneously, priority, and production period
- Note: The pallet cycle time is determined by multiplying the flow time by the number of parts processed simultaneously.
- Planning Horizon is defined by the hours per day and total number of days. Daily, weekly, monthly or annual planning horizons can be defined. Be sure that the production quantities are consistent with the planning horizon.
- Quantity is the number of parts to be produced in the planning horizon.
- Pallet is the inventory type to use when processing the part. Usually this is either a type of fixture or the specific pallet number.
- Number in Pallet is the number of parts processed simultaneously. For example, if the quantity is 100 and 5 parts in a pallet, then MAST will schedule 20 pallet loads. The process time will be the flow route table time multiplied by 5 for the parts per pallet quantity.
- Pallets or Fixture types are listed in the left hand table. A new pallet or fixture is added using the blank row at the bottom of the table.
- Number of pallets is the quantity of duplicates. When using pallet numbers, then the quantity is always 1.

Workcenter Details

- Number of Stations is quantity of duplicate stations. If each station is defined using its own column in the flow route table, then the quantity of each station is 1.
- Workcenter is used to create groups of stations. The group will provide an “OR” routing condition in the flow route in that the part will visit only one station in a workcenter. Use matching numbers to define a workcenter group.
- Labor teams are listed in the left table. A new labor team is added using the blank row at the bottom of the table.
- Number of Operators is the number of individuals in the labor team.
- Labor Team contains a drop list of the labor teams. Selecting a labor team for a station requires that an operator be available before the process can start.


- Step 1. Drag and drop all stations on the grid screen. Orient stations according to their relative placement in the actual layout.
- Step 2. Add a track section representing the bi-directional vehicle. Position on the left endpoint, click and drag to the right endpoint. Use the parameter settings in the right hand table to define the total length of track and speed of the vehicle. Be use to keep the settings using the same units including the time units set in the Part Detail.
- Step 3. Connect each station to a track point. Use the appropriate connection type, usually no Queue for load station, rotary Pallet for machines, and Buffer for storage stands. Be sure to set the transfer times using the parameter settings in right hand window.

- Error messages appear at the bottom of the screen. Layout is complete when no error messages appear.

Return on Investment Analysis

Return on Investment uses the cost model feature of MAST to justify the capital expense for any automation project. The strategy is to model the current operation in MAST and assign machine replacement cost and direct cost of labor. Project the current operation using forecast demand to establish a base cost per part if the current operation were to expand to meet forecast demand.

Then build a MAST model of the proposed automated operation for the same product mix and forecast volume. This new model will have additional cost for automated handling and different labor configuration in the model.

MAST cost model will project a cost per part based on automated operation. The difference between the projected cost per part using the current operation and the cost per part for the automated operation defines the annual savings available for the project. The total savings is the cost savings for each part multiplied by the annual volume for each part.

This total savings compared to the annual capital cost required to implement the automated capacity. Divide the annual cost by the annual savings to determine the number of years required to return the capital investment.

Please see the following link for a template document for capturing MAST Cost Model results and determining return on investment for automated capacity.

The top portion of this document itemizes the capacity and cost of alternative operations. it is important that each of these is modeled with the same production mix and forecast demand. This is the reason the current operation must be modeled using for forecast mix and volume especially when new operation is considered because of a need to increase capacity.

The lower portion of the document provides an area to copy/paste cost model results from the MAST models. The annual mix should be the same for all parts so the savings is determined by the difference in cost per part and its annual demand.

Open the following link for more technical information regarding ROI based on future operation. Traditional standard cost methods use past performance to justify new capacity. With the high cost of capacity, automated operations must be justified based on future efficiency. MAST cost model provides an accurate means to determine the cost per part at various planned levels of efficiency.

Simulation Lab

The simulation lab provides a hands-on learning environment to become familiar with all MAST and SAIL software operation, check accuracy of all data, and debug all data sharing interfaces with ERP and other factory software. The lab is established prior to actual machine installations and is used for training and documentation of the Operation Plan.

Benefits of the Simulation Lab

- Hands on learning. Operators, schedulers, and managers become familiar with all software operation, screens, and menus. Confidence is achieved in software operation and become a knowledge base for the actual operation. This provides the ability to focus on the actual operation and not question software or data.

- Customize Software. The lab provides a opportunity to become familiar with performance monitor reports. These reports can be customized prior to actual operation.

- Test/Debug all Data Sharing Interfaces. Order import and reporting with ERP systems can be developed and fully tested prior to actual operation. Interfaces with inspection processes, part marking devices, and OEE reports can be fully developed and tested. This eliminates any delays in actual system startup and establishes all software operation as background to system start up.

     Simulation Lab Configuration  

The simulation lab is a local computer network with 5 computers on the network. Following is the list of computers and function in the local network.

- SAIL Watch Computer. This computer is running the SAIL Watch software and simulates the network server computer.

- Machine Watch Computer. This computer is running the Machine Watch software and a simulation copy of the actual cell control software. Most cell control software provides a test version that can be used as a simulator.

- SAIL Computer. This computer is running SAIL Software. SAIL is used to add and update part data, import orders, generate schedules, download schedules and view all performance reports. This is the primary user interface software.

- Inspection Computer. This computer is running the SAIL Part Inspection software. This software shows parts that are signaled for inspection and close loop the inspection process.

- Load Station Computer. This computer is running the SAIL LUL Software. This software shows the load and unload instructions for each load station. Assigned serial numbers and order number to fill are displayed and checked. Links are available to work instruction documents.

Flexibility Plan

Alternative Paths

Another common characteristic of the MAST/SAIL project is the definition and use of paths. A path is defined as a combination of part number, pallet number, fixture, machine, and tool set. All available paths for a part number can be on-line (requiring no setup) or require a changeover to make it available. Also, on-line paths are always available anytime during the FMS operation. Changeover to provide an alternative path for a part number is allowed as long as the change over time is less than the typical process cycle time. These alternative paths are useful to offset the negative impact on production rate due to low and fixed WIP characteristics of the pallet handling system.

The use of these alternative paths is the primary benefit to flexible manufacturing and the outcome of the MAST/SAIL project. Alternative Paths are defined using the MAST modeling software. A variety of production mixes (forecast and other) are evaluated for performance using MAST. Paths are added to the model to achieve balance and optimal machine utilization. It is recommended that at least 25% of all machine hours have an alternative path. Once these paths are defined and proven, then SAIL uses these paths when generating daily schedules. Daily schedules optimize machine use and prioritize to order due dates. SAIL then automatically transfers all data needed to the cell control software. SAIL manages the large quantity of data needed to operate alternative paths in the automated operation.

A set of alternative paths for a part number can be designated as Exclusive. When a set of paths is designated as exclusive, the allocation algorithm will review alternative paths according to the priority set in each algorithm. When one path has been introduced for a part with exclusive path designation, then all other paths will be unavailable for the part. This will ensure that only one path is used to process an order for a part when alternative paths are available for the part. This feature is most beneficial with orders with low machine hours avoiding inspection of multiple paths.

Types of Flexibility

Part number. The components of a path define the specific types of flexibility utilized in FMS. Part Number flexibility allows different part numbers to share the same pallet, fixture, machine and tool set. The collection of part numbers into a part family allows the production of any family members without setup or changeover. Each part number receives a unique numerical control (NC) program and these will be automatically engaged using the CNC features.

Pallet. Another type of flexibility in FMS is pallet flexibility which allows multiple pallets to process the same part number using identical fixtures, the same set of machines, and the same tool sets. The differences of each pallet are adjusted using pallet offsets to provide for alternative paths. A fixture is the part-specific tooling attached to the pallet which positions the part-specific orientation for each operation. Fixture flexibility is the ability to interchange fixtures to fit multiple pallets. Fixture offsets can be used to adjust for the differences between where the fixture is placed on the pallet, moving the fixtures from one pallet to another would be considered a changeover event.

Machine. Machine flexibility is the most obvious type of flexibility in an FMS. Most FMS contain multiple machines that have identical characteristics. Because of the similarities of the machines, it is assumed any machine can process any part. This is true in theory but in practice it involves tool sets, NC programs, and pallet offset. Each alternative machine defines a new path that must be qualified and use the same NC program with adjustments limited to offsets. The biggest misconception of FMS is that any machine can process any part. In reality, machine flexibility in an FMS is one of the least utilized types of flexibility. The reason for this limited usage is the amount of data and planning that is required to support multiple FMS paths. Pallets and fixtures have subtle differences when located at one machine to the next. These differences are often adjusted within the NC program thus making a special program for each path. This special set of data requires special scheduling and tracking that eliminates on-line flexibility. Pallet to machine adjustments can only be accounted for using pallet offsets. In order to quality multiple paths using pallet offset alone requires extensive planning and coordinated data management.

Tool sets. The next type of flexibility in an FMS is the tool sets. All machines have a finite tool capacity. For multiple paths, machines must have the same set of tools. However, as new parts are added, tools are added to specific machines. Eventually, tool positions fill up and prohibit multiple paths because they do not fit tools sets on multiple machines. Tool set constraints are recognized as one of the limits to on-line flexibility and a variety of solutions have been tested and implemented. Today most of these solutions are as complicated as the FMS itself has limited applications.

Schedule. The last type of flexibility in an FMS is schedule flexibility. Schedule flexibility is implemented through the specific sequence parts are processed through the system and selection of exclusive or alternative paths. Exclusive path algorithm is used to select a specific path for a schedule from alternative proven paths. The path that is selected as exclusive is determined at the time of schedule generation and considers pallet availability, order due date, and machine balance loads. Schedule flexibility reduces the flexibility during run time by limiting pallet and machine selections but benefits with fewer paths to monitor for inspection signals. Schedule flexibility works best when parts have alternative paths and orders have somewhat equal machine load requirements.

Degree of Automation

Traditionally, automation and FMS have been synonymous, but they need not be. Automation in an FMS exists for the sole purpose to manage on-line paths. Consider the situation of four identical machines located near one another in a factory. A variety of parts can be processed on these four machines but moving one part to another machine requires the transportation of the fixture between machines. The actual transportation is not the issue; when to move the fixture and to which machine to move it to are the issues. The control system in the automation provides these management decisions. It is the timing of these decisions that manage the alternative paths which become the flexibility in the system.

Operation Plan

Operations Plan Outline This document is developed at the beginning of the project and establishes a consensus for how the machine system will operate. The completion of this document involves all stake holders of the project and usually requires 4-6 weeks to complete.

- A. Configuration

  1. Parts
  2. Machines
  3. Pallets
  4. Part Programming
  5. Paths
  6. Prove Out Procedure

- B. Labor Assignments

  1. Load Unload Operator
  2. Machine / Tooling Operator

- C. Part Tracking and Quality Plan

  1. Marking Parts
  2. Inspect Paths
  3. Inspection Triggers

-D. Daily Scheduling and Order Tracking

  1. Import Work Orders
  2. Demand Matrix -
  3. SAIL Scheduling and Allocation Procedure
  4. Download Routing Instructions
  5. Report Production Counts, Actual Hours

- E. Work Instructions

  1. Load Station Instructions
  2. Close Loop Inspection
  3. Order Reporting

- F. Performance Monitor

  1. Daily Production Counts
  2. Machine Cycle Monitor
  3. Pallet Cycle Monitor
  4. OEE
  5. Work Order Fulfillment

- G. Tool Management

  1. Tool List and Tool Time for Parts
  2. Tool Demand and Redundant Tools
  3. Tool Chain Organization
  4. Tool Use Forecast and Tool Life

SAIL Installation

SAIL Watch Server

- Server computer can be Virtual or Physical Box
- 32 Bit or 64 Bit Windows Operating System
- All SAIL software requires .NET framework 3.5 or higher
- Local Drive (C: or D:)required to store local MAST model data
- SQLite is the default data base system with.db files stored in same folder as MAST model data
- When using a data server system, ODBC for Data Base Server must be defined in System Data Services
- Table scrips are available for SQL or Oracle data bases. see
- Network Data shares must be defined for access to ERP export/import files
- Email (optional) Some SAIL triggers will send notices using email server
- Estimated data storage requirements of 15mb per year of operation

Install SAIL Watch Software

- Install SAIL Watch Install.exe Use SAIL Watch Update.exe to update software and retain registry settings.
- Select a location to install in a local drive. Default is c:\Program Files\CMS Research\SAIL Watch
- Install SAIL Watch as a service
- Use Computer Management Services to locate SAIL Watch in list of services.
- Edit Properties to set service to start Automatic
- Create User account for SAIL Watch service to use as Log On (This user needs access network data shares)
- Note: if Log On user requires a password, be sure to maintain password due to expiration policy
- SAIL Watch stores the following data in the Application Data or Program Data folder.
- xml files contain the cell configuration information.
- Error and Trace logs are located in sub folders. New folder is creates when SAIL Watch starts.
- Error.log file contains any recorded errors and should be checked after SAIL Watch starts.
- Tracing can be turned on or off using the check box in the user screen.
- Review the error.log file when SAIL has any abnormal operation.

Start SAIL Watch Software

- Sail Watch GUI will appear in window
- ADD New Cell. Add button is enabled only when logged in directly to server
- Name of Cell: This name will appear in the SAIL Main screen and in lists of cells to select.
- Model Directory: Folder location where MAST base model is located. Suggestion to create a folder in a local drive call \saildata. Then create a sub-folder for each cell. Locate the MAST base model in this sub-folder before Adding a new cell.
- Database: SQLite is available or ODBC. SQLite is included with SAIL software and db files are stored in model directory with the MAST base models. IF ODBC, then use Data Sources to define ODBC settings for SAIL Watch to access the data server. SQL and Oracle scripts are available to create tables in the SAIL data base.
- SQLite Database Path: Only used with SQLite data base. Defaults to Model Directory location.
- License Key: SAIL Watch is a licensed software. Each cell requires an annual license. CMS provides one year or multiple year agreements. SAIL Watch will operate for a 30 day grace period after expiration while notices are shown in SAIL and SAIL Watch.
- Base Models: SAIL Watch requires one base model be selected to create a new cell. MAST models contained in the Model Directory are listed. Templates and versions of MAST models will be listed. Select as many models as required. Model must be selected for access in SAIL.
- Separate scheduling orders from tracking orders (Check Box) Check this box only when using MAST Capacity feature to import scheduling orders and use capacity analysis to create short term tracking orders for SAIL. When this feature is enable, SAIL uses the short term tracking orders from MAST to schedule instead of ERP Orders imported through a SAIL Watch trigger.

- Shifts Tab All days of the week are listed. For each day, select the number of shifts per day. Note the number of shifts and shift times are used in collecting data. All days must have some shifts and times. Use the generate schedule check box if the shift is to be scheduled for operation. Do not check the box for times that the cell is not operating. SAIL monitors all operation regardless if the shift is scheduled or not.

- Machine Watch Tab Every cell must have a least one Machine Watch connected. Machine Watch software is installed on the cell control or a computer in the non-automated cell to collect event data and distribute schedule instructions.
- Add Machine Watch Use Add button to add a machine watch location to this cell. Provide a name and the IP address for the computer machine watch is installed on. Special versions of Machine Watch are available for each type of cell control. With each machine watch, select from the list of machines and load stations that this machine watch monitors/ schedules. If machines are added or removed from a cell, be sure to update this check list.

 Install SAIL Software

- SAIL Software provides the GUI to access to all software features
- SAIL requires .NET framework 3.5 or higher
- Windows operating system 32-bit or 64-bit
- SAIL.exe This is the stand alone version and does not require an installation. Copy to the desktop and launch using the icon.
- SAIL Install.exe This is the installed version and requires administration privileges to install. After install SAIL will be listed in Programs in a folder CMS Resarch. Use SAIL Update.exe for software updates to retain registry settings from SAIL installation.

 Start SAIL Software

- First time. SAIL must connect to SAIL Watch software to start. First time the connection will fail and enter the IP address of the SAIL Watch computer when prompted. This location will be recorded in the registry and used when starting SAIL.
- Welcome to SAIL! SAIL home pages contains a menu in the left column and 4 windows. SAIL features are organized into 4 major areas: Planning, Scheduling, Monitor, and Material Tracking.

 Machine Watch Cell Control Software

- Select the appropriate version of Machine Watch software for the version of Cell control computer.
- Machine Watch requires .NET framework 3.5 or higher.
- Windows Operating System 32 bit or 64 bit
- Install as a service. Use Computer Management Services to view list of services.
- Each version of Machine Watch requires special settings depending on the features available. All settings can be changed after installation by stopping and restarting the Machine Watch service. See SAIL Triggers and Settings by Feature
- Installs in Programs on computer. No launch icon is needed because Machine Watch runs as a service with automatic start
- Machine Watch stores all error and log data in the Application Data or Program Data folder.
- Error and Trace Logs. Logs are located in the Application Data or Program Data folder depending on the version of Windows. Error.log file contains any run time errors and Trace.log contains event log of all Machine watch activity. Trace is turned on or off from a setting the the MachineWatch.exe.config file located in the Program File folder.
- Review the Error.log file when Machine Watch has any abnormal operation.

Machine Watch Configuration and Settings

Machine Watch settings are contained in the Machinewatch.exe.config file located in the folder where of the Machine Watch software is installed. Default location is c:\program files\CMS Research\Machine Watch. Edits to the config file require a restart of Machine Watch to become active.

<appSettings> - <add key=“Mazak Use Starting Offset” value=“False”/>

  1. False sets all due dates to January 1, 2008, all schedules have the same due date and same priority. Multiple schedules using the same path will have material intermix on the pallet. Material loads will toggle between the schedules. SAIL order tracking will fill orders in due date priority and does not match to any specific schedule in the cell control.
  2. True sets all due dates to the current date of the download and priority is increased by 1 for all unfinished schedules in the control prior to the download. Increasing priority ensures that previously downloaded schedules will complete before recently downloaded schedules.
  3. This setting only applies to Mazak Cell control systems.
  4. Having all schedules set to the same due date and priority will allow Mazak cell software to simultaneously load multiple part numbers to the same pallet. This will intermix schedules on the same pallet. Use setting of True to load only one schedule on a pallet at a time. Schedules assigned to the same path will empty pallets between schedule when this setting is True. Setting this value to False will keep pallets full when multiple schedules have the same path.

- <add key=“Mazak Log CSV Path” value=“C:\saillog”/>

  1. c:\saillog This is the location where the Mazak cell software (Web version)writes its event log. This folder location is set in the logparameter.ini file located in the Mazak\FMS folder. The Mazak cell control software reads the logparameter.ini file only at start up.

- <add key=“Mazak Web Version” value=“True”/>

  1. False use for Version E of the Mazak cell control software
  2. True use for Web version of Mazak cell control software

- <add key=“Mazak Database Path” value=“C:\Mazak\NFMS\DB”/>

  1. c:\mazak/nfms/db This is the location where the Mazak Open Date Base Kit (ODK Main) software maintains the read only data base. Open Data Base Kit (ODK) software is purchased directly from Mazak and is required for data sharing with the SAIL software

- <add key=“Mazak Load CSV Path” value=“c:\mazak\fms\lds”/>

  1. c:\mazak/fms/lds This is the location where the Mazak cell control software writes the load station instructions. A setting in the parameters will enable this feature in the Mazak software.

- <add key=“Material Storage Path” value=“\\NetworkIP\c:\MaterialRequest”/>

  1. \\NetworkIP\c:\MaterialRequest This is the network location where material pull and put requests are deposited in a remote material handling system. Material pull requests are sent when a pallet arrives to the load station. The specific request correlates to the load instructions. A Material put request is deposited that correlates to the unload pallet instructions. Usually this folder is located on the local drive of the control system for the material storage system.

- <add key=“Pull Only Storage Commands” value=“False”/>

  1. False Deposits both pull and put requests to the remote Material Handling system
  2. True Deposits only pull requests to the remote Material Handling system

- <add key=“Parker Serial Path” value = “c:\partprograms”/>

  1. c:\partprograms This is the location where the Mazak cell control software accesses part programs that are downloaded to the CNC control. SAIL will deposit a serial number in the SAILMC*.eia using a single parameter for each character of the serial number. When the CNC consumes this serial while processing a part, SAIL will record the number and log this as the serial number for the part. Serial numbers are scribed on each part while processing in the machine and automatically recorded in the SAIL log.

- <add key=“Ditch Witch parts with single fixture” value = “14000,100”/>

  1. List of Part Numbers This is the list of part numbers that have multiple processes on the same pallet and only a single process can be loaded on the pallet at a time. For example, Part 14000 has three processes (14000-1, 14000-2,14000-3) on the same pallet and only one process can be loaded at a time. Do not use this setting for parts that have multiple processes on the same pallet that can be simultaneously loaded.

- <add key=“Output Trace Log” value=“1”/>

  1. 0 disables trace of events
  2. 1 enables tracing. Machine Watch writes all event activity in the trace.log file located in the Program data folder. Use this feature when abnormal operation occurs and forward the trace.log file to CMS Research for diagnostic review.

- <add key=“Makino ODBC Connection String” value=“DSN=MASMMC;UID=MASMMC;PWD=MASMMC”/>

  1. DNS= .. The Makino data is accessible by use of a System Data Set definition. Define the ODBC configuration and then use these settings for the connection string in Machine Watch.

- <add key=“Makino ADE Path” value=“C:\Makino\ADE”/>

  1. c:\Makino\ADE This is the folder where Makino software monitors for import data. Data must be formatted to .xml specifications provided by Makino. If any errors occur during the import, no data is imported with not diagnostics. Must have exact xml format.

- <add key=“Download Only Orders” value=“true”/>

  1. False transfers pallet, fixture, part and schedule data to Makino tables
  2. True transfers only Schedule data to Makino tables. Note: Part data must reside in the tables and must match part number used in SAIL and Schedule.

- <add key=“Serial Offset Directory” value=“\\MAS-0145\Makino\SysData\Offset”/>

  1. c:\Makino\SysData\Offset This is the folder where Makino software accesses part program offset data. This is the location where SAIL deposits serial numbers for each machine. These offset files are transferred to the machine for scribing during the part program execution. SAIL then records the serial number from the offset file once it has been used at the machine. This automatic method does not require any operator activity to mark and record serial number for each part.


 SAIL Load/Unload Software

- Displays the parts to unload and load while a pallet is at the load station. Displays the assigned serial numbers, order number, and inspection signals for each part. Option is available to override order assignment. Includes a link button to open Work Instruction documents for individual part numbers. Installed near the load stations.
- Windows Operating System 32 bit or 64 bit
- Requires .NET framework 3.5 or higher

 SAIL Part Inspection Software

- Displays the list of parts signaled for inspection. Installed on computer in CMM room or inspection areas. Provides a close method to signal the inspection is complete.
- Windows Operating System 32 bit or 64 bit
- Requires .NET framework 3.5 or higher

 SAIL Part Tracker Software

- Displays the Part information while a pallet is located at a load station. Provides a bar code scanner or manual input to assign serial numbers to the parts being unloaded. Multiple process parts scan the bar code assigned in the first process. Installed near the load station. This software is not needed when using Load Unload software.
- Windows Operating System 32 bit or 64 bit
- Requires .NET framework 3.5 or higher

 SAIL Instruction Display Software

- Displays the work instructions from a daily schedule filtered to a single station. This software is used when SAIL scheduling of manual cells. Installed near the entry or exit of the material flow for the manual cell.
- Windows Operating System 32 bit or 64 bit
- Requires .NET framework 3.5 or higher

 SAIL Unmanned Schedule Software

- Generates a schedule this active for a specific period of time. Parts included in this schedule are active for defined periods during the week. For example, parts running daily from midnight to 6am, parts run only on Saturday or Sunday, parts run only once a week for a specific quantity. Installed on the scheduling computer.
- Windows Operating System 32 bit or 64 bit
- Requires .NET framework 3.5 or higher

SAIL Triggers and Settings by Feature

SAIL Watch software is install on a network server computer. This software controls all of the SAIL operation. Each cell is defined in the SAIL Watch software and is customized by use of Triggers. Triggers are sets of program tasks that are schedule to run on a time interval or through user request. A trigger contains a set of processes that execute in the order they are listed in the trigger definition. Triggers are defined to monitor event activity in the cell control, import ERP orders, report order status to ERP, generate a schedule using allocation methods, download work instructions and many customizable operations. Following is a list of trigger processes categorized by function.

Update Log Trigger Processes

  1. Machine Watch Use this process for all versions of machine Watch. Special version of Machine Watch are available for each type of cell control system. Parameter set to Machine Watch definition.
  2. Mori Oracle Use this process for Mori Seiki cell controls LPS1 and LPSII. The SAIL server computer will need an ODBC defined for data set access to the Mori Orcale data tables. Parameters are ODBC login, list of stations monitored by this control, rework part handling, and serial number recording.
  3. Scan Log Use this process to record bar code scans or other types of event logging where the events are not collected by a version of machine watch.

Miscellaneous Trigger Processes

  1. Check Machine Maintenance Use this process to send email notices of when a machine or station requires maintenance. Parameters include the list of email addresses formatted in csv format, the number of minutes between notices, email server settings, and selection of machines to send notices for. The SAIL Watch server will require email configuration.
  2. Export Event Log Use this process to create a text copy of all events logged in SAIL. These events contain a date/time, part number, pallet number, station number, elapsed time for this event, serial number, order number, inspection signals and production completed counts. Parameters include the network folder location where to write files and a check box to delete old files. The files contain events logged from the previous time the trigger ran.
  3. Export HTML Use this trigger process to automatically update Web pages. SAIL creates an xml version of its performance reports including production counts, machine hours and OEE. Web pages can link to these xml files and will be automatically updated with the trigger interval. Parameters are the network folder location for writing the xml files and text version.
  4. Order Report Use this trigger process to export the SAIL Order Report. Order report tracks the order quantity and completed quantity for all imported orders. SAIL monitor menu will display this report on the screen. This trigger will send this report to a comma delimited file. Parameters include the network folder were to write the order report files.
  5. Signal Inspections Use this trigger process to record inspection signals made by SAIL Watch into the SAIL event log. When inspection triggers are defined, they can be monitored by either SAIL Watch or Machine Watch. This process defined when to record inspections triggered by SAIL Watch. Inspections signaled by Machine Watch are recorded with their own process.

Machine Watch Trigger Processes

  1. Download Routing Instructions Use this process to transfer routing instructions to a cell control where machine watch is running. SAIL creates a set of routing instructions with every schedule it generates. Each schedule has a unique ID that is transferred in the downloaded instructions. Parameters include the machine watch computer where to download instructions and check box to automatically deleted completed schedules in the cell control.
  2. Load Inspections Use this process to record inspections into the SAIL log that have been signaled by Machine Watch. When an inspection type is defined, it can be signaled by SAIL Watch or Machine Watch. Parameters include the machine watch that signals the inspection to be logged.
  3. Unschedule Orders Use this process to remove all uncompleted scheduled jobs from the cell control. Uncompleted quantities will be added to the balance due of the order that was originally used when generating the schedule. Material will be removed from the jobs and all jobs will complete when work in process material is used. This process removed all uncompleted work so the next schedule generated will not be impacted by delayed or under production from previous shifts. Parameters include the machine watch where the jobs are to be removed.

Cost Trigger Processes

  1. Check for existing Cost Data
  2. Import Cost Data

Import Orders Trigger Processes

  1. 4 Column CSV Comma delimited file format with one line per order. File format is Cell#, Part Number, Quantity, Due Date (MM/DD/YYYY) First row of the file contains column headings.
  1. 5 Column CSV (first column optional order ID) Comma delimited file format with one line per order. File Format is Order ID, Part Number, Quantity, Material Available, Due Date (MM/DD/YYYY). First row of the file contains column headings
  1. Demand Matrix from File Comma delimited file format with each row representing a part number and daily demand. Column format is Part Number, Calendar Date (MM/DD/YYYY). First row of the file contains column headings with the due date (MM/DD/YYYY) for the column of data.
  1. SAP Export File Standard SAP report query to export orders to csv format files.

Order Import Parameter Setting

File has only new orders: Check this setting when SAIL is to track the inventory of parts (parts scheduled but not assigned to an order)between schedule generations. This inventory tracking is needed when large quantity orders can not be scheduled complete in a scheduling period and when the order quantity does not evenly divide into the parts per pallet quantity. SAIL tracks these “leftover” parts and assigns these first to any order matching the part number. Then the balance due is determined for each order when generating schedules. When this parameter is not checked, the inventory of unscheduled parts is zeroed with every order import. No carry over of parts is applied to the next orders.

Add Sequence Numbers to Parts: Check this setting when parts in SAIL are defined with multiple processes and the part number in the order import contains only the part number. For example, Part 1000 has two processes that are defined in SAIL as 1000-1 and 1000-2. The order contains the part number 1000. Checking this setting will create orders for both 1000-1 and 1000-2 parts from the single order import. When this setting is not checked, the part number in SAIL must match exactly the part number in the order import.

Replace - with _ in part names: Check this setting when part numbers in the order import file contain - (dashes). SAIL does not permit -(dashes) in its part number because the -(dash) is used to designate processes for the same part number. Standard part naming in SAIL is to remove -(dashes) or replace -(dash) with _(underscore) keep the same part format. Checking this setting will match part numbers in the order file with part numbers in SAIL that have identical numbers with interchanged -(dash) and _(underscore).

First Column contains the order name: Check this feature when the order id is contained in the first column of the import data. When this feature is not checked, SAIL will create a unique order ID with every order import. When order numbers match over consecutive imports, SAIL will not create a new order and will update quantity and due date in some cases.

Import to Work Order Table: SAIL provides two types of orders: scheduling and tracking orders. Checking this setting will indicate that imported orders on this trigger will be tracking orders only (work orders). These imported orders will not be used for schedule generation. See SAIL Workorders section below for more information.

Allocate Trigger Processes

Traditional scheduling assigns capacity to demand. The schedule is work list for each machine. SAIL uses a different approach by allocating demand to capacity to generate a schedule. Allocation based scheduling is based on demand matrix and a demand period for each part. The demand matrix contains the daily demand in matrix format where each part number represents a row and calendar days are the columns. The following document defines these fundamental data and how allocation methods utilize this data to generate schedules.

SAIL Scheduling Strategy

SAIL Scheduling begins with the import of ERP Orders. These orders contain the part number, quantity, due date, and order ID. The MAST base model contains the production period for each part and defines the paths available in the flow route table. Daily demand is determined from the combination of due dates and demand period for each part. SAIL uses an allocation method to generate a schedule and the routing instructions for this schedule are automatically transferred to the control system. When scheduling non-automated processes, then work instructions comprise the schedule. The following document describes the data flow for SAIL Scheduling

SAIL Scheduling Guidelines

Allocation Algorithms
Allocation algorithms each contain unique criteria for using the demand matrix data to develop a daily schedule. Some of these algorithms differ in only the priority assigned to parts and others use playbook definitions, and others are unique in data format and output.

  1. Active Pallet Uses the Paths defined in the base model and the number of active pallets defined in the pallet data. Demand for each part number is totaled over all balance due for each order. The part number with the oldest due date (including dates prior to the current date) is assigned the highest priority (in simulation). Parts are introduced from highest priority to lowest. When more than one part number have the same due date, then the part number with the largest production demand quantity is scheduled first, then the second largest demand. This sequence continues until the number of active pallets matches the active pallet quantity. When one part number completes its demand, then the next highest demand part not active is scheduled. Exclusive path designation is implemented in path selection.
  2. By Due Date Part data is created for each order. The part data contains the part number,all paths from pallet/machine assignments, and production demand is set to order quantity. When a part number has multiple orders, the part data is repeated for each order. The part data is listed from orders with the oldest due dates to the newest. Batch data is created for each order and listed from oldest due date to newest. This data control the part introduction sequence. The maximum number of batches introduced simultaneously is set to the number of active pallets. When one batch/order completes the next is introduced.
  3. By Total Demand Part data is identical to the Active Pallet algorithm with the exception that all due dates are ignored. No orders are identified in the part data, only total demand summed over all orders. Due date does not set any priority so the part number with the largest demand quantity is introduced first. The part number with the next highest demand is introduced next until the number of active pallets is reached. When total demand is scheduled for one part number, then another is introduced to maintain the number of active pallets.
  4. Daily Demand This algorithm is used when part demand is linked to a daily build schedule such a assembly build or known customer daily orders. The group of part numbers having demand on a specific day define a batch for the simulation. Batches are prioritized from oldest day to the newest day. All parts from one batch (daily demand) will be scheduled before starting to introduce parts from the next day. A parameter in the Daily Demand trigger sets the maximum number of days that is included in the schedule. For example, a look ahead setting of 5 days indicates that daily demand for days more than 5 days from the current day will NOT be included in the schedule generation.
  5. Demand Matrix The demand matrix is defined in SAIL Scheduling Strategy document linked above. The group of parts having demand on a specific day define a batch for scheduling in the simulation. However, the demand quantity for any part is determined by use of its Production Period. Production Period is defined in the strategy document linked above. The demand quantity for any part is the sum of all order quantities with due dates within its production period. For example, a part number has 5 orders each having a different due date and a production period of 1 week. The demand quantity for scheduling will be the total order quantity for only those orders with due date within the current week. The strategy for this part number is to schedule it only once per week with the demand quantity summed for all orders within a single week. Production periods for each part number is set in the MAST Capacity Planning module.
  6. Only Plays A Play is defined to contain a specific set of part numbers and specific production quantity. Plays are numbered beginning with 1 and increasing numerically. The scheduling sequence is to schedule from one play for each schedule generation and round robin through the sequence of plays. For example, Play 1 can define a set of parts to schedule on Monday, Play 2 can define a set of parts for Tuesday, etc. The plays will repeat once each play has been scheduled. The trigger parameter Limited Batch Quantity to Order Quantity determine is an order is required for a part to be eligible to be scheduled in a play. When this parameter is checked then a part number is eligible to be scheduled in a play only when it has a balance due on an order. If the balance due is less than the play quantity, the demand quantity for the schedule will be the balance due amount. If this parameter is not checked, then the schedule quantity is always matches the play quantity.
  7. Prioritize Demand Hours Uses the Paths defined in the base model and the number of active pallets defined in the pallet data. Demand for each part number is totaled over all balance due for each order. The total machine hours is calculated for each part number by multiplying the cycle time for all processes by the total demand. This determines the total demand hours for each part number. Part numbers are prioritized from the part number with the highest total machine hours to the lowest total machine hours. Part introduction is sequenced beginning with the part number with the highest total machine hours to the lowest. No specific orders are identified in the schedule generation.
  8. Single Part This algorithm is used to schedule a specific part number for a single cycle at a regular interval. This is used to schedule regular maintenance or an artifact fixture/pallet to each machine. This is used to automatically schedule an artifact pallet to each machine to run a probe routine on a regular basis. The part number is a general description to link a part program and pallet for the path used in the route. This part number will have no orders and can only be scheduled through this trigger or manual schedule generation. A trigger parameter determine the elapsed number of shifts between schedules. For example, 3 shifts indicates once per day when having 3 shifts per day.
  9. Exclusive Path Selection Part data is generated for each order. The priority of each part is set by the due date (from oldest to newest) of the order it describes. When a part number is introduced that has an exclusive path designation, all other paths for this part number are not available for scheduling. The machine load for this path is assigned to the machine(s) defined in the path. Machine load is the total machine hours for the order divided by the number machines in the path. Machine Load is accumulated for each machine as parts are scheduled. Paths are checked in the order from lowest Machine Load to highest. This results in a balancing of the schedule over all machines. This allocation algorithm minimizes the number of paths for inspection and keeps a balance over machine loads. It effectiveness requires at least 50% of all machine hours have an alternative path.
  10. Check for existing routing This feature is used to ensure that only one schedule is generated for each scheduling period. Every schedule generation in SAIL has a beginning and ending date/time. This defines the period of time for the schedule. Each time the trigger runs, this feature will check if a schedule already exists for the next schedule period. If so, then the trigger terminates without executing further steps. This feature can check for allocated schedules and/or manually generated schedules. When selecting allocated only, then manually generated schedules are ignored when checking if a schedule exists for the next scheduling period.

Typical SAIL Triggers

SAIL - Tool Forecasting and Planning System Add tool list for each Part and Operation Use Tool Times to forecast tool use with schedule generation Set Tool use Target levels for tracking Report Actual Tool Use from Actual Production Counts Use Current accumulated tool wear to forecast tool replacements Audit Tool Replacements


SAIL - Quality and Part Audit System Assign Serial Number to each Part (or Path: all parts on same path have same serial with added letter in tag only) Mark Serial Number on Part Print Tag Send parameters to Pin Printer Set material values for Robot Control Deposit / Withdraw serial from part program parameters for marking in machine Track and Count Paths Signal Inspections Audit Quality Plan

SAIL Work Orders

SAIL provides two types of orders: Orders for scheduling and Orders for tracking. A setting in the cell info definition “Separate Scheduling orders from tracking/work orders” determines if the cell uses one type of order for both scheduling and tracking or two types of orders.

When using one type of order for both scheduling and tracking: This is the most common configuration for orders. No special designation when import orders or adding orders in the “Add Order” item in the SAIL scheduling menu is needed. This is the default setting.

When using separate orders for scheduling and tracking: This must be designated in the cell info setting by checking the separate order box. Once this box is checked, import order triggers can be designated as either scheduling orders or work orders. The default is all import orders are scheduling orders. A check box in the parameter setting of the import trigger must be checked to designate the imported orders as work order only. The “Add Order” menu item in the scheduling menu adds scheduling orders only. The “Add New Work Order” in the Work Order item in the Material Tracking menu will add orders for tracking only.

Examples when two types of orders are used:

  1. Large quantity blanket orders are issued that are not scheduled as a single item.
  2. Kanban signals are used to generate schedule and these parts are tracked using an ERP order.
  3. Playbook scheduling is used to call daily play of a fixed quantity of parts.
  4. Scheduling based on material available.
  5. MAST Capacity Planning MAST can import the SAIL model and work orders. Then MAST simulations can be performed to establish feasible production mix and quantities for the scheduling period. The production mix and quantities can be exported into SAIL as scheduling orders. See MAST user Manual for more information.

Prove Out Paths - Ramping Production

Prove Out Paths is the transition of manufacturing processes from concept to production ready. A path is defined in the flexibility plan having a part number, pallet number, fixture, and machine number. The same part number of alternative pallets and/or machines is defined with its own path. The flexibility plan contains all of the paths necessary to satisfy the requirement for support at least 25% of all machine hours as having an alternative path.

The prove out procedure contains a sequential check list that every path must pass to become production ready. During the prove out process, many paths will be in various steps in the check list with need to coordinate between several engineers, operators, and managers. Therefore, a visual tracking document is essential to provide the communication and coordination for this highly variable set of tasks. Here is a sample check list for a path prove out.

  1. Identify the Path (Part Number,Pallet Number, Machine Number)
  2. Establish tool list for the machine process
  3. Write CNC part program
  4. Name CNC part program using naming convention consistent with path definition. Note, this same part program must be used for all paths of the same part number. That is, this same program must be independent of pallet number and machine number.
  5. Establish Pallet/fixture offsets
  6. Establish Machine Offsets
  7. Establish Tool Offsets
  8. Load Tools into machine
  9. Define the path is the SAIL - process data using a prove out template
  10. Use SAIL to download the schedule data to the cell control with an order size of 1. Even running the part program for the first time, this will ensure that all data needed in the scheduling is complete.
  11. Dry cycle the pallet through the machine (do not load part into fixture). Checking offset settings and part program
  12. Load part into pallet and let control send pallet to machine
  13. Debug program until parts satisfy quality plan
  14. Release path for production by moving part from prove out template to production ready template.
  15. Use SAIL triggers to schedule production ready parts.

The list of paths in the flexibility plan is ranked to define the sequence of what path is proven first, second, until all paths are proven production ready. As path are proven production ready, they are moved into a SAIL template. This template has SAIL triggers that will schedule production from orders. During transition, regular production is intermixed with path prove out. It is often that new part numbers are added continually so production and prove out are normal daily operation.

Daily Operations

Sequence of Activities:

  1. Generate Daily Schedule 15 minutes prior to 1st shift
  2. Download data to cell control
  3. Cell Control activates pallets
  4. SAIL provided Load Station Instructions
  5. Track Paths
  6. Mark Parts with SAIL provided serial number
  7. Inspection Signals
  8. Production Counts
  9. OEE Plan vs. Actual
  10. Quality Audit

Continuous Improvement

Continuous improvement is the addition and deletion of paths as production mix change over time. The objective is to maintain machine utilization at a target or planned OEE (Overall Equipment Efficiency). The flexibility plan defines the minimum number of paths by percent of machine hours to meet a production mix at a planned OEE. A production mix is specific production quantity for a set of part numbers over a specific set of time typically a month. When the production mix changes, so must the flexibility plan to maintain planned level of OEE.

Capacity Review

Capacity review is performed periodically using the MAST Modeling software. The frequency and timing for this review is determined by changes in the production mix. Most typically, the capacity review is performed at least once per month while relying on the flexibility plan to maintain target OEE between reviews. Here are the steps for capacity review using MAST.

  1. Open MAST Software
  2. Import SAIL template into MAST. Current paths and cycle times that have been maintained in SAIL are used
  3. Import forecast demand into MAST (options)
    1. Use SAIL import orders by importing the same csv file directly into MAST
    2. Use 4 column or 5 column import from forecast spreadsheet
    3. Use Orders in process from SAIL Unscheduled Order list
  4. Set the production period to match the number of days representing the forecast quantiy
  5. Simulate the entire production period
  6. If the simulation results show all forecast production completed within the production period, then no changes are needed to the flexibility plan.
  7. If the simulation results show not all production completed, then path configuration must be adjusted for new production mix
    1. Identify Part Number with incomplete production amounts
    2. Check pallet use is below 100%, that pallets are not the bottleneck constraint.
    3. Review the number of active pallets and re simulate at different levels
    4. Delete paths to shared machines and pallets of competing part numbers
    5. Add paths to part numbers with low production amounts
  8. Trial and error by adjusting paths until production mix is complete within production period
  9. Export the MAST model to SAIL template
  10. SAIL will use the new flexibility plan for schedule generation.
  11. Be sure that all paths have been proven production ready

With the new flexibility plan implemented, SAIL will maintain target OEE for the updated production mix. Having a capacity review at regular intervals will ensure that the flexibility plan is capable to maintaining a target OEE as production mix change. A flexibility plan with a high percent of machine hours having alternative paths will support OEE for wider variations in production mix. Regular capacity reviews will determine the relation between frequency and the flexibility plan.

Reducing Manufacturing Cost

Reducing Manufacturing Cost with MAST/SAIL software

Over the past 5 years, MAST/SAIL software has been implemented in a wide variety of manufacturing settings. These settings range from contract machine houses to major corporations. From these experiences, we have observed three outcomes that deliver significant (10-40%) reduction in manufacturing cost.

From our past years of projects, here are the top three items that reduce manufacturing cost. Note: these are outcomes from successful implementation of the MAST/SAIL software.

1. Flexible capacity - A minimum of 25% of all machine hours must have an alternative path. A path comprises a part number, process or operation, pallet, fixture, and machine. An alternative path is at least two pallets or two machines capable of process the same part number and operation. Most machine cells are planned with flexibility using alternative paths, but this benefit to reducing cost only when the flexibility is realized in daily decisions. MAST/SAIL software uses modeling to configure the minimum implementation cost that attains 25% flexible hours, and then uses this model to generate daily schedules. The combination of planning for flexibility and daily management is what delivers reduction in manufacturing cost.

SAIL Screen Captures: MAST – Flow Route showing alternative machines MAST – Part Detail showing alternative pallets Capacity Planning - configuring flexible capacity to match long term (more than one month) demand. SAIL – Routing Instructions

2. Daily Order Scheduling. Building to daily demand is a Lean Technique proven to minimize waste and reduce manufacturing cost. The difficulty comes in its implementation. MAST/SAIL software provides automatic data flow/sharing from the ERP system directly to cell controls. Orders automatically appear in SAIL Order list via data sharing or Kanban scans. An allocation process customized in SAIL generates a daily schedule and transfer these instructions to cell control computers. As the parts are processed, they are automatically assigned to fill orders as they are completed. MAST/SAIL reports order status every few minutes. This report contains quantity completed, standard hours and actual hours. Reporting actual hours required to complete an order results in knowing actual manufacturing cost. Knowing the actual manufacturing cost allows the adjustment to standard cost and quotations for contract work.

MAST/SAIL Screen Captures: SAIL – Unscheduled Orders SAIL Watch - Allocation methods and triggers L/U Process - Operator screen SAIL - Order Reporting SAIL – Machine Cycle Monitor (actual hours)

3. Part serialization based Quality Plan. Most manufacturers see part marking as adding cost without benefits. However, marking parts with serial numbers that reference an electronic record of its path and inspecting paths based on a frequency has delivered significant reduction in scrap. Linking consecutive CMM reports from each path provides a means to observe trends and intervene a corrective action before a quality issue arises. MAST/SAIL software assigns a serial number to every part, tracks the path of the part and interfaces with marking devices. These marking devices range from Zebra ™ printer to print a label, pin printers for robot handling, to depositing parameters in CNC programs for scribing in a machine. Inspection types and signals comprise the quality plan and MAST/SAIL sends signals to unload operator. Inspection data is collected and linked to the serial number of the part. MAST/SAIL software provides quality audit reports for each path where root cause quality issue is resolved. Reducing scrap is a common outcome of SAIL projects.

MAST/SAIL screen captures: SAIL – Station Log with serial numbers SAIL - Inspection Types and Frequency definition Part Inspection – Inspection List SAIL – Inspection Audit Report

Lean Manufacturing: Cost savings will only come from reduction in material, labor content, or machine content of a part. Savings associated from reduction of waste (Lean practice) will not have significant benefits for long term cost reduction. Also, this type of savings will not offset the cost pressure from different labor rates of different sources or transportation costs.

MAST/SAIL - Software that makes machine cells work for you.

start.txt · Last modified: 2016/08/03 12:34 by cms