Sliding Window Demand Module

The Sliding Window Demand Module calculates sliding window and predicted demand over a specified number of subintervals of a specific length.

Module icon

Overview

Power utilities generally bill commercial customers based on their energy consumption (in kWh) and their peak usage levels, called peak demand (in kW). Demand is a measure of average power consumption over a fixed time interval, typically 15 minutes. Peak (or maximum) demand is the highest demand level recorded over the billing period. Sliding window demand is one method of measuring demand.

To compute sliding window demand values, the Sliding Window Demand Module uses the sliding window averaging (or rolling interval) technique which divides the demand interval into subintervals. The demand is measured electronically based on the average load level over the most recent set of subintervals. This method offers better response time than fixed interval methods.

The module can be either internally or externally synchronized. For external synchronization, you would typically use the output from a Digital Input module as a Sync pulse.

The module performs predicted sliding window demand by automatically predicting the value that each sliding window demand parameter will attain when updated at the start of the next interval.

NOTE: The registers and settings available in this module depend on the device or node you are configuring, as well as its firmware and template versions. Not all registers or settings are available on all devices or the Virtual Processor, and labels may vary.

Inputs

Source

This is the value for which sliding window demand and predicted sliding window demand are calculated. It must be a numeric register from any other module’s outputs. Linking this input is mandatory.

Enable

This input enables or disables the Sliding Window Demand module. Disabling the module turns all the module’s outputs to not available, and all the data collected for the current and previous subintervals is discarded. The SwinDemand output will remain not available until the number of subintervals indicated by the #SubIntvls setup register have expired. This input is optional; if you leave it unlinked, the module will be enabled by default.

Sync

This input receives a pulse which can be used for external synchronization of the module. The Sync input must be a pulse register from any other module’s output. This input is optional.

NOTE: In the Virtual Processor, the Sync register does not exist.

Reset

This input resets the SWinDemand and PredDemand output registers to not available. Note that the SwinDemand output will be not available until the number of subintervals indicated by the #SubIntvls setup register have expired. The PredDemand output will be not available until one subinterval before that. This input is optional; if you leave it unlinked, the input by default will never receive a pulse.

Setup registers

Sub Intvl

This numeric bounded register specifies the number of seconds in the sliding window demand subinterval. If the Sync input is linked, the Sub Intvl register is ignored for the sliding window demand calculation. It is however still used for the predicted sliding window demand calculation.

If the frequency of the pulses on the Sync input is higher than the Sub Intvl setup register indicates, the PredDemand output may not be accurate (since it will not have enough time to reach its steady state value between subintervals). If the frequency is lower, PredDemand will act as though the Pred Resp is set to a faster value (i.e. the steady state will be reached before the end of the subinterval).

#SubIntvls

This numeric bounded register specifies the number of subintervals in the sliding window.

Pred Resp

This numeric bounded register specifies the speed of the predicted demand output. It allows you to set the sensitivity of the demand prediction. Specify 99 for the fastest prediction speed. If you specify 0 (the slowest prediction speed), the PredDemand output will follow the SWinDemand output. A value between 70 and 99 is recommended for a reasonably fast response.

Update Rate

This register defines the update rate of the SWinDemand output register. The choices include:

  • Every Second (default setting; SWinDemand calculations will be saved if a power outage occurs)
  • End of Subinterval

NOTE: For Billing applications, the Update Rate setup register must be set to every second.

Output registers

SWinDemand

This numeric register contains the accumulated sliding window demand.

If the Update Rate setup register is set to end of subinterval, and the module is relinked; the Reset input is pulsed; the module is disabled; or a setup register is changed, then the accumulated sliding window demand value will not be available until the number of subintervals specified in the #SunIntvls setup register have expired.

If the Update Rate setup register is set to every second, then the accumulated sliding window demand value will be available within one second.

PredDemand

This numeric register contains the accumulated predicted demand. When the module is linked, the Reset input is pulsed, the module is disabled, or a setup register is changed, this register is not available until one less than the number of subintervals specified in the #SunIntvls setup register have expired. If the Sync input is not linked, unless the module was linked or Reset on a regular time boundary, the PredDemand value will be inaccurate until the SWinDemand output becomes valid.

Time Left

This numeric register contains the number of seconds remaining before the SwinDemand output will be written — the number of seconds remaining in the demand period. If the module is being synchronized by an external pulse (see the Sync input), instead of resetting on an internal time boundary, the Time Left value resets whenever the external sync input is pulsed.

Interval

This output register generates a pulse whenever the SWinDemand output register is overwritten. The Interval End register can be used to trigger a Digital Output module so that a hardware relay can be pulsed whenever the demand is updated.

Event

All events are recorded in the Event register.

Possible events and their associated priority numbers are:

Event priority group Priority Description
Reset 5 A module reset has occurred.
Setup Change 10 Input links, setup registers or labels have changed.
Information 25 not available input caused output to go not available.

The Event output register stores the following information for each ION event: time stamp, priority, cause, effect, and any values or conditions associated with the cause and effect.

Responses to special conditions

The following table summarizes how the module behaves under different conditions.

Condition Response of output registers
If the Source input is not available All output registers are not available.
When the device is started or powered-up (either the first time, or after a shutdown) All output registers are not available.
When the device is powered-up after a power outage and the Update Rate setup register is set to every second, the SWDemand calculation will continue from where it left off. This also applies to meter time syncs.* SWDemand value is available within 1 second.
* There may be situations where a false peak is observed during a subinterval if the time synchronizes backwards and a power outage occurs, or the load drops to 0 (zero), following the time synchronization.

Detailed module operation

Sliding Window Demand calculation

The figure below illustrates how the Sliding Window Demand module calculates the value in the SWinDemand output register. In this case, the Sync input is not linked (hence the Sub Intvl and #SubIntvls setup registers define the total demand interval).

The average demand for each of the six previous subintervals is calculated and these values are averaged across the number of subintervals (specified by the #SubIntvls setup register). In this example, the value in the SWinDemand output register from 2:00 to 2:05 is:

The Sliding Window Demand module allows you to match the power utility’s sliding window demand calculation technique. For sliding window measurements, the Sub Intvl register represents the length of the utility’s demand subinterval, while the #SubIntvl register represents the number of subintervals which make up the total demand interval. For example, with a 6 x 5 minute (30 minutes total) sliding window method, demand is the average power consumption over the last six 5-minute subintervals. This allows you to match virtually any type of sliding window measurement method used by the utilities (i.e. 2 x 15 minutes, 6 x 5 minutes, 1 x 30 minutes).

Alternatively, you can use external synchronization (Sync input linked) to calculate sliding demand values. In this case, a new subinterval begins each time a pulse is received on the Sync input.

Predicted Demand calculation

The Sliding Window Demand module predicts changes in demand based on the following formula:

The module automatically calculates the Thermal Average value used in the above formula. The Thermal Average starts at 0 when the Sliding Window Demand module powers up, and gets calculated every second based on the following formula:

The rate at which the Thermal Average responds to demand changes depends directly on the sensitivity of the demand prediction, which is programmed into the Pred Resp setup register. If Pred Resp is set to a higher value, Thermal Average will respond more quickly to changes in the module’s Source input (i.e. the higher the value for Pred Resp, the faster this module will predict).