Flow Conveyor

Overview and Key Concepts

The flow conveyor is used to allow continuous flow to be transported during a non-zero time, and potentially be buffered (accumulated) when the downstream capacity is insufficient. The conveyor represents a 'belt' upon which 'dry bulk' can be discharged and transported to the end of the conveyor. The conveyor has a speed that is used to calculate the time required for a product to reach the output of the conveyor. Together with the width of the conveyor the speed also determines the height of the product on the conveyor, based on the input rate. At the output point the maximum outflow rate is a result of the speed of the conveyor and the height of the product, the actual outflow rate can of course be restricted by downstream objects in which case the conveyor will accumulate.

The mass flow conveyor is an accumulating object. When the actual output rate is lower than the requested output rate, the material that cannot exit will stack up against the output end of the conveyor up to a predefined maximum height. If you wish the conveyor to be non-accumulating, you can connect a flow sink to the last output port to absorb any excess material, or write custom logic to stop and restart the conveyor when necessary.

The image shows two flow conveyors, a straight and a curved conveyor, in a simple model. The visualization of the conveyor has been edited to draw the objects as belt conveyors.


The flow conveyor uses the standard events that are common to almost all FloWorks objects. See FloWorks Triggers for an explanation of these events.

The flow conveyor has the following additional events:

On Product Change

This event occurs whenever the product leaving the conveyor changes. This event is commonly used to switch output ports or take some other action based on the new product type. The provided dropdown options include an option to pass the new product downstream - this will set the product of a specified output object to the new type. You can use this to link multiple conveyors or pipes and conveyors together and automatically create a multi-product pipeline based on the actual output product of a conveyor.

It has the following parameters:

Event Parameter Explanation
curproducttype The product ID or name of the product type that was leaving prior to this event.
newproducttype The product ID or name of the product type that will be leaving after this event.


For statistical purposes, the conveyor's FloWorks state profile will be in one of the following states at various points during a simulation run:


The conveyor is empty and there is no flow.


The conveyor's inflow rate exceeds the outflow rate.


The conveyor's outflow rate exceeds the inflow rate.

Not empty

The conveyor is not empty but there is no net flow because the input rate is equal to the output rate.


The conveyor has stopped because the requested output rate exceeds the downstream capacity.


The (mass) flow conveyor tracks the following statistics. These can be viewed by clicking on the object and then viewing the Statistics pane in Quick Properties.

Input / Output

The total number amount of flow, measured in fluid units, that has entered or exited the (mass) flow conveyor.

Flow rates

The current input and output rate of the (mass) flow conveyor, measured in fluid units per time unit.


The current content of the (mass) flow conveyor, which is the difference between the output amount and the input amount.


The (mass) flow conveyor objects use the following properties panels:

Custom coding

You may control the behavior of the conveyor dynamically by writing FlexScript, for example in a Script window or by changing the code behind one of the options in an object trigger.

The conveyor is an instance of the FlowObject class, see the class reference for information about its properties.