Description

The StringLastValidExt extension controls the output of a StringPoint 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 an invalid regex equal to "invalid" and then a "invalid" String has been sent to the object. The previous value for this change ("test") has been retained and an annotation added, informing that an invalid value has been rejected.

 

Implementation

  • Add the extension to a string point
  • Define the invalid value (a regex) or states considered as invalid.

Properties

  • Status: The status of the component. It can produce a fault if there is a runtime error
  • FaultCause: describes the origin of the fault in case of problem
  • ActiveDerogation: Indicates that the input value is currently blocked
  • LastValidTime: Displays the date and time at which the last valid value was observed
  • InvalidStatus: Selects the states considered to be invalid
  • Invalid Value Pattern: A Regex. If the value received matches with this regex, it is considered invalid

 

   (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 StringLastValidExt and a history extension, the StringLastValidExt 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 StringLastValidExt 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 StringLastValidExt ?)

 

Fault Causes

  • "The extension parent was never valid since extension creation or modification"