Package jisa.devices.power
Class IPS120
- java.lang.Object
-
- jisa.visa.VISADevice
-
- jisa.devices.power.IPS120
-
- All Implemented Interfaces:
EMController
,Instrument
public class IPS120 extends VISADevice implements EMController
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IPS120.Activity
static class
IPS120.CStatus
static class
IPS120.HeaterState
static class
IPS120.Mode
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.EMController
EMController.Ramp
-
Nested classes/interfaces inherited from interface jisa.devices.interfaces.Instrument
Instrument.AutoQuantity<S>, Instrument.OptionalQuantity<S>, Instrument.Parameter<S>, Instrument.Setter<S>, Instrument.TableQuantity
-
-
Field Summary
-
Fields inherited from class jisa.visa.VISADevice
C_IDN, CR_TERMINATOR, CRLF_TERMINATOR, DEFAULT_EOI, DEFAULT_EOS, DEFAULT_TIMEOUT, EOS_RETURN, LF_TERMINATOR
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IPS120.Activity
getActivity()
double
getCurrent()
Returns the current currently being sourced by the controller.static java.lang.String
getDescription()
double
getField()
Returns the current field being produced by the electromagnet.double
getMagnetCurrent()
double
getPersistentCurrent()
java.util.List<EMController.Ramp>
getRampRates()
Returns the rates being used to determine the ramping legs of each change in current.boolean
isStable()
void
setActivity(IPS120.Activity activity)
void
setCurrent(double current)
Ramps the electromagnet to the specified current at automatically determined ramping rates.void
setField(double field)
Ramps the electromagnet to the specified field at automatically determined ramping rates.void
setHeater(boolean on)
void
setMode(IPS120.Mode mode)
void
setRampRates(EMController.Ramp... rates)
Sets the rates at which the magnet should ramp for different current ranges.void
turnOff()
Safely turns off the electromagnet.void
waitUntilStable()
-
Methods inherited from class jisa.visa.VISADevice
addAutoRemove, checkLimit, checkLimit, clearBuffers, close, getAddress, getConnection, getIDN, getName, manuallyClearReadBuffer, query, queryDouble, queryInt, read, read, readBytes, readDouble, readInt, setIOLimit, setReadBufferSize, setReadTerminator, setReadTerminator, setRetryCount, setTimeout, setWriteTerminator, write, writeBytes
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jisa.devices.interfaces.EMController
getConfigurationParameters, getRampForCurrent, getRampLegs
-
Methods inherited from interface jisa.devices.interfaces.Instrument
close, getAddress, getConfigurationParameters, getIDN, getLockObject, getName, setTimeout
-
-
-
-
Constructor Detail
-
IPS120
public IPS120(Address address) throws java.io.IOException, DeviceException
Opens the device at the specified address- Parameters:
address
- Some form of InstrumentAddress (eg GPIBAddress, USBAddress etc)- Throws:
java.io.IOException
- Upon communications errorDeviceException
-
-
Method Detail
-
getDescription
public static java.lang.String getDescription()
-
getField
public double getField() throws java.io.IOException
Description copied from interface:EMController
Returns the current field being produced by the electromagnet.- Specified by:
getField
in interfaceEMController
- Returns:
- Field, in Tesla
- Throws:
java.io.IOException
- Upon communications error
-
setField
public void setField(double field) throws java.io.IOException, DeviceException, java.lang.InterruptedException
Description copied from interface:EMController
Ramps the electromagnet to the specified field at automatically determined ramping rates. Does not return until ramping is complete.- Specified by:
setField
in interfaceEMController
- Parameters:
field
- Field to ramp to, in Tesla- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument errorjava.lang.InterruptedException
- Upon waiting for ramping to complete being interrupted
-
getActivity
public IPS120.Activity getActivity() throws java.io.IOException
- Throws:
java.io.IOException
-
setActivity
public void setActivity(IPS120.Activity activity) throws java.io.IOException
- Throws:
java.io.IOException
-
turnOff
public void turnOff() throws java.io.IOException, DeviceException, java.lang.InterruptedException
Description copied from interface:EMController
Safely turns off the electromagnet. Does not return until magnet is safely off.- Specified by:
turnOff
in interfaceEMController
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument errorjava.lang.InterruptedException
- Upon waiting for ramping down to complete being interrupted
-
getRampRates
public java.util.List<EMController.Ramp> getRampRates()
Description copied from interface:EMController
Returns the rates being used to determine the ramping legs of each change in current.- Specified by:
getRampRates
in interfaceEMController
- Returns:
- List of ramp rates and ranges.
-
setRampRates
public void setRampRates(EMController.Ramp... rates)
Description copied from interface:EMController
Sets the rates at which the magnet should ramp for different current ranges.- Specified by:
setRampRates
in interfaceEMController
- Parameters:
rates
- Ramp rates
-
getCurrent
public double getCurrent() throws java.io.IOException, DeviceException
Description copied from interface:EMController
Returns the current currently being sourced by the controller.- Specified by:
getCurrent
in interfaceEMController
- Returns:
- Current, in Amperes
- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument error
-
setCurrent
public void setCurrent(double current) throws java.io.IOException, DeviceException, java.lang.InterruptedException
Description copied from interface:EMController
Ramps the electromagnet to the specified current at automatically determined ramping rates. Does not return until ramping is complete.- Specified by:
setCurrent
in interfaceEMController
- Parameters:
current
- Current to ramp to, in Amperes- Throws:
java.io.IOException
- Upon communications errorDeviceException
- Upon instrument errorjava.lang.InterruptedException
- Upon waiting for ramping to complete being interrupted
-
setHeater
public void setHeater(boolean on) throws java.io.IOException, java.lang.InterruptedException, DeviceException
- Throws:
java.io.IOException
java.lang.InterruptedException
DeviceException
-
getMagnetCurrent
public double getMagnetCurrent() throws java.io.IOException
- Throws:
java.io.IOException
-
getPersistentCurrent
public double getPersistentCurrent() throws java.io.IOException
- Throws:
java.io.IOException
-
waitUntilStable
public void waitUntilStable() throws java.io.IOException, java.lang.InterruptedException
- Throws:
java.io.IOException
java.lang.InterruptedException
-
isStable
public boolean isStable() throws java.io.IOException
- Throws:
java.io.IOException
-
setMode
public void setMode(IPS120.Mode mode) throws java.io.IOException
- Throws:
java.io.IOException
-
-