The Assemble object combines a number of sub‑components into an assembled part.
Sub-components waiting for processing are collected into a series of Queue objects, identified by the WaitQueueList keyword, one for each type of sub-component.
Incoming sub-components must be sent directly to the appropriate queue, not to the Assemble object itself. If necessary, a Branch object can be used to direct incoming entities to the various queues.
The assembly process begins when the specified number of sub-component entities is present in each of the Queues. When this occurs, the sub-components are removed from each Queue and destroyed, and a new assembled part is created by copying the object specified by the PrototypeEntity keyword. The time required to complete the assembly process is given by the ServiceTime keyword.
Assemble Inputs
Keyword |
Description |
Key Inputs |
|
Description |
A free-form string describing the object. |
NextComponent |
The next object to which the processed entity is passed. |
ServiceTime |
The service time required to perform the assembly process. |
WaitQueueList |
A list of Queue objects in which to place the arriving sub-component entities. |
NumberRequired |
The number of entities required from each queue for the assembly process to begin. The last value in the list is used if the number of queues is greater than the number of values. |
MatchRequired |
If TRUE, the all entities to be processed must have the same Match value. The Match value for an entity is determined by the Match keyword for its queue. The value is calculated when the entity first arrives at its queue. |
FirstQueue |
Determines which Match value to use when several values have the required number of entities. If FALSE, the entity with the earliest arrival time in any of the queues determines the Match value. If TRUE, the entity with the earliest arrival time in the first queue determines the Match value. |
PrototypeEntity |
The prototype for entities representing the assembled part. |
BaseName |
The base for the names assigned to the entities representing the assembled parts. The entities will be named Name1, Name2, etc. |
Options |
|
AttributeDefinitionList, CustomOutputList |
See Section 6.2. |
StateAssignment |
The state to be assigned to each entity on arrival at this object. No state is assigned if the entry is blank. |
Thresholds |
|
ImmediateThresholdList, ImmediateReleaseThresholdList, OperatingThresholdList |
See Section 10.1. |
Maintenance |
|
WorkingStateList, ImmediateMaintenanceList, ForcedMaintenanceList, OpportunisticMaintenanceList, ImmediateBreakdownList, ForcedBreakdownList, OpportunisticBreakdownList |
See Section 10.2. |
Format |
|
StateGraphics |
A list of state/DisplayEntity pairs. For each state, the graphics will be changed to those for the corresponding DisplayEntity, e.g. { Idle DisplayEntity1 } { Working DisplayEntity2 } |
ProcessPosition |
The position of the entity being processed relative to the position of the Assemble object. |
Graphics |
|
Position, Alignment, Size, Orientation, Region, RelativeEntity, DisplayModel, Show, Movable, VisibleViews, DrawRange |
See Section 11.1. |
Assemble Outputs
Output Name |
Description |
Entity and DisplayEntity |
|
Name, ObjectType, SimTime, Parent, Position, Size, Orientation, Alignment, GraphicalLength, ObserverList, NextList, PreviousList, EntityReferenceList |
See Section 11.1. |
StateEntity |
|
State, WorkingState, WorkingTime, StateTimes, TotalTime |
See Section 10.3. |
StateUserEntity |
|
Idle, Working, Setup, Maintenance, Breakdown, Stopped, Utilisation, Commitment, Availability, Reliability, Open, NextMaintenanceTime, NextBreakdownTime |
See Section 10.2. |
LinkedDevice |
|
obj, NumberAdded, NumberProcessed, NumberInProgress, ProcessingRate, ReleaseTime |
See Section 16. |
LinkedService |
|
MatchValue |
The present value to be matched to an entity in the queue. |
AbstractCombine |
|
ConsumedEntityList |
The entities that were removed from the queues for processing and were then destroyed. |
Assemble |
|
User-defined attributes and custom outputs |
As defined by the AttributeDefinitionList and CustomOutputList inputs. |