ExtendSim includes a Templates* library of hierarchical blocks demonstrating how to model common tasks. Use these model segments as little nudges to get you started. Modify them to fit your specific needs for a great time saver on your next modeling project!
* These hierarchical blocks are included in the Templates library that ships with all ExtendSim licenses. To open the library, from within ExtendSim, choose the menu command Library > Open Library. Scroll to Templates.lbr and click Open.
Template Library Block Descriptions and Usage
Activity - Cycle-Based Shutdown
Models a piece of equipment that randomly breaks down after a number of processing cycles. The TD (total departed) connector on the Activity block reports the number of items that have completed processing. This is read by the Cycles input connector on the Shutdown block. After a random number of cycles has elapsed, the Activity is shutdown for a random amount of time.
Activity - Load/Unload
Models the process of an operator loading a part onto a machine, walking away, then returning to unload the part when it is done. A Resource Pool block (labelled "Load Operator") is used to represent the operator. The Gate block is used to allow only one item into the machine area at a time.
Assign Serial Numbers to Items
Assigns unique sequential numbers to items. In this example, the Set block assigns an "ItemCount" attribute to items as they pass through the block. The first item will have an "ItemCount" value of 1, the second 2, and so on. The Animate Value block reports the attribute value on the icon of the hierarchical block.
Create - Arrivals Vary by Time
Template of an arrival rate that varies by time of day. Every 60 minutes, the output value from the Lookup Table block sets the mean interarrival time in the Create block. If the distribution in the Create block requires more than one parameter, add more columns to the Lookup Table by selecting the +/- connector on the lower right corner of the cloned table on this hierarchical block's worksheet.
Create a table that contains one row per fixed period of time. In this example, the Mean & Variance block specifies statistics be captured every 30 time units. The Write block gathers all the data received during each period and reports the average value for each period in its own row. The first column in the table reports the time the period ended while the second reports the average for that period.
Queue - Batch All Items
Batches all of the items in the Queue into a single item. When the first item leaves the Queue, it sets the number of items in the Batch block. This is based on the queue length ("L" output connector on the Queue) + 1 using the Math block (because the first item has already left the Queue). "Delay Kit" is selected in the Batch block for the Queue input to prevent items from entering from the Queue before an item has arrived from the Create block.
Queue - Dump Contents
Items are dumped from the Queue at even intervals. In this example, a message is sent from the Pulse to the Gate every 60 minutes. The Gate opens and sends all of the items from the Queue to the Exit.
Queue - Empty Based on Conditions
Empty a Queue based on one of two conditions:
- When the Queue block is full (5 items in this example).
- When an item has spent a maximum of 4 units of time in the Queue.
If either of these conditions are present, all items in the Queue will be forced to leave.
Queue - Hold Until Quantity is Reached
Holds items in a Queue until a specified number of items have been reached. Once this threshold is crossed, all of the items are released from the Queue block at the same time. In this example, the Queue accepts items in a FIFO priority. The "Length" ("L") connector on the Queue reports its contents to the "A" connector of the Decision block. As specified in the Decision block, once 10 items have accumulated in the Queue, the Decision sends a message to the "Demand" ("D") connector of the Gate block to release the contents of the Queue.
Queue - Random Order
Randomly sorting a Queue can be useful. An easy way to do this is to assign each item a random priority and then use the "Priority" sorting rule for the Queue.
Queue - Random Renege
Items renege from the Queue after a random amount of time. When an item arrives to the Queue, it gets a random value from the Random Number block. If the item waits too long, it will renege and go to the Exit block.