About point facets

Primarily, facets determine how the point’s value displays in the station. Examples include engineering units and decimal precision for numeric types, and descriptive value (state) text for boolean and enum types.

With the exception of proxy points (with possible defined device facets), point facets do not affect how the point’s value is processed. Refer to the Drivers Guide section “Effect of facets on proxy points” for related details.

NoteBesides control points, various other components have facets too. For example, many kitControl and schedule components have facets. Details about point facets apply to these components too, unless especially noted.

Topics about facets include:

Accessing and editing facets

Facets is a frozen slot in all control points and objects in the kitControl module. As shown in Figure 99, you modify facet values in a point’s property sheet, using the Config Facets dialog.

Figure 99. Point facets and edit dialog (AX-3.3 and later shown)


Point facets and edit dialog (AX-3.3 and later shown)

In this case a BooleanWritable’s default trueText facet is “true”—to modify you simply click to select, then type over with whatever text is needed. For example, change “true” to “On” and “false” to “Off”. When done click OK and then Save to make the actual point change.

NoteIf using Workbench AX-3.2 or earlier, you see a slightly different facets editor—where you must click a Modify button to edit existing facets. See Figure 100 below. However, the basic operation is the same.

Figure 100. Point facets and edit dialog (Workbench AX-3.2 or earlier)


Point facets and edit dialog (Workbench AX-3.2 or earlier)

Optionally, in addition to modifying existing facets, you can add or remove facet values in a point. On many points you may only modify or provide new values for default facets. In the case of writable points, you can add a facet to limit override duration (see Maximum override duration facet).

NoteFor string-type points (StringPoint, StringWritable), facets typically have little practical application. By default, the Facets slot is empty for string-type points.

Facets importance for Enum points

Facets for enum-type components (EnumPoint, EnumWritable, EnumSchedule, etc.) define the operating range of the component, meaning its different possible enumerated states. Each state is defined by a pairing of an integer value-to-text, also known as ordinal-tag. Each ordinal must be a unique integer, and each tag must be unique text. By default, the point’s value displays using tag text.

If you add an enum point from the control palette, its Facets slot has a blank range entry. Until you edit this facet and supply the ordinal-tag values, it can display only integer values. As shown in Figure 101, a special Enum dialog appears when you edit range facets.

Figure 101. Producing Enum dialog for enum point “range” facets


Producing Enum dialog for enum point “range” facets

In the Enum dialog when adding an entry, the Add button becomes available after you enter an integer value in the left side Ordinal box, as shown in Figure 101. Type in the associated text in the right side Tag box, then click Add to add to the facet’s range. Click OK when done, also OK on any remaining pop-ups.

Figure 102. Type unique integer value in Ordinal box and associated text in Tag box


Type unique integer value in Ordinal box and associated text in Tag box

If using lexicons, in the “Lexicon Module Name” field you can enter the module name of a configured lexicon (for example, control or kitControl) if Tag strings match lexicon “keys” in that lexicon file. In this case, enumerations will display the lexicon strings (values) for those ordinals instead of the tag text.

When defining range enumerations, instead of defining a custom one with your supplied ordinals and tags text, you can also select from well known “frozen” enumerations, as defined in various installed modules. A checkbox enables this and provides a drop-down list for you to select by module and enumeration type (see Figure 103).

Figure 103. Frozen enum selection in Enum dialog


Frozen enum selection in Enum dialog

Depending on the driver/network type, the Point Manager under a device may automate this facets range configuration when you add enum-type proxy points. For example, under a Lonworks device, if you add a EnumPoint for a Lonworks NVO that uses an enumerated SNVT, that point’s facets will automatically be configured with the correct range values.

NoteIf an enum-type point receives an input value not included in its defined facets range, it displays the ordinal integer value for that input. This varies from the multistate objects used in r2 Niagara, which would display “Error” for any value not defined in its “stateText” entries.

Effect of facets on point actions

For some points with actions (see About point actions), facets also affect availability in the point’s action (command) menu, as follows:

  • EnumWritable

    Upon an override or emergency action, a secondary drop-down selection dialog lists the possible enum values (in its range), using display tag text. This list appears ordered top-to-bottom by the tag associated with each ordinal, lowest-to-highest.

  • NumericWritable

    Upon an override or emergency action, an entry dialog permits a value only between the facets “min” and “max” values, inclusive. By default, these facets values for numeric-type points are min= -inf and max= +inf (no effective range checking for an action).

    For example, you could use this facet’s feature with a NumericWritable that sets a temperature control setpoint, by setting its facets min= 65 and max=85. After saving this change, any override or emergency action issued to that NumericWritable would need to fall within this range. Otherwise, a user would see a message showing the acceptable range, and be prompted to try again.

    NoteFacets “min” and “max” values do not affect any received input values or proxied data, only what can be issued via an action.

  • Maximum override duration (for any writable point type)

    Using facets you can also limit the maximum override duration of manual (level 8) override action invoked on writable control points. By default, the manual override of a writable point has no duration limits. For more details, see Maximum override duration facet.

Maximum override duration facet

Available for some time (but undocumented before), is the ability to limit the maximum override duration of an action invoked on a control point. By default, a manual (level 8) override of a writable point is unlimited in duration, thus the default “Permanent” label in the action menu (Figure 104).

Figure 104. Default override action menu for writable control point


Default override action menu for writable control point

If needed, change this by adding a “maxOverrideDuration” facet (choosing type baja:RelTime), with specified duration time, to either or both:

NoteOverride limits affects operator overrides (level 8) only, as emergency level overrides (level 1) are always unlimited in duration. In other words, an emergency level override lasts until an emergency level “auto”.

Figure 105. Config Facets editor when picking maxOverrideDuration


Config Facets editor when picking maxOverrideDuration

When a writable point is limited by a maxOverrideDuration facet, its action menu adjusts to show the allowable range. See Action menu examples.

For details about editing facets, see Accessing and editing facets.

Config, Sys Info property

The “Sys Info” property of the station’s root Config component has a facets control, shown in the Config component’s property sheet (Figure 106).

Figure 106. Global maxOverrideDuration facet added to Sys Info property of station’s Config component


Global maxOverrideDuration facet added to Sys Info property of station’s Config component

Adding this facet on the Sys Info property acts a global limit (station-wide) to a manual override action to all control points that do not have their own “maxOverrideDuration” facet.

Any writable control point

Each writable control point in the station can have a separately specified maximum override duration. If this facet is present, it overrides any global (Sys Info) maxOverrideDuration value.

Figure 107. Added maxOverrideDuration facet added at point level (overrides global setting)


Added maxOverrideDuration facet added at point level (overrides global setting)

As shown in the Figure 107 example, this maxOverrideDuration facet can be added along with any other facets in use by the control point. The example BooleanWritable point above already had configured facets for trueText and falseText.

Action menu examples

Example action menus from writable points with a maxOverrideDuration facet in effect are shown in Figure 108.

Figure 108. Example override action menus affected by maxOverrideDuration facet

Global (Sys Info) level (Figure 106 example) Point level (from Figure 107 example)

Example override action menus affected by maxOverrideDuration facet

Example override action menus affected by maxOverrideDuration facet

Note if a system user attempts to invoke a “Custom” override over the specified maxOverrideDuration limit, an error popup appears that shows the override duration range, as shown in Figure 109.

Figure 109. Custom override attempt over maxOverrideDuration limit produces error popup


Custom override attempt over maxOverrideDuration limit produces error popup

As shown above, the allowable duration range appears in [brackets], in this case [1ms - 1hour].