Combine

The Combine object takes one or more entities from each of multiple queues and passes on a single entity (or all the entities) to the next object.

If the RetainAll input is TRUE, the all of the entities removed from the queues are passed on simultaneously to the next object.

If the MatchRequired input is TRUE, then each of the entities must have the same match value calculated by the input to Match keyword for its Queue.

Entities are combined when the number of entities specified by the NumberRequired input is available in each queue.  When a match is found, the first entity from the first Queue is passed to the object specified by the NextComponent keyword, while the entities from the other Queues are destroyed.

Combine 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 time required to process the incoming entity.  Can be a constant value, a TimeSeries, a Probability Distribution, or an Expression.

WaitQueueList

A list of Queue objects that hold the entities waiting to be combined.

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.

RetainAll

If TRUE, all the matching entities are passed to the next component.

If FALSE, only the entity in the first queue is passed on.

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

 

ProcessPosition

The position of the entity being processed relative to the position of the Combine object.

Graphics

 

Position, Alignment, Size, Orientation, Region, RelativeEntity, DisplayModel, Show, Movable, VisibleViews, DrawRange

See Section 11.1.

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

Combine

 

User-defined attributes and custom outputs

As defined by the AttributeDefinitionList and CustomOutputList inputs.