Package org.eso.ias.asce.transfer.impls
Class MinMaxThresholdTFJava
java.lang.Object
org.eso.ias.asce.transfer.TransferExecutor
org.eso.ias.asce.transfer.JavaTransferExecutor<Alarm>
org.eso.ias.asce.transfer.impls.MinMaxThresholdTFJava
The TF implementing a Min/Max threshold TF (there is also
a scala implementation for comparison).
The alarm is activated when the alarm is higher then
the max threshold or when it is lower then the low threshold.
We could call this alarm a "Non-nominal temperature" because it is
equally set if the temperature is too low or is too high but
cannot distinguish between the 2 cases.
If we want to distinguish between the 2 cases, we need 2 ASCE having
the same input, one checking for the high value and the other checking
for the low value.
To be generic, the value of the properties and that of the IASIO
are converted in double.
The value of the Min and Max thresholds are passed as properties:
- HighON: the (high) alarm is activated when the value of the IASIO is greater then HighON
- HighOFF: if the (high) alarm is active and the value of the IASIO goes below HighOFF, then the alarm is deactivated
- LowOFF: if the (low) alarm is active and the value of the IASIO becomes greater then LowOFF, then the alarm is deactivated
- LowON: the (low) alarm is activated when the value of the IASIO is lower then LowON
- Author:
- acaproni
-
Field Summary
Modifier and TypeFieldDescriptionAdditional propertiesfinal Priority
static final String
The name of the property to set the priority of the alarmfinal double
if the (high) alarm is active and the value of the HIO goes below HighOFF, then the alarm is deactivatedstatic final String
The name of the HighOff propertyfinal double
The (high) alarm is activated when the value of the HIO is greater then HighONstatic final String
The name of the HighOn propertyfinal double
if the (low) alarm is active and the value of the HIO becomes greater then LowOFF, then the alarm is deactivatedstatic final String
The name of the lowOff propertyfinal double
the (low) alarm is activated when the value of the HIO is lower then LowONstatic final String
The name of the lowOn propertyFields inherited from class org.eso.ias.asce.transfer.TransferExecutor
compElementId, compElementRunningId, props, validityTimeFrame
-
Constructor Summary
ConstructorDescriptionMinMaxThresholdTFJava
(String cEleId, String cEleRunningId, long validityTimeFrame, Properties props) Constructor -
Method Summary
Modifier and TypeMethodDescriptionSee JavaTransferExecutor#eval(Map, IASValue)void
initialize
(Set<org.eso.ias.asce.transfer.IasioInfo> inputsInfo, org.eso.ias.asce.transfer.IasioInfo outputInfo) Initialize the TF by getting the four properties (being the properties lazy, they will be initialized here.void
shutdown()
Shuts down the BehaviorRunner when the IAS does not need it anymore.Methods inherited from class org.eso.ias.asce.transfer.JavaTransferExecutor
getValue, getValue
Methods inherited from class org.eso.ias.asce.transfer.TransferExecutor
getTemplateInstance, isTemplated, setTemplateInstance
-
Field Details
-
highOnPropName
The name of the HighOn property- See Also:
-
highOffPropName
The name of the HighOff property- See Also:
-
lowOnPropName
The name of the lowOn property- See Also:
-
lowOffPropName
The name of the lowOff property- See Also:
-
alarmPriorityPropName
The name of the property to set the priority of the alarm- See Also:
-
highOn
public final double highOnThe (high) alarm is activated when the value of the HIO is greater then HighON -
highOff
public final double highOffif the (high) alarm is active and the value of the HIO goes below HighOFF, then the alarm is deactivated -
lowOn
public final double lowOnthe (low) alarm is activated when the value of the HIO is lower then LowON -
lowOff
public final double lowOffif the (low) alarm is active and the value of the HIO becomes greater then LowOFF, then the alarm is deactivated -
alarmPriority
-
additionalProperties
Additional properties
-
-
Constructor Details
-
MinMaxThresholdTFJava
public MinMaxThresholdTFJava(String cEleId, String cEleRunningId, long validityTimeFrame, Properties props) Constructor- Parameters:
cEleId
- : the ID of the ASCEcEleRunningId
- : the runningID of the ASCEvalidityTimeFrame
- : The time frame (msec) to invalidate monitor pointsprops
- : the user defined properties
-
-
Method Details
-
initialize
public void initialize(Set<org.eso.ias.asce.transfer.IasioInfo> inputsInfo, org.eso.ias.asce.transfer.IasioInfo outputInfo) throws Exception Initialize the TF by getting the four properties (being the properties lazy, they will be initialized here. This method merely checks if the values of the properties are coherent with the definitions given above.- Specified by:
initialize
in classJavaTransferExecutor<Alarm>
- Parameters:
inputsInfo
- The IDs and types of the inputsoutputInfo
- The Id and type of thr output- Throws:
Exception
- in case of errors
-
shutdown
public void shutdown()Description copied from class:TransferExecutor
Shuts down the BehaviorRunner when the IAS does not need it anymore. This life cycle method is called last, to clean up the resources. It is supposed to return quickly, even if not mandatory.- Specified by:
shutdown
in classTransferExecutor
- See Also:
-
eval
public IasIOJ<Alarm> eval(Map<String, IasIOJ<?>> compInputs, IasIOJ<Alarm> actualOutput) throws ExceptionSee JavaTransferExecutor#eval(Map, IASValue)- Specified by:
eval
in classJavaTransferExecutor<Alarm>
- Parameters:
compInputs
- : the inputs to the ASCEactualOutput
- : the actual output of the ASCE- Returns:
- the computed value to set as output of the ASCE
- Throws:
Exception
- in case of error
-