Extensions and kitControl components

You can add point extensions, such as alarm extension, history extension, or perhaps a control extension, to many kitControl components. Other kitControl components cannot receive extensions.

These are some specific examples of kitControl components that support extensions:

  • Average object (Math folder): Inputs link to multiple proxy NumericPoints, each representing a room temperature. The Average object represents a Zone temperature (average). To this object you may add an alarm extension (OutOfRangeAlarmExt) and history extension (NumericInterval).

  • And object (Logic folder): Inputs link to multiple proxy BooleanPoints, each representing fan status (off or on). The And object links to downstream control logic. To track when all fans are running, you may add a history extension (BooleanChangeOfValue) and perhaps a control extension to collect runtime (DiscreteTotalizerExt).

  • NumericSwitch object (Util folder): Inputs link to two proxy NumericWritables, each representing a power rate (kW). The object output links to downstream control logic (and represents the current switched rate). To totalize this effective rate into energy accumulation, you can add a control extension (NumericTotalizerExt) and proper scaling to collect kWh.

These components are not based on simple control points (ControlPoint) and do not support the addition of extensions:

  • Constants components (any)

  • Conversion components (any)

  • Energy components (any)

  • HVAC components (except for LoopPoint, InterstartDelayControl and Tstat, which do support extensions)

  • Latches components (any)

  • Selects components (any)

  • String components (any)

  • Timer components (any)

  • Util components (except BooleanSwitch, EnumSwitch, MultiVibrator, NumericSwitch, StringSwitch, Ramp, Random, and SineWave, which do support extensions)

You can quickly tell if a kitControl object can receive an extension by seeing if it has the frozen ProxyExt (proxy extension). To see this, expand the object in the kitControl palette, Nav tree or view the object’s property sheet. If a Proxy Ext property is present, you can add other extensions (provided they are the correct type), for example a BooleanChangeOfValue history extension for a Logic-type object, and so forth. If you try to add an extension to a kitControl component that does not support extensions, you receive an illegal parent error message.

Note: The frozen ProxyExt is the only use for the proxy extension in a kitControl object. Its value is always null. Only control points can be proxy points.