Task 4.3 - Using Elevators With AGVs

Task Overview

In this tutorial task, you'll learn how to use elevators to transport AGVs to multiple floors in a model. However, before you do that, you'll create four new flow items: one for medical supplies, clean laundry, dirty laundry, and waste. You'll learn to send AGVs to different types of locations based on the type of load it is carrying. You'll also modify the delivery schedule so that medical supplies and clean laundry will arrive at the unloading dock on an alternating schedule.

After creating the flow items and updating the delivery schedule, you'll create upper floors to the hospital that will each need to receive shipments of medical supplies and clean laundry. You'll add an elevator to the simulation model to transport AGVs between the different floors. In the last step, you'll learn how to modify the simulation model to add additional elevators.

Just like in the previous tutorial task, you will use an AGV elevator process flow template to create the logic for this model. Again, it is beyond the scope of this tutorial to explain the exact details of how the AGV elevator template works, you should be aware that this process flow will control nearly all of the logic in this AGV elevator system. Consider exploring the AGV elevator process flow template in more detail to learn how it works. The template is organized by function and is self-documented to help you understand it.

When you're finished, your model will look similar to the following image:

Step 1 Create New Flow Items

In order to demonstrate the sophisticated way in which AGVs can deliver different types of loads to different locations, you're going to create some custom flow items in this step. These custom items that will be transported to various destinations in the simulation model. You'll create flow items for medical supplies, clean laundry, dirty laundry, and waste:

To create these new flow items:

  1. In the Toolbox, expand the FlowItem Bin group. Double-click the Box to open that flow item in the Flow Item Bin.
  2. In the Flow Item Menu, make sure that Box is currently selected, then click the Copy button to create a copy of the Box flow item.
  3. In Properties, change the name of this flow item to MedSupplies.
  4. Change the Color to white.
  5. With this flow item still selected in the Flow Item Menu, click the Copy button to create a copy of it.
  6. In Properties, change the name of this flow item to CleanLaundry.
  7. Change the Color to green.
  8. Change the X-size to 0.60 and the Y-size to 1.0.
  9. With this flow item still selected in the Flow Item Menu, click the Copy button to create a copy of it.
  10. In Properties, change the name of this flow item to DirtyLaundry.
  11. Change the Color to dark blue.
  12. In the Flow Item Menu, select the Cylinder. Click the Copy button to create a copy of it.
  13. In Properties, change the name of this flow item to Waste. Leave all the other properties at their default.

Consider saving your simulation model at this point.

Step 2 Change the Delivery Schedule

In this step, you'll modify the DeliverySchedule process flow so that the Unloading Dock will regularly receive two types of flow items: medical supplies and clean laundry. In this hypothetical scenario, the unloading dock will receive a shipment of 10 units of medical supplies every 30 minutes. 15 minutes after the unloading dock receives that shipment, the unloading dock will receive a shipment of 10 units of clean laundry. It will then repeat on this schedule indefinitely.

You'll start by editing the DeliverySchedule process flow activities. The following is an overview of how each activity will function after you've edited them:

Activity Explanation
Source: MedSupplies Deliveries The Schedule Source is an activity that will create tokens at a specific time during a simulation model. You'll edit this activity so that it creates 10 tokens when the simulation starts, and then repeats that schedule every 30 minutes. In order to create this functionality, you'll need to add an additional row that will release 0 tokens 1800 seconds later (the equivalent of 30 minutes in the simulation model).
Create Object: Item at Unloading Dock You'll edit this activity so that it will create the new MedSupplies flow item and place it inside the UnloadingDock queue. You'll also add a label named LoadType to the new flow items that will indicate which type of flow item it is. You'll use a value of 1 for MedSupplies flow items.

After you've made these edits, you'll create a copy of this activity block and modify it to create Clean Laundry deliveries. You'll make a few edits to the activities:

