Disassembly

The basic functionality of a Disassembly object will disassemble all variants/products that have been assembled. The Disassembly will not be able to disassemble a new assembly until all the disassembled variants of the previous assembly have left the Disassembly-object.

Note: If an assembly contain several assemblies, i.e. an assembly contain at least one other assembly of variants, all these assemblies will be split/disassembled on the Disassembly if not the setting 'Split all' is False.

Special cases

Besides the basic functionality described above there are some ways in which the Disassembly object can be used to model more complex disassembly behaviors:

The example model to the right will be used to illustrate these complex disassembly behaviors. In the model some different parts should be assembled on engines. The the parts are kept in Facades adjacent to the Assembly objects. The parts in the Facades are replenished with the use of orders that are assembled on and delivered by trains.

  1. Destination disassembly: At least one of the successors of the Disassembly object is an order origin (i.e. a possible destination). In this case assembled parts with at least one matching destination will be disassembled with consideration to their destinations. Parts without destinations will be disassembled according to the basic functionallity of the Disassembly object.

    Note: In this case the setting 'Split all' will determine if the search for parts with a matching destination will proceed beyond the first level of assembled parts or not.

    Note: In the case none of the destinations of the parts matches any of the successors of the Disassembly object, nothing will be disassembled.

    Note: In the case when none of the assembled parts have a destination the basic disassembly functionality is used.

    In the example this is used to only disassemble the parts (from the trains) that have a destination that matches a Facade connected to the Disassembly object.

  2. No disassembly: Empty assemblies;

    • Parts without any other parts assembled on them, i.e. an empty container
    • Assemblies where all parts but the container lacks matching destinations (nothing should be disassembled)
    will have zero processing time unless the setting 'Process Empty' is True.

    In the example this is used to allow empty trains or trains carrying only parts with destinations other than the Facade after this Disassemlby to pass through the Disassembly object without being delayed by unloading.

  3. Overtake active: When overtakes are allowed parts representing the case of (1) Destination disassembly without a matching destination among the assembled parts and no parts without destinations, and the case of (2) No disassembly, will be allowed to enter and exit the Disassembly no matter its current state (i.e. processing, setup, failed, unplanned, paused etc.). For these parts the Disassembly will function as a infinite buffer with zero processing time.

    In the example this is used to allow trains to overtake another train that is being unloaded at a Facade that this train lacks deliveries to.

Settings

The settings of the Disassembly are listed below along with a short description and possibly a link to a more detailed description about the setting.

Setting

Description

Name

Sets the name of the object.

Location

Displays the location of the object.

Split all

Boolean that states if all assembled parts should be split or just the ones located on the container part.

Container last

If True the container part is forced to exit after all other disassembled entities have left. If False (default) it will exit independently of the other entities.

Overtake

Boolean for allowing overtakes (True) or not (False). When overtakes are allowed assemblies/parts without need to be disassembled are allowed to enter and leave this Disassembly without consideration to the current state of the Disassembly. With other words, for these assemblies/parts the Disassembly object will function as a infinite buffer with zero processing time.

Process time

The process time of the Disassembly models the time it will take the Disassembly to disassemble the variants/products. See process time for more details.

Note: When using a table with variant specific processing times the processing time will be set based on the Assembly identity of the assembled parts.

Process time EPT

Used to add additional variations to processing time. These variations could be due to natural variations in execution time of the task and be set to {none, manual}. Default this is set to none.

None: No additonal variation is added.

Manual: This adds variations that will mimic variations seen on an task performed by a human. These variations include all types of disturbances, both failures and human variations in execution of the task. Variations in human execution might for example be due to talking to a coworker or going to the toilet.

This is done using something called Effective Process Time (EPT), which in this implementation is based on real data from a case performed in the automotive industry.

Note: Disturbances set this way will be added to the processing time and hence be logged as working in the output, see the output utilization.

Process Empty

Boolean used to specify if empty assemblies should get a process time (True) or always get zero process time (False).

Resources

Specifies skills needed, if any, for performing different task on this object, e.g. repairing a failure. More information about this can be found here.

Disturbance

A detailed description about disturbances can be found here.

Exit Strategy

The exit strategy sets how variants/products should exit from the object to its successors. See exit strategy for more details.

Dispatch

The dispatch setting sets how variants/products waiting to enter the object should be prioritized. See dispatch for more details.

Timetable

If the object follows a certain Timetable it will be shown here. The input-field has a drop-down containing all timetables in the model as well as an option none. Using this drop-down it is possible to select a different timetable or remove the timetable from the object by selecting none.

User attributes

Lists all attributes that the user has added to the object. See User attributes for more details.