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.
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:
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’:
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:
Read DC Value From Dataset reads a single DC channel value (such as voltage or current) from a dataset at a chosen time offset.
Read Last DC Value From EIS Dataset reads a DC channel value from an EIS dataset at a chosen frequency point.
Read Last Impedance Value From EIS Dataset reads the magnitude or phase of the impedance from an EIS dataset at a chosen frequency point.
The example below combines all three blocks:
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 impedance magnitude at 10 Hz, using Read Last Impedance Value From EIS Dataset,
the DC voltage at the very end of the measurement, using Read DC Value From Dataset with
0 s from end,the DC voltage at the 10 Hz point, using Read Last DC Value From EIS Dataset.
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.
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.
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:
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:
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
Copy Blocks Between Experiments
You can easily transfer blocks from one experiment to another:
Select the block you want to copy (or select a parent block to copy multiple blocks at once), then copy it using Ctrl + C
Open the target experiment in Zahner Lab Custom Experiments to access its workspace
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.