Utils
Switch On
Attention
If the potentiostat was switched on in potentiostatic mode, all primitives are executed in potentiostatic mode.
If it was switched on in galvanostatic mode, all primitives are executed in galvanostatic mode. In cyclic voltammetry, for example, all passed values, such as the reverse vertex values, are currents in galvanostatic mode.
See also a corresponding FAQ section: Potentiostatic & Galvanostatic.
Only a few methods require a specific operating mode and therefore cannot be run in both galvanostatic and potentiostatic mode.
The voltage range and compliance range can be set in the hardware settings.
API
The primitive of the block is also available with the following API:
Python:
zahner_link.control.SwitchOnJob
Switch On Quick
The Switch On Quick job does not check whether the device can be turned on at the desired current or voltage. Because it skips these checks, the job runs faster.
You must decide for yourself whether switching on was successful or whether the device should be turned off again. For this reason, we recommend using the normal Switch On job whenever possible.
To check whether switching on was successful, run a short Polarization and read the result back with Read Value From DC Dataset, or measure a value directly with a Measure Channel.
API
The primitive of the block is also available with the following API:
Switch Off
Switches the potentiostat output off.
API
The primitive of the block is also available with the following API:
Python:
zahner_link.control.SwitchOffJob
Set Active
Sets the active potentiostat on which the following primitives are executed.
If you have multiple potentiostats, they can be independently switched on and off. However, only one potentiostat can be active at a time so that the primitives are executed on it. It’s not possible to execute primitives on multiple potentiostats at the same time.
API
The primitive of the block is also available with the following API:
Potentiostat Selector
Selects the potentiostat for use in the three previous blocks: Switch On, Switch Off, and Set Active.
With an click on the text MAIN a dropdown opens to select other available potentiostats.
Open Circuit Voltage Determination
This block can be used to determine the OCV as a value for the following primitives as in the Zahner Lab. It performs an open circuit voltage scan and returns the last measured voltage value as the result.
Zahner Lab Experiments
The primitive of the block is used by the following Zahner Lab experiments:
Read DC Value From Dataset
Reads a single DC value from a dataset that was recorded by an earlier DC primitive, so the value can be reused in the following primitives or logic blocks.
Select the channel to read with a Channel Selector (for example voltage or current) and enter the name of the dataset to read from. This name must match the Dataset name assigned to the measurement, for example the one set in a Polarization.
The value is taken at the given time offset in seconds, counted either from the start or from the end of the dataset.
With 0 s from end the last measured value is returned.
Read Value From EIS Dataset
The following two blocks read a value back from an EIS dataset, so it can be reused in the following primitives or logic blocks. Enter the name of the dataset to read from; it must match the Dataset name assigned to the EIS measurement.
The value is taken at the impedance point whose frequency is closest to the given frequency in Hz. If the same frequency occurs more than once in the dataset, the last matching point is used.
Read Last DC Value From EIS Dataset
Returns a DC channel value, for example the DC voltage or current measured alongside the spectrum. Select the channel with a Channel Selector.
Read Last Impedance Value From EIS Dataset
Returns the magnitude or the phase of the impedance, selected with the dropdown.
The selector (main by default) chooses which potentiostat’s impedance is read.
Measure Channel
Measures the specified channel for a defined duration.
Only a single value is returned and no dataset is created.
API
The primitive of the block is also available with the following API:
Channel Selector
Returns an available channel. This channel is used in the Measure Channel or in Stop Conditions.
With an click on the text current a dropdown opens to select other available channels.
Beep
Generates an audible beep signal with a specified frequency and duration for user notifications.
API
The primitive of the block is also available with the following API:
Python:
zahner_link.control.BeepJob
Control User Led
Control the lower LED on the front panel of the potentiostat.
Select color black to turn off the LED.
API
The primitive of the block is also available with the following API:
Control RMUX16
Switches the active channel on the RMUX16 multiplexer. You can select any channel from 1 to 16. Select channel 0 to deactivate all channels.
If multiple RMUX16 cards are connected, only one card may have an active channel at a time. Activating a channel on more than one card simultaneously would connect those channels in parallel to the MAIN potentiostat.
Switch Dashboard
Instantly switch which dashboard is displayed during your experiment, so you always see the most relevant data.
By default, the dashboard operates in automatic mode (index 1), which intelligently selects the best-matching layout for each primitive. For example, when a Cyclic Voltammetry primitive runs, the dashboard automatically shows the Cyclic Voltammetry view.
Indices 2 through 9 are fully user-configurable, so you can set up dedicated dashboards tailored to your specific experiments. Once you switch to a custom dashboard, automatic switching is paused - your chosen view stays in place until you explicitly select a different dashboard or return to automatic mode by setting the index back to 1.
Create Number List
Creates numerical sequences with linear or logarithmic spacing for parameter sweeps. For example, to easily create a sequence of values for impedances at different DC currents.
Logarithmic spacing requires all values to be positive and non-zero. For negative ranges create the list with positive values and then multiply with -1.
Control MIO
Blocks for controlling the MIO extension card. The MIO provides optically isolated digital inputs and outputs as well as analog voltage outputs.
The TempuRmuxMio example shows how to control the MIO from Python with the jobs:
Read Digital Input
Reads the state of the digital inputs of the MIO card. A single input can be read by its channel number, or all inputs at once as a bitmask.
The read single channel returns an boolean value, while the bitmask returns an integer where each bit corresponds to the state of one input channel.
Attention
A read value is handled internally as a floating-point number and can therefore differ slightly from a clean value - a 1 may, for example, arrive as 0.9999999.
When you react to it, e.g. in a stop condition, compare it against a range or threshold (such as “greater than 0.5”) instead of testing for an exact match.
Write Digital Output
Switches the digital outputs of the MIO card.
A single output can be set to true or false by its channel number, or all outputs at once with a bitmask value.
Attention
The same floating-point caution applies to the value you set here: a bitmask coming from a calculation can be off by a tiny amount (e.g. 5 arriving as 4.9999999) and switch the wrong outputs.
Make sure it is a clean whole number - round it if necessary.
Write Analog Output
Sets the output voltage of one of the analog outputs of the MIO card. Select the output channel and specify the voltage within the ±10 V range.
Get Workstation Info
Reads different information about the IM7 Workstation, such as the serial number and firmware version. This information is returned as a string.