SHIFT_TOTALIZER Logic Block Documentation
Overview
The SHIFT_TOTALIZER
block is an essential function block designed for continuous, accurate accumulation of process values (e.g., flow rate, energy, or any analog input) over defined time intervals. It enables real-time monitoring, historical shift-based tracking, and data-driven decision-making. The block calculates totals per shift (Shift1, Shift2, Shift3), for the current day, and for the previous day, making it ideal for industries requiring detailed shift-based analysis.
Logic Block Illustration
- Below is a visual illustration of how the
SHIFT_TOTALIZER
logic block connects with input values, internal parameters, and totalized outputs. - The signal flow and HMI faceplate representation are also indicated.
In above picture, we are showing inputs of Shift Totalizer block.
The illustration provided above outlines the procedure for effectively implementing the Shift Totalizer block.
Pins Information
Signal Name | Type | Description |
---|---|---|
PV |
REAL |
Process value to be totalized |
CONV_FCTR |
REAL |
Conversion factor applied to PV |
RESET |
BOOL |
Resets all totals to 0.0 when TRUE |
byTIME |
enTotalTime |
Time unit: Second, Minute, or Hour |
CycleTime |
REAL |
Task cycle time in seconds (e.g., 0.1 for 100ms) |
currentTime |
TIME_OF_DAY |
Real-time input clock |
SF1_start |
UDINT |
Shift 1 start time in 24 Hrs format |
SF2_start |
UDINT |
Shift 2 start time |
SF3_start |
UDINT |
Shift 3 start time |
TOTAL |
REAL |
Overall running total |
Sift1 |
REAL |
Today Shift 1 total |
Sift2 |
REAL |
Today Shift 2 total |
Sift3 |
REAL |
Today Shift 3 total |
TotalDay |
REAL |
Total of all 3 shifts today |
YSift1 |
REAL |
Yesterday Shift 1 total |
YSift2 |
REAL |
Yesterday Shift 2 total |
YSift3 |
REAL |
Yesterday Shift 3 total |
YTotalDay |
REAL |
Yesterday’s full day total |
Operational Behavior
Totalization Logic
- Accumulates
PV × CONV_FCTR
every cycle based on theCycleTime
andbyTIME
unit (Second, Minute, Hour). - Automatically assigns accumulated values to the appropriate shift bucket based on current time vs. shift start times.
- At the time of shift 1 start, All value of Today's will be copied to the Yesterday, And all the totalizer value of today will be reset and start the counting again.
Reset Operation
- When
RESET = TRUE
, all current shift totals, daily total, andTOTAL
are reset to zero.
Output Summary
TOTAL
: Continuously running accumulated value (not reset daily).Sift1
,Sift2
,Sift3
: Today’s totals split by shift.TotalDay
: Sum of Shift 1 + 2 + 3 for today.YSift1
,YSift2
,YSift3
,YTotalDay
: Yesterday’s shift and day totals for historical analysis.- Time tracking is performed by comparing
currentTime
with shift start times.
Notes for Integration
- Connect
currentTime
from a real-time clock (e.g., PLC RTC or system time). SFx_start
values must be provided in 24 Hrs format.- The block must be executed in a periodic task with consistent
CycleTime
to ensure reliable accumulation. byTIME
selection ensures flexible scaling—e.g., total liters/minute or kWh/hour.
Best Practices
- Use with flow meters, power meters, counters, or any analog source.
- Ensure
RESET
is triggered via HMI only with password protection if manual reset is required. - For visualization, link shift and daily totals to SCADA dashboards and trend graphs.
- Archive
TotalDay
andYTotalDay
for historical reporting. - Tag shift times via SCADA or retain them in persistent memory to avoid loss after power cycle.
The
SHIFT_TOTALIZER
block offers an industrial-grade, shift-aware totalization mechanism ideal for reporting, analytics, and real-time monitoring applications in manufacturing, utilities, or process automation.