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