Ace Dynamic Comp Index  June 2020
Niagara-4.9
control::SequenceLinear Class Reference

Detailed Description

SequenceLinear will provide a linear sequence of 1 to 10 loads.

Analogous to a bar graph of the input value, where the delta represented by each output is (inMax-inMin)/(numOuts). So given an input value, outputs 1 through n will be set true, and any remaining outputs will be false.

If 'in' > 'inMax', then 'numOuts' outputs will be set true, and 'ovfl' will be set true The range of 'inMin' to 'inMax' is divided into 'numOuts' threshold values (delta), where:

'out1' is driven true if in > inMin + 1*delta,
'out1' and 'out2' are driven true if in > inMin + 2*delta,
'out1','out2', and 'out3' are driven true if in > inMin + 3*delta,
etc
delta = inMax-inMin/(numOuts)

A hysteresis of 1/2 delta is required to turn an output off. If delay > 0, it will delay configured seconds to turn on or turn off an output. If isRotating is true, outputs will go around from output 1 to numOuts, then go back to 1.

Properties


double in

Facets: @input @summary

double inMin

Default: 0.0
Facets: @config

double inMax

Default: 100.0
Facets: @config

int numOuts

Default: 10
Facets: @config @max = 10 @min = 2 @noProxy

int delay

Default: 0
Facets: @config @min = 0 @unit = "second"

double delta

Facets: @readonly @summary

byte desiredOn

Facets: @readonly @summary

byte currentOn

Facets: @readonly @summary

bool out[10]

Facets: @summary[1:3]

bool ovfl

Facets: @readonly @summary

bool onDelayActive

Facets: @readonly @summary

bool offDelayActive

Facets: @readonly @summary

bool isRotating

Default: false
Facets: @config

int rotateTime

Default: 1
Facets: @config @min = 0 @unit = "second"