neclib.devices.ad_converter.cpz3177#

Aliases#

ADConverter

None

busy

Manages the busy state of the object.

sanitize

None

class CPZ3177[source]#

Bases: ADConverter

a/d converter, which can convert by 32 or 64 channels.

Notes

Configuration items for this device:

rsw_id{0, 1, …, 16} or {“0”, “1”, …, “9”, “A”, …, “F”}

Board identifier. This should be set to the same value as the rotary switch “RSW1” mounted on the side of the board. The board is shipped with default RSW1 setting of 0. This ID would be non-zero, when multiple PCI board of same model are mounted on a single FA (Factory Automation) controller.

ave_numint

Number of sampled data to be averaged over. This script not only measures the actual voltage, but also performs fluctuation reduction in order to measure a faint voltage. The value should not be too large compared to sampling frequency smpl_freq, otherwise the output won’t follow the change of voltage.

smpl_freqint

Sampling frequency; number of data obtained in 1 second. The value should not be too small against ave_num.

single_diff{“SINGLE” or “DIFF”}

Input type of voltage. “SINGLE” is “Single-ended input”, “DIFF” is “Differential input”.

all_ch_numint

Number of channels used in voltage measurement. The maximum number is 32 in differential input, 64 in single-ended input. Please read the manual of this board for wiring design. It must be defined the maximum channel number to be used. For example, when channels [3, 5, 9, 12] are used, all_ch_mum must be set 12 at least.

ch_range{‘0_5V’, ‘0_10V’, ‘2P5V’, ‘5V’ or ‘10V’}

Voltage measurement range. The acceptable “range” values are as below: ‘0_5V’: 0 - 5 V, ‘0_10V’ : 0 - 10 V, ‘2P5V’ : -2.5 - 2.5 V, ‘5V’ : -5 - 5 V, ‘10V’ : -10 - 10 V. These should be set to the same value as the value corresponding to combination of three DIP switch “DSW1”, “DSW2”, “DSW3” mounted on the side of the board. Please read the manual of this board for the combination of DIP switches.

channelDict[str, int]

Human-readable channel name. The value should be mapping from human readable version (str) to device level identifier (int). You can assign any name to the channels, but you must name usage at the head of channel name; “sis” or “hemt”, like “sis_USB_V” or “hemt_ch1_Vdr”. No need to define the aliases for all the channels listed in smpl_ch_req, but defining aliases for unused channels will raise error.

converterList[Dict[str, str]]

Functions to convert measured voltage to any parameter you want, in format {ch = str(channel id defined in ``channel), str(parameter_type) = str(function)}``. Supported``parameter_types`` are [“V”, “I”, “P”], and x in function will be substituted by the measured value. This would be useful when measured voltage is scaled and/or shifted version of physical parameter.

You can use this PCI board for some target, like SIS and HEMT bias voltage measurement. You must wrap up all setting in one representative target, rest targets have only device model name; _ and rsw_id. Different measurement setting in ave_num, ‘’smpl_freq``, single_diff, all_ch_num and ch_range between different target will raise error. See defaults setting file in neclib/defaults/config.toml.

Manufacturer: str = 'Interface'#
Model: str = 'CPZ3177'#
Identifier: ClassVar[Optional[str]] = 'rsw_id'#
get_data(ch)[source]#
Parameters:

ch (int) –

Return type:

List[float]

property converter: Dict[str, Callable[[float], float]]#
get_voltage(id)[source]#
Parameters:

id (str) –

Return type:

Quantity

get_current(id)[source]#
Parameters:

id (str) –

Return type:

Quantity

get_power(id)[source]#
Parameters:

id (str) –

Return type:

Quantity

finalize()[source]#
Return type:

None