PM100D module

Created on Thu Dec 2 08:27:01 2021

@author: MartinMihaylov

class Instruments_Libraries.PM100D.PM100D(resource_str=None, *, resource_name=None, backend=None, timeout_ms=1000)[source]

Bases: object

Thorlabs PM100-series power meter wrapper using PyVISA.

You can construct either with:
  • resource_str=”P00XXXXX” # serial only (legacy behavior)

  • resource_str=”USB0::…::INSTR” # full VISA resource (also works)

  • resource_name=”USB0::…::INSTR” # explicit VISA resource

Parameters:
  • resource_str (str | None) – Either the device serial (e.g., ‘P00XXXXX’) or a full VISA string. Kept for backward compatibility.

  • resource_name (str | None) – Explicit VISA resource name to open. If given, resource_str is ignored.

  • backend (str | None) – Optional PyVISA backend string, e.g., @py’ for pyvisa-py.

  • timeout_ms (int) – VISA I/O timeout in milliseconds.

Abort()[source]
Returns:

Abort measurement

Return type:

None.

Close()[source]

Closes the VISA resource.

ConfigCurrent()[source]

Configure for current measurement.

Return type:

None

ConfigEnergy()[source]

Configure for energy measurement.

Return type:

None

ConfigEnergyDensity()[source]

Configure for energy density measurement.

Return type:

None

ConfigFreq()[source]

Configure for frequency measurement.

Return type:

None

ConfigPower()[source]

Configure for power measurement.

Return type:

None

ConfigPowerDensity()[source]

Configure for power density measurement.

Return type:

None

ConfigResistance()[source]

Configure for sensor presence resistance measurement.

Return type:

None

ConfigTemp()[source]

Configure for sensor temperature measurement.

Return type:

None

ConfigVoltage()[source]

Configure for voltage measurement.

Return type:

None

DefaultPowerMeas(WaveLength)[source]

Legacy function. Do not use! Use get_Power instead. Performs a power measurement with hard coded parameters! PowerRange is set to auto.

Parameters:

WaveLength (float) – Wavelength in nm.

Returns:

Power in dBm.

Return type:

float

DefaultPowerMeas_W(WaveLength)[source]

Legacy function. Do not use! Use get_Power instead. Performs a power measurement with hard coded parameters! PowerRange is set to auto.

Parameters:

WaveLength (float) – Wavelength in nm.

Returns:

Power in W.

Return type:

float

DisplayParam(Type)[source]

Legacy function. Do not use. This function will print all the adjusted parameters.

Parameters:

Type (str) – Can be set to Type = [‘Power’,’Energy’,’Current’,’Voltage’]

Return type:

None

DisplayParamDict(Type)[source]

This function will print all the adjusted parameters.

Parameters:

Type (str) – Can be set to Type = [‘Power’,’Energy’,’Current’,’Voltage’]

Returns:

  • Headers (str) – String with [‘Power’,’Energy’,’Current’,’Voltage’]

  • Data (list) – Data from the instrument.

  • Params (list) – List with str for different data that are extracted from the instrument.

Return type:

None

Init()[source]

Start measurement.

Return type:

None.

MeasCurrent()[source]

Performs a current measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasEnergy()[source]

Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasEnergyDensity()[source]

Performs an energy density measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasFreq()[source]

Performs a frequency measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasPower()[source]

Performs a Power measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasPowerDensity()[source]

Performs a power density measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasResistance()[source]

Performs a sensor presence resistance measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasTemp()[source]

Performs a sensor temperature measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

MeasVoltage()[source]

Performs a voltage measurement. Maxim: Does nothing? Measure with Init() or readData() instead!

Return type:

None

OPC()[source]
Returns:

Query the OPC value

Return type:

str

PowerMeas()[source]

Legacy function. Do not use! Use get_Power instead. Performs a power measurement interactively.

Returns:

Data from the power measurement.

Return type:

float

PowerSpecifications()[source]

Legacy function. Do not use. This function will print all the adjusted parameters for the power measurement.

Return type:

None

ReadConfig()[source]
Returns:

Query the current measurement configuration

Return type:

str

adjustCurrentRange()[source]

Legacy function. Do not use. Adjust the Current Measurement interactively.

adjustEnergyMeas()[source]

Legacy function. Do not use. Adjust the Energy Measurement interactively.

adjustPowerMeas()[source]

Legacy function. Do not use. Adjust the power measurement interactively.

Return type:

None

adjustVoltageRange()[source]

Legacy function. Do not use. Adjust the Voltage Measurement interactively.

ask_AdapterType()[source]
Returns:

Queries default sensor adapter type

Return type:

str

ask_AutoCurrentRange()[source]
Returns:

Queries the auto-ranging function state.

Return type:

str

ask_AutoPowerRange()[source]
Returns:

Queries the auto-ranging function state.

Return type:

str

ask_AutoVoltageRange()[source]
Returns:

Queries the auto-ranging function state.

Return type:

str

ask_Average()[source]
Returns:

Queries the averaging rate.

Return type:

str

ask_BeamDiameter()[source]
Returns:

Queries the beam diameter.

Return type:

str

ask_PDPower()[source]
Returns:

Queries the photodiode response value.

Return type:

str

