Package jisa.devices.temperature
Class LS336.Loop
- java.lang.Object
-
- jisa.devices.interfaces.PID.ZonedLoop
-
- jisa.devices.interfaces.TC.ZonedLoop
-
- jisa.devices.temperature.LS336.Loop
-
- All Implemented Interfaces:
Instrument
,PID.Loop
,TC.Loop
- Enclosing class:
- LS336
public class LS336.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
-
-
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<? extends PID.Input>
getAvailableInputs()
Returns a list of all inputs that this loop is allowed to monitor.java.util.List<? extends PID.Output>
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.LS336.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.LS336.Heater
getOutput()
Returns the Output object representing which output channel this loop is configured to control.jisa.devices.temperature.LS336.PIDValue
getPID()
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
setPIDValues(double p, double i, double d)
Sets the (single) P, I, and D values for the PID control of 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 value)
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, setPIDZones, setPIDZones, setPIDZoningEnabled, waitForStableValue
-
Methods inherited from interface jisa.devices.interfaces.TC.Loop
getAvailableHeaters, getAvailableThermometers, getTemperature, setTemperature, waitForStableTemperature
-
-
-
-
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
-
setSetPoint
public void setSetPoint(double value) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the value of the set-point for this loop.- Parameters:
value
- 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
-
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()
Description copied from interface:PID.Loop
Returns the currently configured ramping rate for this loop.- Returns:
- Currently configured ramping rate
-
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
-
getPID
public jisa.devices.temperature.LS336.PIDValue getPID() throws java.io.IOException, DeviceException
- Throws:
java.io.IOException
DeviceException
-
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
-
setPIDValues
public void setPIDValues(double p, double i, double d) throws java.io.IOException, DeviceException
Description copied from interface:PID.Loop
Sets the (single) P, I, and D values for the PID control of this loop. These are only used if PID zoning is not enabled, otherwise they are overridden.- Parameters:
p
- P value to usei
- I value to used
- D value to use- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon compatibility error
-
getInput
public LS336.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 LS336.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)
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
-
getAvailableOutputs
public java.util.List<? extends PID.Output> 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<? extends PID.Input> 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
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 error
-
getManualValue
public double getManualValue()
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
-
setPIDEnabled
public void setPIDEnabled(boolean flag) throws java.io.IOException
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 error
-
isPIDEnabled
public boolean isPIDEnabled() throws java.io.IOException
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 error
-
-