Package gda.device.temperature
Class EpicsEurotherm903
java.lang.Object
gda.factory.ConfigurableBase
gda.factory.FindableConfigurableBase
gda.device.DeviceBase
gda.device.scannable.ScannableBase
gda.device.temperature.EpicsEurotherm903
- All Implemented Interfaces:
Device,Scannable,Configurable,Findable,gda.observable.IObservable
This class controls a Eurotherm903 furnace using the EPICS interface.
It was originally written for use with the B18 Eurotherm (in a B18 specific plugin).
This is a cleaned up version of that class developed when using the same furnace on I20,
with 'moveAndWait' function added, and moved to a non beamline specific package.
TODO: Use this class on B18 and use new 'moveAndWait' method to replace equivalent functionality
currently in B18SampleEnvironmentIterator; implement this class by extending TemperatureBase
-
Field Summary
Fields inherited from class gda.device.scannable.ScannableBase
__doc__, DEFAULT_INPUT_NAME, DEFAULT_OUTPUT_FORMAT, extraNames, inputNames, level, outputFormatFields inherited from class gda.device.DeviceBase
DEFAULT_PROTECTION_LEVEL_PROPERTYFields inherited from interface gda.device.Scannable
ATTR_NEXUS_CATEGORY, ATTR_NX_CLASS, VALUE_UNAVAILABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubledoubledoublebooleanisBusy()Returnstrueif current and demand temperature is outside of tolerance range.voidmoveAndWait(double finalTemperature) Adjust setpoint temperature and wait untilgetSetpointTemperatureWaitTime()seconds have passed atfinalTemperaturevoidrawAsynchronousMoveTo(Object position) [Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.[Consider abstract] Read the position in its internal (user) representation.voidsetActualTemperatureRbvPv(String actualTemperatureRbvPv) voidsetEurothermPv(String eurothermPv) voidsetPollTimeInterval(double pollTimeInterval) voidsetSetpointPv(String setpointPv) voidsetSetpointTemperatureWaitTime(double setpointTemperatureWaitTime) voidsetTemperatureTolerance(double temperatureTolerance) voidsetUpperLimitPv(String upperLimitPv) Methods inherited from class gda.device.scannable.ScannableBase
__call__, __call__, __doc__, __getitem__, __len__, __repr__, __str__, asynchronousMoveTo, atCommandFailure, atLevelEnd, atLevelMoveStart, atLevelStart, atPointEnd, atPointStart, atScanEnd, atScanLineEnd, atScanLineStart, atScanStart, checkPositionValid, externalToInternal, getExtraNames, getInputNames, getLevel, getOutputFormat, getPosition, getScanMetadataAttribute, getScanMetadataAttributeNames, getScanMetadataAttributes, internalToExternal, isAt, moveTo, setExtraNames, setInputNames, setLevel, setOutputFormat, setScanMetadataAttribute, setScanMetadataAttributes, stop, throwExceptionIfInvalidTarget, toFormattedString, toString, validateScannable, valueUnavailableString, waitWhileBusy, waitWhileBusyMethods inherited from class gda.device.DeviceBase
addIObserver, close, deleteIObserver, deleteIObservers, getAttribute, getName, getProtectionLevel, isBeingObserved, isConfigureAtStartup, notifyIObservers, setAttribute, setConfigureAtStartup, setName, setProtectionLevelMethods inherited from class gda.factory.ConfigurableBase
configure, isConfigured, reconfigure, setConfiguredMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gda.factory.Configurable
configure, isConfigureAtStartup, isConfigured, reconfigureMethods inherited from interface gda.device.Device
close, getAttribute, getProtectionLevel, setAttribute, setProtectionLevelMethods inherited from interface gda.observable.IObservable
addIObserver, deleteIObserver, deleteIObservers
-
Constructor Details
-
EpicsEurotherm903
public EpicsEurotherm903()
-
-
Method Details
-
isBusy
Returnstrueif current and demand temperature is outside of tolerance range.- Returns:
- true - if operation carried out by moveTo has not completed yet
- Throws:
DeviceException
-
rawAsynchronousMoveTo
Description copied from class:ScannableBase[Consider abstract] Trigger a move/operation to an internal/hardware position and return immediately.- Overrides:
rawAsynchronousMoveToin classScannableBase- Parameters:
position- Position in its internal/hardware representation. e.g. with units and offsets removed- Throws:
DeviceException- See Also:
-
rawGetPosition
Description copied from class:ScannableBase[Consider abstract] Read the position in its internal (user) representation.- Overrides:
rawGetPositionin classScannableBase- Returns:
- the value represented by this Scannable
- Throws:
DeviceException- See Also:
-
getEurothermPv
-
setEurothermPv
-
getSetpointPv
-
setSetpointPv
-
getUpperLimit
public String getUpperLimit() throws gov.aps.jca.CAException, gov.aps.jca.TimeoutException, InterruptedException- Throws:
gov.aps.jca.CAExceptiongov.aps.jca.TimeoutExceptionInterruptedException
-
setUpperLimitPv
-
getLowerLimit
-
getActualTemperatureRbvPv
-
setActualTemperatureRbvPv
-
getPollTimeInterval
public double getPollTimeInterval() -
setPollTimeInterval
public void setPollTimeInterval(double pollTimeInterval) -
getSetpointTemperatureWaitTime
public double getSetpointTemperatureWaitTime() -
setSetpointTemperatureWaitTime
public void setSetpointTemperatureWaitTime(double setpointTemperatureWaitTime) -
getTemperatureTolerance
public double getTemperatureTolerance() -
setTemperatureTolerance
public void setTemperatureTolerance(double temperatureTolerance) -
moveAndWait
Adjust setpoint temperature and wait untilgetSetpointTemperatureWaitTime()seconds have passed atfinalTemperature- Parameters:
finalTemperature-- Throws:
DeviceExceptionInterruptedException
-