Technical Document: Niagara Kitcontrol Guide
Technical Document: Niagara Kitcontrol Guide
Confidentiality Notice
The information contained in this document is confidential information of Tridium, Inc., a Delaware corporation (“Tridium”). Such
information, and the software described herein, is furnished under a license agreement and may be used only in accordance with
that agreement.
The information contained in this document is provided solely for use by Tridium employees, licensees, and system owners; and,
except as permitted under the below copyright notice, is not to be released to, or reproduced for, anyone else.
While every effort has been made to assure the accuracy of this document, Tridium is not responsible for damages of any kind,
including without limitation consequential damages, arising from the application of the information contained herein. Information
and specifications published here are current as of the date of this publication and are subject to change without notice. The latest
product specifications can be found by contacting our corporate headquarters, Richmond, Virginia.
Trademark Notice
BACnet and ASHRAE are registered trademarks of American Society of Heating, Refrigerating and Air-Conditioning Engineers.
Microsoft and Windows are registered trademarks, and Windows NT, Windows 2000, Windows XP Professional, and Internet
Explorer are trademarks of Microsoft Corporation. Java and other Java-based names are trademarks of Sun Microsystems Inc. and
refer to Sun's family of Java-branded technologies. Mozilla and Firefox are trademarks of the Mozilla Foundation. Echelon, LON,
LonMark, LonTalk, and LonWorks are registered trademarks of Echelon Corporation. Tridium, JACE, Niagara Framework, Niaga-
raAX Framework, and Sedona Framework are registered trademarks, and Workbench, WorkPlaceAX, and AXSupervisor, are trade-
marks of Tridium Inc. All other product names and services mentioned in this publication that is known to be trademarks, regis-
tered trademarks, or service marks are the property of their respective owners.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
NiagaraAX-3.x
i
kitControl Guide
September 12, 2013
kitControl-BooleanToStatusBoolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6
kitControl-BqlExprComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6
kitControl-ChangeOfStateCountAlarmExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6
kitControl-Cosine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7
kitControl-Counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7
kitControl-CurrentTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8
kitControl-DegreeDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8
kitControl-DigitalInputDemux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9
kitControl-Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–11
kitControl-DoubleToStatusNumeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–11
kitControl-ElapsedActiveTimeAlarmExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–11
kitControl-ElectricalDemandLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–12
kitControl-EnumConst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-EnumLatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-EnumSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-EnumToStatusEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-EnumSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-Equal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-Exponential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-Factorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–17
kitControl-FloatToStatusNumeric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-GreaterThan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-GreaterThanEqual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-IntToStatusNumeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-InterstartDelayControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-InterstartDelayMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-LeadLagCycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–18
kitControl-LeadLagRuntime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–19
kitControl-LessThan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–20
kitControl-LessThanEqual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–20
kitControl-LogBase10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
kitControl-LogNatural. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
kitControl-LongToStatusNumeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
kitControl-LoopAlarmExt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
kitControl-LoopPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–21
kitControl-Maximum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–25
kitControl-Minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-MinMaxAvg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-Modulus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-Multiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-MultiVibrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-Negative. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-NightPurge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–26
kitControl-Not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–28
kitControl-NotEqual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–29
kitControl-NumericBitAnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–29
kitControl-NumericBitOr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30
kitControl-NumericBitXor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30
kitControl-NumericConst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30
kitControl-NumericDelay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–30
kitControl-NumericLatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–31
kitControl-NumericSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–31
kitControl-NumericSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–31
kitControl-NumericToBitsDemux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–32
kitControl-NumericUnitConverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–32
kitControl-OneShot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–32
kitControl-OptimizedStartStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–33
kitControl-Or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–37
kitControl-OutsideAirOptimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–38
kitControl-Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–39
kitControl-Psychrometric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–39
kitControl-Ramp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–40
kitControl-Random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–40
kitControl-Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–41
kitControl-RaiseLower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–41
kitControl-SequenceBinary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–43
kitControl-SequenceLinear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–44
kitControl-SetpointLoadShed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–46
kitControl-SetpointOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–47
kitControl-ShedControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–47
kitControl-Sine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–48
kitControl-SineWave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–48
kitControl-SlidingWindowDemandCalc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–48
kitControl-SquareRoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusBooleanToBoolean. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
NiagaraAX-3.x
ii
kitControl Guide
September 12, 2013
kitControl-StatusDemux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusEnumToEnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusEnumToInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusEnumToStatusBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusEnumToStatusNumeric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusNumericToDouble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusNumericToFloat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusNumericToInt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–50
kitControl-StatusNumericToStatusEnum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StatusNumericToStatusString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StatusStringToStatusNumeric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringConcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringConst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringIndexOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringLatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringLen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringSelect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–51
kitControl-StringSubstring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-StringTest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-StringToStatusString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-StringTrim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-Subtract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-TimeDifference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–52
kitControl-Tstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–53
kitControl-Xor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2–53
NiagaraAX-3.x
iii
kitControl Guide
September 12, 2013
NiagaraAX-3.x
iv
kitControl Guide
CONTENTS
Preface
Document Change Log
NiagaraAX-3.x
v
kitControl Guide
September 12, 2013
Minor changes only. Added convenience links in “Alphabetical list of kitControl components” on
page 2-1, plus a link back to this page from online Help “Guide on Target” for any kitControl com-
ponent. Fixed several screencap figures and links.
• Revised: September 15, 2005
Minor changes only. Fixed links and used newer cover design.
• Revised: June 24, 2005
Minor changes only. Added Copyright and Trademarks to preface, fixed a few links.
• Draft: June 15, 2005
(Initial change log). Added additional descriptions of kitControl components: ElectricalDemand-
Limit, EnumSwitch, NightPurge, OptimizedStartStop, OutsideAirOptimization, Psychrometric,
Random, SetpointLoadShed, SlidingWindowDemandCalc, StatusEnumToInt, StatusEnumToStatus-
Boolean, StatusEnumToStatusNumeric, StatusNumericToStatusString, StatusStringToStatusNu-
meric.
NiagaraAX-3.x
vi
kitControl Guide
CHAPTER 1
About kitControl
Important main kitControl topics include:
• Application for kitControl components
• “Types of kitControl components” on page 1-2
• “Location for kitControl components” on page 1-3
• “Extensions and kitControl components” on page 1-3
Se
cs Common component model rv
hi ice
ap s
Gr
PX Points (Proxy, Simple) kitControl components
links
Hi
st
or s
ie rm
s a
Al
Note: Usage of kitControl components is entirely optional. It is possible to build a monitoring-type application
where only proxy points (and perhaps a few simple control points) are used. This would allow real-time
data monitoring, plus user-invoked “action” overrides through writable points’ right-click command
menus. As needed, you could also add extensions to the proxy points for alarming and history collections.
NiagaraAX-3.x
1–1
kitControl Guide
Types of kitControl components Chapter 1 – About kitControl
September 12, 2013
Note: Currently, the kitControl palette includes all control palette components, under its “ControlPalette”
folder. This is a convenience, allowing you to open kitControl in your palette side bar, and still have access
to simple control points, extensions, and timers, in addition to the kitControl components found under its
other folders. See “Alphabetical list of kitControl components” on page 2-1 for a complete list of components
found only in kitControl.
By palette folder, types of kitControl components include:
• ControlPalette
Equivalent to contents of control palette, including subfolders Points, Extensions, and Triggers. For
more details, see the NiagaraAX-3.x User Guide sections “About control points”, “About control ex-
tensions”, and “About control triggers”.
• Alarm
Contains 3 extensions for alarming. One is expressly for a LoopPoint, for “setpoint-deviation” alarm-
ing. The others provide alarming options for a Boolean point with DiscreteTotalizerExt. A fourth
component provides alarm count monitoring of any Alarm Class, and includes a boolean “relay” out-
put. For more details, see “About kitControl Alarm components” on page 1-4.
• Constants
Contains 4 components, one for each data category. Each provides a linkable status-type output, and
a “Set” action for changing value. See “About Constant components” on page 1-4 for details.
• Conversion
Contains 19 components that mainly convert status values to simple values, and vice versa. Also has
other special conversion types. See “About Conversion components” on page 1-5 for details.
Note: Starting in AX-3.6, conversion components may be unnecessary—as linking directly between
status values and simple values, or even between different data types, is supported. For details, please
refer to the Engineering Notes II document NiagaraAX Conversion Links.
• Energy
Contains 10 components for typical energy functions, such as degree day calculation and electrical
demand limiting. See “About Energy components” on page 1-8.
• HVAC
Contains 9 components for typical HVAC functions, such as for interstart delay, lead-lag control and
sequence control. Included are a Tstat (thermostat) and LoopPoint (PID loop) component. See
“About HVAC components” on page 1-8.
• Latches
Contains 4 latch components, one for each data category. See “About Latch components” on page 1-
8.
• Logic
Contains 10 logic components, each with a StatusBoolean output. Starting in AX-3.6, an example
“Expr” (BQL Expression) component is also included—named “ExprLogic”. For more details, see
“About Logic components” on page 1-11.
NiagaraAX-3.x
1–2
kitControl Guide
Chapter 1 – About kitControl Location for kitControl components
September 12, 2013
• Math
Contains 23 components for processing one or more numeric input values, and producing a Status-
Numeric output. Starting in AX-3.6, an example “Expr” (BQL Expression) component is also includ-
ed—named “ExprMath”. See “About Math components” on page 1-12 for more details.
• Selects
Contains 4 select components, one for each data category. See “About Select components” on page
1-13.
• String
Contains 6 components with one or more StatusString inputs. See “About String components” on
page 1-13.
• Timer
Contains 5 components: 3 timer types (BooleanDelay, NumericDelay, and OneShot), and 2 “absolute
time” types (CurrentTime, TimeDifference). See “About Timer components” on page 1-13.
• Util
Contains 16 various utility components, including an “Expr” (BQL Expression) component added
starting in AX-3.6. See “About Util components” on page 1-13 for more details.
NiagaraAX-3.x
1–3
kitControl Guide
About kitControl Alarm components Chapter 1 – About kitControl
Components that cannot receive extensions September 12, 2013
NiagaraAX-3.x
1–4
kitControl Guide
Chapter 1 – About kitControl About Conversion components
September 12, 2013 Status value to simple value
NiagaraAX-3.x
1–5
kitControl Guide
About Conversion components Chapter 1 – About kitControl
Status value to simple value September 12, 2013
If during configuration the null status is unchecked, and another value entered (and saved), this will now
become the new “null value” for this point. In other words, if the null status checkbox is set again this
value is now the null value. See Figure 1-4 below.
Figure 1-4 Non-default null value for NumericWritable can occur if Fallback has been configured
In this example, the Fallback property was changed from default: “null, 0.0” to 20.0. Then a subsequent
change was made to re-select (set) null for Fallback. Note the 20.0 null value remains, as read-only. If only
linking between other “StatusNumeric” properties, this is moot, as the null value is ignored—essentially
“dropping through” priority inputs.
However, when converting from StatusNumeric to a simple number data type (Double, Float, or Integer),
the current null value is used, as shown in Figure 1-4 below.
Figure 1-5 Null input to conversion component (or conversion link) can result in unexpected value
In this case the linked StatusNumericToDouble component has a value of 20.0, sourced by the “null value”
coming from the Fallback property of the NumericWritable. More typical—and perhaps even expected,
would be a value of 0.0, from Fallback defaults.
To avoid this type of ambiguity, new properties were added to all the “Status value to simple value”
conversion components in kitControl, starting in AX-3.6. For more details, see “Null input handling
changes in AX-3.6” on page 1-6.
Null input handling changes in AX-3.6
Starting in AX-3.6, all of the “Status value to simple value” conversion components have extended
properties that allow optional handling of a “null” input.
NiagaraAX-3.x
1–6
kitControl Guide
Chapter 1 – About kitControl About Conversion components
September 12, 2013 Simple value to status value
Figure 1-6 Example “On Null In Value” property and “outValueOnNull” property in AX-3.6 and later
NiagaraAX-3.x
1–7
kitControl Guide
About Energy components Chapter 1 – About kitControl
Status value to status value September 12, 2013
• StatusEnumToStatusNumeric
• StatusNumericToStatusEnum
• StatusNumericToStatusString
• StatusStringToStatusNumeric
Each latch component type has the same properties and function; they vary only to accommodate
different point data types, as described in the following sections.
• Types of Latch Components
• Types of Latch Component Properties
• About the Latch Action
• Latch Examples
NiagaraAX-3.x
1–8
kitControl Guide
Chapter 1 – About kitControl About Latch components
September 12, 2013 Types of Latch Components
Latch components have the following properties that are common to all latch component data types:
• Facets
This property allows you to configure how the component value displays. For example, on a Numer-
icLatch component you can set the units, precision, minimum and maximum value for the Out
property value.
• Clock
This is a boolean status property that has either a True or False state for all latch components. This
property "latches" the input property to the output property on the "rising edge". This means that a
single input property is captured and sent to the output property at the instant that the Clock status
changes from a False to a True state and NOT when the property changes from a True to a False
state.
• Out
This standard component property provides the actual latched value that is captured from the input
property at "latch" time. Link to this property to display the value on a graphic or to process the value
with another component.
• In
This is the standard component input property that you link into from a data source. For example,
you can link into this property from a control point or a Schedule output.
NiagaraAX-3.x
1–9
kitControl Guide
About Latch components Chapter 1 – About kitControl
Latch Examples September 12, 2013
Figure 1-9 Invoke a latch using the Latch command on the popup menu
Latch Examples
The following examples are similar, in that they all use a Schedule component to invoke a latch. Other
components may be used to invoke a latch, however, any latch that is invoked using the Clock property
must include a method for setting the Clock property status back to False before the Clock is available for
latching again. Example 3 illustrates the use of a latch component's latch action instead of using the Clock
property.
Example 1: BooleanLatch Component
In this example, a building manager wants a record of days when the building has occupants that arrive
before scheduled opening time of 6:00AM. This involves collecting the occupancy status from a building
security system at the scheduled opening time once a day. The following illustration shows a Boolean-
Latch component (OccupancyState) being used to capture the occupancy status value at a 6:00AM
(scheduled occupancy time) every day.
NiagaraAX-3.x
1–10
kitControl Guide
Chapter 1 – About kitControl About Logic components
September 12, 2013 Latch Examples
NiagaraAX-3.x
1–11
kitControl Guide
About Math components Chapter 1 – About kitControl
Latch Examples September 12, 2013
NiagaraAX-3.x
1–12
kitControl Guide
Chapter 1 – About kitControl About Select components
September 12, 2013 Latch Examples
Note: As with logic components, you can individually configure math components to “propagate” status flags
received on linked inputs (by default, status propagation does not occur). For more details, see “How status
flags are set” in the User Guide.
NiagaraAX-3.x
1–13
kitControl Guide
About Util components Chapter 1 – About kitControl
Latch Examples September 12, 2013
• EnumSwitch
• Expr (BqlExprComponent, AX-3.6 and later only)
• MinMaxAvg
• MultiVibrator
• NumericBitAnd
• NumericBitOr
• NumericBitXor
• NumericSwitch
• NumericToBitsDemux
• Ramp
• Random
• SineWave
• StatusDemux
NiagaraAX-3.x
1–14
kitControl Guide
CHAPTER 2
kitControl Component Guides
This Component Guides section provides summary information on all kitControl components. Some
component topics include detailed descriptions with property information and examples. See the next
section “Alphabetical list of kitControl components” for a complete list of all kitControl components. For
details on the folder-based organization in the kitControl palette, see “Types of kitControl components”
on page 1-2.
NiagaraAX-3.x
2–1
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–2
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-AbsValue
NiagaraAX-3.x
2–3
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
In A In B Out
false false false
false true false
true false false
true true true
NiagaraAX-3.x
2–4
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-ArcCosine
In A In B In C In D Out
false false false false false
false false false true false
false false true false false
false false true true false
false true false false false
false true false true false
false true true false false
false true true true false
true false false false false
true false false true false
true false true false false
true false true true false
true true false false false
true true false true false
true true true false false
true true true true true
kitControl-ArcCosine
ArcCosine performs the operation out = acos(inA). The ArcCosine is available in the Math folder
of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-ArcSine
ArcSine performs the operation out = asin(inA). The ArcSine is available in the Math folder of the
kitControl palette.
See also Alphabetical list of kitControl components
kitControl-ArcTangent
ArcTangent performs the operation out = atan(inA). The ArcTangent is available in the Math folder
of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Average
Average determines the average value of valid inputs and writes that value to out. out = (inA + inB +
inC + inD) / 4. The Average is available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-BooleanDelay
The BooleanDelay component provides a way to delay the status change of a boolean status “out”
property value by configuring an associated “Delay” property. Delay properties are provided for on
(true) and off (false) statuses and are labeled “On Delay” and “Off Delay”, respectively. The delay applies
to any transition (status change from on to off or off to on) at the component’s status boolean input. Both
delay times are configurable in terms of hours, minutes and seconds.
Types of BooleanDelay component properties include the following:
• Facets
Use this property to set the trueText and falseText for the Out property values. For example, you
might want to set the facet trueText to display “ON” and the facet falseText to display “OFF”.
NiagaraAX-3.x
2–5
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• In
Typically, you set this property by linking a boolean out value into it. You can manually configure
the default state to be true, false, or null, so that when no value is linked into this property, the
default value is used. This property value is passed to the Out and Out Not properties (after any On
Delay or Off Delay) whenever there is a change in this property’s status.
• On Delay
This property allows you to set the amount of time (in hours, minutes, and seconds) that you want
to expire before sending a true (On) value to the Out property. Time begins to expire at the mo-
ment that a change in the In property occurs (a transition from false or null to true).
• Off Delay
This property allows you to set the amount of time (in hours, minutes, and seconds) that you want
to expire before sending a false (Off) value to the Out property. The time begins at the moment that
a change in the In property occurs (a transition from True to False or False to true).
• On Delay Active
This read-only property shows whether or not the On Delay time is actively counting down to expi-
ration. This (normally false) value changes to true anytime that a transition from false to true occurs
at the In property and stays at true until any Off Delay time is expired. If the On Delay value is set to
“0”, then this value does not change to true.
• Off Delay Active
This read-only property shows whether or not the Off Delay time is actively counting down to expi-
ration. This (normally false) value changes to true anytime that a transition from true to false occurs
at the In property and stays at true until any Off Delay time is expired. If the On Delay value is set to
“0”, then this value does not change to true.
• Out
This property has true, false, or null options available. These values are set at the end of any On Delay
or Off Delay to reflect the In property value.
• Out Not
This property has true, false, or null options available. These values are set at the end of any On Delay
or Off Delay to reflect the inverse In value. For example, when the In value is true, the Out Not value
is set to false (after expiration of any “delay” value).
The BooleanDelay component is located in the Timer folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-BooleanConst
Provides constant status boolean value, with actions to set. It is available in the Constants folder of
the kitControl palette. See “About Constant components” on page 1-4.
See also Alphabetical list of kitControl components
kitControl-BooleanLatch
BooleanLatch provides a latch for a status boolean input, and is found in the Latches folder of the
kitControl palette. See “About Latch components” on page 1-8.
See also Alphabetical list of kitControl components
kitControl-BooleanSelect
BooleanSelect is a boolean select, and is found in the Selects folder of the kitControl palette. See
“About Select components” on page 1-13 for an overview.
See also Alphabetical list of kitControl components
kitControl-BooleanSwitch
(AX-3.5 and later) BooleanSwitch selects one of two StatusBoolean inputs based upon the boolean
value at the StatusBoolean input “In Switch.” BooleanSwitch is available in the Util folder of the
kitControl palette.
See also Alphabetical list of kitControl components
kitControl-BooleanToStatusBoolean
BooleanToStatusBoolean converts a Boolean value to StatusBoolean. See “Simple value to status
value” on page 1-7. It is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
NiagaraAX-3.x
2–6
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-BqlExprComponent
kitControl-BqlExprComponent
(AX-3.6 and later) BqlExprComponent (Expr) provides the means to create custom math and logic
operations based upon manually-added slots and one or more BQL expression statements. Slots can
be various baja types such as primitives Double, Float, Integer, Boolean, or String, or status types such as
StatusBoolean, StatusNumeric, and so on. Slots are used either as inputs, or as one or more outputs. BQL
expressions are entered in the component’s “Expr” property.
A “blank” Expr component is available in the Util folder of the kitControl palette. Additionally, example
Expr components are in the Logic folder (ExprLogic) and Math folder (ExprMath), demonstrating a
4-input logic AND gate and 4-input math ADD component, respectively.
For complete information, refer to the Engineering Notes II document BQL Expression component.
See also Alphabetical list of kitControl components
kitControl-ChangeOfStateCountAlarmExt
ChangeOfStateCountAlarmExt is a special-purpose alarm extension, especially for use as child of a
BooleanPoint or BooleanWritable that has one or more DiscreteTotalizerExt extensions. It
provides alarming on COS (change of state) counts, using offNormal property errorLimit.
Note: In the parent Boolean point, order the ChangeOfStateCountAlarmExt slot below the DiscreteTotalizerExt
slot that it references. In the ChangeOfStateCountAlarmExt’s Offnormal container, use the Discrete Totalizer
Select property to reference the DiscreteTotalizerExt.
ChangeOfStateCountAlarmExt is available in the Alarm folder of the kitControl palette, along with a
ElapsedActiveTimeAlarmExt (for runtime-based alarms). You can use both extensions to reference the
same DiscreteTotalizerExt.
See also Alphabetical list of kitControl components
kitControl-Cosine
Cosine performs the operation out = cos(inA). The Cosine is available in the Math folder of the
kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Counter
The Counter component will count boolean inactive to active transitions. It supports counting up,
counting down, presetting, and clearing. The Counter is available in the Util folder of the kitControl
palette. The following sections provide more details:
The Counter component includes the following properties:
• Facets
This is used to set the units and number precision of the Out property.
• Propagate Flags
Specifies which status flags will propagate from the Count Up, Count Down, Preset In, and Clear In
properties to the Out status flags.
• Out
This is the current count output.
• Count Up
This is a StatusBoolean input. When this input makes inactive to active transition the value of the
Out property increments by the Count Increment value.
• Count Down
This is a StatusBoolean input. When this input makes inactive to active transition the value of the
Out property will be decremented by the Count Increment.
• Preset In
This is a StatusBoolean input. When this input makes inactive to active transition the value of the
Out property will be decremented by the Count Increment.
• Clear In
This is a StatusBoolean input. When this input makes inactive to active transition the value of the
Out property will be set to 0.0.
• Preset Value
This defines the value that will be set in the Out property when the Preset In changes to active, or
when the Preset action is invoked.
• Count Increment
This is the value that the Out property will change for a single count up or count down active tran-
sition.
NiagaraAX-3.x
2–7
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• Preset
This action sets the Out property value to the Preset Value.
• Clear
This action sets the Out property value to 0.
Figure 2-2 shows an example of a Counter component property sheet.
Figure 2-3 shows an example application that ramps between the RampMaxValue and the RampMin-
Value. The period of the MultiVibrator object sets how fast the ramp counts. The Clock input of the
BooleanLatch object config flags is set to allow fan-in.
Figure 2-4 shows an example count from the RampMaxValue down to 0 and then reset back to
RampMaxValue and repeat.
NiagaraAX-3.x
2–8
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-DegreeDays
kitControl-DegreeDays
DegreeDays provides degree day calculations, based upon temperature received at the Temp In slot
and values of various other properties.
Note: Definition of Degree Days: Degree Days is a unit of measure that may be expressed as either Heating
Degree Days (HDD) or Cooling Degree Days (CDD). You calculate Degree Days by taking the difference
between the average temperature during a given time period (month, season, year) and a reference point,
usually 65 degrees Fahrenheit.
Both cooling and heating degree day values are available, including totalized values. A Reset Totals action
is available to clear (zero) totalized values.
DegreeDays is available in the Energy folder of the kitControl palette. The following sections provide
more details:
The DegreeDays component includes the following properties and one action:
• Facets
This is used to set the units and number precision of the Temp In, Min Temp, Max Temp, and Mean
Temp properties.
• Base Temperature
Specifies the base temperature used in the degree-day calculation.
• Temp In
This is the input for the outside air temperature used in the degree-day calculation. Note: If this in-
put is not valid the no calculations will be done.
• Min Temp
The minimum temperature recorded for the current day. Tested and set on each calculation.
• Max Temp
The maximum temperature recorded for the current day. Tested and set on each calculation.
• Mean Temp
The mean temperature recorded for the previous day. Calculated when the day changes. Mean
Temp = (Max Temp + Min Temp) / 2.0
• Clg Deg Days
This is the cooling degree-day calculated for the previous day. Calculated when the day changes.
If (Mean Temp - Base Temperature) > 0
Clg Deg Days = Mean Temp - Base Temperature
else
Clg Deg Days = 0.0
• Clg Deg Days Total
This is the totalized cooling degree-days since last Reset Totals action was invoked. Calculated when
Clg Deg Days changes.
• Htg Deg Days
This is the heating degree-day calculated for the previous day. Calculated when the day changes.
If (Mean Temp - Base Temperature) < 0
Htg Deg Days = Base Temperature - Mean Temp
else
Htg Deg Days = 0.0
• Htg Deg Days Total
This is the totalized heating degree-days since last Reset Totals action was invoked. Calculated when
Htg Deg Days changes.
• Reset Totals
This action will clear the Clg Deg Days Total and Htg Deg Days Total properties to zero when in-
voked.
Figure 2-5 shows an example DegreeDays property sheet.
NiagaraAX-3.x
2–9
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–10
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-DigitalInputDemux
• Out4 Value
This should be set to a value which corresponds with the equivalent setting in the multiplexer device
to represent the status of digital input 4. The default is 0.60.
• Dead Band
The Dead Band allows you to set a tolerance value to prevent ‘chatter’ of the outputs due to fluctu-
ations of the input value. The Dead Band function operates purely on the input “In” value.
In the example shown in Figure 2-6, the DigitalInputDemux object is fed from a multiplexer device
on site which is connected to four digital inputs (DI). DI1 and DI2 are in an open (off) condition and
DI3 and DI4 are closed (on). The combined voltage weighting of DI3 and DI4 is 1.8v which is trans-
mitted to the DigitalInputDemux object via an NDIO universal input. The DigitalInputDemux ob-
ject then faithfully demultiplexes this signal so that “Out3” and “Out4” are both set to ‘True’.
In practice, a voltage drop occurs on the received signal and the Dead Band property allows you to
engineer in some protection for this fluctuation to prevent it adversely upsetting your control strat-
egy. The Dead Band property in this example is set to 0.10 which is applied to the “In” value. The
Dead Band function operates equally in both positive and negative sense on the “In” value. In this
example therefore, all values from 1.75 through to 1.85 are valid.
The default value of the Dead Band property is 0.10.
NiagaraAX-3.x
2–11
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–12
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-ElectricalDemandLimit
NiagaraAX-3.x
2–13
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–14
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-ElectricalDemandLimit
calculated total = (600 * 1) + 600 + 600 + 600 + 600 + 600 + 600 + 600 + 600
+ 600 + 400 + 400 +400 + 400 + 400 = 8000
projectedDemand = calculated total / (minutesElapsed + minutesRemaining)
projectedDemand = 8000 / (14 + 1) = 533
• There would be no actual “projected” demand in this case.
• This example assumes that the Power Input is currently 600 and has been at that value for the pre-
vious 9 minutes, prior to that the value was 400.
• By setting the Percent Interval Elapsed to a value that corresponds to the last minute of the Demand
Interval, the projected output is a sliding window average of the minutely recorded Power Input val-
ues.
• In this case actual demand is used in the calculation as opposed to projected demand.
Example: Projected demand average using Recorded and Projected Values
The default operation of the EDL component uses a Percent Interval Elapsed property value of 75%. The
calculated demand is then based 75% on actual recorded Power Input property values and 25% on a
projection that assumes the demand will remain at the current value for the remaining minutes in the
Demand Interval.
Determining shed levels When Projected Demand Average exceeds the Demand Limit value for the
current Demand Interval, a calculation is performed to determine home many loads to shed. All available
(or desired) Power Shed Level properties (1-32) should be set to a demand value based on the loads that
are controlled by the specific shed group. The load-shed logic calculates how much demand is required
to be reduced, and then uses the Power Shed Level property values to determine how many the loads to
shed.
Example: Estimating the Power Shed Level values
An estimate of the demand associated with a group of equipment can be calculated if the operating
voltage and current draw are known for the loads. For example:
• Single Phase Loads
W = V * A
W = 120 Volts * 30 Amps = 3600 Watts = 3.6 kW
• Three Phase Loads (use square root of 3)
W = V * A * 1.73
W = 480 Volts * 30 Amps * 1.73 = 24919 Watts = 24.9 kW
Example: Shed calculation
Using the following list of property values, this example shows a calculation that uses an EDL component
configured with three power shed levels. For this example, assume that the current Demand Limit Period
is Demand Limit Period1.
• calculated total = 7625 kW
• Projected Demand Average = 533 kW
• Demand Interval = 15
• Percent Interval Elapsed: = 75
• Demand Limit Period1: = 500 kW
• Demand Limiting Deadband = 5 kW
• Power Shed Level: = 20 kW
• Power Shed Leve2: = 15 kW
• Power Shed Leve3: = 30 kW
The following equations show example calculations:
NiagaraAX-3.x
2–15
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• Prediction Enabled
This property allows you to enable or disable the EDL component by choosing true or false, re-
spectively. Choosing the null option (by selecting the null checkbox from the property sheet view)
leaves the “enabled” status in its current state. For example, if this property is currently set to true
then choosing the null option does not stop the execution of the EDL component. This value must
be set to true for the component to work.
• Power Input
This property is a writable field that allows you to link in a numeric value that represents the actual
power demand (kW) rate. This property monitors the demand rate and averages it over every minute
in order to use the value for comparison to the Projected Demand Average. This property should
always represent the total actual demand rate — the total of all meters that are on the energy network
being monitored by this component. Whenever a shed or restoration is invoked, this value is expect-
ed to change in relation to the estimated values that are set in the Power Shed Level properties.
• Message
This property displays information that relates to the status of the shed, restoration, or projected de-
mand values. It also may indicate the status of the EDL component, itself.
• Shed Out
This property displays a value that indicates the number of shed levels that are to be shed. For ex-
ample, a Shed Out value of 3 specifies that a Power Shed Level of 3 is being shed.
• Billing Start Delay
This property specifies the first billing day of the month for utility billing. This allows you to align
your data with actual energy company billing periods. Each month, on the day specified by this prop-
erty, the “current month” data moves to “Previous Month” and the current month data becomes
“This Month”.
• Demand Interval
This property represents the length of time, in minutes, that is used for the demand window portion
of the Projected Demand Average calculation. The default value is 15 minutes and may also be set
to 30 minutes.
Note: If any value other than 15 or 30 minutes is entered in this field, the value automatically reverts
to 15.
• Percent Interval Elapsed
This property is used to determine how much of the calculated demand is based on actual demand
as opposed to how much is based on projected demand. This integer value is used to set where in the
demand window the “current minute” is. In a 15 minute demand window, a value of 67 would mean
that the “current minute” is at 10. Larger numbers in this property increase the amount of historical
data that is used and decrease the amount of data that is based on the “current minute” demand.
• Rotate Level
This property specifies the maximum Shed Level that may be used. For example, a Rotate Level value
of 3 limits load shedding to Shed Level 3.
• Demand Limiting Deadband
This property allows you to set a deadband value that is used when activating restoration levels. The
deadband value is used only in determining whether or not to invoke a restoration action; it is not
used for invoking shed actions.
• Demand Period (1, 2, and 3) Start
These three properties allow you to split-up a 24 hour day into three different time-periods in order
to assign a separate demand limit for each distinct time.
• Demand Limit Period(1,2,3)
These three property fields allow you to set a desired demand limit value to correspond to each of
the three demand periods. When the Demand Limit value for a period is exceeded, load shedding is
invoked.
• Power Shed Level (1-32)
These properties allow you to set up to 32 estimated power shed levels. Each property represents the
amount of demand that you expect to shed when the associated shed level is invoked. The numbers
in these properties are used to calculate how many shed levels need to be invoked in order to lower
the demand level below the current Demand Period limit. Once a shed level is invoked, the actual
power drop is evaluated at the next minute to determine the actual effects of the shed action. If the
initial load shed does not actually bring down the demand to below the demand limit level, the next
shed level (if any) is invoked.
Note: You can limit the maximum number of shed levels that may be invoked by using the Rotate
Level property.
NiagaraAX-3.x
2–16
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-ElectricalDemandLimit
NiagaraAX-3.x
2–17
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• Demand Period
Demand period start times are shown for Period1 and Period2, as 0000 (midnight) and 0800
(8:00 am), respectively. Demand Period3 start time is not shown. These values specify the start
time for each of the three Demand Periods.
• Power Shed levels
In this example, it is estimated that by shedding loads associated with Power Shed Level1, that
the amount of demand will decrease by 900 kW. Power Shed Levels 2 and 3 are set at 910 and
920, respectively. These properties are only the estimated amount of demand that is reduced by
shedding at each respective level. If they are exactly correct, then shedding at level 3 reduces
demand by the sum of all three shed levels: (900+910+920)=27030kW.
• Projected Demand Average
The current value for this property is shown as 2051, so shedding is initiated, as shown in the
message property “SHEDDING REQUIRED! Projected demand is 2051” and in the Shed Out
property value of “1.0” (Shed Level 1).
• EDL Linking
• Shed Out
The EDL Shed Out property value is linked to a Shed Control component that allows you to set
specific Shed Level(1-16) links into boolean controls. In the example, these controls are config-
ured to shut off power to “Plant_A”, “Plant_B”, and “Plant_C”, with Shed Level(1, 2, and 3), re-
spectively. In addition, the Shed Control component “out1” value is linked to a
SetpointLoadShed component that uses a configurable setpoint offset to reduce power usage.
You can also link from the Shed Out property to other energy components, such as a Setpoint
Offset component (also shown here).
• Power Input
In the example, with a Shed Level1 in effect, Power Input is at 2100, and the Projected Average
Demand value is 2051, still greater than the Demand Limit Period2 value of 2000. The Power
Shed Level2 value (estimate) indicates that invoking a Power Shed Level2 will yield a decrease
of 910kW and bring the demand down below the limit. If this estimate is fairly accurate, actual
power usage should drop and the Power Input value lower to below the Demand Limit Period2
value.
kitControl-EnumConst
Provides constant EnumStatus value, with available action to Set. See “About Constant compo-
nents” on page 1-4. EnumConst is available in the Constants folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-EnumLatch
EnumLatch provides a latch for a StatusEnum input, and is available in the Latches folder of the
kitControl palette. See “About Latch components” on page 1-8.
See also Alphabetical list of kitControl components
kitControl-EnumSelect
EnumSelect is an Enum select, and is available in the Selects folder of the kitControl palette. See
“About Select components” on page 1-13 for an overview.
See also Alphabetical list of kitControl components
kitControl-EnumToStatusEnum
EnumToStatusEnum converts an Enum value to StatusEnum, and is available in the Conversion
folder of the kitControl palette. See “Simple value to status value” on page 1-7.
See also Alphabetical list of kitControl components
kitControl-EnumSwitch
EnumSwitch selects one of two StatusEnum inputs based upon the boolean value at the Status-
Boolean input “In Switch.” EnumSwitch is available in the Util folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Equal
Equal performs the operation A == B. Numeric.NaN values are never equal. Equal is available in the
Logic folder of the kitControl palette.
See also Alphabetical list of kitControl components
NiagaraAX-3.x
2–18
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-Exponential
kitControl-Exponential
Exponential performs the operation out = e ^ inA (e raised in the inA power). The Exponential is
available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Factorial
(AX-3.5 and later) Factorial provides a factorial math ouput, based upon the value present at its
statusNumeric input. Only the integer portion of the input value is evaluated—for example, either
value of 1.03 or 1.9999 is evaluated as 1. Factorial is available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-FloatToStatusNumeric
FloatToStatusNumeric converts a Float value to a StatusNumeric. See “Simple value to status value”
on page 1-7. FloatToStatusNumeric is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-GreaterThan
GreaterThan performs the operation A > B with a boolean result. It is available in the Logic folder
of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-GreaterThanEqual
GreaterThanEqual performs the operation A >= B with a boolean result. It is available in the Logic
folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-IntToStatusNumeric
IntToStatusNumeric converts an Int (integer) value to StatusNumeric. See “Simple value to status
value” on page 1-7. IntToStatusNumeric is in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-InterstartDelayControl
InterstartDelayControl objects are just like BooleanWritables, but with 3 additional slots for use in
interstart delay sequences, as follows:
• Delay — Delay before next object in delay sequence is started.
• Master — Specifies the InterstartDelayMaster component in the station that acts as delay master.
• Start Pending — Read-only Boolean status of whether a start is pending (true) or not (false).
No other InterstartDelayControl object using the same delay master can start for delay time after this
object starts. If delay is not defined, the default delay on the master will be used. InterstartDelayControl
is available in the HVAC folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-InterstartDelayMaster
InterstartDelayMaster defines the master in an interstart delay sequence. Use it in conjunction with
one or more InterstartDelayControl objects. An available action is DelayTimerExpired. The
InterstartDelayMaster is available in the HVAC folder of the kitControl palette.
See also Alphabetical list of kitControl components
• DelayTimerExpired
DelayTimerExpired is an available action of an InterstartDelayMaster.
kitControl-LeadLagCycles
LeadLagCycles provides lead-lag control of from 2 to 10 BooleanWritables based upon their
accumulated COS (change of state) counts. This object balances the number of change of states
cycles of each of the devices. Only one of the controlled devices will be active at a time based on cycle
count.
LeadLagCycles is available in the HVAC folder of the kitControl palette, along with a similar
LeadLagRuntime object.
Setup of the object involves the following properties:
NiagaraAX-3.x
2–19
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• In
A StatusBoolean input that controls whether any control device should be on. If this input is true,
one of the outputs will be active based on the cycle count of each controlled device.
• Number Outputs
Specifies the number of devices (outputs) that are controlled.
• Max Runtime
Specifies the maximum amount a given output will be true before switching to another output.
• Feedback
A StatusBoolean input, to provide positive feedback that a controlled device actually started. If the
feedback value does not show true within the Feedback Delay time, the current controlled output
will show alarm, and the LeadLagCycles switches to the next controlled output. Setting this value to
true (and not linking) disables this alarm feature.
• Feedback Delay Time
Specifies the delay time used to evaluate the feedback link (if any)
• Out A—J
StatusBoolean outputs, each typically linked to a BooleanWritable control point with a DiscreteTo-
talizerExt. Outputs are typically used to control loads of some type, such as 2 or more pumps.
• Cycle Count A—J
These are Integer inputs that are used for cycle count feedback for the corresponding Out A - J.
These inputs will typically be linked to the ChangeOfStateCount property of the DiscreteTotalizer-
Ext that is measuring the cycles of the corresponding Out A - J.
Example: Using the LeadLagCycle component
A simple example LeadLagCycle object that controls 3 pumps is shown in Figure 2-10 and Figure 2-11.
Note that in this example, each of the three BooleanWritable points has a DiscreteTotalizerExt, with its
changeOfStateCount slot linked back to a Cycle Count x input on the LeadLagCycles object. The
“feedback” Or object simulates feedback, fed through a BooleanDelay object.
NiagaraAX-3.x
2–20
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-LeadLagRuntime
NiagaraAX-3.x
2–21
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
Note that in this example, each of the three BooleanWritable points has a DiscreteTotalizerExt, with its
elapsedActiveTime slot exposed up in the composite of the parent point for link clarity. The “feedback”
Or object simulates feedback, fed through a BooleanDelay object.
See also Alphabetical list of kitControl components
kitControl-LessThan
LessThan performs the operation A < B with a boolean result. It is available in the Logic folder of
the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-LessThanEqual
LessThanEqual performs the operation A <= B with a boolean result. It is available in the Logic
folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-LogBase10
LogBase10 performs the operation out = log10(inA) (log base 10 of inA). It is available in the Math
folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-LogNatural
LogNatural performs the operation out = ln(inA) (log base e of inA). The LogNatural is available in
the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-LongToStatusNumeric
LongToStatusNumeric converts a Long value to StatusNumeric. See “Simple value to status value”
on page 1-7. LongToStatusNumeric is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-LoopAlarmExt
The LoopAlarmExt is a special-purpose alarm extension, especially for use as child of a LoopPoint.
It provides alarming as a “deviation-from-current-setpoint” (plus or minus), using offnormal
properties errorLimit and deadband. This extension is available in the Alarm folder of the kitControl
palette.
See also Alphabetical list of kitControl components
NiagaraAX-3.x
2–22
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-LoopPoint
kitControl-LoopPoint
The LoopPoint implements a simple PID control loop, and is available in the HVAC folder of the
kitControl palette. Loop objects provide closed-loop PID control (proportional, integral, derivative)
at the station level. Independent gain constants allow the loop to be configured as P-only, PI, or PID.
ResetIntegral is an available action on a LoopPoint. If invoked, this clears the current integral
component of the loop’s output calculation. If needed, this slot can be linked to another object to provide
a quick purge of the integral effect. Typically, the latter would provide more of a “debug” utility, and
should not be necessary if the LoopPoint’s configuration properties are correctly defined.
The following sections provide more LoopPoint details:
• “LoopPoint setup” on page 2-23
• “Loop terms” on page 2-24
• “Proportional-only control” on page 2-24
• “Proportional with Integral (PI) control” on page 2-25
• “Proportional with Integral and Derivative (PID) control” on page 2-26
• “LoopPoint Examples” on page 2-27
See also Alphabetical list of kitControl components
LoopPoint setup Setup of the LoopPoint component involves setting the following properties:
• Facets
Used to set the units and display number precision of the output slot.
• Loop Enable
Setting this input to true will enable the PID loop algorithm to execute at the rate selected by the
Execute Time property. Setting this input to false will force the PID loop output to a value dependent
on the selection in the Disable Action property.
• Input Facets
Used to set the units and number precision of the input slot (control variable and setpoint).
• Control Variable
Input for the controlled parameter (for example, space temperature). This input must be valid for
this object to function.
• Setpoint
Input for the setpoint value (for example, space temperature setpoint). This input must be valid for
this object to function. The object does not provide an integral command function for the setpoint
value when entered on the property sheet. If a commandable setpoint is required, link from a Nu-
mericWritable control point to the setpoint slot.
• Execute Time
Controls the execution frequency for the PID algorithm, where the default value is 0.5 seconds.
• Loop Action
Determines whether the control algorithm is direct or reverse acting.
• Loops setup for direct acting mode increase the loop output as the value of the controlled vari-
able becomes greater than the setpoint value. In a temperature loop, this is typically considered
to be a cooling application.
• Loops setup for reverse acting mode increase the loop output as the value of the controlled vari-
able becomes less than the setpoint value. In a temperature loop, this is typically considered to
be a heating application.
• Disable Action
The value that the loop output will be set to when the loop is disabled by setting the Loop Enable prop-
erty to false.
• Max Value sets the loop output value to the Max Output property value.
• Min Value sets the loop output value to the Min Output property value.
• Hold maintains the loop output at the last calculated value.
• Zero sets the loop output value to a zero (0.0) value.
• Proportional Constant
Defines the value of the proportional gain parameter used by the loop algorithm. Used to set the
overall gain for the loop. A starting point for this value is found by output range/throttling range.
• Integral Constant
Defines the integral gain parameter, in repeats per minute, used by the loop algorithm. Also called
reset rate. Acts on magnitude of the setpoint error. A typical starting point is 0.5.
• Derivative Constant
Defines the derivative gain parameter, in seconds, used by the loop algorithm. Acts on the rate of
change of the setpoint error.
NiagaraAX-3.x
2–23
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• Bias
Defines the amount of output bias added to the output to correct offset error, normally used only
used with proportional control.
• Maximum Output
Defines the maximum output value that the loop algorithm can produce.
• Minimum Output
Defines the minimum output value that the loop algorithm can produce.
• Ramp Time
Defines the minimum time that the output can ramp completely from Minimum Output to Maxi-
mum Output, effectively establishing a “rate of change” slope. This rate of change is enforced upon
station startup, or whenever the LoopPoint transitions from disabled to enabled.
Once the Ramp Time has expired, it has no effect on the output. Intended use is to prevent the loop
from “slamming” a valve or other controlled device to a limit during startup.
Note: The default Ramp Time is 0:00:00, or disabled. To constrain loop output rate of change when
the loop starts or is enabled, enter a reasonable Ramp Time value.
Loop terms The following terms are used when describing the operation of the LoopPoint component:
• Process variable
The controlled process, meaning the value at the setpoint input. (“What you’ve got.”) Abbreviated
here as “PV.”
• Setpoint
The target for the process variable, meaning the value at the setpoint input. (“What you want.”) Ab-
breviated here as “setpt.”
• Setpoint error
The difference between the process variable and the setpoint, acted upon by the loop algorithm. Ab-
breviated as “ES.”
• Loop output
The correction signal produced by the loop algorithm. The output should be linked (directly or in-
directly) to a NumericWritable component used to position a proportionally-modulated device
(such as a valve or damper) that controls the process variable.
• Proportional gain
The value of the property Proportional Constant. Abbreviated here as “KP”. Sets the overall gain of
the loop, as in the following ratio:
KP = Output range / effected process range (sometimes called throttling range)
• Throttling range
The amount of process variable change expected as a result of throttling the system between the mi-
nOutput and maxOutput.
• Bias
A value added to the output to correct offset error. It is typically used in proportional-only control
as a “pivot” output value, for when the PV = setpt.
• Action
Defines the “direction” of the output relative to setpoint error, where:
• Direct — Loop output increases when PV increases.
• Reverse — Loop output increases when PV decreases.
• Integral gain
The value of the property integralConstant. Abbreviated as “KI”. Sets the integral or “reset” gain of
the loop, expressed in repeats per minute. The KI component of the loop output reacts to the dura-
tion of the setpoint error.
• Derivative gain
The value of the property derivativeConstant. Abbreviated as KD. Sets the derivative or “rate” gain
of the loop, expressed in repeats per minute. The KD component of the loop output reacts to the
“rate of change” of the setpoint error, and provides a “dampening” effect.
Proportional-only control P-only control is just reset action, where loop output is directly proportional
to the magnitude of the setpoint error (ES) and the size of the proportional gain (KP).
The following topics apply to PI loop control with a LoopPoint:
• Output calculation
• P-only configuration guidelines
Output calculation P-only loop output is linear, and is calculated as follows:
Output = (KP x ES) + bias (if action = direct), or
NiagaraAX-3.x
2–24
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-LoopPoint
P-only configuration guidelines If using proportional-only loop control, follow these guidelines:
Output limits Define the maxOutput and minOutput properties for the loop output, noting that the
maximum value must be greater than the minimum.
Proportional Gain Calculate and enter a proportionalConstant (KP) property value starting with this
formula:
[output range (maxOutput - minOutput)] / throttling range
where throttling range is the corresponding result in the process variable.
For example, for a temperature loop where a 0-to-100% loop output results in a 20 degree swing in the
process variable, a starting point KP is:
[(100% - 0%)/ 20deg.] = [(100% / 20deg.] = 5
When tuning the loop, you can try increasing this value (effectively using only a portion of the throttling
range) to eliminate the amount of setpoint error. However, if you increase the KP too much, this typically
results in a constant oscillation of the process variable (above and below the setpoint).
Bias Assign the bias property an “output-midpoint” value (for example, 50.0). This allows for equal
corrections for a process variable above or below setpoint.
Integral and Derivative Gain Set the properties integralConstant and derivativeConstant to 0.0 (the
defaults).
Proportional with Integral (PI) control PI configuration is recommended for most control loops,
because the integral term eliminates the setpoint offset inherent in P-only loops. PI control uses propor-
tional gain to adjust the output, and then incrementally continues to “add” (or subtract, if appropriate)
from the output value for as long as a setpoint error continues to exist.
The following topics apply to PI loop control with a LoopPoint:
• Output calculation
• Repeats per minute
• Integral overshoot
• Integral windup prevention
• PI configuration guidelines
Output calculation PI loop output is calculated as follows:
Output = KP x (ES + KI x ErrorSum) (if action = direct), or
Output = - (KP x (ES + KI x ErrorSum)) (if action = reverse)
where:
ES = [PV - setpt]
ErrorSum = Sum of ES over time
The integralConstant property specifies the integral gain (KI) in “Repeats per minute,” sometimes called
a “reset rate.”
Repeats per minute To understand repeats per minute, consider the scenario where a loop is
controlling at setpoint. If a certain setpoint error occurs, say from a sudden setpoint change, the loop
output immediately changes by a level corresponding to its proportional constant (acting on the P-term).
During this hypothetical example, assume the controlled process does not react from any loop output
change, but stays at the original value (setpoint error stays constant).
The loop’s integral term immediately begins increasing the output (or decreasing the output, depending
on the direction of setpoint error) at specific rate determined by the integral term. Over the period of one
minute, the amount of output change that would occur is defined by the integralConstant (repeats per
minute). A “repeat” equals the amount of output change initially generated by the P-term. For example,
if this loop was configured with an integralConstant value of 2.0, and the original output change was +7%,
over a period of one minute the integral term would linearly ramp up the output value an additional
+14%, or “2 repeats.”
NiagaraAX-3.x
2–25
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
In a real-world PI loop, of course, the process variable does respond to an output change, and this contin-
uously-linear ramping of the output would not occur. Instead, the process variable would start moving
towards setpoint and the setpoint error would change (changing the proportional and integral terms,
thus the loop output).
Integral overshoot The integral term of a PI loop can cause an “overshoot” of setpoint, meaning that
the increased loop output may result in a new setpoint error in the opposite direction. In some cases, it
is possible for this overshoot to continuously repeat (oscillation), which is typically undesired. However,
a small amount of overshoot for an initial correction is not uncommon.
To minimize overshoot, the PI loop’s integralConstant is typically kept small, and sized appropriately for
the assigned proportionalConstant.
Integral windup prevention Integral windup is prevented by limiting the ErrorSum value based on the
LoopPoint’s Maximum Output and Minimum Output values.
PI configuration guidelines If using PI loop control, follow these guidelines:
Output limits Define the Maximum Output and Minimum Output properties for the loop output,
noting that the maximum value must be greater than the minimum.
Proportional Gain Calculate and enter a proportionalConstant (KP) property value starting with this
formula:
[output range (minOutput - maxOutput)] / throttling range
where throttling range is the corresponding result in the process variable.
For example, for a temperature loop where a 0-to-100% loop output results in a 20 degree swing in the
process variable, a starting point KP is:
[(100% - 0%)/ 20deg.] = [(100% / 20deg.] = 5
When tuning a PI loop, you typically reduce the proportionalConstant value, because the integral effect
on the output will correct setpoint error over time.
Bias Assign a value of 0.0 (no output bias). A fixed bias is not desired, because the integral term of the
loop effectively creates an “adjustable bias,” as needed.
Integral Gain Set the integral gain (property integralConstant) to a nominal value, typically less than
one (1.0). A value of 0.5 is a good starting point for many loops. Decreasing the integral constant will
make the loop respond more slowly.
Derivative Gain Disable derivative by setting the derivativeConstant property at 0.0 (the default).
Proportional with Integral and Derivative (PID) control PID loop control can be difficult to tune and
(often for this reason) is seldom used. However, in certain cases, PID control may be needed. An example
is the control of a process with a long “reaction time,” such as temperature control of a large mass. For
such a lag-oriented system, the derivative component of the PID loop output can help prevent
“overshoot” that might otherwise result from PI control.
The derivative gain (KD) exerts an anticipating “braking” effect on the loop output, based on the rate-of-
change of the process.
The following topics apply to PID loop control with a LoopPoint:
• Output calculation
• PID configuration guidelines
Output calculation PID loop output is calculated as follows:
Output = KP x (ES + KI x ErrorSum + KD x ((ES - LastES) / deltaT))
(if action = direct), or
Output = -(KP x [ES + KI x ErrorSum) + KD x ((ES - LastES) / deltaT)))
(if action = reverse)
where:
ES = [PV - setpt]
NiagaraAX-3.x
2–26
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-Maximum
In the LoopPoint, the derivativeConstant property specifies the derivative gain (KD) directly in seconds
(note this differs from some systems using derivative in minutes).
PID configuration guidelines If using PID control, follow the “PI configuration guidelines” on page 2-
26, with the addition of defining a positive value as the derivativeConstant.
In general, a derivativeConstant less than 10 seconds should be tried first, and only then increased (if
necessary), providing that the loop output remains stable at steady-state conditions.
LoopPoint Examples Figure 2-14 shows an example of a LoopPoint property sheet.
kitControl-Maximum
Maximum determines the maximum value of valid inputs and writes that value to out. Out = max
(inA, inB, inC, inD). The Maximum is available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Minimum
Minimum determines the minimum value of valid inputs and writes that value to out. Out = min
(inA, inB, inC, inD). The Minimum is available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-MinMaxAvg
MinMaxAvg has 3 StatusNumeric output slots that provide the current minimum, maximum, and
average values of from 2 to 10 linked StatusNumeric inputs. It is available in the Util folder of the
kitControl palette.
See also Alphabetical list of kitControl components
NiagaraAX-3.x
2–27
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
kitControl-Modulus
(AX-3.5 and later) Modulus provides a modulus operation based on values at its two statusNumeric
inputs. The output is the remainder of dividing the inA value by the inB value. If the inB value is 0,
the output is NaN (not a number). Note that operation is intended for integer input values, such as from
the output of a Counter component. Modulus is available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Multiply
Multiply performs the calculation out = inA * inB * inC * inD. The Multiply is available in the Math
folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-MultiVibrator
MultiVibrator provides an oscillating binary pulse output (StatusBoolean) with a period config-
urable between 200ms to infinity, and a duty cycle configurable from 0 to 100%. It is available in the
kitControl palette’s Util folder.
See also Alphabetical list of kitControl components
kitControl-Negative
Negative simply converts any input status numeric to a negative output value. Negative is available
in the Math folder of the kitControl palette
See also Alphabetical list of kitControl components
kitControl-NightPurge
This component is available in the kitControl palette Energy folder. It uses the two sets of temper-
ature and humidity inputs to find the air supply with the least amount of heat when the purgeEnabled
input is true. The freeCooling output will be set to false if outside >= inside or set to true if
outside = nightSetpoint.
For inside and outside comparisons, you can select either temperature or enthalpy comparisons. There
is also a low temperature check to protect against freezing.
The NightPurge component includes the following properties:
• Temperature Facets
Specifies the units and number precision of the Outside Temp, Inside Temp, and Low Temperature
Limit properties.
• Humidity Facets
Specifies the units and number precision of the Outside Humidity and Inside Humidity properties.
• Purge Enabled
StatusBoolean, must be true to enable night purge operation. Whenever false, the Free Cooling out-
put is set to the opposite of the Free Cooling Command (or null, if Use Null Output is set to true),
and the Current Mode slot value is “Disabled.”
Often, Purge Enabled is linked to a “Not” object sourced from a BooleanSchedule output.
• Outside Temp
Input for the current outside air temperature. This input must be valid for this object to function.
• Outside Humidity
Input for the current outside air humidity. This input must be valid for this object to function.
• Inside Temp
Input for the current inside air temperature. This input must be valid for this object to function.
• Inside Humidity
Input for the current inside air humidity. This input must be valid for this object to function.
• Low temperature Limit
This property is used to provide freeze protection.
• Night Setpoint
Inside night temperature setpoint, at or below which free cooling is not applied. Instead, the Current
Mode is set to “Satisfied.”
• Outside Enthalpy
This is the calculated outside air enthalpy.
• Inside Enthalpy
This is the calculated inside air enthalpy.
NiagaraAX-3.x
2–28
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-NightPurge
• Free Cooling
A StatusBoolean output set to value of the Free Cooling Command when it is determined that free
cooling should be used. Otherwise, the value is set to the opposite state, or null (if Use Null Output
is set to true).
• Current Mode
This enumeration indicates which of the following modes this object is currently in:
• Disabled (Purge Enabled is false)
• Free Cooling
• No Free Cooling (free cooling not available)
• Low temperature (Outside Temp below Low Temperature Limit, free cooling disabled)
• Input error (A temperature or humidity is invalid (down, fault, etc.), free cooling disabled)
• Satisfied (Inside temperature below Night Setpoint, free cooling disabled)
• Setpoint Deadband
Temperature setpoint deadband applied when inside temperature falls below Night Setpoint, before
free cooling can be enabled. Default value is 1.0.
• Threshold Span
The difference between the inside enthalpy and the outside enthalpy must be greater than this value
before free cooling will be enabled. Default value is 1.0.
• Use Enthalpy
Setting this property to true will enable the use of enthalpy for determining if free cooling is avail-
able. Otherwise, it will just use outside and inside temperature to decide.
• Free Cooling Command
If it is determined that free cooling is available, this is the boolean value that will be set in the Free
Cooling output.
• Use Null Output
If this property is true, then the null flag will also be set on the Free Cooling output when free cooling
is not available.
The following illustrations show some example property sheet and wiresheet views of the NightPurge
component usage.
NiagaraAX-3.x
2–29
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
In A In B Out
false false true
false true true
true false true
true true false
NiagaraAX-3.x
2–30
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-NotEqual
In A In B Out
false false true
false true false
true false false
true true false
In A In B Out
false false true
false true false
true false false
true true true
kitControl-NotEqual
NotEqual performs the operation A != B with a boolean result. It is available in the Logic folder of
the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-NumericBitAnd
NumericBitAnd performs a logical AND on the bit equivalent of the StatusNumeric “In” value
against the bit equivalent of its StatusNumeric “Mask” slot value. It may be useful in cases where
boolean information is mapped into integer values. It is available in the Util folder of the kitControl
palette, along with the closely-related NumericBitOr and NumericBitXor
As an example, some manufacturers multiplex binary data into a single numerical point by converting the
bits from hexadecimal to decimal format. To obtain the status of the individual binary data, the number
must be converted back from decimal to hex format. Each digit of the hex number represents a particular
binary parameters state (0 = false, 1 = true). The NumericBitAnd object converts a StatusNumeric input
to hex value and compares it against the mask value. Any digits with a value of 1 in the mask and the input
will result in a corresponding value of 1 in the same digit of the output.
NiagaraAX-3.x
2–31
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
kitControl-NumericBitOr
NumericBitOr performs a logical OR on the bit equivalent of the StatusNumeric “In” value against
the bit equivalent of its StatusNumeric “Mask” slot value. It may be useful in cases where boolean
information is mapped into integer values. It is available in the Util folder of the kitControl palette, along
with the closely-related NumericBitAnd and NumericBitXor.
As an example, some manufacturers multiplex binary data into a single numerical point by converting the
bits from hexadecimal to decimal format. To obtain the status of the individual binary data, the number
must be converted back from decimal to hex format. Each digit of the hex number represents a particular
binary parameters state (0 = false, 1 = true). The NumericBitOr object converts a StatusNumeric input
to a hex value, and compares it against the mask value. Any digits with a value of 1 in the mask or the input
will result in a corresponding value of 1 in the same digit of the output. Any value on the output slot
greater than 1 indicates that at least one of the binary parameters is true.
NiagaraAX-3.x
2–32
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-NumericDelay
kitControl-NumericDelay
The NumericDelay component provides a “soft ramp” delay from StatusNumeric In to Out. The
component uses configurable values in properties Max Step Size and Update Time to provide a “stepped”
output value. The combination of these two property values determines how quickly and how smoothly
the current Out value changes as it approaches the In value.
The NumericDelay component is located in the Timer folder of the kitControl palette.
Types of NumericDelay component properties include the following:
• Facets
Use this property to set the display units, precision, min. and max. values, or other display options,
as desired.
• In
Typically, you set this property by linking a numeric out value into it. You can manually configure
the default state to a numeric value or set it to null, so that when no value is linked into this prop-
erty, the default value is used. This numeric property value is passed to the component’s Out prop-
erty in stages or “steps” according to the property values in the Update Time and Max Step Size
properties.
• Update Time
This property allows you to set a value that determines how often the Max Step Value is added to
the current Out value. The greater the Update Time value, the longer it takes for the Out value to
match the In value.
Note: An Update Time value that is equal to or less than “0” (zero) does not allow updating. In this
case, the NumericDelay component In value is set but no value is passed to the Out property.
• Max Step Size
This property allows you to set a number that limits the value that may be added with each “step”
that occurs at Update Time. If Update Time is 1 sec., then the Max Step Size value (or a value that is
less than that) may be added to the current Out value every 1 sec. until the Out value equals the In
value.
• Out
This property displays the current output value as it approaches and equals the In property value.
The numeric in this property changes at a rate defined by the Update Time and Max Step Size prop-
erties until the value equals the In property value.
See also Alphabetical list of kitControl components
kitControl-NumericLatch
NumericLatch provides a latch for a status numeric input, and is available in the Latches folder of
the kitControl palette. See “About Latch components” on page 1-8.
See also Alphabetical list of kitControl components
kitControl-NumericSelect
NumericSelect is a numeric select, and is available in the Selects folder of the kitControl palette. See
“About Select components” on page 1-13 for an overview.
See also Alphabetical list of kitControl components
Figure 2-22 shows an EnumWritable linked to a NumericSelect’s select slot (where enumerated values are
1 = Econ Disabled, 2 = Min Oa Enabled, 3 = Econ Enabled). This sets the output value to one of the input
values depending on the select value.
NiagaraAX-3.x
2–33
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
kitControl-NumericSwitch
NumericSwitch selects one of two StatusNumeric inputs based upon the boolean value at the Status-
Boolean input “In Switch.” The NumericSwitch is available in the Util folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-NumericToBitsDemux
NumericToBitsDemux is a component that converts a numeric value into the binary equivalent.
Each bit in the component represents the binary bit position of the numeric integer (numerics are
truncated to whole numbers for the conversion). This component can express numeric values in bits (up
to 32) as well as bytes (up to 4).
Note: This component is not designed to convert negative numbers.
The NumericToBitsDemux component is located in the Util folder of the kitControl palette and has the
following properties:
• In Numeric
This property displays the value of the numeric that is set. Typically you would link a StatusNumeric
output to the In Numeric property of this component. The Status portion of the input is propagated
to all of the StatusBoolean outputs and StatusNumeric (byte) outputs.
• Bit0 through Bit31
These 32 bits are available for representation of the converted numeric as binaries.
• Byte0 through Byte3
These 4 bytes are available for expressing the converted numeric input as bytes.
See also Alphabetical list of kitControl components
Figure 2-23 shows an example of the NumericToBitsDemux component with a numeric value of 357
linked to the In Numeric property. Note that Bits 0 through 8 are set to the binary representation of this
number, as well as Bytes0 and 1.
NiagaraAX-3.x
2–34
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-NumericUnitConverter
kitControl-NumericUnitConverter
NumericUnitConverter converts a StatusNumeric value from a definable “In Facets” to definable
“Out Facets.” It is available in the Conversion folder of the kitControl palette.
To produce a valid numeric output, both configured facets must under the same category (such as
temperature, power, and so forth). Otherwise, the NumericUnitConverter has a fault status.
See “About Conversion components” on page 1-5 for related details.
See also Alphabetical list of kitControl components
kitControl-OneShot
The OneShot component provides a single, temporary, status boolean output for a specified
duration (as set in the Time property). A OneShot action occurs with a False-to-True value transition
at the In property, or with an invoked Fire action. When either of these conditions occurs, the Out
property value is set to True and the Out Not property value is set to False for a time that is equal to the
value of the Time property. When the time expires, these values revert to the previous (default) values.
The following types of properties are used in the OneShot component:
• Facets
Use this property to set the display trueText and falseText, or other display options, as desired.
• In
Typically, you set this property by linking a boolean Out value into it. You can manually configure
the default state to a numeric value or set it to null, so that when no value is linked into this prop-
erty, the default value is used. This property value is passed to the component’s Out property for the
amount of time set in the Time property.
• Time
The value of this property determines how long the Out and Out Not properties hold their “one-
shot” values. For example, a Time property value of “2” holds the Out property at True for 2 seconds
when triggered and the Out Not property value at False for “2” seconds.
• Out
This property value displays the current value (display text) that changes with a False to True tran-
sition at the In property value or a “Fire” action. Using the Facets property, you can configure the
Out value display text, as desired. After a OneShot is triggered and the Time value period expires,
this value returns to the default (False) value. If a null value is set, the value does not change with a
OneShot “Fire” action or False to True transition at the In property value.
• Out Not
This property has true, false, or null options available. The Out value change with a False to True
transition at the In property value or a “Fire” action. After a OneShot is triggered and the Time value
period expires, this value returns to the default (True) value. If a default null value is set, the value
does not change with a OneShot “Fire” action or False to True transition at the In property value.
NiagaraAX-3.x
2–35
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–36
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-OptimizedStartStop
• Temperature differential
If the space temperature is inside the range defined by the lower and upper comfort limits and
the schedule’s status is active, the difference between the space temperature and one of the lim-
its (depending on the mode) represents the number of degrees the temperature can drift be-
tween the time the mechanical equipment is stopped and the schedule’s inactive event time.
• Drift time
The drift (lead-time) calculation is similar to the one for Start Time but using the drift-time
heating and cooling factors.
• Optimum stop time
Optimum stop time is invoked for each of the schedule’s inactive events and is based on the drift
time and Next Event Time value.
OptimizedStartStop properties The OptimizedStartStop component includes the following
properties:
• Heat Cool Mode
This boolean property allows you to enable either the heatMode or the coolMode. The selected
option applies only to optimized stop calculations which means that optimized stop calculations are
performed only for the selected mode. Optimized start calculations are performed for both heat and
cool modes, regardless of this property value.
• Parameter Reset Time
This property displays the time when any of the four runtime or driftime properties change to the
User Defined values. The OSS component copies the user defined drifttime and runtime property
values to the corresponding actual drifttime and runtime property values.
• Start Enable
This property allows you to manually or automatically enable or disable the optimized start function.
• Stop Enable
This property allows you to manually or automatically enable or disable the optimized stop function.
• Schedule Status
This boolean property monitors and displays the status of the schedule that is linked to it.
• Next Event Time
This property is linked to a schedule for the time of the next scheduled event.
• Next Event Value
This property is linked to a schedule and reflects the value of the action for next scheduled event.
• Outside Temp
This property is linked to outside temperature and displays the value for information only.
• Space Temp
This property is linked to a space temperature output and displays the temperature of the area af-
fected by equipment associated with the OSS component.
• Start Time Command
This boolean property is an output that you link to a control for invoking an equipment start com-
mand. For example, it can be linked to a prioritized input of a boolean writable - or directly to the
equipment Start control.
• Stop Time Command
This boolean property is an output that you link to a control for invoking an equipment stop com-
mand. For example, it can be linked to a prioritized input of a boolean writable - or directly to the
equipment Stop control.
• Message
This field provides information that indicates the results of the latest start or stop command, the sta-
tus of an optimized start analysis, or other possible messages. For example, the following message is
displayed to indicate that an optimized stop has occurred: “Optimized stop for 14-Jun-07
5:18 PM EDT schedule time. Space temp is 75.0.”
• Upper Comfort Limit
This property value is the Cooling mode target temperature.
• Lower Comfort Limit
This property value is the Heating mode target temperature.
• Dynamic Parameter Adjust
This controls whether or not calculation parameters are programmatically adjusted after an execu-
tion. After the OSS component completes a start or stop control, if this property value is set to true,
the component evaluates the actual recovery rate (degrees/hour) and automatically adjusts the
Runtime and Drifttime properties values so that they are influenced by actual drift time and run
time.
NiagaraAX-3.x
2–37
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–38
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-OptimizedStartStop
• Program Mode
As part of the logic that the OSS component uses, there are five “program mode” states. These states
serve primarily in logic control, however, they may be informative to the system engineer, as well.
The Program Mode value displays the current heating or cooling state for optimized start or stop.
The following list describes the possible display values and meanings.
• 0 (“No” Calculation)
This value indicates that no calculation is being made
• 1 (“Start” Calculation)
This valued indicates that the optimized start calculation process is ongoing but that an opti-
mized start or stop is not yet in progress.
• 2 (“Start” in Process)
This value indicates that an optimized start has been initiated.
• 3 (“Stop” Calculation)
This value indicates that an optimized stop calculation process is ongoing but that an optimized
start or stop is not yet in progress.
• 4 (“Stop” in Process)
This value indicates that an optimized stop has been initiated.
Example: Using the OSS component for optimum start
Figure 2-24 shows an example wiresheet view of a simple use of an OSS component.
• Additional logic is linked into the occupancy command component (AhuOccCmd) to control which
NiagaraAX-3.x
2–39
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
logic has priority on specifying the “AhuOccCmm” boolean point status, as follows:
• in9 temperature control overrides a demand limiting link from an EDL component to in10. This
prevents a load shed if the configurable comfort range is exceeded.
• in10 (demand limiting link from EDL component) overrides an OSS Stop link into in12
• in12 (OSS component Stop link) overrides a Start link into in13 (as described above)
• in13 (optimal start) overrides the schedule link to in16 (lowest priority) (as described above)
For related information, refer to “kitControl-ElectricalDemandLimit” on page 2-12.
kitControl-Or
Or performs a logical OR on all valid inputs and writes the boolean result to the out property. The
Or is available in the Logic folder of the kitControl palette. Table 2-6 shows the Or object truth table
when using two inputs. Table 2-7 shows the Or object truth table when using all four inputs. NOR gate
logic is accomplished by linking to a Not object.
See also Alphabetical list of kitControl components
NiagaraAX-3.x
2–40
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-OutsideAirOptimization
In A In B Out
false false false
false true true
true false true
true true true
In A In B In C In D Out
false false false false false
false false false true true
false false true false true
false false true true true
false true false false true
false true false true true
false true true false true
false true true true true
true false false false true
true false false true true
true false true false true
true false true true true
true true false false true
true true false true true
true true true false true
true true true true true
kitControl-OutsideAirOptimization
OutsideAirOptimization is available in the kitControl Energy folder. The OutsideAirOptimization
component is used to support applications that need to allow for enthalpy based free cooling. This
object is typically used during occupancy periods.
The freeCooling output is set to false if outside >= inside and set to true if
outside <= inside - (abs) thresholdSpan. You can select temperature or enthalpy comparisons.
There is also a low temperature check to protect against freezing.
Setup of the object involves the following properties (also see Using OutsideAirOptimization), as follows:
• Temperature Facets
This is used to set the units and number precision of the Outside Temp, Inside Temp, and Low Tem-
perature Limit properties.
• Humidity Facets
This is used to set the units and number precision of the Outside Humidity and Inside Humidity
properties.
• Outside Temp
Input for the current outside air temperature. This input must be valid for this object to function.
NiagaraAX-3.x
2–41
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• Outside Humidity
Input for the current outside air humidity. This input must be valid for this object to function.
• Inside Temp
Input for the current inside air temperature. This input must be valid for this object to function.
• Inside Humidity
Input for the current inside air humidity. This input must be valid for this object to function.
• Low Temperature Limit
This property is used to provide freeze protection.
• Outside Enthalpy
This is the calculated outside air enthalpy.
• Outside Enthalpy String
This provides the outside enthalpy value as a string or possible status/error message.
• Inside Enthalpy
This is the calculated inside air enthalpy.
• Inside Enthalpy String
This provides the inside enthalpy value as a string or possible status/error message.
• Free Cooling
This boolean output value is set to the value of the Free Cooling Command when it is determined
that free cooling should be used. Otherwise, the value is set to null.
• Current Mode
This indicates what mode this object is currently in.
• Input out of range
• Free Cooling
• No Free Cooling
• Low temperature
• Input error
• Threshold Span
The difference between the inside enthalpy and the outside enthalpy must be greater than this value
before free cooling will be enabled.
• Use Enthalpy
Setting this property to true will enable the use of enthalpy for determining if free cooling is avail-
able. Otherwise, it will just use outside and inside temperature to decide.
• Free Cooling Command
If it is determined that free cooling is available, this is the boolean value that will be set in the Free
Cooling property.
• Use Null Output
If this property is true, then the null flag will also be set on the Free Cooling output when free cooling
is NOT available.
Example: Using OutsideAirOptimization
An example OutsideAirOptimization component usage is shown in Figure 2-26.
NiagaraAX-3.x
2–42
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-Ramp
kitControl-Ramp
Ramp provides a StatusNumeric Out with a linear ramping output. Slots define the Period,
Amplitude, Offset, and Update Interval. It is available in the kitControl palette’s Util folder.
See also Alphabetical list of kitControl components
kitControl-Random
This component can be used to generate random numbers. The output is derived by multiplying a
random number (that is greater than 0 but less than 1) times a variable “multiplier” plus an offset. It
is available in the kitControl palette’s Util folder. See the next section, Random setup.
See also Alphabetical list of kitControl components
Random setup Setup of the Random component involves setting the following properties:
• multiplier:
this is a double value that is used to multiply by the random number (the random number is >=0.0
but <1.0). The multiplier is set to 1.0 by default.
• Offset
This is the positive or negative distance from zero that the wave's amplitude is centered on. The de-
fault offset value is 50.
• Update Interval
This is the amount of time between output changes. The default value is set to 01 seconds.
NiagaraAX-3.x
2–43
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
kitControl-Reset
This component performs a linear “reset” on the inA value. Reset is available in the Math folder of
the kitControl palette. Reset operation is defined by the following four slots:
• Input Low Limit — must be less than the Input High Limit
• Input High Limit — must be greater than the Input Low Limit
• Output Low Limit — may (or may not) be greater than the Output High Limit
• Output High Limit — may (or may not) be greater than the Output Low Limit
For example, a Reset object is used to establish a hot water control setpoint, based on the outside air
temperature at inA. When the outside air temperature is 0°F, the hot water setpoint is 200°F. When the
outside air temperature is 75°F, the hot water setpoint is 100°F. The Reset object is configured as:
Input Low Limit = 0.0
Input High Limit = 75.0
Output Low Limit = 200.0
Output High Limit = 100.0
Whenever the inA value is beyond the input limits, the output is limited by the corresponding output
limit (in this case, 200 at 0°F or below, 100 at 75°F or above). When the input is at an intermediate value,
the output scales linearly. For example, when the outside air temperature is at 38.2°F, the Reset output is
149.1°F.
See also Alphabetical list of kitControl components
kitControl-RaiseLower
The RaiseLower object provides a staged analog output designed to be used with a third party 2-relay
hardware device but also provides for operation of two digital outputs from normal IO hardware
such as NDIO as an alternative control method. The actuator should be able to sustain an overdrive at
each boundary (for example, a clutch mechanism) as the Raise lower object does not have proportional
feedback or limit switch features. The RaiseLower component is available in the HVAC folder of the
kitControl palette.
A typical application for the RaiseLower component is to control a reversible actuator in order to drive a
coupled valve or damper either open or closed. The external hardware device consists of two on-board
relays with volt free contacts that switch to provide power to either the “open” command of the actuator
or the “close” command of the actuator. Either relay is activated for a proportion of the full scale drive
time of the actuator (drive time is pre-defined by the manufacturer). The acceptable input to this device
is 0 to10 volts, with staged control at 0v, 4v, 7v and 10v as detailed in Table 2-8.
NiagaraAX-3.x
2–44
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-RaiseLower
Propagate Flags property allows for selection of any combination of the following status types for
propagation:
• disabled
• fault
• down
• alarm
• overridden
• Out
This is a status numeric value and is the analog output value from the object. This output has valid
voltage outputs of 0v, 4v, 7v and 10v as illustrated in Table 2-8, depending on the function deter-
mined by the object.
• In
This property is a status numeric value typically connected to a modulated output of a Control object
such as PID Loop. It has an input range of 0 to 100.
• Virtual Position
This is a slot that holds the value representing the virtual position of the actuator, as calculated by
the RaiseLower object.
• Raise
This is a status boolean value which is set to true if the object determines that the output should
command a “Raise” output. A Raise output is maintained for a period of time determined by the pos-
itive differential of “Virtual position” subtracted from the “In” slot, and is a relative proportion of the
full scale drive time. In addition, if the “virtual position” of the object is calculated to be 100% (fully
raised), then twice the drive time is asserted in order to synchronize the physical actuator with the
calculated virtual position to compensate for realtime drift.
• Lower
This is a status boolean value which is set to true if the object determines that the output should
command a “Lower” output. A Lower output is maintained for a period of time determined by the
negative differential of “Virtual position” subtracted from the “In” slot and is a relative proportion of
the full scale drive time. In addition, if the “virtual position” of the object is calculated to be 0% (Fully
Lowered) then twice the drive time is asserted in order to synchronize the physical actuator with the
calculated virtual position to compensate for realtime drift.
• Function
This property value displays operational information corresponding to the current activity of the ob-
ject. Valid status values include: Off, Lower, Static, Raise.
• Dead Band
This should be set to a value that corresponds to a percentage of full scale drive time. The “In” value
would have to exceed the dead band value before the “out” commands to “Raise” or “Lower”. The
default value is 0.25, Range is 0 to 5.
• Drive Time
This should be set to a value that corresponds to the full scale drive time provided by the manufac-
turer.
• Midnight Reset Enabled
This should be set to false to inhibit a reset. A midnight reset invokes a synchronization cycle at
midnight in order to compensate for realtime drift that may accumulate during normal operation of
the actuator. The reset cycle will override an input signal for a period of twice the full scale drive
time.
• Reset action
This action can be used to re synchronize the actuator through 0% (Fully Lowered) temporarily over-
riding an input signal for a period of twice the full scale drive time
Examples Refer to Figure 2-29 for this example. An actuator having a 100 second full scale drive time
and initialized values of the actuator and virtual position are 0% (synchronized at fully lowered). Should
the input signal increase to 40% the “Raise” output turns on for 40% of the full scale drive time (40 sec).
If a subsequent input is decreased to 15% the “Lower” output is active for 25% of full scale drive time (25
sec) moving the actuator to 15% open.
NiagaraAX-3.x
2–45
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
kitControl-SequenceBinary
The SequenceBinary component provides sequenced weighted “staging” control of from 2 to 10
BooleanWritables based upon the status numeric In value (0—100). An adjustable delay time is also
provided. It can be used to support applications that need to sequence 2 to 10 loads or stages in a binary
sequence. Binary sequencing provides an analog to binary converter function that selects the outputs
whose total load rating relates directly to the control need. For each successive output, the output rating
is twice the previous output.
A similar object is the SequenceLinear, which uses a rotating method (vs. weighted) for sequencing.
SequenceBinary is available in the HVAC folder of the kitControl palette.
Table 2-9 illustrates how, by controlling 3 loads, eight unique levels of control can be achieved:
NiagaraAX-3.x
2–46
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-SequenceLinear
• Current Stages On
Read-only property that indicates the current number of stages that are currently on. Normally the
Current Stages On and the Desired Stages On will be the same. They will be different when going
through a transition and the delay timer is active.
• Next Stage On
Read-only property that indicates the next stage that will be turned on if needed.
• Next Stage Off
Read-only property that indicates the next stage that will be turned off if needed.
An example of a SequenceBinary property sheet is shown in Figure 2-30.
NiagaraAX-3.x
2–47
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–48
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-SetpointLoadShed
NiagaraAX-3.x
2–49
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
See also, Figure 2-9 for an example wiresheet view using this component.
See also Alphabetical list of kitControl components
kitControl-SetpointOffset
SetpointOffset provides setpoint control for electrical demand limiting applications, for use with the
ElectricalDemandLimit and ShedControl objects. SetpointOffset is available in the Energy folder of
the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-ShedControl
ShedControl receives inputs from a primary (network) EDL source and a local (secondary) EDL
source (separate ElectricalDemandLimit objects) that specify the number of load levels that should
be shed. The Secondary Shed Level is used as a backup whenever the Primary Shed Level is not available.
ShedControl has StatusBoolean outputs for up to 16 contiguous levels, as specified in the Number Levels
property. A Status slot provides an output message to indicate this component’s state in reference to the
overall demand limiting control scheme. Execution of this component can be enabled or disabled by
setting the Shed Enable property.
ShedControl is available in the Energy folder of the kitControl palette, along with related objects.
Following is a description of the ShedControl component properties:
• Primary Shed Level
This is an input that allows you to link in a Shed Level property value from an EDL component. Typ-
ically this would be a component on the network.
• Secondary Shed Level
This is an input that allows you to link in a Shed Level property value from a secondary (or “backup”
EDL component. Typically this would be an EDL component with a locally available connection.
The Secondary Shed level is used only if the Primary Shed Level property is not available.
• out(1-16)
These 16 properties have binary status values that reflect the current active Shed Level. For example,
a Shed Level of 3 (as indicated by the Primary Shed Level, or Secondary Shed Level when Primary is
not available) sets the first three out properties (out1, out2, out3) to false. This false value may be
used to turn off power by linking to an appropriate control. When a “restore” changes the Shed Level
to 2, the out3 property returns to null, relinquishing control to the next (out2) priority level.
Figure 2-33 shows an example wiresheet view of a ShedControl component in use.
NiagaraAX-3.x
2–50
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-Sine
NiagaraAX-3.x
2–51
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
• max
Type in a value for the largest allowable value of the output property (default is +inf)
• Demand Facets
This property allows you to set the facets for the demand output property:
• units
Select the desired units from the drop-down option list. Default units are power and kilo-
watts (kW)
• precision
Type in an integer to set the precision level for your data (how many decimal places to display).
• min
Type in a value for the smallest allowable value of the output property (default is -inf)
• max
Type in a value for the largest allowable value of the output property (default is +inf)
• Current Pulse Count
Displays data from a link to a pulse counter input object indicating the running total of pulses.
• Time of Reset
Displays the date and time of the last reset.
• Demand 5
Displays the demand (kW) for a five minute window.
• Demand 15
Displays the demand (kW) for a fifteen minute window.
• Demand 30
Displays the demand for a 30 minute period.
• Kwh
Displays the running kWh (consumption) value since the last reset.
• Kwh Hourly
Displays the running value since the last hourly reset.
• Kwh Last Hour
Displays the kWh (consumption) value for the last hour.
• Kwh Daily
Displays the kWh (consumption) value since the last daily reset.
• Kwh Last Day
Displays the kWh (consumption) value for the last day.
• Kwh Per Pulse
This field allows you to set the value per pulse. It is usually noted on the meter or provided by the
power company. It is how much energy each pulse represents.
• Enable Reset
A true value in this field allows recurring automatic resets to happen at a frequency based on the fol-
lowing properties.
• Reset Day of Month
Allows you to set the day of month for recurring automatic reset (if enabled) to occur.
• Reset Day of Week
Allows you to set the day of the week for recurring automatic reset (if enabled) to occur.
• Reset Time
Allows you to set the time of day for recurring automatic reset (if enabled) to occur.
• Meter Rollover
Specifies the maximum value the meter provides before it rolls over to zero (0). The default value is
65535, the data type is a long (up to a very large number, 9223372036854775807).
An example SlidingWindowDemandCalc property sheet is shown in Figure 2-34:
NiagaraAX-3.x
2–52
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-SquareRoot
kitControl-SquareRoot
SquareRoot performs the operation out = sqrt(inA) (square root of inA). The SquareRoot is
available in the Math folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-StatusBooleanToBoolean
StatusBooleanToBoolean converts a StatusBoolean value to Boolean. See “Status value to simple
value” on page 1-5. StatusBooleanToBoolean is available in the Conversion folder of the kitControl
palette.
See also Alphabetical list of kitControl components
kitControl-StatusDemux
StatusDemux provides a method to check for individual status flags of the In-linked object, and sets
corresponding (demuxed) StatusBoolean out slots active (true) if that status as found. StatusDemux
is available in the Util folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-StatusEnumToEnum
StatusEnumToEnum converts a StatusEnum value to Enum. See “Status value to simple value” on
page 1-5. StatusEnumToEnum is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-StatusEnumToInt
StatusEnumToInt converts a StatusEnum value to an Integer. See “Status value to simple value” on
page 1-5. StatusEnumToEnum is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-StatusEnumToStatusBoolean
StatusEnumToStatusBoolean converts a StatusEnum value to a StatusBoolean value. See “Status
value to status value” on page 1-7. It is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-StatusEnumToStatusNumeric
StatusEnumToEnum converts a StatusEnum value to a StatusNumeric value. See “Status value to
status value” on page 1-7. It is available in the Conversion folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-StatusNumericToDouble
StatusNumericToDouble converts a StatusNumeric value to a Double value. See “Status value to
simple value” on page 1-5. It is available in the Conversion folder of the kitControl palette.
NiagaraAX-3.x
2–53
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–54
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-StringLatch
NiagaraAX-3.x
2–55
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
kitControl-Tangent
Tangent performs the operation out = tan(inA). The Tangent is available in the Math folder of the
kitControl palette.
See also Alphabetical list of kitControl components
kitControl-TimeDifference
TimeDifference has two inputs (In1 and In2), each requiring an absolute time (AbsTime) value. The
TimeDifference component subtracts In2 from In1, and outputs it as a StatusNumeric, in milli-
seconds. You may link a CurrentTime object to one of the inputs for a “countdown” or “count-up” type
output.
The following types of properties are used in the TimeDifference component:
• Out
This property displays the numeric value (in milliseconds) that represents the time difference be-
tween In1 property value and In2 property value.
• In1
This is the property value from which In2 is subtracted.
• In2
This is the property value that is subtracted from In1.
Figure 2-35, shows an example use of the TimeDifference component:
Note the following about the example wiresheet view in Figure 2-35:
• This example shows the configuration of a TimeDifference component that is used to keep a run-
ning count of the “Days until Christmas”.
• A fixed target date (December 25) is set into the In1 property.
• A CurrentTime component is used to link into In2. This date is “subtracted from” the date in In1.
• The Out value is linked to three separate conversion components that convert the time difference
Out value from milliseconds into Weeks, Days, and Minutes.
• After December 25, the Out value is negative
The TimeDifference component is in the Timer folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Tstat
Tstat provides basic thermostatic (On/Off ) control with a StatusBoolean Out property and Status-
Numeric inputs for controlled variable (Cv), setpoint (Sp), and differential (Diff ). An Action property
allows operation as Direct or Reverse. A “Null On Inactive” property is also available. Default action is
Direct (cooling). Tstat is available in the HVAC folder of the kitControl palette.
See also Alphabetical list of kitControl components
kitControl-Xor
Xor performs a logical XOR on all valid inputs and writes the result to the out property. It is available
in the Logic folder of the kitControl palette. Table 2-11 shows the Xor object truth table when using
two inputs (typical). Table 2-12 shows the Xor object truth table if using all four inputs. EQUIV gate logic
is accomplished by linking to a Not object.
See also Alphabetical list of kitControl components
NiagaraAX-3.x
2–56
kitControl Guide
Chapter 2 – kitControl Component Guides Alphabetical list of kitControl components
September 12, 2013 kitControl-Xor
In A In B Out
false false false
false true true
true false true
true true false
In A In B In C In D Out
false false false false false
false false false true true
false false true false true
false false true true false
false true false false true
false true false true false
false true true false false
false true true true true
true false false false true
true false false true false
true false true false false
true false true true true
true true false false false
true true false true true
true true true false true
true true true true false
NiagaraAX-3.x
2–57
kitControl Guide
Alphabetical list of kitControl components Chapter 2 – kitControl Component Guides
September 12, 2013
NiagaraAX-3.x
2–58
kitControl Guide