Activity Explanation
Source: Clean Laundry Deliveries This Schedule Source activity will be identical to the MedSupplies Deliveries, except that it will be offset by 900 seconds (the equivalent of 15 minutes in the simulation model). The time offset will make it so that the deliveries alternate every 15 minutes in the simulation model.
Create Object: Item at Unloading Dock You'll edit this activity so that it will create the new CleanLaundry flow item and place it inside the UnloadingDock queue. You'll also edit the label named LoadType to use a value of 2 for CleanLaundry flow items.

To make these changes to the delivery schedule:

  1. Open the DeliverySchedule process flow.
  2. Click the Source: MedSupplies Deliveries activity to select it. In Properties, check the Repeat Schedule checkbox.
  3. Under the Arrivals table, click the Add button to add a second row.
  4. In the second row under the Time column, type 1800.
  5. In the second row under the Quantity column, change the quantity to 0.
  6. Click the Create Object: Item at Unloading Dock to select it. In Properties, click the arrow next to the Object box to open a menu. Point to Flowitems, then select MedSupplies.
  7. Under the Assign Labels to Created Objects, click the Add button to add a label.
  8. In the Name box, delete the current text and type LoadType.
  9. In the Value box, delete the current text and type 1.00.
  10. Click the Medical Supplies shape to select it. Press Ctrl+C to copy the shape. Click a blank area in the process flow and press Ctrl+V to paste the shape.
  11. Change the name of the copied shape to Clean Laundry.
  12. In the Clean Laundry shape, change the name of the Source: MedSupplies Deliveries activity to Source: Clean Laundry Deliveries.
  13. Click the Source: Clean Laundry Deliveries activity to select it. In Properties in the Offset Time box, type 900.00.
  14. In the Clean Laundry shape, click the Create Object: Item at Unloading Dock to select it. In Properties, click the arrow next to the Object box to open a menu. Point to Flowitems, then select CleanLaundry.
  15. Under the Assign Labels to Created Objects, click the Add button to add a label.
  16. In the Name box, delete the current text and type LoadType.
  17. In the Value box, delete the current text and type 2.00.

Reset and run the model:

As you watch the model, the medical supplies are delivered right when the model starts. 15 minutes later, the clean laundry is delivered. Be aware that the model run in the previous image is being run at a speed of 40.00 and there is an edit cutting out the time between deliveries.

Step 3 Create an Upper Floor Layout

In this step, you'll create three floors to which the AGVs will travel to deliver the medical supplies and clean laundry. For this model, you won't create floors that are stacked vertically on top of each other. Rather, you will create different floor sections and place them on the same plane as the main floor of the AGV model. The stacked floor model has the advantage of looking a little more realistic. However, keeping the floors on the same plane has the advantage of being much easier to work with. See Creating Multiple Floor Layouts for more information about working with multiple floors in AGV models, including links for more information about how to create stacked floor models.

You'll need to create a Next Work Point loop on each floor. As you'll recall from the previous tutorial task, a Next Work Point loop is basically a series of control points that are connected to each other in a loop. Once this circuit has been set up, the AGVs in the system will loop continuously through the network looking for transportation tasks to work on. You need to create a Next Work Point loop on the upper floors in order for the AGVs to keep looping through that floor and to return to the main AGV network when they're finished with transportation tasks.

When you're finished, your model will look similar to the following image:

