Table of Contents
SLICE-QTC API
Links
* Quick-Start Guides
* Electronics
* Websites
Implementation Instructions
Listed below is the command set for the Application Programming Interface (API). Most operations that can be performed via the touchscreen can be also be performed via the API.
Computer communication to the SLICE instrument occurs by first establishing a Serial COM port via the USB 2.0 physical interface. Computer communication should be platform independent, though appropriate USB drivers may have to be installed. The following table shows the serial port settings:
Baud Rate | 9600 |
---|---|
Data Bits | 8 |
Parity | None |
Stop Bits | 1 |
Flow Control | None |
To perform an operation, an ASCII-based text message is first constructed from a command and its arguments, and then the message is transmitted to the SLICE instrument through the COM port. The following rules apply:
- Syntax is insensitive to case.
- A message is an ASCII string composed of a command followed by zero or more arguments.
- A command and its arguments are delimited by spaces.
- Messages are terminated by a carriage return (“\r”).
- All valid messages return an ASCII string value.
- [Int] refers to an integer argument that has no decimal point.
- [Float] refers to a floating point argument that has a decimal point in its value.
SLICE-QTC Specific Notes
- Valid values for the CHANNEL argument are {1, 2, 3, 4}.
- All enable commands use an integer argument to convey the state: 0 = Off, 1 = On.
- All temperatures are set and returned in degrees Celsius [˚C].
- All currents are set and returned in Amperes [A].
Global SLICE Commands
The following commands are operational on all SLICE products.
Firmware Version
#VERSION?
Arguments: None
Example:
#VERSION? 1.62
Description
Returns firmware version of System ControllerReset to Factory Default Settings
_FACTORY
Arguments:
[Int] SLOT_NUMBER
Example:
_FACTORY 1
Description
Restores “Personality Board” to factory default settings. No return value.Power cycle the SLICE unit to complete factory reset. |
Save Settings
SAVE
Arguments: None
Example:
SAVE SUCCESS
Description
Saves “Personality Board” settings into EEPROM. Unsaved changes will be lost if board is powered off without issuing a SAVE command. The SAVE command saves the entire configuration into non-volatile memory. A single SAVE command can be issued after any number of configuration changes. When changes are made to the SLICE configuration through the touch screen, the new values are automatically saved and it is not necessary to issue a SAVE command.Slot Number
- 1 = first slot
- 2 = second slot
Possible Responses
- SUCCESS
- FAIL
Temperature Settings
Query Temperature Set Point
TempSet?
Arguments:
[Int] CHANNEL
Example:
TempSet? 3 26.28
Description
Returns the temperature set point for CHANNEL.Set Temperature Set Point
TempSet
Arguments:
[Int] CHANNEL [Float] TEMPERATURE
Example:
TempSet 3 26.283 26.282
I2C Command Number:
Description
Sets the temperature set point for CHANNEL to TEMPERATURE. Returns TempSet?. The temperature set point cannot be set outside the range set by the minimum and maximum allowed temperatures (set by the user). If TEMPERATURE is outside this range, the set point will not be adjusted. Also, the temperature set point will be coerced to a value that has a internal digital representation closest to TEMPERATURE.
Temp?
Arguments:
No Arguments Taken
Example:
Temp?
I2C Command Number:
Description
Returns the actual (measured) temperature for CHANNEL.
TError
Arguments:
No Arguments Taken
Example:
TError
I2C Command Number:
Description
Returns the temperature error for CHANNEL in degrees Celsius. The error is calculated as the set point temperature minus the actual temperature.
TempMin?
Arguments:
No Arguments Taken
Example:
TempMin?
I2C Command Number:
Description
Returns the minimum allowed temperature for CHANNEL.
TempMin
Arguments:
[Int] CHANNEL [Float] TEMPERATURE
Example:
TempMin 3 -5.000 -5.000
I2C Command Number:
Description
Sets the minimum allowed temperature for CHANNEL to TEMPERATURE. Returns TempMin?.
TempMax?
Arguments:
No Arguments Taken
Example:
TempMax?
I2C Command Number:
Description
Returns the maximum allowed temperature for CHANNEL.
TempMax
Arguments:
[Int] CHANNEL [Float] TEMPERATURE
Example:
TempMax 3 55.000 55.000
I2C Command Number:
Description
Sets the maximum allowed temperature for CHANNEL to TEMPERATURE. Returns TempMax?.Transducer/Load Settings
Bipolar?
Arguments:
No Arguments Taken
Example:
Bipolar?
I2C Command Number:
Description
Returns whether CHANNEL is configured for either Bipolar operation (for a thermo-electric cooler) or Unipolar operation (for a resistive heater).- 1 = On = Bipolar operation, i.e., current is bi-directional through transducer.
- 0 = Off = Unipolar operation, i.e., current is uni-directional through transducer.
Bipolar
Arguments:
[Int] CHANNEL [Int] STATE
Example:
Bipolar 3 0 0
I2C Command Number:
Description
Sets the operational STATE for CHANNEL to be either Bipolar (for a thermo-electric cooler) or Unipolar (for a resistive heater). Returns Bipolar?. STATE can have the following values:- 1 = On = Bipolar operation, i.e., current is bi-directional through transducer.
- 0 = Off = Unipolar operation, i.e., current is uni-directional through transducer.
MaxCurr?
Arguments:
No Arguments Taken
Example:
MaxCurr?
I2C Command Number:
Description
Returns the current limit for CHANNEL in Amps [A].
MaxCurr
Arguments:
[Int] CHANNEL [Float] CURRENT
Example:
MaxCurr 1 1.500 1.500
I2C Command Number:
Description
Sets the current limit for CHANNEL to CURRENT in Amps [A]. Returns MaxCurr?. Allowed values are {0.000 … 6.000}.
Current?
Arguments:
No Arguments Taken
Example:
Current?
I2C Command Number:
Description
Returns the measured current flowing through the temperature transducer (e.g. TEC or heater) in Amps [A].
Currset
Arguments:
[Int] CHANNEL [Float] CURRENT
Example:
Currset 1 0.654 0.654
I2C Command Number:
Description
Sets the output current to the Channel 1 to 0.654 A
MaxPwr?
Arguments:
No Arguments Taken
Example:
MaxPwr?
I2C Command Number:
Description
Returns the power limit for CHANNEL in Watts [W].
MaxPwr
Arguments:
[Int] CHANNEL [Float] POWER
Example:
MaxPwr 1 10.000 10.000
I2C Command Number:
Description
Sets the power limit for CHANNEL to POWER in Watts [W]. Returns MaxPwr?. Allowed values are {0.000 … 20.000}.
Power?
Arguments:
No Arguments Taken
Example:
Power?
I2C Command Number:
Description
Returns the measured power output for CHANNEL in Watts [W].
CVolt?
Arguments:
No Arguments Taken
Example:
CVolt?
I2C Command Number:
Description
Returns the voltage across the load for CHANNEL in Volts [V].Thermistor Settings
Beta?
Arguments:
No Arguments Taken
Example:
Beta?
I2C Command Number:
Description
For the B-parameter thermistor model: Returns the Beta coefficient in Kelvin [K] for CHANNEL.
Beta
Arguments:
[Int] CHANNEL [Float] VALUE
Example:
Beta 2 3450 3450.0
I2C Command Number:
Description
For the B-parameter thermistor model: Sets the Beta coefficient in Kelvin [K] to VALUE for CHANNEL. Returns Beta?. When a new Beta-parameter is set, new Steinhart-Hart coefficients are calculated. Execute a TEMPLUT command after setting Beta through the API (QC firmware versions 1.14 & lower).
RefTemp?
Arguments:
No Arguments Taken
Example:
RefTemp?
I2C Command Number:
Description
For the B-parameter thermistor model: Returns the Reference Temperature in degrees Celsius [˚C] for CHANNEL.
RefTemp
Arguments:
[Int] CHANNEL [Float] VALUE
Example:
RefTemp 2 25.0 25.0
I2C Command Number:
Description
For the B-parameter thermistor model: Sets the Reference Temperature in degrees Celsius [˚C] to VALUE for CHANNEL. Returns RefTemp?. When a new Reference Temperature is set, new Steinhart-Hart coefficients are calculated. Execute a TEMPLUT command after setting the Reference Temperature through the API (QC firmware versions 1.14 & lower).
RefRes?
Arguments:
No Arguments Taken
Example:
RefRes?
I2C Command Number:
Description
For the B-parameter thermistor model: Returns the Reference Resistance in Ohms [Ω] (at the Reference Temperature) for CHANNEL.
RefRes
Arguments:
[Int] CHANNEL [Float] VALUE
Example:
RefRes 2 10000.0 10000.0
I2C Command Number:
Description
For the B-parameter thermistor model: Sets the Reference Resistance in Ohms [Ω] to VALUE for CHANNEL. Returns RefRes?.
TCoefA?
Arguments:
No Arguments Taken
Example:
TCoefA?
I2C Command Number:
Description
For the Steinhart-Hart thermistor model: Returns the A coefficient for CHANNEL.
TCoefA
Arguments:
[Int] CHANNEL [Float] VALUE
Example:
TCoefA 1 2.108508173 2.108508173
I2C Command Number:
Description
For the Steinhart-Hart thermistor model: Sets the A coefficient to VALUE for CHANNEL. Returns TCoefA?. Execute a TEMPLUT command after setting any of the Steinhart-Hart coefficients through the API (QC firmware versions 1.14 & lower).
TCoefB?
Arguments:
No Arguments Taken
Example:
TCoefB?
I2C Command Number:
Description
For the Steinhart-Hart thermistor model: Returns the B coefficient for CHANNEL.
TCoefB
Arguments:
[Int] CHANNEL [Float] VALUE
Example:
TCoefB 1 0.797204727 0.797204727
I2C Command Number:
Description
For the Steinhart-Hart thermistor model: Sets the B coefficient to VALUE for CHANNEL. Returns TCoefB?. Execute a TEMPLUT command after setting any of the Steinhart-Hart coefficients through the API (QC firmware versions 1.14 & lower).
TCoefC?
Arguments:
No Arguments Taken
Example:
TCoefC?
I2C Command Number:
Description
For the Steinhart-Hart thermistor model: Returns the C coefficient for CHANNEL.
TCoefC
Arguments:
[Int] CHANNEL [Float] VALUE
Example:
TCoefC 1 6.535076315 6.535076315
I2C Command Number:
Description
For the Steinhart-Hart thermistor model: Sets the C coefficient to VALUE for CHANNEL. Returns TCoefC?. Execute a TEMPLUT command after setting any of the Steinhart-Hart coefficients through the API (QC firmware versions 1.14 & lower).
TEMPLUT
Arguments:
[Int] CHANNEL
Example:
TEMPLUT 1
I2C Command Number:
Description
Forces recalculation of T = ƒ(A,B,C) lookup table. There is no output from this command. Execute this command after setting any of the Steinhart-Hart coefficients, Beta-parameter, or Reference Temperature via the API (QC firmware versions 1.14 & lower).Loop Filter Settings
Control?
Arguments:
No Arguments Taken
Example:
Control?
I2C Command Number:
Description
Returns the control mode for CHANNEL:- 0 = Manual Off
- 1 = Servo Off
- 2 = Auto Tune Off
- 3 = Manual On
- 4 = Servo On
- 5 = Auto Tune On
Control
Arguments:
[Int] CHANNEL [Int] MODE
Example:
Control 2 3 3
I2C Command Number:
Description
Sets the control MODE for CHANNEL:- 0 = Manual Off
- 1 = Servo Off
- 3 = Manual On
- 4 = Servo On
PGain?
Arguments:
No Arguments Taken
Example:
PGain?
I2C Command Number:
Description
Returns the proportional gain for CHANNEL.
PGain
Arguments:
[Int] CHANNEL [Float] GAIN
Example:
PGain 3 1.8 1.8
I2C Command Number:
Description
Sets the proportional gain for CHANNEL to GAIN. Returns PGain?.
PGainEn?
Arguments:
No Arguments Taken
Example:
PGainEn?
I2C Command Number:
Description
Returns the On/Off STATE of the proportional gain for CHANNEL.
PGainEn
Arguments:
[Int] CHANNEL [Int] STATE
Example:
PGainEn 4 0 OFF
I2C Command Number:
Description
Sets the On/Off STATE of the proportional gain for CHANNEL. Returns PGainEn?.
Integ?
Arguments:
No Arguments Taken
Example:
Integ?
I2C Command Number:
Description
Returns the integral time constant for CHANNEL in seconds [s].
Integ
Arguments:
[Int] CHANNEL [Float] TIME_CONSTANT
Example:
Integ 3 2.000 2.000
I2C Command Number:
Description
Sets the integral time constant for CHANNEL to TIME_CONSTANT in seconds [s]. Returns Integ?.
IntegEn?
Arguments:
No Arguments Taken
Example:
IntegEn?
I2C Command Number:
Description
Returns the On/Off STATE of the integral gain for CHANNEL.
IntegEn
Arguments:
[Int] CHANNEL [Int] STATE
Example:
IntegEn 3 0 OFF
I2C Command Number:
Description
Sets the On/Off STATE of the integral gain for CHANNEL. Returns IntegEn?.
Deriv?
Arguments:
No Arguments Taken
Example:
Deriv?
I2C Command Number:
Description
Returns the derivative time constant for CHANNEL in seconds [s].
Deriv
Arguments:
[Int] CHANNEL [Float] TIME_CONSTANT
Example:
Deriv 1 0.500 0.500
I2C Command Number:
Description
Sets the derivative time constant for CHANNEL to TIME_CONSTANT in seconds [s]. Returns Deriv?.
DerivEn?
Arguments:
No Arguments Taken
Example:
DerivEn?
I2C Command Number:
Description
Returns the On/Off STATE of the derivative gain for CHANNEL.
DerivEn
Arguments:
[Int] CHANNEL [Int] STATE
Example:
DerivEn 3 1 ON
I2C Command Number:
Description
Sets the On/Off STATE of the derivative gain for CHANNEL. Returns DerivEn?.
Slew?
Arguments:
No Arguments Taken
Example:
Slew?
I2C Command Number:
Description
Returns the slew rate limit for CHANNEL in degrees Celsius per second [˚C/s].
Slew
Arguments:
[Int] CHANNEL [Float] RATE
Example:
Slew 1 1.5 1.5
I2C Command Number:
Description
Sets the slew rate limit for CHANNEL to RATE in degrees Celsius per second [˚C/s]. Returns Slew?.
SlewEn?
Arguments:
No Arguments Taken
Example:
SlewEn?
I2C Command Number:
Description
Returns the On/Off STATE of the slew rate limiter for CHANNEL.
SlewEn
Arguments:
[Int] CHANNEL [Int] STATE
Example:
SlewEn 3 1 1
I2C Command Number:
Description
Sets the On/Off STATE of the slew rate limiter for CHANNEL. Returns SlewEn?.System Functions
Save?
Arguments:
[ASCII] None
Example:
Save? Success
I2C Command Number:
Description
Stores all current settings to the SLICE EEPROM so that they are maintained during power off. Returns: Success or Failure.I/O Channel Settings
Output Function | CHANNEL | FUNCTION | VALUE1 | VALUE2 |
---|---|---|---|---|
[Int] | [Int] | [Float] | [Float] | |
Temperature Error | 1 - 4 | 0 | Gain [V/˚C] | Offset [˚C] |
Temperature | 1 - 4 | 1 | Gain [V/˚C] | Offset [˚C] |
Current Output | 1 - 4 | 2 | Gain [V/A] | Offset [A] |
Output1?
Arguments:
No Arguments Taken
Example:
Output1?
I2C Command Number:
Description
For the front panel Output 1, returns a comma-delimited ASCII string with the following format: “CHANNEL, FUNCTION, VALUE1, VALUE2”.
Output1
Arguments:
[Int] CHANNEL [Int] FUNCTION [Float] VALUE1 [Float] VALUE2
Example:
Output1 1 2 1.0 0.0 1, 2, 1.0, 0.0
I2C Command Number:
Description
Sets the FUNCTION and CHANNEL for the front panel Output 1 with the settings prescribed by VALUE1 and VALUE2. Returns Output1?.
Output2?
Arguments:
No Arguments Taken
Example:
Output2?
I2C Command Number:
Description
For the front panel Output 2, returns a comma-delimited ASCII string with the following format: “CHANNEL, FUNCTION, VALUE1, VALUE2”.
Output2
Arguments:
[Int] CHANNEL [Int] FUNCTION [Float] VALUE1 [Float] VALUE2
Example:
Output2 1 2 1.0 0.0 1, 2, 1.0, 0.0
I2C Command Number:
Description
Sets the FUNCTION and CHANNEL for the front panel Output 2 with the settings prescribed by VALUE1 and VALUE2. Returns Output2?.Input Function | CHANNEL | FUNCTION | VALUE1 | VALUE2 | VALUE3 |
---|---|---|---|---|---|
[Int] | [Int] | [Float] | [Float] | [Int] | |
Off | 1 - 4 | 0 | N/A | N/A | N/A |
External Setpoint Absolute | 1 - 4 | 1 | Gain [˚C/V] | Offset [V] | N/A |
External Setpoint Relative | 1 - 4 | 2 | Gain [˚C/V] | Offset [V] | N/A |
External Temperature Input | 1 - 4 | 3 | Gain [˚C/V] | Offset [V | N/A |
External Error Input | 1 - 4 | 4 | Gain [A/V] | Offset [V] | N/A |
Feedforward | 1 - 4 | 5 | Gain [A/V] | Offset [V] | N/A |
Slow Servo Input | 1 - 4 | 6 | Integral Gain | Set point voltage [V] | Polarity [0/1 = +/-] |
InputA?
Arguments:
No Arguments Taken
Example:
InputA?
I2C Command Number:
Description
For the front panel Input A, returns a comma-delimited ASCII string with the following format: “CHANNEL, FUNCTION, VALUE1, VALUE2, VALUE3 (if applicable)”.
InputA
Arguments:
[Int] CHANNEL [Int] FUNCTION [Float] VALUE1 [Float] VALUE2 [Int] VALUE3
Example:
InputA 1 0 1.0 0.0 0 1, 0, 1.0, 0.0, 0
I2C Command Number:
Description
Sets the FUNCTION and CHANNEL for the front panel Input A with the settings prescribed by VALUE1-3. Returns InputA?.
InputB?
Arguments:
No Arguments Taken
Example:
InputB?
I2C Command Number:
Description
For the front panel Input B, returns a comma-delimited ASCII string with the following format: “CHANNEL, FUNCTION, VALUE1, VALUE2, VALUE3 (if applicable)”.
InputB
Arguments:
[Int] CHANNEL [Int] FUNCTION [Float] VALUE1 [Float] VALUE2 [Int] VALUE3
Example:
InputB 1 0 1.0 0.0 1 1, 0, 1.0, 0.0, 1
I2C Command Number: