FB_FlowEstimation - General Information

Overview

Type:

Function block

Available as of:

V1.6.0.0

Inherits from:

-

This chapter provides information on:

Task

Used to estimate a flow of objects.

Description

The function block FB_FlowEstimation can be used to estimate a flow of products detected by a sensor, like a vision system. Every time a new product is detected by the sensor, it is possible to signal its presence to the function block using the Notify method.

Based on the number of Notify calls occurring over the configured time period, the function block estimates a certain number of occurrences per minute.

For example, if the time period is set to 1s and over such period 5 notifications are performed, the function block estimates that over a minute the flow value will be equal to 300 (1s * 60s per minute * 5 objects per second). This estimation is then used to update both lrLastPeriodFlowPerMinute, that contains exactly the last evaluated value, and lrAverageFlowPerMinute, that contains an average of the evaluated periods since the first Update call.

By estimating an infeed or outfeed flow of products, it is possible to verify if a robotic cell is working accordingly with a nominal behavior. For example, such information could be used to identify a fluctuation in the infeed flow of products on a conveyor belt.

Refer to Using FB_FlowEstimation for an example of use.

Methods

Name

Description

SetTimePeriod

Sets the time period used for the estimation.

Reset

Resets the internal counts to zero.

Notify

Notify that one or more objects has been detected.

Update

Update the flow estimation.

Properties

Name

Data type

Accessing

Description

lrAverageFlowPerMinute

LREAL

Get

The estimated average flow per minute. The number of periods considered for the average is indicated by udiNumberOfTimePeriods.

lrLastPeriodFlowPerMinute

LREAL

Get

The estimated flow per minute based on the last full time period. Compared with lrAverageFlowPerMinute, that is an average value, this estimation can be used to detect fast variations in the estimated flow.

timTimePeriod

TIME

Get

The configured time period. The value of this property is null before a successful call of SetTimePeriod.

udiNumberOfTimePeriods

UDINT

Get

The number of periods that have been evaluated until now. This is the number of periods that will be considered for the evaluation of lrAverageFlowPerMinute.