To create an upper floor layout:

  1. You'll start by creating an elevator area. Create a series of AGV paths extending out from the center right side of the AGV network that is 5 units long on the x-axis and 10 units long on the y-axis. Make sure that the path directions flow in the same direction as the main AGV network.
  2. Next, you'll create a network for one of the upper floors. About five spaces out from the new elevator area you just created, create a looping series of AGV paths that is 10 units long on the x-axis and 6 units along the y-axis. Set the path directions to flow clockwise.
  3. From the library, add 2 Sinks, placing them above the new floor area.
  4. Add 2 Queues, placing them below the new floor area.
  5. For clarity, rename the new objects as follows:
  6. Object New Name
    First Sink Floor3Supplies
    Second Sink Floor3Laundry
    First Queue Floor3Waste
    Second Queue Floor3DirtyLaundry
  7. Add four Control Points, placing them on the paths for the new floor area near each object.
  8. Create location connections (A-connects) between the four objects and the control point near it on the path.
  9. Add one more Control Point to the upper path in the elevator area.
  10. For clarity, rename this control point ElevatorExit.
  11. Create a connection (A-connect) from the control point near the Floor3Supplies sink to the control point near Floor3Laundry to open a menu. Select NextWorkPoint. A red line will appear showing the second AGV is connected.
  12. Repeat the previous step to create looping next work point connections between the new control points in the following order:
    • From the control point near the Floor3Laundry sink to the control point near the Floor3DirtyLaundry queue
    • From the control point near the Floor3DirtyLaundry queue to the control point near the Floor3Waste queue
    • From the control point near the Floor3Waste queue to the ElevatorExit control point
    • From the ElevatorExit control point to the control point on the upper right corner on the main AGV network

Check that your model looks similar to the image at the beginning of this step.

Step 4 Add Upper Floor Destination Logic

Now that you've created the basic template for one of the upper floors in your 3D model, it's time to set up the logic for these objects. In this step, you'll set the sinks on the upper floors to pull flow items from the ItemsReadyForDelivery global list using the LoadType label. You'll set the Floor3Supplies sink to pull medical supplies (which have a LoadType value of 1) and the Floor3Laundry sink will pull clean laundry (which has a LoadType value of 2). You'll also set the Floor3Waste and Floor3DirtyLaundry queues to automatically push any flow items they contain to the ItemsReadyForDelivery global list.

After you've set up this logic, you'll create copies of the upper floor objects to add two additional floors. You'll also create a two-way AGV path connecting the path from the elevator area to each of the upper floors. You need to create this path so that the AGV network needs to be able to find a travel path from one floor to another.

When you're finished, your model will look similar to the following image:

To create this logic:

  1. Click the Floor3Supplies sink to bring up its properties on the right.
  2. Under the Input tab, check the Pull Strategy checkbox.
  3. Click the arrow next to the Pull Strategy box to open a menu. Point to Use List and select Pull from Item List to open a picklist window.
  4. Click the arrow next to the List box to open a menu and select ItemsReadyForDelivery.
  5. Next to the Query box, click the Add button to open a menu. Point to WHERE (filter) and select LoadType.
  6. In the Query box, change the last part of the list query to == 1.
  7. Repeat the previous steps for the Floor3Laundry sink, but instead change the last part of the list query to == 2.
  8. Click the Floor3Waste queue to bring up its properties. Under the Output section, click the arrow next to the Send To Port box to open a menu. Point to Use List, then select Push to Item List.
  9. Click the arrow next to the List box and select ItemsReadyForDelivery.
  10. Check the Use Transport box. Click the arrow next to this box to open a menu. Point to Use List, then select Push to Item List (no task sequence) to open a picklist window.
  11. Check that the List box shows that the AGVWork list is currently selected. Leave the rest of the properties on their default settings.
  12. Repeat the previous steps for the Floor3DirtyLaundry queue as well.
  13. Press and hold the Ctrl key and draw a box around the entire new floor area you created to select these objects (including both sinks, both queues, and the AGV paths). Press Ctrl+C to copy these objects. Press Ctrl+V to paste a copy of these objects.
  14. Move the copied objects to that they are just below the original objects (but still on the same plane).
  15. Rename each of the newly copied 3D objects replacing any 3 numbers with the number 2: Floor2Supplies, Floor2Laundry, Floor2Waste, and Floor2DirtyLaundry.
  16. Repeat the previous step to create a third copy of the original objects. Move these copied objects just above the original objects (but still on the same plane).
  17. Rename each of the newly copied 3D objects replacing any 3 numbers with the number 4: Floor4Supplies, Floor4Laundry, Floor4Waste, and Floor4DirtyLaundry.
  18. Create an AGV path extending from the elevator area that is connected to one of the three upper floor areas.
  19. Select the new path you created. In Properties, check the Two Way check box.
  20. Repeat the previous steps to add two-way AGV paths to the other two floors.

