FB_ALY_IntervalPieceCounter_1Ch
The Interval Piece Counter 1Ch counts the amount of raised events within a configured interval, which starts when the value of the start interval flag is TRUE. An event is raised 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 and the value of the start interval flag is True again.
Syntax
Definition:
FUNCTION_BLOCK FB_ALY_IntervalPieceCounter_1Ch
VAR_INPUT
bPersistent: BOOL;
END_VAR
VAR_OUTPUT
ipResultMessage: Tc3_EventLogger.I_TcMessage;
bError: BOOL;
bNewResult: BOOL;
bConfigured: BOOL;
bExecutingInterval: 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
Inputs
Name | Type | Description |
---|---|---|
bPersistent | BOOL | If the value is |
Outputs
Name | Type | Description |
---|---|---|
ipResultMessage | 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 |
bNewResult | BOOL | When a new result has been calculated, the output is |
bConfigured | BOOL | Displays |
bExecutingInterval | BOOL |
|
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 |
fbTimeCountMax | FB_ALY_DateTime | Timestamp of |
fbTimeCurrentInterval | FB_ALY_Timespan | Elapsed time in the current interval. |
Properties
Name | Type | Access | Definition location | Initial value | Description |
---|---|---|---|---|---|
fTolerance | LREAL | Get, Set | Local | 0.0 | Tolerance value for the Equal / NotEqual comparisons |
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. |
Sample
VAR
fbIntervalPieceCounter : FB_ALY_IntervalPieceCounter_1Ch;
fbSystemTime : FB_ALY_GetSystemTime;
stThresholdEdge : ST_ALY_Threshold;
bResetOnMultipleStart : BOOL := FALSE;
tInterval : LTIME := LTIME#5M;
bConfigure : BOOL := TRUE;
bStartInterval : BOOL := FALSE;
nInput : INT;
END_VAR
// Configure algorithm
IF bConfigure THEN
bConfigure := FALSE;
stThresholdEdge.eComparisonOperator := E_ALY_ComparisonOperator.Equals;
stThresholdEdge.fThreshold := 1;
fbIntervalPieceCounter.ConfigureChannel(stThresholdEdge);
fbIntervalPieceCounter.Configure(bResetOnMultipleStart, tInterval);
END_IF
// Get current system time
fbSystemTime.Call();
// Call algorithm
fbIntervalPieceCounter.SetChannelValue(nInput);
fbIntervalPieceCounter.Call(fbSystemTime.tSystemTime, bStartInterval)
Requirements
Development environment | Target platform | Plc libraries to include |
---|---|---|
TwinCAT v3.1.4024.0 | PC or CX (x64, x86) | Tc3_Analytics |