Sometimes a monitor point has a backup to be used in case of failure getting the value of the main implementation. The backup can be retrieved from a different device (for example a backup pressure sensor) or from a different way to get the value from the hardware (for example one that involves the network and another one by reading a database where the value is also stored)
BackupSelector picks up the best option among the inputs i.e. if the main value is operational and reliable then return this value otherwise check if the first backup is operational and valid and return this one otherwise checks the second backup and so on.
BackupSelector does not do any computation on the value but returns the first operational and valid input among the main and the backups.
If none of the inputs is operational and valid, BackupSelector returns the first option.
The order of preference must be passed as a java property of comma separated list of ids of monitor points like "T1Main, T1Backup1, T1Backup2"
The list of IDs passed with the SelectionPriorityPropName property must match with the IDs of the inputs processed by the eval method.
RelocationSelector is very similar to this TF but copes with relocation instead of replication.
Value parameters
asceId:
the ID of the ASCE
asceRunningId:
the runningID of the ASCE
props:
the user defined properties
validityTimeFrame:
The time frame (msec) to invalidate monitor points
This method transparently returns a value from the passed ID and instance.
This method transparently returns a value from the passed ID and instance.
When an input is not templated, neither a template instance, then its value cabn be directly retrieved from the map of the inputs passed to [#eval]. But if the imput is templated or a templated instance then this method must be used.
If the ASCE is generated out of a template, its inputs can or cannot be generated out of the same template. In the latter, their identifiers must be enriched with the number of the instance of the ASCE. For templated inputs the number of the instance is not needed because it is the same instance number of the ASCE and it is known to the transfer function. The case of templated input instances is different because their instance number is defined in the configuration of the ASCE and not known in the transfer function so it must be esplicity passed by the caller.
For normal and templated inputs, the instance is empty. For templated inputs the instance can be passed if it is teh same of the ASCE. For templated input instances the instance number is required.
This method must be used also to get templated input instances from non templated ASCEs.
Value parameters
id
The (non templated) identifier of the value
inputs
the map of the inputs
instance
the optional instance nummber for templated input instances, not required for other cases
Attributes
Returns
the IASValue of the given ID, or None if not found in the Map