Reset and run the model:

As the model runs, you'll see that AGVs travel to the upper floors to drop off flow items at the various sinks. Different sinks receive different flow items based on their LoadType label.

As was mentioned in the introduction to this step, you need the two-way AGV paths in order for the AGVs to travel to the upper floors. After you add the elevator in the next step, the AGVs will not use these paths to move between the floors. However, you still need these paths to be present in order for the AGV network to calculate a possible path to the upper floors.

Step 5 Add an Elevator

In this step, you'll add an elevator to the model and create a new process flow to control this elevator using the AGV Elevator process flow template. In the last part of the step, you'll attach the new elevator to this process flow.

When you're finished, your model will look similar to the following image:

To add an elevator to the AGV model:

  1. From the Library, add an Elevator to the 3D model, placing it in between the elevator area and the upper floors.
  2. On the main toolbar, click the Process Flow button to open a menu. Point to Add an Object Process Flow and then select AGV Elevator.
  3. In the newly created process flow template, click a blank area to ensure nothing is selected.
  4. In Properties under the Process Flow Instances find the Attached Objects (instances) box. Click the Sampler button to enter sampling mode.
  5. In the 3D model, click Elevator1 to attach it to the process flow template.
  6. Close the process flow template.

Check that your model looks similar to the image in the beginning of this step.

Step 6 Add Elevator Redirect and Entry Control Points

In this step, you'll set up the control points on the ground floor and upper floors that they will interact with the AGVs and the process flow to use the elevator to move between the floors.

You'll start by adding elevator redirect control points and connecting them to the elevator. Elevator redirect control points handle requests for elevator transport. When an AGV passes over the redirect control point, it will attempt to acquire an elevator for transport. If one is available, it will then proceed on the path until it reaches an elevator floor control point. If an elevator is not available, it will wait at this control point until an elevator is free.

After you've added the elevator redirect control points, you'll add elevator floor control points. Elevator floor control points become the point where AGVs enter and exit the elevator on each floor. When an AGV passes over an elevator floor control point, it will appear inside the elevator. When an AGV exits an elevator, it will appear on the elevator floor control point.

When you're finished, your 3D model will look similar to the following image:

To add elevator redirect and entry control points:

  1. Add a Control Point to the lower path in the elevator area so that it will be the first control point an AGV passes over when it enters the elevator area.
  2. Add a Control Point to the floor 2 area so that an AGV will pass over this control point right after leaving the control point connected to the Floor2Waste queue.
  3. Repeat the previous step to add identical control points to the floor 3 and floor 4 areas as well.
  4. For clarity, rename the new control points Floor1ElevatorRedirect, Floor2ElevatorRediect, etc.
  5. Create a connection (A-connect) from the Floor1ElevatorRedirect control point to Elevator1 to open a menu. Select ElevatorRedirectCP. A purple line will appear connecting the control point and the elevator.
  6. Repeat the previous step to connect the Floor2ElevatorRedirect, Floor3ElevatorRedirect, and Floor4ElevatorRedirect control points to the Elevator1 as well.
  7. Click the Floor2ElevatorRedirect control point to select it. In Properties, under the Labels group, click the Add button to open a menu. Select Add Number Label to add a new label.
  8. Name the label floorZ.
  9. Set the value to 5.
  10. Repeat the previous steps for Floor3ElevatorRedirect control point to create a floorZ label with a value 10.
  11. Repeat the previous steps for Floor4ElevatorRedirect control point to create a floorZ label with a value 15.
  12. Repeat the previous steps for Floor1ElevatorRedirect control point to create a floorZ label with a value 0.
  13. Add a Control Point to the AGV path near Elevator1.
  14. Add a Control Point to the floor 2 area in the middle of the left path.
  15. Repeat the previous step to add identical control points to the floor 3 and floor 4 areas as well.
  16. For clarity, rename the new control points Floor1Entrance, Floor2Entrance, etc.
  17. Press and hold the A key to enter connection mode. Click the Floor1Entrance control point to select it. Then, click Elevator1 to open a menu. Select ElevatorFloorCP. An orange line will appear connecting the control point and the elevator.
  18. Repeat the previous step to connect the Floor2Entrance, Floor3Entrance, and Floor4Entrance control points to the elevator as well.

