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).

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: Arrivals \ Scheduled Arrivals with Table Input.

How Does It Work

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

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

excel scheduled arrivals with Table InputScheduled Arrival Input

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 codeTables 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).

attribute as time scheduled arrivals with table input

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

attribute as attach quantity

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.

attach multiples scheduled arrivals with table input

The options for the values of each attribute might include:

a_Assy1a             a_Assy1b

       0                          1

       1                          0

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.

create scheduled arrival scheduled arrivals with table input

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.

open-Scheduled-Arrivals-with-Table Sheet

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.

click setup scheduled arrivals with table input

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

more than one entity scheduled arrivals with table input

3. Copy attributes from the model. Attributes values that will be transferred from the Input Schedule to the model, need to be inserted into Row 6 starting with Column D. Each attribute will be placed in its own column.

copy attributes scheduled arrivals with table input

Make the process of transferring attributes to the model easier by putting the attributes in order. Use the Move Up and Move Down buttons in the attributes dialog to group TIME attributes and to group ASSEMBLY attributes. Move other attributes above the Time and Assembly attributes.

attribute window scheduled arrivals with table input

An easy method of transferring attributes from the model to the Excel Input Sheet is to export the model file and select the Attributes tab. Then select all the Time and Assembly attributes. Copy the selected attributes. Place the cursor in cell D6 of the Schedule Input sheet.

scheduled arrivals with table input

attribue tab scheduled arrivals with table input

paste attribute scheduled arrivals with table input

Paste, using Transpose to switch from vertical to horizontal orientation.

attributes pasted scheduled arrivals with table input

6. Set up the Excel Time Table

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

copy time attribute scheduled arrivals with table input

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

enter the codes scheduled arrivals with table input

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

enter time chages scheduled arrivals with table input

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).

copy attributes to assembly table

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

enter assembly codes scheduled arrivals with table input

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

scheduled arrivals with table input

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:

enter arrival schedule arrivals with table input

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:

Time Attributes

populate time attributes scheduled arrivals with table inputTime attributes populated

Assembly Attributes

populate assembly attribute scheduled arrivals with table inputAssembly attributes populated

10. Import Data from the Spreadsheet to ProcessModel

Before clicking the 3. Update button you may select one of the following 3 options in order instruct ProcessModel what it needs to do.

1. Import Data: Selecting this option will import the data into ProcessModel after crunching the numbers and updating the exported Data file from ProcessModel. The Excel file will automatically export data from your model.

2. Simulate Model: Selecting this option will simulate the model after completing all the actions mentioned in Import Data. Simulation animation will be off.

3. Animation On: Selecting this option will simulate the model with animation on after completing all the actions mentioned in Import Data.

When the import button is selected, a series of steps ensure the model is updated. The steps are as follows:

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.

data imported scheduled arrivals with table input

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