Usage Guide

In addition to the templates, the Custom Experiment Builder provides comprehensive guides for specialized innovative features that help you unlock the full potential of your electrochemical experiments. These advanced capabilities enable you to create sophisticated, highly customized experiments tailored to your specific research needs.

Data Handling

Understanding how data is organized in the Custom Experiment Builder is crucial for effective experiment design. By default, each block has a dataset input name set to «default», and the measurement data from every block is stored in its own separate dataset.

Open Circuit Voltage Scan block with its Dataset name input set to the default value "default".

Combining Data from Multiple Blocks

For complex experiments, you can assign the same custom dataset name to multiple blocks. This powerful feature allows you to seamlessly combine and append data from different measurement blocks into a single, unified dataset. This unified approach is invaluable for comprehensive analysis and visualization of your experimental results.

In the example below, both blocks use the dataset name «my_fancy_experiment_data», which results in their data being combined into a single dataset with a continuous time axis. To execute the polarization multiple times a count with loop is used:

Custom experiment with two Polarization blocks that share the dataset name "my_fancy_experiment_data", combining their data into a single dataset; a count with loop repeats the polarization.

Dynamic Dataset Naming

You can create dynamic dataset names by incorporating loop parameters or other variables into the naming scheme. This feature automatically generates unique dataset names based on your experimental conditions.

The following example uses the loop parameter “bias_voltage” to create the dataset name and save it to the variable “dataset_name”:

Custom experiment that builds a dynamic dataset name from the loop parameter "bias_voltage" and stores it in the "dataset_name" variable.

In this example, the datasets in the Recordings of the Project View will be automatically named «polarization_voltage_1» through «polarization_voltage_10» for each iteration, corresponding to the loop values from 1 to 10.

This systematic naming approach makes it much easier to identify and organize each dataset later, especially when working with multiple iterations or variations of the same measurement primitives. As described above, multiple primitives can be combined into a single data set using these dynamically generated names.

When a loop parameter is a floating-point value, inserting it directly into the name can produce unwieldy results like «polarization_voltage_0.0314568». To keep your names clean, use the Format Number block: it lets you control precision, sign, padding, and notation, so the generated dataset names stay tidy and sort correctly in the Recordings of the Project View.

Reading Values of Datasets

Values that were recorded earlier in an experiment can be read back and reused in the primitives or logic blocks that follow. This lets one measurement react to the result of a previous one, for example to set the next bias relative to the last measured voltage, or to report a value from a finished spectrum.

Three blocks are available for this, depending on the type of dataset and the value you need:

The example below combines all three blocks:

Custom experiment demonstrating the three dataset read blocks: a feedback loop that sets each Polarization bias from the previous dataset's last voltage, and an open message box that reads impedance magnitude and DC voltage back from an EIS dataset by frequency point and by time.

A first Polarization records into the dataset named by the dataset_name variable. Inside the following count with loop, the bias of each Polarization is not a fixed number but a Read DC Value From Dataset block: it reads the voltage at 0 s from end (the last value measured so far) and adds 0.1 V. Each iteration therefore steps the bias up by 0.1 V relative to the voltage the cell actually reached, creating a simple feedback between successive measurements.

After an EIS measurement into the dataset «eis», a message box reads three values back from that spectrum and prints them:

The resulting message box is shown open in the figure, listing the three values that were read back from the «eis» dataset.

As the last two entries show, the DC values stored alongside an EIS spectrum can be read in two different ways: by frequency point or by time. Reading by frequency point is usually the better choice, because the exact time at which each impedance point was measured is not precisely defined during an EIS measurement, whereas the frequency of each point is. Reading by time is still useful in specific cases, for example when you simply want the very last value that was measured, which you get with 0 s from end regardless of its frequency.

External Potentiostats

External potentiostats can be seamlessly integrated into your custom experiments. You have to simply select the desired external potentiostat with the Set Active block.

Custom experiment using the Set Active block to select an external potentiostat before the measurement blocks are executed.

You can click on the potentiostat selection field to open a drop down menu that lists all available external and internal potentiostats connected to your Zahner IM7/c/x workstation.

Parametrized Custom Experiments

The Custom Experiment Builder allows you to create parametrized custom experiments that can be efficiently reused with different parameter sets. These parameters can be easily configured through the Zahner Lab interface without requiring any modifications to the underlying block structure.

Zahner Lab interface showing a parametrized custom experiment with its description and custom parameter table on the right-hand side.

With parametrized experiments, you have the flexibility to add your own detailed descriptions and create custom parameter tables. Just like with all other experiments, these parameters can be conveniently edited through the Zahner Lab interface on the right-hand side without modifying the block structure.

To create parameters, use the Create parameter… button in the toolbox:

The Custom Experiment Builder toolbox with the "Create parameter..." button used to add a new experiment parameter.

This opens a dialog that allows you to create a new parameter with a custom name, description, and unit that will be displayed in the Zahner Lab interface:

Dialog for creating a new experiment parameter with a custom name, description, and unit shown in the Zahner Lab interface.

Tips & Tricks

Shortcuts

The Custom Experiment Builder supports standard keyboard shortcuts to speed up your workflow:

  • Ctrl + Z: Undo the last action

  • Ctrl + Y: Redo a previously undone action

  • Ctrl + C: Copy selected blocks

  • Ctrl + V: Paste copied blocks

  • Del: Delete selected blocks

Block Context Menu

Block context menu opened with a right-click, showing options such as Expand/Collapse Block and Help.

Secondary mouse button click (usually right-clicking) on any block opens a context menu with several useful options:

  • Expand/Collapse Block: Toggle block visibility to make large experiments easier to navigate and manage. Collapsed blocks show only block type, while expanded blocks display full details.

  • Help: Access block-specific documentation and guidance directly from the interface

Copy Blocks Between Experiments

You can easily transfer blocks from one experiment to another:

  1. Select the block you want to copy (or select a parent block to copy multiple blocks at once), then copy it using Ctrl + C

  2. Open the target experiment in Zahner Lab Custom Experiments to access its workspace

  3. Click anywhere in the target workspace and paste the copied blocks using Ctrl + V

Managing Large Datasets

The Custom Experiment Builder uses an optimized plotting framework designed to handle large datasets efficiently. However, since the processing power of each user’s computer varies widely, there is no one-size-fits-all configuration for displaying measurement data in real time. On mid-range laptops, for example, rendering more than approximately 100,000 data points in the dashboard may result in noticeable latency or stuttering.

To ensure a smooth experience regardless of your computer’s specifications, the dashboard defaults to a sliding window timeline that limits the number of values displayed at once. If you notice any sluggishness during your experiment, simply reduce the sliding window size to match your computer’s capabilities.