This topic will explain how to create different types of flow logic using conveyor objects. It will cover the most common conveyor systems that you might want to create. Before reading this topic, make sure you are familiar with the concepts explained in Key Concepts About Conveyors.
Decision points, stations, and photo eyes are the primary conveyor objects that are involved in controlling conveyor logic. For the sake of brevity, this guide will refer to these three types of objects as conveyor logic objects.
To use these objects, first you need to add one of them to a conveyor. Make sure that the object is at the point on the conveyor where you want something to happen to a flow item (such as diverting the item to a different conveyor line, delaying and processing the item, changing a label on a item, etc.).
Next, open the object's properties and apply the logic you want to the appropriate trigger. All three of the conveyor logic objects come with a set of pre-programmed picklist options that simulate some of the most common logic. You can use these picklists, or you can write your own custom logic with FlexScript.
For example, imagine you need to simulate a flipper on a conveyor that will mechanically rotate items 90 degrees so that they are aligned the correct direction. You could simulate this logic using a decision point and set its On Arrival trigger to use the Rotate Item logic:
You can also create port connections between decision points, photo eyes, and stations so that they can reference each other, possibly sending flow items or information to each other.
For example, imagine you wanted to randomly divert 30% of flow items to a separate conveyor. You could simulate this logic using two decision points. One is on the main conveyor line and another is on the diverting conveyor line. You would then create port connections (A-connects) between the two decision points. Next, you'd set the On Arrival trigger on the first decision point to use the Send Item logic to divert 30% of the flow items to the second decision point:
The conveyor logic objects all have the same basic logical functionality: they all have triggers that are capable of executing pre-programmed or custom logic when a flow item passes over them. However, there are small differences between decision points, stations, and photo eyes that are good to be aware of:
Use the appropriate conveyor logic object based on the functionality needed in your conveyor system.
The merge controller and motor objects are also important to conveyor logic, but they will be explained in more detail in the following sections. Merge controllers are used primarily when merging slug-building conveyors (see Merging for more information). Motors are useful for power and free systems and for connecting multiple conveyors so that they all operate at the same speed and can be turned on or off simultaneously (see Power and Free Systems for more information).
The following table provides a general overview of some of the pre-programmed picklist options that are available on the triggers for conveyor logic objects:
|Send Item||Can send items to different destinations (such as different conveyor lines) based on criteria you specify. See the section on Sorting for more information.|
|Stop/Resume||Can set conditions that can make a conveyor motor stop or restart. See the section on Stopping or Starting a Motor.|
|Stop Item and Delay||Can stop and/or delay an item|
|Area Restriction||Can create an area that only allows a fixed number of items to flow through a restricted area on the conveyor at a time. See Area Restriction for more information.|
|Movement||Can rotate, tilt, or move items at a particular point on a conveyor. See Flow Item Movement for more information.|
|Set Conveyor Speed||Can change the speed of the conveyor based on certain conditions|
Conveyor systems use sorting (sortation) when items need to be transported to different destinations based on certain criteria. To simulate sortation conveyor systems in FlexSim, you'll need to use a conveyor logic object (a decision point, station, or photo eye). These objects have a pre-programmed picklist option called Send Item that can sort items based on certain criteria and then send them to various destinations through its port connections.
The Send Item picklist option has two properties that determine how it should sort items:
You can use a combination of different settings in these two properties to build complex sorting logic into your conveyors.
The following sections describe some of the common sortation systems that you can build in FlexSim.
Conveyors can sort flow items based on a simple true or false condition. If a flow item meets the condition in the Send Item Condition property, it will get diverted to the conveyor logic object's output port.
For example, in the conveyor system shown in the following image, 30% of the flow items will meet the condition and will be diverted to an alternate conveyor line. The On Arrival trigger for the first decision point is assigned the Send Item picklist behavior. The Condition property is set to randomly return a true value 30% of the time. When it returns a true value, it sends the flow item to the diverting conveyor line.
Conveyors can also sort flow items based on the destination. The Send Item Destination property returns a reference to an object. This object should be a conveyor logic object or an exit transfer on the item's current conveyor.
For example, in the conveyor system shown in the following image, flow items are sent to the conveyor that matches the number in the type label on the flow item. There are five different flow item types (each with a different color). The On Arrival trigger for the first decision point is assigned the Send Item picklist behavior. The Destination property is will evaluate the type label on the item and send it to the output port that matches that number.
In the same way that you can sort items using the Send Item picklist to send items to a conveyor, you can also send items to a downstream fixed resource.
For example, the conveyor system shown in the following image is similar to the simulation model in the previous section. However, the last conveyor has a decision point that sends items to the queue connected to a particular exit transfer based on their type label.
Merge conveyors can organize items flowing from multiple infeed conveyor lines. The most common purpose of merging is to combine items from multiple conveyor lines into a single line, which then sends the items downstream for further processing. This section will describe how to use FlexSim conveyor objects to create various kinds of merges. It will also discuss accumulation methods that could possibly be used when merging items.
You can create simple merges by snapping conveyor lines together and using conveyor logic objects.
The conveyor industry uses the term slug to refer to a queue of accumulated items on a conveyor that will eventually be released downstream as a single group. Building slugs of items can maintain high rates of throughput while keeping equipment speeds as slow as possible.
You can design a conveyor that builds slugs and waits to release them based on a specific set of criteria such as:
For example, in the following image, each conveyor in this system is set to build a slug of at least four items before it can be released:
In the properties for your conveyor:
The merge controller object can be used to reduce the gaps and prevent collisions between slugs as they move onto the merging conveyor. Its logic is defined by its two main properties: 1) Release Strategy, and 2) the Lane Clear Table. These two properties determine how it will prioritize merging lanes.
The Release Strategy has two pre-programmed options: round robin logic or first available logic. If you are comfortable with FlexScript, you can also create your custom release strategy.
The Lane Clear Table prevents merge jams and shortens the gaps between slug releases. The rows and columns are automatically be generated based on the objects the merge controller is connected to, but you can edit the table to change the order in which rows and columns are listed. The X's in the columns define which decision point (or other conveyor logic) needs to be cleared before the merge controller can release a slug from a particular lane.
In the following image, the merge controller communicates with decision points to close the gaps in between slug releases:
You can use a template Process Flow to create logic that will close the gaps in between slugs even more. The following image is an example of a merging conveyor system that uses process flow to determine the ideal release rate:
To add this process flow to your model, press the Process Flow button on the main toolbar, then choose Add an Object Process Flow > Gap-Optimizing Merge Controller. Then attach an existing merge controller to that process flow.
Here is the process flow that manages this merge:
Power and free conveyor systems are implemented in many manufacturing environments. In these systems, dogs travel at fixed intervals along a looping chain. These dogs pick up carrier trolleys in the system as they pass them.
FlexSim simulates power and free systems by tracking the location of dogs on a conveyor or conveyor system. The point at which an item can move on the conveyor is defined by the location of the next passing dog. When an item is ready to move, it catches a dog. Often the movement of items has a caterpillar-like accumulation effect.
In the properties for your conveyor:
Although you are not required to use a motor in a power and free system, using a motor is recommended. Motors can help sync the dog positions across multiple conveyors in a power and free system. For example, if the motor's first connected conveyor is 10.2 meters long, and the dog gap is 1.0 meters, then it will set the dog position to start at 0.0 on the first conveyor and at 0.8 on the second connected conveyor (the remaining distance to the next dog after the end of the first conveyor). The motor prevents the conveyors from creating irregular gaps or stops when transferring items between conveyors.
To use a motor with a power and free system:
To create an overhead power and free system you'll need to translate the z-axis of the item:
-2, and it will hang below the conveyor while moving.
Conveyor logic objects (decision points, photo eyes, stations) can be set to stop, delay, and/or start a conveyor's motor when certain conditions are met. For example, if a photo eye is blocked, it can stop the motor until the photo eye is clear again. Any conveyors that are connected to the motor will be stopped until the motor resumes.
You can use the Stop Motor or the Stop Motor and Delay picklist behavior option on a conveyor logic object to stop a conveyor. Just make sure you also add a condition under which the motor will restart again using the Resume Motor picklist behavior.
In order to effectively stop a motor, ensure the following conditions are met:
You can use a conveyor logic object (decision point, station, or photo eye) to move or change a flow item when it passes over it. The triggers on conveyor logic objects have pre-programmed picklist behaviors to help with many of the common movement actions you might want to do. Use the Movement submenu on a trigger if you want to change the item's location or orientation (rotation, tilt angle, etc.). The Movement submenu has two options: Rotate Item and Translate Item.
The Rotate Item picklist rotates the item as it passes over the logic conveyor object.
The Translate Item picklist moves the item's position relative to the conveyor.
See Creating Overhead Conveyors for step-by-step instructions about using the Translate Item option.
The Rotate Item and Translate Item options use kinematics-based offsets. When you use one of these picklist options, be aware they don't change the item's properties, logic, or orientation (with some exceptions, as noted below). Their logic is mostly just visual. Keep in mind:
However, there are some exceptions to this visual-only rule:
Area restriction can be used to restrict access to a particular conveyor or a segment of a conveyor. For example, you could create an area that only allows one flow item into the area at a time, as shown in the following image:
To create an area restriction system:
You can work through a few examples of area restriction in Conveyors Tutorial 1.2 - Merging, Area Restriction, and Slug Building and Conveyors Tutorial 1.3 - Adding and Removing Gaps.
You may or may not want gaps between your flow items when you merge one conveyor lane into another.
The Area Restriction picklist can actually be effective for adding gaps to a conveyor line. It can be used to add both fixed and variable gapping to flow items. See Area Restriction for more information.
Usually the primary reason why you want a conveyor system is to reduce gaps between flow items, which increases your system's overall throughput.
If you want to remove gaps in between merging flow items, you can do one or all of the following steps:
The step-by-step process for removing these gaps will be explained in Conveyors Tutorial 1.3 - Adding and Removing Gaps. This tutorial has additional tips and techniques you can use to affect gapping in conveyors.