Package jisa.devices.temperature
Class MercuryITC.Loop
- java.lang.Object
-
- jisa.devices.interfaces.PID.ZonedLoop
-
- jisa.devices.interfaces.TC.ZonedLoop
-
- jisa.devices.temperature.MercuryITC.Loop
-
- All Implemented Interfaces:
Instrument
,PID.Loop
,TC.Loop
- Enclosing class:
- MercuryITC
public class MercuryITC.Loop extends TC.ZonedLoop
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.Instrument
Instrument.AutoQuantity<S>, Instrument.OptionalQuantity<S>, Instrument.Parameter<S>, Instrument.Setter<S>, Instrument.TableQuantity
-
-
Constructor Summary
Constructors Constructor Description Loop(MercuryITC.TMeter sensor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Address
getAddress()
Returns any Address object used to connect to this instrument.java.util.List<MercuryITC.TMeter>
getAvailableInputs()
Returns a list of all inputs that this loop is allowed to monitor.java.util.List<MercuryITC.Heater>
getAvailableOutputs()
Returns a list of all outputs that this loop is allowed to control.double
getDValue()
Returns the currently configured D single-value for the PID control of this loop.java.lang.String
getIDN()
Returns an identifying String of the instrument.MercuryITC.TMeter
getInput()
Returns the Input object representing which input value this loop is configured to monitor.double
getIValue()
Returns the currently configured I single-value for the PID control of this loop.double
getManualValue()
Returns the value this loop is configured to use should PID control be disabled.java.lang.String
getName()
Returns the name of this loop.MercuryITC.Heater
getOutput()
Returns the Output object representing which output channel this loop is configured to control.double
getPValue()
Returns the currently configured P single-value for the PID control of this loop.double
getRampRate()
Returns the currently configured ramping rate for this loop.double
getSetPoint()
Returns the current configured set-point value for this loop.boolean
isPIDEnabled()
Returns whether PID control is currently enabled or disabled for this loop.boolean
isRampEnabled()
Returns whether the loop is currently using the configured ramp rate to ramp to its set-point or not.void
setDValue(double value)
Sets the (single) D value to use for the PID control of this loop.void
setInput(PID.Input input)
Sets which input value this loop should be monitoring.void
setIValue(double value)
Sets the (single) I value to use for the PID control of this loop.void
setManualValue(double value)
Sets the value this loop should output through its output channel should PID control be disabled.void
setOutput(PID.Output output)
Sets which output channel thsi loop should be controlling.void
setPIDEnabled(boolean flag)
Sets whether PID control is enabled or disabled for this loop.void
setPValue(double value)
Sets the (single) P value to use for the PID control of this loop.void
setRampEnabled(boolean flag)
Sets whether this loop should ramp to its set-point using the configured ramp rate.void
setRampRate(double limit)
Sets the maximum rate at which this loop should ramp to its set-point should ramping be enabled by use of setRampEnabled(...).void
setSetPoint(double temperature)
Sets the value of the set-point for this loop.-
Methods inherited from class jisa.devices.interfaces.PID.ZonedLoop
getPIDZones, isPIDZoningEnabled, setPIDZones, setPIDZoningEnabled, updatePID
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jisa.devices.interfaces.Instrument
getConfigurationParameters, getLockObject, setTimeout
-
Methods inherited from interface jisa.devices.interfaces.PID.Loop
close, getConfigurationParameters, getPIDZones, isPIDZoningEnabled, setPIDValues, setPIDZones, setPIDZones, setPIDZoningEnabled, waitForStableValue
-
Methods inherited from interface jisa.devices.interfaces.TC.Loop
getAvailableHeaters, getAvailableThermometers, getTemperature, setTemperature, waitForStableTemperature
-
-
-
-
Constructor Detail
-
Loop
public Loop(MercuryITC.TMeter sensor)
-
-
Method Detail
-
getIDN
public java.lang.String getIDN() throws java.io.IOException, DeviceException
Description copied from interface:Instrument
Returns an identifying String of the instrument.- Returns:
- Identifying String
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon incompatibility with device
-
getAddress
public Address getAddress()
Description copied from interface:Instrument
Returns any Address object used to connect to this instrument.- Returns:
- Address object, null if none
-
getName
public java.lang.String getName()
Description copied from interface:PID.Loop
Returns the name of this loop.- Returns:
- Name of loop
-
setRampEnabled
public void setRampEnabled(boolean flag) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets whether this loop should ramp to its set-point using the configured ramp rate.- Parameters:
flag
- Should ramping be enabled?- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
isRampEnabled
public boolean isRampEnabled() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns whether the loop is currently using the configured ramp rate to ramp to its set-point or not.- Returns:
- Is ramping enabled?
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setRampRate
public void setRampRate(double limit) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the maximum rate at which this loop should ramp to its set-point should ramping be enabled by use of setRampEnabled(...).- Parameters:
limit
- Maximum ramping rate- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getRampRate
public double getRampRate() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the currently configured ramping rate for this loop.- Returns:
- Currently configured ramping rate
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getPValue
public double getPValue() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the currently configured P single-value for the PID control of this loop. This is overridden by any PID zoning, if enabled.- Returns:
- Currently configured P value
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getIValue
public double getIValue() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the currently configured I single-value for the PID control of this loop. This is overridden by any PID zoning, if enabled.- Returns:
- Currently configured I value
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getDValue
public double getDValue() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the currently configured D single-value for the PID control of this loop. This is overridden by any PID zoning, if enabled.- Returns:
- Currently configured D value
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setPValue
public void setPValue(double value) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the (single) P value to use for the PID control of this loop. This is only used if PID zoning is not enabled, otherwise it is overridden.- Parameters:
value
- P (single) value to use.- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setIValue
public void setIValue(double value) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the (single) I value to use for the PID control of this loop. This is only used if PID zoning is not enabled, otherwise it is overridden.- Parameters:
value
- I (single) value to use.- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setDValue
public void setDValue(double value) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the (single) D value to use for the PID control of this loop. This is only used if PID zoning is not enabled, otherwise it is overridden.- Parameters:
value
- D (single) value to use.- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getInput
public MercuryITC.TMeter getInput() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the Input object representing which input value this loop is configured to monitor.- Returns:
- Input object
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getOutput
public MercuryITC.Heater getOutput() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the Output object representing which output channel this loop is configured to control.- Returns:
- Output object
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setInput
public void setInput(PID.Input input) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets which input value this loop should be monitoring. Make sure to only pass this method an Input object that this loop is allowed to use. Check by using getAvailableInputs().- Parameters:
input
- Input object- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setOutput
public void setOutput(PID.Output output) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets which output channel thsi loop should be controlling. Make sure to only pass this method an Output object that this loop is allowed to use. Check by using getAvailableOutputs().- Parameters:
output
- Output object- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getAvailableOutputs
public java.util.List<MercuryITC.Heater> getAvailableOutputs()
Description copied from interface:PID.Loop
Returns a list of all outputs that this loop is allowed to control.- Returns:
- List of usable outputs
-
getAvailableInputs
public java.util.List<MercuryITC.TMeter> getAvailableInputs()
Description copied from interface:PID.Loop
Returns a list of all inputs that this loop is allowed to monitor.- Returns:
- List of usable inputs
-
setManualValue
public void setManualValue(double value) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the value this loop should output through its output channel should PID control be disabled.- Parameters:
value
- Manual value to use- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getManualValue
public double getManualValue() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the value this loop is configured to use should PID control be disabled.- Returns:
- Manual value configured to use
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setPIDEnabled
public void setPIDEnabled(boolean flag) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets whether PID control is enabled or disabled for this loop.- Parameters:
flag
- Should PID control be enabled?- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
isPIDEnabled
public boolean isPIDEnabled() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns whether PID control is currently enabled or disabled for this loop.- Returns:
- Is PID control currently enabled?
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
setSetPoint
public void setSetPoint(double temperature) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the value of the set-point for this loop.- Parameters:
temperature
- Set-point value to use- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getSetPoint
public double getSetPoint() throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Returns the current configured set-point value for this loop.- Returns:
- Currently configured set-point value
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
-