Status value to simple value

Here, these conversion object types are often used in a AX-3.5 or earlier host to permit a link between the:

For example, to link the “Out” of a Schedule object to the “Enabled” property of a history extension (of a point or object), you link a StatusBooleanToBoolean object between the two.

Conversion components in this category include:

NoteStarting in AX-3.6, additional properties were added to the conversion components listed above. These properties allow specifying a pre-defined output value in case of a “null” input. Previously (and by default), upon input change to “null”, the conversion output uses the “null value” from the source, typically from a writable point’s “Fallback” slot with null status. For more details see the following two sections:

About null values

The four “status value” NiagaraAX data types: StatusBoolean, StatusEnum, StatusNumeric, and StatusString, each hold two pieces of data:

  • status

    In normal operation, status is “ok”, meaning no status flag or flags are set. Status flags include alarm, overridden, fault, and others, including one for “null”.

  • value

    The data value portion. If StatusBoolean: value is either true or false, if StatusNumeric: value is a number, if StatusEnum: value is a state (or ordinal integer), or if StatusString: value is a text string.

    If status is null, this data value is ignored (not processed) by any other linked “status value” properties. However, a value remains that does correspond with null, utilized only if data conversion from a “status value” to “simple value” occurs.

Consider a NumericWritable point, in this case also a proxy point, that positions a damper from 0 to 100%. In the point’s configuration, its “Fallback” property has a default status of null, with 0.0 value. See Figure 3.

Figure 3. Default null value for NumericWritable is 0.0


Default null value for NumericWritable is 0.0

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 4 below.

Figure 4. Non-default null value for NumericWritable can occur if Fallback has been configured


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 4 below.

Figure 5. Null input to conversion component (or conversion link) can result in unexpected value


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.

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.

Figure 6. Example “On Null In Value” property and “outValueOnNull” property in AX-3.6 and later


Example “On Null In Value” property and “outValueOnNull” property in AX-3.6 and later

These new properties are:

  • On Null In Value

    By default, this property is set to the first of two possible values:

    • Use In Value

      If saved this way, the “Out Value On Null” property below does not appear. Operation remains the same as in previous NiagaraAX revisions. The value portion of the “null status” input is used, which is often (if a source NumericWritable) a value of 0.0, or if a BooleanWritable, false.

      However, note that other null values may result, in cases where the source “Fallback” slot was previously set to a specific non-default value, and then set back to “null”.

    • Specify Out Value

      With this selection, following a Save, the property listed below appears. Configure it with a desired out value for the conversion object, used whenever its input has a “null” status.

  • Out Value On Null

    This property shows only if the component is saved with “On Null In Value” as “Specify Out Value”. You can specify a pre-defined out value for the conversion object when its input has a null status. For example, a certain numeric value if a StatusNumericToFloat, StatusNumericToDouble, or StatusNumericToInt, or one of two Boolean values (false, true) if a StatusBooleanToBoolean, and so on.

    This removes any ambiguity about the conversion component’s output value, in case the component’s input sees a null status.