Model 346 Cryogenic Temperature Controller
The Model 346 measures and controls cryogenic temperature environments.
More information about the instrument can be found on our website including the manual which has a list of all commands and queries.
Example Scripts
Below are a few example scripts for the Model 346 that use the Lake Shore Python driver.
Using calibration curves with a temperature instrument
import matplotlib.pyplot as plt
from lakeshore import Model224, Model224CurveHeader
# Connect to a temperature instrument (the Model 224 in this case) over USB
myinstrument = Model224()
# Configure a curve by first setting its header parameters. First, set the name and serial number of the curve.
# Then, select the units used to set map the sensor units to temperature units. Set a temperature limit, and
# then specify whether the coefficients are positive or negative.
curve_header_25 = Model224CurveHeader("My_Curve", "ABC123", myinstrument.CurveFormat.VOLTS_PER_KELVIN, 300.0,
myinstrument.CurveTemperatureCoefficients.POSITIVE)
myinstrument.set_curve_header(25, curve_header_25)
# Edit individual data points of the curve. In this case, a sensor value of 1.23 is set to equal a Kelvin value of
# 276.0
myinstrument.set_curve_data_point(25, 1, 1.23, 276.0)
# You can create a softcal curve by inputting 1-3 calibration sensor/temperature points. The instrument generates
# a new curve using your entered data points and the selected standard curve
myinstrument.generate_and_apply_soft_cal_curve(myinstrument.SoftCalSensorTypes.DT_400, 30, "SN123", (276, 10),
(300, 5), (310, 2))
# Use the get_curve method to get all the data points for a curve as a list. This can then be used to create a plot
# of the calibration curve.
data_points_list = myinstrument.get_curve(30)
x_list = [item[0] for item in data_points_list]
y_list = [item[1] for item in data_points_list]
plt.plot(x_list, y_list)
# Finally, a curve can be deleted if you would like to reset the data points for that curve. Only user curves
# can be deleted.
myinstrument.delete_curve(25)
Setting up outputs on the Model 346
from lakeshore import Model346
# Connect to the first available Model 346 temperature controller over USB
my_model_346 = Model346()
# Set the control loop values for outputs 1 and 5
my_model_346.set_heater_pid(1, 40, 27, 0)
my_model_346.set_heater_pid(5, 42, 25, 10)
# Configure heater output 1 with a 50 ohm load, 0.75 amp max current, and screen display mode to power
my_model_346.set_heater_setup(1, 50.0, 0.75, my_model_346.HeaterOutputUnits.POWER)
# Configure settings of analog output 5 to have a high and low value of 3.65 and 1.02 (preferred units) respectively
my_model_346.set_analog_output_settings(5, 3.65, 1.02)
# Set closed loop output mode for outputs 1 and 5
my_model_346.set_output_mode(1, my_model_346.OutputMode.PID, "A")
my_model_346.set_output_mode(5, my_model_346.OutputMode.PID, "A")
# Set a control setpoint for outputs 1 and 5 to 1.5 and 2.5 (preferred units) respectively
my_model_346.set_control_setpoint(1, 1.5)
my_model_346.set_control_setpoint(5, 2.5)
# Turn the heater on by setting the heater range
my_model_346.set_heater_range(1, my_model_346.HeaterRange.LOW)
# Output 5 "turned on" when its output mode was set.
# Obtain the output percentage of output 1 and print it to the console
output_one = my_model_346.get_heater_output(1)
print("Output 1: " + str(output_one))
# Obtain the output percentage of output 3 and print it to the console
output_five = my_model_346.get_analog_output_settings(5)
print("Output 5: " + str(output_five))
Setting up options cards on the Model 346
from lakeshore import Model346, Model346InputSensorSettings
# Initialize the Model346 temperature controller
my_model_346 = Model346()
# Retrieve connected option cards as a dictionary of slot identifiers and OptionCard objects
option_cards = my_model_346.get_installed_option_cards()
# Print the details of each option card
for slot, card in option_cards.items():
print(f"Slot {slot}: {card}")
# Define NTC RTD sensor settings
ntc_rtd_settings = Model346InputSensorSettings(
sensor_type=my_model_346.InputSensorType.NTC_RTD,
autorange_enable=True,
compensation=True,
units=my_model_346.InputSensorUnits.KELVIN,
input_range=my_model_346.NTCRTDRange.ONE_THOUSAND_OHM
)
# Define Thermocouple settings for type E
thermocouple_settings = Model346InputSensorSettings(
sensor_type=my_model_346.InputSensorType.THERMOCOUPLE,
autorange_enable=False, # Thermocouples have a fixed range of 50mV
compensation=True,
units=my_model_346.InputSensorUnits.KELVIN,
input_range=my_model_346.ThermocoupleRange.FIFTY_MILLIVOLTS
)
# Loop through option card slots and configure channels for SCANNER and THERMOCOUPLE cards
for slot, option_card in option_cards.items():
# Configure all scanner input sensor channels as NTC RTDs
if option_card.card_type == my_model_346.OptionCardType.SCANNER:
for channel in option_card.channels: # Loop through channels of the SCANNER card
my_model_346.set_input_sensor(input_channel=channel, sensor_params=ntc_rtd_settings)
# Get the scanner input sensor settings and print them in a readable format
for channel in option_card.channels:
sensor_settings = my_model_346.get_input_sensor(input_channel=channel)
print(
f"Channel {channel} on slot {slot} has sensor settings: "
f"SensorType={sensor_settings.sensor_type.name}, "
f"AutoRange={sensor_settings.autorange_enable}, "
f"Compensation={sensor_settings.compensation}, "
f"Units={sensor_settings.units.name}, "
f"InputRange={sensor_settings.input_range.name}"
)
# Read and print the current temperature reading from each scanner channel for channel in option_card.channels:
temperature_reading = my_model_346.get_kelvin_reading(input_channel=channel)
print(f"Current temperature reading from channel {channel} on slot {slot}: {temperature_reading} K")
# Thermocouple setup for channels on a Thermocouple card
if option_card.card_type == my_model_346.OptionCardType.THERMOCOUPLE:
for channel in option_card.channels:
# Set the sensor parameters for the thermocouple
my_model_346.set_input_sensor(input_channel=channel, sensor_params=thermocouple_settings)
my_model_346.set_input_curve(input_channel=channel, curve_number=my_model_346.StandardCurveType.THERMOCOUPLE_TYPE_E)
# Get the curve settings and print them
curve_settings = my_model_346.get_input_curve(input_channel=channel)
print(f"Channel {channel} on slot {slot} has curve settings: {curve_settings}")
# Get the thermocouple sensor settings and print them
sensor_settings = my_model_346.get_input_sensor(input_channel=channel)
print(
f"Channel {channel} on slot {slot} has sensor settings: "
f"SensorType={sensor_settings.sensor_type.name}, "
f"AutoRange={sensor_settings.autorange_enable}, "
f"Compensation={sensor_settings.compensation}, "
f"Units={sensor_settings.units.name}, "
f"InputRange={sensor_settings.input_range.name}"
)
# Read and print the current temperature reading from the thermocouple channel
temperature_reading = my_model_346.get_kelvin_reading(input_channel=channel)
print(f"Current temperature reading from channel {channel} on slot {slot}: {temperature_reading} K")
Instrument class methods
- class lakeshore.model_346.Model346(serial_number=None, com_port=None, baud_rate=921600, flow_control=False, timeout=5.0, ip_address=None, tcp_port=7777, **kwargs)
Class for interaction with the Lake Shore Model 346 cryogenic temperature controller.
- set_filter(input_channel, filter_settings)
Configures the input filter for the specified channel.
The reading filter applies exponential smoothing to the sensor input readings. If the filter is turned on for a sensor input, all reading values for that input are filtered. The filter is a running average, so it does not change the update rate of an input. The filtered reading is used for everything except closed loop control loop calculations, which use the unfiltered reading.
- Args:
- input_channel (str):
Specifies input to configure: A, B, C1, C2, C3, C4, D1, D2, D3, D4, E1, E2, E3, E4, F1, F2, F3, F4, G1, G2, G3, G4, H1, H2, H3, H4
- filter_settings (Model346FilterSettings):
The filter configuration to apply to the input.
- get_filter(input_channel)
Returns the input filter configuration for the specified channel.
- Args:
- input_channel (str):
Specifies input to query: A, B, C1, C2, C3, C4, D1, D2, D3, D4, E1, E2, E3, E4, F1, F2, F3, F4, G1, G2, G3, G4, H1, H2, H3, H4
- Returns:
- Model346FilterSettings:
An Model346FilterSettings object populated with the filter parameters.
- get_option_card_slot()
Returns the available option card slots.
- get_digital_input_status()
Returns the status of the digital inputs.
- Returns:
- dict[str, int]:
{“input_one”: int, “input_two”: int}
- set_threshold(input_channel, threshold_id, threshold_settings)
Configures a reading threshold for the specified input.
The threshold feature allows monitoring of up to four independent thresholds per input.
- Args:
- input_channel (str):
Specifies input to configure: A, B, C1-C4, D1-D4, E1-E4, F1-F4, G1-G4, H1-H4.
- threshold_id (int):
Threshold identifier (1 to 4).
- threshold_settings (Model346ThresholdSettings):
Threshold configuration to apply.
- get_threshold(input_channel, threshold_id)
Returns the reading threshold configuration for the specified input and threshold ID.
- Args:
- input_channel (str):
Specifies input to query: A, B, C1-C4, D1-D4, E1-E4, F1-F4, G1-G4, H1-H4.
- threshold_id (int):
Threshold identifier (1 to 4).
- Returns:
- Model346ThresholdSettings:
An object populated with the threshold value and comparison operator.
- set_alarm_settings(input_channel, alarm_settings)
Sets the configuration of a particular alarm.
- Args:
- input_channel (str):
Specifies the input channel to configure (e.g., A, B, C1, C2, etc.).
- alarm_settings (Model346AlarmSettings):
The configuration that should be applied to the alarm.
- get_alarm_settings(input_channel)
Returns present configuration of a particular alarm.
- Args:
- input_channel (str):
Specifies the input channel to query (e.g., A, B, C1, C2, etc.).
- Returns:
- Model346AlarmSettings:
An Model346AlarmSettings object populated with the respective alarm parameters.
- set_stability_settings(output_channel, stability_settings)
Sets the stability detection configuration for a particular output.
- Args:
- output_channel (int):
Specifies the output channel to configure (1 to 10).
- stability_settings (Model346StabilitySettings):
The configuration that should be applied to the output.
- get_stability_settings(output_channel)
Returns present configuration of a particular stability setting.
- Args:
- output_channel (int):
Specifies the output of interest.
- Returns:
- Model346StabilitySettings:
An Model346StabilitySettings object populated with the respective stability parameters.
- turn_relay_on(relay_number)
Turns the specified relay on.
- Args:
- relay_number (int):
The relay to turn on. Options are: 1 or 2.
- turn_relay_off(relay_number)
Turns the specified relay off.
- Args:
- relay_number (int):
The relay to turn off. Options are: 1 or 2.
- set_input_sensor(input_channel, sensor_params)
Sets the sensor type and associated parameters.
- Args:
- input_channel (str):
Specifies input to configure (A - H4).
- sensor_params (Model346InputSensorSettings):
See Model346InputSensorSettings class.
- get_input_sensor(input_channel)
Returns the sensor type and associated parameters.
- Args:
- input_channel (str):
Specifies input to query (A - H4).
- Returns:
- Model346InputSensorSettings:
The configured sensor settings for a particular input sensor.
- set_heater_range(output, heater_range)
Sets the heater range for a particular output.
The range setting has no effect if an output is in the Off mode, and does not apply to an output in Monitor Out mode. An output in Monitor Out mode is always on.
- Args:
- output (int):
Specifies which output to configure (1 to 4, 9, or 10).
- heater_range (Model346Enums.HeaterRange):
The heater range to apply to a particular output.
- get_heater_range(output)
Returns the heater range for a particular output.
- Args:
- output (int):
Specifies which output to query (1 to 4, 9, or 10).
- Returns:
- (Model346Enums.HeaterRange):
The heater range being applied to a particular output.
- set_heater_autorange(output, enabled)
Sets the heater autorange setting for a particular output.
- Args:
- output (int):
Specifies which output to configure (1 - 4).
- enabled (int):
Whether autorange should be enabled or disabled.
- get_heater_autorange(output)
Returns the heater autorange setting for a particular output.
- Args:
- output (int):
Specifies which output to query (1 - 4).
- Returns:
- (Model346Enums.HeaterAutorange):
Whether autorange is enabled or disabled.
- set_analog_out_state(output, analog_out_state)
Sets the analog out state to enable or disable
- Args:
- output (int):
Specifies which output to configure (5 - 8).
- analog_out_state (int):
OFF = 0 , ON = 1.
- get_analog_out_state(output)
Returns the analog state for a particular output.
- Args:
- output (int):
Specifies which output to query (5 - 8).
- Returns:
- (int):
The analog output state being applied to a particular output. OFF = 0, ON = 1.
- set_output_percent_limit(output, percent_limit)
Sets the output percent limit for a particular output.
- Args:
- output (int):
Specifies which output to configure (1 - 10).
- percent_limit (float):
Sets a percentage limit for a particular output (0 to 100).
- get_output_percent_limit(output)
Returns the output percent limit for a particular output.
- Args:
- output (int):
Specifies which output to query (1 - 10).
- Returns:
- float:
The set percentage limit for a particular output.
- all_heaters_off()
Recreates the front panel safety feature of shutting off all heaters.
- set_heater_setup(output, heater_resistance, max_output, output_units)
Method to configure the heaters.
- Args:
- output (int):
Specifies which heater output to configure (1 to 4, 9 or 10)
- heater_resistance (float):
10 to 100 ohms.
- max_output (float):
User defined maximum output. Represents 100% output as either power (watts) or current (amps) depending on the output_units parameter.
- output_units (Model346Enums.HeaterOutputUnits):
Specifies whether the heater output displays in power or current.
- get_heater_setup(output)
Returns the heater configuration status.
- Args:
- output (int):
Specifies which heater output to query (1 to 4, 9 or 10).
- Returns:
- dict[str, float | Model346Enums.HeaterOutputUnits]:
{“heater_resistance”: float, “max_output”: float, “output_units”: HeaterOutputUnits}
- get_heater_output_measurements(output)
Returns the heater output measurements.
- Args:
- output (int):
Specifies which heater output to query (1 - 8).
- Returns:
- dict[str, float]:
{“heater_voltage”: float, “heater_current”: float, “heater_resistance”: float, “heater_power”: float}
- get_calculated_heater_output(output)
Returns the calculated output value and power for the specified output.
- Args:
- output (int):
Specifies which output to query (1 - 10).
- Returns:
- dict[str, float]:
{“output_value”: float, “output_power”: float}
For outputs 1-4: output_value is current in Amperes For outputs 5-8: output_value is voltage in Volts, output_power is not calculated and will return as 0 For outputs 9-10: output_value is sum of currents, output_power is sum of powers
- set_output_mode(output, mode, input_channel, powerup_enable=False, warmup=False)
Configures the output mode of a particular output.
- Args:
- output (int):
Specifies which output to configure (1 - 10).
- mode (Model346Enums.OutputMode):
Specifies the control mode.
- input_channel (str):
Specifies which input to use for control (A - H4, NONE). Unused if not in PID mode.
- powerup_enable (bool):
Specifies whether the output remains on (True) or shuts off after power cycle (False).
- warmup (bool):
Specifies whether the output is enabled and set when a WARM is issued (True) or not (False).
- get_output_mode(output)
Returns the output mode for a particular output.
- Args:
- output (int):
Specifies which output to retrieve (1 - 10).
- Returns:
- Model346OutputModeSettings:
A Model346OutputModeSettings object populated with the output mode parameters.
- set_output_group(output, group)
Assigns a heater output to a virtual heater group for coordinated control.
- Args:
- output (int):
Specifies which heater output to configure (1 - 4).
- group (int):
The virtual heater group to assign the output to: 9 or 10. Set to 0 to remove the output from a group.
- get_output_group(output)
Returns the virtual heater group assignment for a particular output.
- Args:
- output (int):
Specifies which heater output to query (1 - 4).
- Returns:
- int:
The virtual heater group (9 or 10), or 0 if not assigned to a group.
- start_warmup(room_temperature=293.15, percent_out=10)
Starts the warmup process for all heaters configured with warmup set to True in OUTMODE.
- Args:
- room_temperature (float):
Target temperature in Kelvin (275 to 325). Defaults to 293.15 K.
- percent_out (float):
The acceptable output percentage for the system to be considered WARM (0 to 100). Defaults to 10.
- set_analog_output_settings(output, high_value, low_value)
Configures a voltage-controlled output.
Use the set_output_mode command to set the output mode to Monitor Out.
- Args:
- output (int):
Analog output channel to configure (5 - 8).
- high_value (float):
Represents the input reading at which the Monitor Out reaches +100% output (+10 V).
- low_value (float):
Represents the input reading at which the analog output reaches 0% output (0 V).
- get_analog_output_settings(output)
Used to obtain the monitor out parameters for a specific output.
- Args:
- output (int):
Analog output of interest (5 - 8).
- Returns:
- dict[str, float]:
{“high_value”: float, “low_value”: float}
- reset_alarm_status()
Resets all alarm statuses including latched alarms.
- set_keypad_lock(state)
Sets the state of the front panel settings lock.
- Args:
state (bool): The desired state of the settings lock (True for locked, False for unlocked).
- get_keypad_lock()
Returns the current state of the front panel settings lock.
- Returns:
bool: True if settings are locked, False if unlocked.
- reset_min_max_data(channel)
Resets the minimum and maximum reading data for the give input, or all inputs if ALL is specified.
- Args:
- channel (str):
Specifies the input channel to reset (A - H4) or ALL to reset all inputs.
- get_input_reading_status(input_channel)
Returns the status of the specified input channel.
- Args:
- input_channel (str):
Specifies the input channel to query (A - H4).
- Returns:
- (Model346InputReadingStatus):
Boolean representation of each bit of the input status flag register.
- get_input_reading_operation_status(input_channel)
Returns the operation status of the specified input channel.
- Args:
- input_channel (str):
Specifies the input channel to query (A - H4).
- Returns:
- (Model346InputReadingOperationStatus):
Boolean representation of each bit of the input operation status flag register. Includes: curve_applied, reading_in_celsius, low_alarm_active, high_alarm_active.
- get_output_operation_status(output)
Returns the operation status of the specified output.
- Args:
- output (int):
Specifies the output to query (1 - 10).
- Returns:
- (Model346OutputOperationStatus):
Boolean representation of each bit of the output operation status flag register. Includes: ramp_active, stabilizing, stable, warmup_mode, warm.
- get_output_status(output)
Returns the status of the specified output.
- Args:
- output (int):
Specifies the output to query (1 - 10).
- Returns:
- (Model346OutputStatus):
Boolean representation of each bit of the output status flag register. Includes: - heater_error: HTRST? is non-zero - percentage_limited: Output is percentage limited - current_source_zeroed: Output current source is zeroed to prevent transience while changing ranges
- get_thermocouple_junction_temp(input_channel)
Returns the thermocouple junction temperature for the specified input channel.
- Args:
- input_channel (str):
Specifies the thermocouple input to query (E1, E2, F1, F2, G1, G2, H1, H2).
- Returns:
- float:
The thermocouple junction temperature in Kelvin.
- set_heater_limit(output, enabled, short_circuit_resistance, open_circuit_resistance)
Enables or disables the heater limit for a particular output and sets the bounds.
- Args:
- output (int):
Specifies which output to configure (1 - 4).
- enabled (int):
Specifies whether the heater limit is enabled.
- short_circuit_resistance (float):
Specifies the short circuit limit in ohms.
- open_circuit_resistance (float):
Specifies the open circuit limit in ohms.
- get_heater_limit(output)
Returns the heater limit settings for a particular output.
- Args:
- output (int):
Specifies which output to query (1 - 4).
- Returns:
- dict[str, float | bool]:
{“enabled”: bool, “short_circuit_resistance”: float, “open_circuit_resistance”: float}
- reset_control_setpoint(output)
Resets the control setpoint for a particular output.
- Args:
- output (int):
Specifies which output to reset (1 - 10).
- get_ramp_setpoint(output)
Returns the current setpoint for a particular output.
- Args:
- output (int):
Specifies which output to query (1 - 10).
- Returns:
- float:
The current control setpoint for the specified output.
- set_control_loop_zone_table(output, zone_number, zone_settings)
Sets the control loop zone table for a particular output.
- Args:
- output (int):
Specifies which output to configure (1 to 4, 9, or 10).
- zone_number (int):
Specifies which zone to configure (1 - 10).
- zone_settings (Model346ControlLoopZoneSettings):
The settings to apply to the specified zone.
- get_control_loop_zone_table(output, zone_number)
Returns the control loop zone table for a particular output and zone.
- Args:
- output (int):
Specifies which output to query (1 to 4, 9, or 10).
- zone_number (int):
Specifies which zone to query (1 - 10).
- Returns:
- Model346ControlLoopZoneSettings:
The settings for the specified control loop zone.
- get_curve_number_of_points(curve_number)
Returns the number of data points in a curve.
- Args:
- curve_number (int):
Specifies which curve to query (1 - 60).
- Returns:
- int:
The number of points in the specified curve. Returns 0 if the curve is deleted/empty
- set_relay_alarms(relay_number, mode, input_channel, condition)
Sets a relay to turn on and off automatically based on the state of the alarm of the specified input channel.
- Args:
- relay_number (int):
The relay to configure (1 or 2).
- mode (Model346Enums.RelayControlMode):
Specifies the relay control feature/mode.
- input_channel (str | int):
Input instance for the specified mode. Type depends on mode: - For THERMOMETRY_INPUT: input channel (A, B, C1-C4, D1-D4, E1-E4, F1-F4, G1-G4, H1-H4, NONE) - For OUTPUT_STATUS: numeric output (1-10) - For FUNCTION_OUTPUT: function ID (1-16) - For DIGITAL_INPUT: digital input number (1-2) - For SYSTEM_STATUS: 0 (warmup all) - For OFF and ON: ignored (use 0)
- condition (int | IntEnum):
Condition to evaluate. Type depends on mode: - For THERMOMETRY_INPUT: RelayThermometryCondition enum or int (0-10) - For OUTPUT_STATUS: RelayOutputStatusCondition enum or int (0-4) - For DIGITAL_INPUT: RelayDigitalInputCondition enum or int (0-1) - For FUNCTION_OUTPUT: RelayFunctionOutputCondition enum or int (0-1) - For OFF, ON, and SYSTEM_STATUS: ignored (use 0)
- get_relay_alarm_control_parameters(relay_number)
Returns the relay control parameters for a specified relay.
- Args:
- relay_number (int):
The relay to query (1 or 2).
- Returns:
- Model346RelayControlSettings:
A Model346RelayControlSettings object populated with relay control parameters.
- get_thermocouple_compensation_offset(input_channel)
Returns the thermal block compensation offset for a thermocouple input.
- Args:
- input_channel (str):
Specifies the thermocouple input to query. Valid channels: E1, E2, F1, F2, G1, G2, H1, H2
- Returns:
- float:
Offset value in Kelvin currently applied to the thermal block reading. Returns 0.0 if no offset has been configured.
- get_installed_option_cards()
Queries the installed option cards and returns detailed information.
- Returns:
dict[str, OptionCard]: A dictionary mapping slots (E, F, G, H) to OptionCard objects.
- get_option_card_type(slot)
Returns the type of option card connected to the specified slot.
- Args:
slot (str): Specifies the slot to query (E, F, G, H).
- Returns:
Model346Enums.OptionCardType: The type of option card connected to the slot.
- Raises:
ValueError: If the slot is invalid.
- get_option_card_channels(slot)
Returns the list of channels available on the specified option card slot.
- Args:
slot (str): Specifies the slot to query (E, F, G, H).
- Returns:
list[str]: The list of channels available on the option card in the specified slot.
- Raises:
ValueError: If the option card type is unsupported.
- class AutotuneMode(*values)
Enumerator used to represent the different autotune control modes.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class BrightnessLevel(*values)
Enumerator to specify the brightness level of an instrument display.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class ControlTypes(*values)
Enumerator used to represent the control type settings.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class CurveFormat(*values)
Enumerations specify formats for temperature sensor curves.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class CurveTemperatureCoefficient(*values)
Enumerations specify positive/negative temperature sensor curve coefficients.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class DiodeCurrent(*values)
Enumerator used to represent diode current ranges.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class DisplayFields(*values)
Enumeration of the possible number of fields to include in a custom display mode.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class DisplayFieldsSize(*values)
Enumeration of the display fields when mode is set to all inputs.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class HeaterError(*values)
Enumeration for possible errors flagged by the heater.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class Interface(*values)
Enumerator used to represent remote interface communication methods.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class InterfaceMode(*values)
Enumeration for the mode of the remote interface.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- class LanStatus(*values)
Represents the different status states for the lan connection.
- conjugate()
Returns self, the complex conjugate of any int.
- bit_length()
Number of bits necessary to represent self in binary.
>>> bin(37) '0b100101' >>> (37).bit_length() 6
- bit_count()
Number of ones in the binary representation of the absolute value of self.
Also known as the population count.
>>> bin(13) '0b1101' >>> (13).bit_count() 3
- as_integer_ratio()
Return a pair of integers, whose ratio is equal to the original int.
The ratio is in lowest terms and has a positive denominator.
>>> (10).as_integer_ratio() (10, 1) >>> (-10).as_integer_ratio() (-10, 1) >>> (0).as_integer_ratio() (0, 1)
- is_integer()
Returns True. Exists for duck type compatibility with float.is_integer.
- real
the real part of a complex number
- imag
the imaginary part of a complex number
- numerator
the numerator of a rational number in lowest terms
- denominator
the denominator of a rational number in lowest terms
- clear_interface_command()
Clears the bits in the SBR, SESR, OER, and terminates all operations.
Clears the bits in the Status Byte Register, Standard Event Status Register, and Operation Event Register. Terminates all pending operations. Clears the interface, but not the controller.
- command(*commands, check_errors=True)
Send an SCPI command or multiple commands to the instrument.
- Args:
- commands (str):
Any number of SCPI commands.
- check_errors (bool):
Chooses whether to query the SCPI error queue and raise errors as exceptions. True by default. Optional Parameter.
- connect_tcp(ip_address, tcp_port, timeout)
Establishes a TCP connection with the instrument on the specified IP address.
- connect_usb(serial_number=None, com_port=None, baud_rate=None, data_bits=None, stop_bits=None, parity=None, timeout=None, handshaking=None, flow_control=None)
Establish a serial USB connection.
- delete_curve(curve)
Deletes the user curve.
- Args:
- curve (int):
Specifies a user curve to delete.
- disconnect_tcp()
Disconnect the TCP connection.
- disconnect_usb()
Disconnect the USB connection.
- factory_reset()
Resets all system information such as settings, wi-fi connections, date and time, etc.
- get_control_setpoint(output)
Returns the value for a given control output.
- Args:
- output (int):
Specifies which output’s control loop to query (1 or 2).
- Returns:
- (float):
The value for the set-point (in the preferred units of the control loop sensor).
- get_curve(curve)
Returns a list of all the data points in a particular curve.
- Args:
- curve (int):
Specifies which curve to set.
- Returns:
- list[tuple[float, float] | tuple[float, float, float]]:
A list containing every point in the curve represented as a tuple. (sensor_units: float, temp_value: float, curvature_value: float (optional)).
- get_curve_data_point(curve, index)
Returns a standard or user curve data point.
- Args:
- curve (int):
Specifies which curve to query.
- index (int):
Specifies the points index in the curve.
- Returns:
- tuple[float, float] | tuple[float, float, float]:
(sensor_units: float, temp_value: float, curvature_value: float (optional)).
- get_curve_header(curve_number)
Returns parameters set on a particular user curve header.
- Args:
- curve_number (int):
Specifies a curve to retrieve.
- Returns:
- (CurveHeader):
A CurveHeader class object containing the curve information.
- get_heater_output(output)
Sample heater output in percent, scale is dependent upon the instrument used and heater configuration.
- Args:
- output (int):
Heater output to query.
- Returns:
- (float):
percent of full scale current/voltage/power.
- get_heater_pid(output)
Returns the closed loop control parameters of the heater output.
- Args:
- output (int):
Specifies which output’s control loop to query.
- Returns:
- (dict):
- {“gain”: float, “integral”: float, “derivative”: float}
gain: Proportional term in PID control. integral: Integral term in PID control. derivative: Derivative term in PID control.
- get_heater_status(output)
Returns the heater error code state, error is cleared upon querying the heater status.
- Args:
- output (int):
Specifies which heater output to query (1 or 2).
- Returns:
- (TemperatureControllerEnums.HeaterError):
Object of instrument’s HeaterError type.
- get_input_curve(input_channel)
Returns the curve number being used for a given input.
- Args:
- input_channel (str or int):
Specifies which input to query.
- Returns:
- (int):
Curve number (0-59).
- get_kelvin_reading(input_channel)
Returns the temperature value in kelvin of the given channel.
- Args:
- input_channel (str | int):
Selects the channel to retrieve reading.
- Returns:
- float:
The temperature value.
- get_manual_output(output)
Returns the manual output value in percent.
- Args:
- output (int):
Specifies output to query.
- Returns:
- (float):
Manual output percent.
- get_min_max_data(input_channel)
Returns the minimum and maximum data from an input.
- Args:
- input_channel (str):
Specifies which input to query.
- Returns:
- (dict[str, float]):
{“minimum”: float, “maximum”: float}
- get_operation_event_enable_mask()
Returns the names of the operation event enable register bits and their values.
These values determine which operation bits propagate to the operation event register.
- get_operation_events()
Returns the names of operation event status register bits that are currently high.
The event register is latching and values are reset when queried.
- get_present_operation_status()
Returns the names of the operation status register bits and their values.
- get_present_questionable_status()
Returns the names of the questionable status register bits and their values.
- get_questionable_event_enable_mask()
Returns the names of the questionable event enable register bits and their values.
These values determine which questionable bits propagate to the questionable event register.
- get_questionable_events()
Returns the names of questionable event status register bits that are currently high.
The event register is latching and values are reset when queried.
- get_relay_control_mode(relay_number)
Returns the configured mode of the specified relay.
- Args:
- relay_number (int):
Specifies which relay to query. Options are: 1 or 2.
- Returns:
- (LegacyTemperatureControllerEnums.RelayControlMode):
The configured mode of the relay. Represented as a member of the instrument’s RelayControlMode IntEnum class.
- get_relay_status(relay_channel)
Returns whether the relay at the specified channel is On or Off.
- Args:
- relay_channel (int):
The relay channel to query.
- Returns:
- (bool):
True if relay is on, False if relay is off.
- get_self_test()
Instrument self test result completed at power up.
- Returns:
- (bool):
True = errors found. False = no errors found.
- get_sensor_name(input_channel)
Returns the name of the sensor on the specified channel.
- Args:
- input_channel (str or int):
Specifies which input_channel channel to read from.
- Returns:
- name (str):
Name associated with the sensor.
- get_sensor_reading(input_channel)
Returns the sensor reading in the sensor’s units.
- Args:
- input_channel (str | int):
Selects the channel to retrieve reading.
- Returns:
- (float):
The raw sensor reading in the units of the connected sensor.
- get_service_request()
Returns the status byte register bits and their values as a class instance.
- get_service_request_enable_mask()
Returns the named bits of the status byte service request enable register.
This register determines which bits propagate to the master summary status bit.
- get_setpoint_ramp_parameter(output)
Returns the control loop parameters of a particular output.
- Args:
- output (int):
Specifies which output’s control loop to return.
- Returns:
- (dict[str, bool | float]):
{“ramp_enable”: bool, “rate_value”: float}
- get_setpoint_ramp_status(output)
Returns whether the set-point is ramping.
- Args:
- output (int):
Specifies which output’s control loop to query.
- Returns:
- (bool):
Ramp status. False = Not ramping, True = Ramping.
- get_standard_event_enable_mask()
Returns the names of the standard event enable register bits and their values.
These values determine which bits propagate to the standard event register.
- get_standard_events()
Returns the names of the standard event register bits and their values.
- get_status_byte()
Returns named bits of the status byte register and their values.
- get_temperature_limit(input_channel)
Returns the value of the temperature limit in kelvin.
- Args:
- input_channel (str or int):
Specifies which input to query.
- Returns:
- float:
The value of the temperature limit.
- modify_operation_register_mask(bit_name, value)
Gets the operation condition register mask, changes a bit, and sets the register.
- Args:
- bit_name (str):
The name of the bit to modify.
- value (bool):
Determines whether the bit masks (false) or passes (true) the corresponding state.
- modify_questionable_register_mask(bit_name, value)
Gets the questionable condition register mask, changes a bit, and sets the register.
- Args:
- bit_name (str):
The name of the bit to modify.
- value (bool):
Determines whether the bit masks (false) or passes (true) the corresponding state.
- modify_service_request_mask(bit_name, value)
Gets the service request enable mask, changes a bit, and sets the register.
- Args:
- bit_name (str):
The name of the bit to modify.
- value (bool):
Determines whether the bit masks (false) or passes (true) the corresponding state.
- modify_standard_event_register_mask(bit_name, value)
Gets the standard event register mask, changes a bit, and sets the register.
- Args:
- bit_name (str):
The name of the bit to modify.
- value (bool):
Determines whether the bit masks (false) or passes (true) the corresponding state.
- query(*queries, check_errors=True)
Sends an SCPI query or multiple queries to the instrument and return the response(s).
- Args:
- queries (str):
Any number of SCPI queries or commands.
- check_errors (bool):
Chooses whether to query the SCPI error queue and raise errors as exceptions. True by default. Optional Parameter.
- Returns:
The instrument query response as a string.
- reset_instrument()
Sets controller parameters to power-up settings.
- reset_measurement_settings()
Resets measurement settings to their default values.
- reset_status_register_masks()
Resets status register masks to preset values.
- set_control_setpoint(output, value)
Set set-point for specific output’s control loop.
Control settings, that is, P, I, D, and Set-point, are assigned to outputs, which results in the settings being applied to the control loop formed by the output and its control input.
- Args:
- output (int):
Specifies which output’s control loop to configure.
- value (float):
The value for the set-point (in the preferred units of the control loop sensor).
- set_curve(curve, data_points)
Method to define a user curve using a list of data points.
- Args:
- curve (int):
Specifies which curve to set.
- data_points (list[tuple[float, float] | tuple[float, float, float]]):
A list containing every point in the curve represented as a tuple. (sensor_units: float, temp_value: float, curvature_value: float (optional)).
- set_curve_data_point(curve, index, sensor_units, temperature, curvature=None)
Configures a user curve point.
- Args:
- curve (int or str):
Specifies which curve to configure.
- index (int):
Specifies the points index in the curve.
- sensor_units (float):
Specifies sensor units for this point to 6 digits.
- temperature (float):
Specifies the corresponding temperature in Kelvin for this point to 6 digits.
- curvature (float):
Specify only if the point is part of a cubic spindle curve. The curvature value scale used to calculate spindle coefficients to 6 digits. Optional parameter.
- set_curve_header(curve_number, curve_header)
Configures the user curve header.
- Args:
- curve_number (int):
Specifies which curve to configure.
- curve_header (CurveHeader):
Instrument’s CurveHeader class object containing the desired curve information.
- set_heater_pid(output, gain, integral, derivative)
Configure the closed loop control parameters of the heater output.
- Args:
- output (int):
Specifies which output’s control loop to configure.
- gain (float):
Proportional term in PID control. This controls how strongly the control output reacts to the present error.
- integral (float):
Integral term in PID control. This controls how strongly the control output reacts to the past error history.
- derivative (float):
Derivative term in PID control. This value controls how quickly the present field set point will transition to a new set-point.
- set_input_curve(input_channel, curve_number)
Specifies the curve an input uses for temperature conversion.
- Args:
- input_channel (str or int):
Specifies which input to configure.
- curve_number (int):
0 = none, 1-20 = standard curves, 21-59 = user curves.
- set_manual_output(output, value)
When instrument is in closed loop PID, Zone, or Open Loop modes a manual output may be set.
- Args:
- output (int):
Specifies output to configure.
- value (float):
Specifies value for manual output in percent.
- set_operation_event_enable_mask(register_mask)
Configures the values of the operation event enable register bits.
These values determine which operation bits propagate to the operation event register.
- Args:
- register_mask ([Instrument]OperationRegister):
An instrument specific OperationRegister class object with all bits configured true or false.
- set_questionable_event_enable_mask(register_mask)
Configures the values of the questionable event enable register bits.
These values determine which questionable bits propagate to the questionable event register.
- Args:
- register_mask ([Instrument]QuestionableRegister):
An instrument specific QuestionableRegister class object with all bits configured true or false.
- set_sensor_name(input_channel, sensor_name)
Sets a given name to a sensor on the specified channel.
- Args:
- input_channel (str or int):
Specifies which input_channel channel to read from.
- sensor_name (str):
Name user wants to give to the sensor on the specified channel.
- set_service_request(register_mask)
Manually enable/disable the mask of the corresponding status-flag bit in the status byte register.
- Args:
- register_mask (service_request_enable):
A service_request_enable class object with all bits configured.
- set_service_request_enable_mask(register_mask)
Configures values of the service request enable register bits.
This register determines which bits propagate to the master summary bit.
- Args:
- register_mask (StatusByteRegister):
A StatusByteRegister class object with all bits configured true or false.
- set_setpoint_ramp_parameter(output, ramp_enable, rate_value)
Sets the control loop of a particular output.
- Args:
- output (int):
Specifies which output’s control loop to configure.
- ramp_enable (bool):
Specifies whether ramping is off or on (False = Off or True = On).
- rate_value (float):
Specifies set-point ramp rate in kelvin per minute. The rate is always positive but will respond to ramps up or down. A rate of 0 is interpreted as infinite, and will respond as if set-point ramping were off. (0.1 to 100)
- set_standard_event_enable_mask(register_mask)
Configures values of the standard event enable register bits.
These values determine which bits propagate to the standard event register.
- Args:
- register_mask (StandardEventRegister):
A StandardEventRegister class object with all bits configured true or false.
- set_temperature_limit(input_channel, limit)
After a set temperature limit is exceeded, all control outputs will shut down.
- Args:
- input_channel (str or int):
Specifies which input to configure.
- limit (float):
The temperature limit in kelvin for which to shut down all control outputs when exceeded. A limit of zero will turn the feature off.
- write(command_string)
Alias of command. Send a command to the instrument.
- Args:
- command_string (str):
A serial command.
Settings classes
This section outlines the classes used to interact with methods which return or accept an argument of a class object, specific to the Lake Shore model 346.
- class lakeshore.model_346.Model346InputSensorSettings(sensor_type, autorange_enable, compensation, units, input_range=None)
Class object used in the get/set_input_sensor methods.
- __init__(sensor_type, autorange_enable, compensation, units, input_range=None)
Constructor for the InputSensor class.
- Args:
- sensor_type (Model346Enums.InputSensorType):
Specifies input sensor type.
- autorange_enable (bool):
Specifies autoranging (False = off, True = on).
- compensation (bool):
Specifies input compensation. (False = off, True = on).
- units (Model346Enums.InputSensorUnits):
Specifies the preferred units parameter for sensor readings and for the control set-point.
- input_range (IntEnum):
Specifies input range if autorange_enable is False. See IntEnum classes: Model346Enums.DiodeRange, Model346Enums.PTCRTDRange, and Model346Enums.NTCRTDRange.
- class lakeshore.model_346.Model346AlarmSettings(enabled, high_limit, low_limit, deadband, latch, audible, visible)
Class used to configure an alarm in conjunction with the set/get_alarm_settings() method for the Model346.
- __init__(enabled, high_limit, low_limit, deadband, latch, audible, visible)
Constructor for AlarmSettings class.
- Args:
- enabled (bool):
Enables or Disables the alarm.
- high_limit (float):
Specifies the high limit for the alarm. Units depend on whether a curve is assigned to the input (sensor units if no curve, K or C per INTYPE if a curve is assigned).
- low_limit (float):
Specifies the low limit for the alarm.
- deadband (float):
Specifies the deadband for the alarm.
- latch (bool):
Specifies whether the alarm latches when triggered.
- audible (bool):
Specifies whether the alarm is audible when triggered.
- visible (bool):
Specifies whether the alarm is visible when triggered.
- lakeshore.model_346.Model346CurveHeader
alias of
CurveHeader
Enumeration objects
This section describes the Enum type objects that have been created to name various settings of the Model 346 series that are represented as an int or single character to the instrument. The purpose of these enum types is to make the settings more descriptive and obvious to the user rather than interpreting the ints taken by the instrument.
- class lakeshore.model_346.Model346Enums
Class containing the enums relevant to the Model 346.
- class InputSensorType(*values)
Sensor type enumeration.
- DISABLED = 0
- DIODE = 1
- PLATINUM_RTD = 2
- NTC_RTD = 3
- THERMOCOUPLE = 4
- class InputSensorUnits(*values)
Enumerator used to represent temperature sensor unit options.
- KELVIN = 0
- CELSIUS = 1
- class PTCRTDRange(*values)
PTC RTD resistance range enumeration.
- TEN_OHM = 0
- ONE_HUNDRED_OHM = 1
- ONE_THOUSAND_OHM = 2
- class NTCRTDRange(*values)
NTC RTD resistance range enumeration.
- ONE_HUNDRED_OHM = 0
- THREE_HUNDRED_OHM = 1
- ONE_THOUSAND_OHM = 2
- THREE_THOUSAND_OHM = 3
- TEN_THOUSAND_OHM = 4
- THIRTY_THOUSAND_OHM = 5
- HUNDRED_THOUSAND_OHM = 6
- class HeaterRange(*values)
Heater range enumerations for heater outputs(1-4) amd heater groups 9 and 10.
- OFF = 0
- LOW = 1
- HIGH = 2
- class HeaterAutorange(*values)
Heater autorange enumeration for heater outputs 1-4.
- DISABLED = 0
- ENABLED = 1
- class HeaterRangeAnalogOutput(*values)
Heater range enumeration for analog outputs 5 and 8.
- OFF = 0
- ON = 1
- class HeaterOutputUnits(*values)
Enumerator used to represent heater output unit settings.
- POWER = 0
- CURRENT = 1
- class OutputMode(*values)
Output control enumeration.
- OFF = 0
- PID = 1
- ZONE = 2
- OPEN_LOOP = 3
- MONITOR_OUT = 4
- class StandardCurveType(*values)
Enumeration for standard curve types.
- DIODE_DT670 = 2
- PTC_PT100 = 6
- NTC_RX102A_AA = 8
- NTC_RX202A_AA = 9
- NTC_RX103A_AA = 10
- THERMOCOUPLE_TYPE_K = 12
- THERMOCOUPLE_TYPE_E = 13
- class RelayControlAlarm(*values)
Enumeration of the setting determining which alarm(s) cause a relay to close in alarm mode.
- LOW_ALARM = 0
- HIGH_ALARM = 1
- LOW_OR_HIGH_ALARM = 2
- LOW_AND_HIGH_ALARM = 3
- class RelayControlMode(*values)
Enumeration for relay control feature/mode.
- OFF = 0
- ON = 1
- ALARMS = 2
- THERMOMETRY_INPUT = 2
- OUTPUT_STATUS = 3
- DIGITAL_INPUT = 4
- SYSTEM_STATUS = 5
- FUNCTION_OUTPUT = 6
- class RelayThermometryCondition(*values)
Enumeration for relay thermometry input conditions.
- LOW_ALARM_ACTIVE = 0
- HIGH_ALARM_ACTIVE = 1
- EITHER_ALARM_ACTIVE = 2
- BOTH_ALARMS_ACTIVE = 3
- THRESHOLD_1 = 4
- THRESHOLD_2 = 5
- THRESHOLD_3 = 6
- THRESHOLD_4 = 7
- SENSOR_FAULT = 8
- TEMPERATURE_FAULT = 9
- TEMPERATURE_EXTRAPOLATED = 10
- class RelayOutputStatusCondition(*values)
Enumeration for relay output status conditions.
- OUTPUT_LOAD_FAULT = 0
- OUTPUT_STABILIZING = 1
- OUTPUT_STABLE = 2
- OUTPUT_WARM = 3
- OUTPUT_SETPOINT_RAMPING_COMPLETE = 4
- class RelayDigitalInputCondition(*values)
Enumeration for relay digital input conditions.
- LOW = 0
- HIGH = 1
- class RelayFunctionOutputCondition(*values)
Enumeration for relay function output conditions.
- FALSE = 0
- TRUE = 1
Register Classes
This page describes the register objects. Each bit in the register is represented as a member of the register’s class
- lakeshore.model_346.Model346StandardEventRegister
alias of
StandardEventRegister
- class lakeshore.xip_instrument.StandardEventRegister(operation_complete, query_error, device_specific_error, execution_error, command_error, power_on)
Class object representing the standard event register.
- bit_names = ['operation_complete', 'query_error', 'device_specific_error', 'execution_error', 'command_error', '', 'power_on']
- lakeshore.model_346.Model346StatusByteRegister
alias of
StatusByteRegister
- class lakeshore.xip_instrument.StatusByteRegister(error_available, questionable_summary, message_available_summary, event_status_summary, master_summary, operation_summary)
Class object representing the status byte register.
- bit_names = ['', '', 'error_available', 'questionable_summary', 'message_available_summary', 'event_status_summary', 'master_summary', 'operation_summary']
- class lakeshore.model_346.Model346OperationRegister(core_summary, option_summary, output_summary, all_warm, external_24v_missing)
Class object representing the operation status register.
Represents the top-level STATus:OPERation:CONDition? register.
Bit 0 (weight 1): CORE Summary Bit (A, B, C1-4, D1-4) Bit 1 (weight 2): OPTion Summary Bit (E, F, G, H) Bit 2 (weight 4): OUTput Summary Bit (1-10) Bit 4 (weight 16): ALL WARM bit Bit 15 (weight 32768): External 24V not present
All other bits (3, 5-14) are not used per the manual.
- bit_names = ['core_summary', 'option_summary', 'output_summary', '', 'all_warm', '', '', '', '', '', '', '', '', '', '', 'external_24v_missing']
- class lakeshore.model_346.Model346QuestionableRegister(core_summary, option_summary, output_summary, function_summary)
Class object representing the questionable status register.
Represents the top-level STATus:QUEStionable:CONDition? register.
The Model 346 status system organizes questionable status into:
- CORE: Inputs A, B, C1-C4, D1-D4 (RDGST? status) - OPTion: Option cards E, F, G, H (channels 1-4 each) - OUTput: Outputs 1-10 (OUTST? status) - FUNCtion: Functions 1-16
- bit_names = ['core_summary', 'option_summary', 'output_summary', 'function_summary']