When Will You Need This?

This model object simplifies entry of scheduled arrivals for build to order products. Build to order products have codes that define product characteristics. The codes could affect what is assembled and how much production time is needed at each station (or even how much time is required by each person at each station).

You define the codes in a table, with the corresponding production requirement for each code. The production schedule contains all the codes required to build an order. Before running the simulation, the codes pick up the production requirements for each product.

For example, an east coast window manufacturer has 30 codes that define options on a window. Options define the size, materials, number of panes, type of glass, type of sash, etc. Changes to any of these codes could change the production time at one or all the stations. In addition, assembly requirements are added as a result of the codes. The number of combinations of options is in the millions. Each day, a new production schedule has unique window requirements defined by the codes.

window image scheduled arrivals with Table Input

A west coast truck manufacturer has 26 codes that define production requirements of the chassis. The codes describe the number of axles, drive type, suspension, load capacity, number of air tanks, etc. Changes to any of these codes change the production time for each person at a multi-person assembly station. Assembly quantities and types also change as a result of code changes. There are thousands of possible combinations of codes. As with the window production, the production schedule is defined by a base part with a series of codes defining the production options for that chassis.

car image scheduled arrivals with Table Input

Model Object

The following model object can be found in the model objects directory:

1. Arrivals \ Scheduled Arrivals with Table Input

2. Arrivals \ Scheduled with codes

Ease of Use: Easy

Ease of Modification: Moderate

How Does It Work

There are three main components to the Scheduled Arrival with Table Input:

Before using this Excel file for the first time, or after changing your model name, make sure that a manual export of data is done via ProcessModel. From your model, click Tools \ Export Data, click ‘Yes’ to all prompts until the data export file opens, close the data file and then use this Excel file.

You enter or import the production schedule with codes that describe the product characteristics.

The tables define the production time required for of the product codes. The production schedule queries the table to and adds the time to attributes used for each assembly station.

Tables defining time for each code

The production time information is imported into the model. Each product will have different values in the attributes specifying time at each station.

your model scheduled arrivals with table inputYour Model

Once the model and tables are setup, testing a new schedule takes seconds to perform.

How to Use the Model Object

1. Develop the Model with Attributes to Define Time and Assembly

The model uses attributes to define the production time at each station. A different attribute is used for each station time (or person at the station).

Attributes define the sub-assembly attaches at stations. A unique attribute is needed for each subassembly.

The Attribute a_Assy1 of the base entity is set to one (the requester of the Attach) then 1 subassembly is requested. If the a_Assy1 of the base entity is set to zero, then no attachment is requested.

If several exclusive subassembly options are attached at the same assembly station, use several attach routes as shown below. The attribute a_Assy1a could be set to one, while a_Assy1b is set to zero or vice versa.

The options for the values of each attribute might include:

a_PoweredFrontAxle           a_NonPoweredFrontAxle

       0                                                           0

       1                                                            1

       2                                                           2

If several non-exclusive subassemblies are attached at the same assembly station, use several Attach routes as shown below.

three attaches scheduled arrivals with table input

The options might include:











2. Create a Scheduled Arrival in the Model

In the model, the arrival must be set to scheduled AND you must have at least one entry in the schedule. After making sure you have a scheduled arrival, save your model.

3. Insert the Model Object into Your Model

1. Locate the model object Scheduled Arrivals with Table Input and select the insert button.

2. Move the cursor to the point of insertion and left mouse-click. The upper left corner of the model object will be inserted at the location of the mouse-click.

4. Open the Excel File

Right click on the Scheduled Arrivals with Table Sheet Excel icon and click on the third option from the bottom to open the Scheduled Arrivals with Table vx-x Excel file, where x-x represents the version number of the Excel file.

Click Enable Content if prompted

Enable Macro

5. Set up the Excel Arrivals Sheet

1. Select the far-left Tab (located in the lower left corner of the Excel sheet).

2. Use the setup button to identify scheduled arrivals in your model.

If you have more than one scheduled arrival, each scheduled arrival will show as a separate tab.

3. All the attributes form the model will automatically be copied into the Excel file. Remove any attribute columns that you do not want to be updating using the Excel file.

6. Set up the Excel Time Table

1. Copy the TIME attributes into the table (Column1).

2. Enter the codes into Row 2 starting with Column C. Base is a built in code that is not to be removed.

3. Enter the time changes for each Code at each station

