Flow to item

Overview and Key Concepts

The flow to item is designed to interface between FloWorks objects and FlexSim's discrete objects. It receives flow from a FloWorks object, and converts it to discrete flow items that it sends downstream. An example of a real-life process represented by a flow to item could be a bottling machine.

The input side of the flow to item looks like a regular FloWorks object. You can specify an inflow rule, maximum inflow rate and a fluid amount per item. You can select one of two ways to specify this amount. The first is 'By Default' and the second 'Production Plan'. The option 'By Default' allows you to set the item type of the flowitems produced and allows an expression to be entered for the flow amount per item. Of course this expression can give different values from one flow item to the next. The option 'Production Plan' is similar to the 'Arrival Sequence' option of the source; it allows you to have more control in the flowitems created. Within this option you can define different flow items with different details in the arrivals table. For each arrival the amount of flow items produced can be set, as well as the name of the flowitems, the item type and the flow amount needed to release such an item. Note that within this option the flow amount per item has to be a constant. You can also add additional labels to the items to be produced. Flow items will be generated according to the schedule and will start with the first defined arrival and will create the specified number of flowitems before using the next arrival. When all arrivals have been used the schedule may be repeated.

Once the given amount of fluid has been collected, a flow item is released. On the output side the object looks like a regular FlexSim source: it allows you to determine the flow item class and item type of the released object. The standard Send To Port logic is used to send the item downstream, which means that the flow to item can send flow items to any of the discrete objects and can call operators to do the transporting. We do not recommended this, as it will also stop the inflow when waiting for a transport.

Optionally a maximum buffer size can be assigned to the flow to item. In that case, the input will not immediately block when the produced flow item cannot be released. Instead the inflow will continue up to the assigned buffer size. When the buffer is full, the inflow will be stopped and will only be restarted when all completed items have been released.

The visual representation of the flow to item includes a progress bar and in the statistics of the object the progress of the filling process of the current flowitem is shown. The bar is a level indicator using the following colors:

  • Green represents the amount of flow already received.
  • Yellow represents the amount of flow still needed to complete the current flow item.
  • Red represents content of flow items already completed which have been released but are blocked from exiting by downstream objects.
  • Gray represents available buffer content, when enabled for this object.


The flow to item uses the standard events that are common to the flow sink, as well as those of the discrete source. See Flow Sink - Events and Source - Events for an explanation of these events.


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


No flow is collected because the output side is blocked, for example because the flow to item is waiting for downstream availability or an operator.


Flow is being collected until the required amount to release an item.


The flow to item tracks the following statistics. These can be viewed by clicking on the object and then viewing the Statistics panel in Properties.


The total number amount of flow, measured in fluid units, that has entered the object.


The total number of discrete flow items that have exited the object.

Inflow rate

The current input, measured in fluid units per time unit. The output rate will always be zero.


The ratio of the input volume (total amount of inflow) to the maximal possible value for that statistic.

For example, if you run the model for two hours and the maximum flow rate was 10 for one hour and 20 for the second hour, while the actual flow rate was 10 per hour during the whole run, the utilization will be (20 (total flow)) / (10 + 20 (maximal flow)) × 100% ≈ 67%.

Properties Panels

The flow to item uses the following properties panels:


The Flow To Item object shares several properties with all flow objects:

Additionally, the Flow To Item object uses the following properties:

FlowItemClass Options
ArrivalStyle Options
ProductionPlan Table
AmountPerItem Number
MaxBuffer Number


Fixed resource triggers

The following triggers from the FlexSim source object are also available for the flow to item:

  • On Reset
  • On Message
  • On Creation
  • On Exit
  • On Draw

For more information see Fixed Resource - Events.

In addition the On Rate Change trigger is available for the FloWorks side - of course it will only fire when the inflow rate of the flow to item changes.

Custom coding

You may control the behavior of the flow to item 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 flow to item is an instance of the FlowObject class, see the class reference for information about its properties.

FloWorks also provides a specific FlowToItem class that may be needed in some special cases.