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
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 |
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. |
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. |
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 |