Assemble

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.