FB_ALY_ContinuousPieceCounter_1Ch

The Continuous Piece Counter 1Ch counts the number of pieces within the configured interval. The counter is increased when the signal of the input channel passes the configured edge at a specific threshold. The calculation restarts when the time of the interval has elapsed. The algorithm provides the amount of pieces, the minimal and the maximal number of pieces as well as the time values of minimum and maximum.

Syntax

Definition:

FUNCTION_BLOCK FB_ALY_ContinuousPieceCounter_1Ch
VAR_INPUT
    bPersistent: BOOL;
END_VAR
VAR_OUTPUT
    ipResultMessage: Tc3_EventLogger.I_TcMessage;
    bError: BOOL;
    bNewResult: BOOL;
    bConfigured: BOOL;
    nNumIntervals: ULINT;
    nCountLastInterval: ULINT;
    nCountCurrentInterval: ULINT;
    nCountMin: ULINT;
    nCountMax: ULINT;
    fbTimeCountMin: FB_ALY_DateTime;
    fbTimeCountMax: FB_ALY_DateTime;
    fbTimeCurrentInterval: FB_ALY_Timespan;
END_VAR

FB_ALY_ContinuousPieceCounter_1Ch 1: Inputs

Name

Type

Description

bPersistent

BOOL

If the value is TRUE, the internal data is stored persistently.

FB_ALY_ContinuousPieceCounter_1Ch 2: Outputs

Name

Type

Description

ipResultMessage

I_TcMessage

Contains more detailed information on the current return value. This special interface pointer is internally secured so that it is always valid/assigned.

bError

BOOL

This output is TRUE if an error occurs.

bNewResult

BOOL

When a new result has been calculated, the output is TRUE.

bConfigured

BOOL

Displays TRUE when the function block is successfully configured.

nNumIntervals

ULINT

Number of elapsed intervals.

nCountLastInterval

ULINT

Number of events in the last interval.

nCountCurrentInterval

ULINT

Number of events in the current interval.

nCountMin

ULINT

Minimum number of events in the current interval.

nCountMax

ULINT

Maximum number of events in the current interval.

fbTimeCountMin

FB_ALY_DateTime

Timestamp of nCountMin.

fbTimeCountMax

FB_ALY_DateTime

Timestamp of nCountMax.

fbTimeCurrentInterval

FB_ALY_Timespan

Elapsed time in the current interval.

FB_ALY_ContinuousPieceCounter_1Ch 3: Methods

Name

Definition location

Description

Call()

Local

Method for calculating the outputs for a specific configuration.

Configure()

Local

General configuration of the algorithm with its parameterized conditions.

ConfigureChannel()

Local

Channel-specific configuration for the respective algorithm.

Reset()

Local

Resets all internal states or the calculations performed so far.

SetChannelValue()

Local

Method for passing values to the algorithm.

Pause()

Local

Method to pause the execution including the internal time intervals.

FB_ALY_ContinuousPieceCounter_1Ch 4: Properties

Name

Type

Access

Definition location

Initial value

Description

fTolerance

LREAL

Get, Set

Local

0.0

Tolerance value for the Equal / NotEqual comparisons

Sample

VAR
    fbContinuousPieceCounter : FB_ALY_ContinuousPieceCounter_1Ch;
    fbSystemTime : FB_ALY_GetSystemTime;
    stThresholdEdge : ST_ALY_Threshold;
    tInterval : LTIME := LTIME#5M;
    bConfigure : BOOL := TRUE;
    nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
    bConfigure := FALSE;
    
    stThresholdEdge.eComparisonOperator := E_ALY_ComparisonOperator.Equals; 
    stThresholdEdge.fThreshold := 1;
    
    fbContinuousPieceCounter.ConfigureChannel(stThresholdEdge);
    fbContinuousPieceCounter.Configure(tInterval);
END_IF

// Get current system time
fbSystemTime.Call();

// Call algorithm
fbContinuousPieceCounter.SetChannelValue(nInput);
fbContinuousPieceCounter.Call(fbSystemTime.tSystemTime);

Requirements

Development environment

Target platform

Plc libraries to include

TwinCAT v3.1.4024.0

PC or CX (x64, x86)

Tc3_Analytics