Reset and run the simulation model:

Now as the simulation model runs, the AGVs will use the elevators to move from one floor to another. Notice also that the elevator raises to different Z-heights depending on the floor it is traveling to. The elevator knows which height to move to because of the floorZ label that you set for each elevator redirect control point.

Step 7 Add a Second Elevator

In this step, you'll learn about the changes you would make to an AGV model if you decided to use more than one elevator. You'll add a second elevator and a dispatcher that will control which elevator the AGVs take to get to an upper floor. You'll also change the connections needed to operate with two elevators.

When you're finished, your model will look similar to the following image:

To add a second elevator:

  1. From the Library, add the following 3D objects to the elevator area of the model:
    • An Elevator
    • A Dispatcher
  2. For clarity, rename Dispatcher1 as ElevatorDispatcher.
  3. Click the Floor1ElevatorRedirect control point to select it. In Properties, click the Connections menu. Select ElevatorRedirectCP.
  4. In the box below this menu, click Elevator1 to select it. Click the Remove button to delete this connection.
  5. Repeat the previous steps to remove the elevator redirect connections from Floor2ElevatorRedirect, Floor3ElevatorRedirect, and Floor4ElevatorRedirect as well.
  6. Press and hold the A key to enter connection mode. Click the Floor1ElevatorRedirect control point. Then, click the ElevatorDispatcher to open a menu. Select ElevatorRedirectCP. A purple line will appear connecting the control point and the dispatcher.
  7. Repeat the previous step to connect the Floor2ElevatorRedirect, Floor3ElevatorRedirect, and Floor3ElevatorRedirect control points to the ElevatorDispatcher as well.
  8. Move the Floor1Entrance so that it is directly in front of the Elevator1.
  9. Rename this control point Floor1Entrance1.
  10. From the Library, add a Control Point and place it directly in front of Elevator2.
  11. Rename the new control point Floor1Entrance2.
  12. Press and hold the A key to enter connection mode. Click the Floor1Entrance1 control point to select it. Then, click Elevator2 to open a menu. Select ElevatorFloorCP. An orange line will appear connecting the control point and the second elevator.
  13. Repeat the previous step to connect the Floor2Entrance, Floor3Entrance, and Floor4Entrance control points to Elevator2 as well.
  14. Create input port connections (A-connects) going from the ElevatorDispatcher to both Elevator1 and Elevator2.
  15. On the main toolbar, click the Process Flow button to open a menu. Select AGV Elevator to open this process flow.
  16. Click a blank area in the process flow to ensure nothing is selected.
  17. In Properties under the Process Flow Instances find the Attached Objects (instances) box. Click the Sampler button to enter sampling mode.
  18. In the 3D model, click Elevator2 to attach it to the process flow template.

Reset and run the model:

As the model runs, the AGVs will now use both elevators to move from one floor to another.

Conclusion

Now you've learned how to integrate elevators into an AGV model as needed. In the next tutorial, you'll learn about some additional AGV settings that you can use to customize your AGVs. You'll learn how to adjust load times, speeds, and other settings. Continue on to Tutorial 4.4 - Custom AGV Settings.