ask_Power(unit=None, waveLength=None, *, allow_NaN=False, delay=None)[source]

Calls get_Power().

Parameters:
  • unit (str)

  • waveLength (float)

  • allow_NaN (bool)

  • delay (float | None)

Return type:

float

ask_PowerRange()[source]
Returns:

Queries the power range.

Return type:

str

ask_PowerUnits()[source]
Returns:

Queries the power unit.

Return type:

str

ask_Pyro()[source]
Returns:

Queries the pyro-detectr response value.

Return type:

str

ask_Thermopile()[source]
Returns:

Queries the thermopile response value.

Return type:

str

ask_Wavelength()[source]
Returns:

Queries the operation wavelength.

Return type:

str

ask_beeper()[source]
Returns:

Return the state of the beeper.

Return type:

int

ask_calibration()[source]
Returns:

Returns a human readable calibration string.

Return type:

str

ask_currentRange()[source]
Returns:

Queries the actual current range.

Return type:

str

ask_energyRange()[source]
Returns:

Queries the energy range.

Return type:

str

ask_freqRange(state)[source]

Queries the frequency range.

Parameters:

state (str) – Can be [‘MAX’,’MIN’]

Raises:

ValueError – Error message.

Returns:

Queries the frequency range.

Return type:

str

ask_voltRange()[source]
Returns:

Queries the current voltage range.

Return type:

str

fetchData(allow_NaN=False, delay=None)[source]

Reads last measurement data. WILL NOT START THE MEASUREMENT! Use readData() instead. Returns ‘nan’ if no data is available.

Returns:

last measurement data or ‘nan’ if no data is available.

Return type:

float

Parameters:
  • allow_NaN (bool)

  • delay (float | None)

getIdn()[source]

Returns the Instrument Identification: Thorlabs,PM100D

Return type:

str

get_Power(unit=None, waveLength=None, *, allow_NaN=False, delay=None)[source]

Performs a Power measurement.

Parameters:
  • unit (str, optional) – Power unit [‘W’,’dBm’]. The default is (keep unchanged).

  • waveLength (float, optional) – Wavelength in nm. The default is (keep unchanged).

  • allow_NaN (bool, optional) – If True, returns ‘nan’ if no data is available. The default is False.

  • delay (float, optional) – Delay in seconds between query and read. The default is (standard delay).

Returns:

Power in dBm or W.

Return type:

float

query(message)[source]
readData(allow_NaN=False, delay=1)[source]

Starts a measurement and reads last measurement data.

Returns:

last measurement data or ‘nan’ if no data is available.

Return type:

float

Parameters:
  • allow_NaN (bool)

  • delay (float | None)

self_test()[source]
Returns:

Use this query command to perform the instrument self-test routine. The command places the coded result in the Output Queue. A returned value of zero (0) indicates that the test passed, other values indicate that the test failed.

Return type:

TYPE

set_AdapterType(state)[source]
Parameters:

state (str) –

Sets default sensor adapter type:

Allow senor types are: [‘PHOTodiode’,’THERmal’,’PYRo’]

Raises:

ValueError – Error message.

Return type:

None.

set_AutoCurrentRange(state)[source]

Switches the auto-ranging function on and off.

Parameters:

state (str/int) – Can be set to [‘ON’,’OFF’,1,0].

Raises:

ValueError – Error message.

Return type:

None

set_AutoPowerRange(state)[source]

Switches the auto-ranging function on and off.

Parameters:

state (str/int) – Can be set to [‘ON’,’OFF’,1,0].

Raises:

ValueError – Error message.

Return type:

None

set_AutoVoltageRange(state)[source]

Switches the auto-ranging function on and off.

Parameters:

state (str/int) – Can be [‘ON’,’OFF’,1,0]

Raises:

ValueError – Error message.

Return type:

None

set_Average(value)[source]
Parameters:

value (float/int) – Sets the averaging rate (1 sample takes approx. 3ms)

Return type:

None

set_PD(state)[source]
Parameters:

state (str/int) –

Sets the bandwidth of the photodiode input stage.

Can be [‘ON’,’OFF’,1,0]

Raises:

ValueError – Error message.

Return type:

None

set_Parameters(Type)[source]

Legacy function. Do not use. This function will set the measurement parameters interactively.

Parameters:

Type (str) – Can be set to Type = [‘Power’,’Energy’,’Current’,’Voltage’]

Return type:

None

set_PowerRange(value)[source]
Parameters:

value (float/int) – Sets the current range in W

Raises:

ValueError – Error message.

Return type:

None

set_PowerUnits(state)[source]
Parameters:

state (str) – Sets the power unit W or dBm. Can be [‘W’,’dBm’].

Raises:

ValueError – Error message.

Return type:

None

set_WaveLength(value)[source]
Parameters:

value (float/int) – Sets the operation wavelength in nm.

Return type:

None

set_currentRange(value)[source]
Parameters:

value (float/int) – Sets the current range in A.

Raises:

ValueError – Error message.

Return type:

None

set_energyRange(value)[source]
Parameters:

value (float) – Sets the energy range in J

Raises:

ValueError – Error message.

Return type:

None

set_voltageRange(value)[source]
Parameters:

value (float) – Sets the voltage range in V

Raises:

ValueError – Error message.

Return type:

None

write(message)[source]