Class DummyTemp

All Implemented Interfaces:
INeXusInfoWriteable, Device, Scannable, ScannableMotion, Temperature, Configurable, Findable, gda.observable.IObservable, AlarmListener

public class DummyTemp extends TemperatureBase
Simulator device for temperature controllers
  • Constructor Details

    • DummyTemp

      public DummyTemp()
      Constructor for dummy temperature class
  • Method Details

    • configure

      public void configure() throws FactoryException
      Description copied from class: ConfigurableBase
      Default implementation for classes that do not have to do any specific configuration.
      Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.
      Specified by:
      configure in interface Configurable
      Overrides:
      configure in class TemperatureBase
      Throws:
      FactoryException - if there is an error in configuration e.g. required variable not set or cannot connect to device
    • reconfigure

      public void reconfigure() throws FactoryException
      Description copied from interface: Configurable
      Re-initialisation of values and states.

      Moved from Reconfigurable which has been deleted

      Specified by:
      reconfigure in interface Configurable
      Overrides:
      reconfigure in class ConfigurableBase
      Throws:
      FactoryException
    • close

      public void close()
      Description copied from interface: Device
      Close and unconfigure the device.
      Specified by:
      close in interface Device
      Overrides:
      close in class DeviceBase
    • setHWLowerTemp

      public void setHWLowerTemp(double lowLimit) throws DeviceException
      Specified by:
      setHWLowerTemp in class TemperatureBase
      Parameters:
      lowLimit -
      Throws:
      DeviceException
    • setHWUpperTemp

      public void setHWUpperTemp(double upperLimit) throws DeviceException
      Set the upper operating temperature. It must be in the range -35C and 200C when simulating a Lauda bath.
      Specified by:
      setHWUpperTemp in class TemperatureBase
      Parameters:
      upperLimit - the upper temperature limit in degrees C
      Throws:
      DeviceException
    • setProbe

      public void setProbe(String name) throws DeviceException
      Switch control variable another source.
      Specified by:
      setProbe in interface Temperature
      Overrides:
      setProbe in class TemperatureBase
      Parameters:
      name - the probe name
      Throws:
      DeviceException
    • setXpControl

      public void setXpControl(double temp)
      Set the proportional band control paramter Xp for the controller.
      Parameters:
      temp - the Xp (degrees)
    • setTnControl

      public void setTnControl(double time)
      Set the control parameter Tn for the controller.
      Parameters:
      time - the Time (secs)
    • setTvControl

      public void setTvControl(double time)
      Set the control paramter Tv for the controller
      Parameters:
      time - the Tv parameter(secs)
    • setTempRamp

      public void setTempRamp(double finalTemp, double rate) throws DeviceException
      Program a timed temperature ramp. This does not initiate the program. Unrealistically short times will generate an error and the parameters will not be set.
      Parameters:
      finalTemp - is the desired temperature in degrees C acceptable values are between -35C and 200C.
      rate - rise in temperature per minute
      Throws:
      DeviceException
    • runRamp

      public void runRamp(int which) throws DeviceException
      Initiate the programmed temperature ramp.
      Parameters:
      which - the current ramp
      Throws:
      DeviceException
    • runRamp

      public void runRamp() throws DeviceException
      Description copied from class: TemperatureBase
      Run the ramp sequence.
      Specified by:
      runRamp in class TemperatureBase
      Throws:
      DeviceException
    • doStart

      public void doStart() throws DeviceException
      Specified by:
      doStart in class TemperatureBase
      Throws:
      DeviceException
    • hold

      public void hold() throws DeviceException
      Description copied from interface: Temperature
      Stops running ramps or moving to temperature but holds the current temperature
      Throws:
      DeviceException
    • runRamps

      public void runRamps() throws DeviceException
      Start ramping.
      Throws:
      DeviceException
    • startNextRamp

      protected void startNextRamp() throws DeviceException
      Specified by:
      startNextRamp in class TemperatureBase
      Throws:
      DeviceException
    • doStop

      protected void doStop() throws DeviceException
      Specified by:
      doStop in class TemperatureBase
      Throws:
      DeviceException
    • getCurrentTemperature

      public double getCurrentTemperature() throws DeviceException
      Read the temperature of the Lauda bath.
      Returns:
      the Lauda water bath temperature
      Throws:
      DeviceException
    • getBathTemp

      public double getBathTemp()
      Read the temperature of the controlling device either internal bath external probe1 or external probe2.
      Returns:
      the control temperature
    • getExtProbe1

      public double getExtProbe1()
      Read the temperature of the external probe 1. FIXME: Lauda specific ?
      Returns:
      the external probe 1 temperature
    • getTargetTemperature

      public double getTargetTemperature()
      Get the current setpoint temperature.
      Specified by:
      getTargetTemperature in interface Temperature
      Overrides:
      getTargetTemperature in class TemperatureBase
      Returns:
      the setpoint temperature
    • getStatusSignal

      public String getStatusSignal()
      Get the status signal
      Returns:
      the status
    • getExtProbe2

      public double getExtProbe2()
      Read the temperature of the external probe 2.
      Returns:
      the external probe 2 temperature
    • getXp

      public double getXp()
      Only to fullfill interface
      Returns:
      0.0
    • getTn

      public double getTn()
      Only to fullfill interface
      Returns:
      0.0
    • getTv

      public double getTv()
      Only to fullfill interface
      Returns:
      0.0
    • isAtTargetTemperature

      public boolean isAtTargetTemperature()
      Description copied from interface: Temperature
      Check the current temperature against the target temperature
      Specified by:
      isAtTargetTemperature in interface Temperature
      Overrides:
      isAtTargetTemperature in class TemperatureBase
      Returns:
      true if current temperature equals target temperature
    • clearRamps

      public void clearRamps()
      Description copied from class: TemperatureBase
      Clears all ramps from the list
      Specified by:
      clearRamps in interface Temperature
      Overrides:
      clearRamps in class TemperatureBase
    • addRamp

      public void addRamp(TemperatureRamp ramp)
      Description copied from class: TemperatureBase
      Adds a ramp to the internal list of ramps
      Specified by:
      addRamp in interface Temperature
      Overrides:
      addRamp in class TemperatureBase
      Parameters:
      ramp - the TemperatureRamp to add
    • startTowardsTarget

      public void startTowardsTarget()
      Actually sends the command which starts the device working towards the target temperature.
      Specified by:
      startTowardsTarget in class TemperatureBase
    • temperatureUpdate

      public void temperatureUpdate()
      Method for the poller (started in TemperatureBase)
      Specified by:
      temperatureUpdate in class TemperatureBase
    • sendRamp

      public void sendRamp(int which)
      Would send the commands to set up a ramp to the actual hardware.
      Specified by:
      sendRamp in class TemperatureBase
      Parameters:
      which - the ramp number
    • getDataFileName

      public String getDataFileName()
    • getAttribute

      public Object getAttribute(String name)
      Description copied from class: ScannableMotionBase
      Get the value of the specified attribute To distributed some of the extra methods in the ScannableMotion interface
      Specified by:
      getAttribute in interface Device
      Overrides:
      getAttribute in class ScannableMotionBase
      Parameters:
      name - is the name of the attribute
      Returns:
      the value of the attribute as an Object type
      See Also:
    • readout

      public Object readout()
      Overrides:
      readout in class TemperatureBase