Description

The NumericLastValidExt extension controls the output of a NumericPoint by setting it to the last known valid output if the current output is considered invalid. An annotation is then added to the output to indicate that the output has been modified.

Example: The point below has been set to have a valid range between 0 and 100 and then a negative value has been sent to the object. The previous value for this change (55) has been retained and an annotation added, informing that an invalid value has been rejected.

 

 

Implementation


  • Add the extension to a numeric point
  • Define the minimum and maximum thresholds for the validity range of the monitored value (Min and Max slots) or states considered as invalid.

Properties

  • Status: Indicates the status of the component ({ok} or {fault})
  • Fault Cause: Displays error message (e.g. if min is greater than max)
  • ActiveDerogation: Indicates that the input value is currently blocked (in this case, the property changes to true)
  • LastValidTime: Displays the date and time at which the last valid value was observed
  • InvalidStatus: Selects the states considered to be invalid

         (info) The states of infinity and nan (not a number) are also considered invalid by default

  • Min: The smallest valid value
  • Max: The largest valid value

   (warning) The process of validating and saving the last valid output depends on the position of the extension in relation to other possible extensions.

Example: if a point has a proxyExt, a NumericLastValidExt and a history extension, the NumericLastValidExt will save the data from the driver (possibly limiting them) and then the history will save this modified value. If we wanted the history to keep the raw value, it would need to be placed before the NumericLastValidExt extension (via the Workbench's Reorder command). An alarm extension would encounter the same kind of problem (does it apply before or after the correction via NumericLastValidExt?)

 

Fault Causes

  • "The extension parent was never valid since extension creation or modification"
  •  "Min value must be lower than max value"