Base Time: This is the time required at the station irrespective of which code is selected. If there is no Base Time then set the Base Time to zero.

7. Set up the Excel Assembly Table

1. Copy the Assembly attributes into the table (Column1).

2. Enter the codes into Row 2 that will cause assembly quantity changes (example: single, dual, tri).

3. Enter the assembly quantity changes for each Code at each Attach.

8. Enter Arrival Schedule

Now the Excel sheet is ready to receive your data. This file is generally built by querying a database, pulling the historical production or planned production. The information is copied and pasted into the Schedule Input (first tab) as show below:

Each row contains the data for a single product with its associated codes. The quantity will be one if one of that part type is to be built. A quantity of five would build five parts, all with the same with the same codes.

Date of arrival: If you are pulling data to test the model, choose a date that starts on a Monday or change the starting date to a Monday so parts will enter the system when the simulation starts.

Production codes: Separate each production code with a comma.

9. Populate Arrivals

The Populate button uses the codes to query the tables and add time for each station and capture the number of attaches for each attach attribute. After pressing the Populate button the following happens:

10. Import Data from the Spreadsheet to ProcessModel

You can now click the 3. Update button to import data into ProcessModel. Once successful, you will be prompted  if you want to simulate the model.

The following  series of steps ensure that you do not run into any issues during update:

1. Export the model data file from ProcessModel.

2. Save the ProcessModel Export File and close the file.

3. Translate the data from the Scheduled Arrival tab to match the format of the ProcessModel Export file and export the data to the ProcessModel Export file.

4. Import the newly updated ProcessModel Export file and save the ProcessModel file.

The values for the attributes (pulled from the codes) will be updated in the action logic of the Scheduled arrival.

11. Completion

The model object is now integrated into your model, you should now be able to save and then simulate the model.

What Can Go Wrong?

No Scheduled Arrival in Model (Or Has Been Changed)

When the Setup button is pressed, no schedule arrival is found. Change the arrival type to Scheduled and enter at least on scheduled arrival.

Attributes Entered into Excel Sheet Are Not in Model

You must add the attribute to the model yourself. If the attributes are entered in the Excel file and are not available in ProcessModel, you will receive a prompt during simulation regarding the same.

Attributes Created in the Model Are Not in Excel Sheet

You must manually add the attributes to the Excel sheet by following step 5.3 above.

Start Date Is Not a Monday

The arrival dates you enter at step 8, make sure the first date is a Monday.

Advanced Topics

All Workers and Machines Start and End at the Same Time

When you have workers and machines (resources) that work only during a shift it it a good idea to simulate the model based on the shift times rather than simulating for x number of days and trying to add shift schedules to each worker, machine (resource) and activity. The main reason for this is to simplify your model, and avoid advance analysis. For example; You have a scenario where the workers, machines and activities that work only during an 8 hour shift and you need to simulate for 2 weeks to get accurate outputs. You can choose one of the following two paths to simulate the scenario:

1. Simulate the model for 14 days and then do advanced analytics on resource and activity utilization % to find out actual utilization by removing weekdays and off shift times.

2. Simulate the model for 80 hours (8 * 10 – 8 hours, 10 working days in 2 weeks) and get a readable and simplified output.

Multiple Employees Work at the Same Station – Each Having Unique Times

If 4 employees are working on an assembly, each having different tasks and different times, and you need to make sure that the entity only moves forward when everyone has completed their tasks.

1. Divide the assembly into two activities and connect them, example: Assembly1 Begin and Assembly1 End.

divide activity into two to capture multiple res

1.1. The input queue and time for the new split activities should be set to 0.

set inptu queue for getting multi workersInput queue set through Properties Dialog

2. From Assembly1 Begin create four new activities based on the tasks of the resources. The routes should be Create routes.

create create route for multi workers

Change the Created entity name to something other than the current entity name. If the created entity is not being used anywhere else, you can change it Statics value to No.

change stats on work entity

2.1.. The input queue and time for the new task activities should be set to 0.

setting time and input queue on task activites

3. From all for task activities, create an Attach route with Attach to set at entity that created it.

connecting back to assembly with attach route

4. In the action logic of all tasks, get the resource type needed and then spend the time needed based on task.

action logic of task activities

5. On the route exting from each task, free the resource.

action logic on attach route from task

Worker and Time Based on What Is Available

Use an IF statement with FREEUNITS to find which worker is free and then do the time based on the worker that is free.

choose resource and then time