Skip to content

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.

../../Images/Programing_Manual/Logic_Manual/TOTALIZER/ShiftTotalizer_0.png

In above picture, we are showing inputs of Shift Totalizer block.

../../Images/Programing_Manual/Logic_Manual/TOTALIZER/ShiftTotalizer_1.png

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 the CycleTime and byTIME 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, and TOTAL 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 and YTotalDay 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.