Interface MeasurementDeviceInterface

All Superinterfaces:
NamedInterface, ProcessElementInterface, Serializable
All Known Implementing Classes:
CombustionEmissionsCalculator, CompressorMonitor, CricondenbarAnalyser, FireDetector, FlowInducedVibrationAnalyser, GasDetector, HydrateEquilibriumTemperatureAnalyser, HydrocarbonDewPointAnalyser, ImpurityMonitor, LevelTransmitter, MeasurementDeviceBaseClass, MolarMassAnalyser, MultiPhaseMeter, NMVOCAnalyser, OilLevelTransmitter, pHProbe, PressureTransmitter, PushButton, SevereSlugAnalyser, SoftSensor, StreamMeasurementDeviceBaseClass, TemperatureTransmitter, VirtualFlowMeter, VolumeFlowTransmitter, WaterContentAnalyser, WaterDewPointAnalyser, WaterLevelTransmitter, WellAllocator

public interface MeasurementDeviceInterface extends ProcessElementInterface

MeasurementDeviceInterface interface.

Version:
$Id: $Id
Author:
Even Solbraa
  • Method Details

    • displayResult

      void displayResult()

      displayResult.

    • getMeasuredValue

      default double getMeasuredValue()

      getMeasuredValue.

      Returns:
      Get measured value in unit GetUnit()
    • getMeasuredValue

      double getMeasuredValue(String unit)

      Get Measured value in specified unit.

      Parameters:
      unit - a String object
      Returns:
      a double
    • getOnlineSignal

      OnlineSignal getOnlineSignal()

      getOnlineSignal.

      Returns:
      a OnlineSignal object
    • getMeasuredPercentValue

      double getMeasuredPercentValue()

      getMeasuredPercentValue.

      Returns:
      a double
    • getUnit

      String getUnit()

      getUnit.

      Returns:
      a String object
    • setUnit

      void setUnit(String unit)

      setUnit.

      Parameters:
      unit - a String object
    • getMaximumValue

      double getMaximumValue()

      getMaximumValue.

      Returns:
      a double
    • setMaximumValue

      void setMaximumValue(double maximumValue)

      setMaximumValue.

      Parameters:
      maximumValue - a double
    • getMinimumValue

      double getMinimumValue()

      getMinimumValue.

      Returns:
      a double
    • setMinimumValue

      void setMinimumValue(double minimumValue)

      setMinimumValue.

      Parameters:
      minimumValue - a double
    • isLogging

      boolean isLogging()

      isLogging.

      Returns:
      a boolean
    • setLogging

      void setLogging(boolean logging)

      setLogging.

      Parameters:
      logging - a boolean
    • getOnlineValue

      default double getOnlineValue()

      getOnlineValue.

      Returns:
      a double
    • isOnlineSignal

      boolean isOnlineSignal()

      isOnlineSignal.

      Returns:
      a boolean
    • setAlarmConfig

      void setAlarmConfig(AlarmConfig alarmConfig)
      Associates an alarm configuration with the measurement device.
      Parameters:
      alarmConfig - configuration to apply, or null to disable alarms
    • getAlarmConfig

      AlarmConfig getAlarmConfig()
      Returns the alarm configuration, or null if alarms are disabled.
      Returns:
      alarm configuration
    • getAlarmState

      AlarmState getAlarmState()
      Returns the mutable alarm state for the device.
      Returns:
      alarm state
    • evaluateAlarm

      List<AlarmEvent> evaluateAlarm(double measuredValue, double dt, double time)
      Evaluates the alarm state using the supplied measurement value.
      Parameters:
      measuredValue - measured value
      dt - simulation time step
      time - current simulation time
      Returns:
      events generated during the evaluation
    • acknowledgeAlarm

      AlarmEvent acknowledgeAlarm(double time)
      Acknowledges the currently active alarm if one exists.
      Parameters:
      time - simulation time of the acknowledgement
      Returns:
      acknowledgement event, or null if nothing was acknowledged
    • getTag

      String getTag()
      Returns the instrument tag identifier used for field data integration. The tag maps this instrument to a signal in the plant historian or data source (e.g. "PT-101", "TT-201").
      Returns:
      tag string, or empty string if not set
    • setTag

      void setTag(String tag)
      Sets the instrument tag identifier for field data integration.
      Parameters:
      tag - tag string mapping to a plant historian signal
    • getTagRole

      InstrumentTagRole getTagRole()
      Returns the role of this instrument in a digital-twin or field data integration context.
      Returns:
      the tag role, defaulting to InstrumentTagRole.VIRTUAL
    • setTagRole

      void setTagRole(InstrumentTagRole role)
      Sets the role of this instrument for field data integration.
      Parameters:
      role - the tag role to assign
    • getFieldValue

      double getFieldValue()
      Returns the field data value received from the external data source. Only meaningful for InstrumentTagRole.INPUT and InstrumentTagRole.BENCHMARK roles.
      Returns:
      the field value, or Double.NaN if not set
    • setFieldValue

      void setFieldValue(double value)
      Sets the field data value received from the external data source.
      Parameters:
      value - the field measurement value
    • hasFieldValue

      boolean hasFieldValue()
      Returns whether a field data value has been set.
      Returns:
      true if a field value is available
    • getDeviation

      default double getDeviation()
      Returns the deviation between the model-calculated value and the field value. Computed as getMeasuredValue() - getFieldValue(). Useful for InstrumentTagRole.BENCHMARK instruments.
      Returns:
      deviation (model minus field), or Double.NaN if no field value is set
    • getRelativeDeviation

      default double getRelativeDeviation()
      Returns the relative deviation between model and field as a percentage. Computed as (getMeasuredValue() - getFieldValue()) / getFieldValue() * 100.0.
      Returns:
      relative deviation in percent, or Double.NaN if no field value is set or field value is zero
    • applyFieldValue

      default void applyFieldValue()
      Applies the field value to the connected stream or equipment. Only effective for instruments with role InstrumentTagRole.INPUT. Subclasses override to push the field value into their specific model property (pressure, temperature, flow, etc.).
    • equals

      boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      int hashCode()
      Overrides:
      hashCode in class Object