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