Sequencer

From SweepMe! Wiki
Revision as of 19:03, 26 November 2017 by Afischer (talk | contribs)
Jump to navigation Jump to search

The sequencer is the heart of SweepMe!. Use it to create tree like measurement seqeunces. Items can be placed by drag&drop from a list of all available Measurement Classes and deleted by selecting them followed by pressing 'Del(ete)' on the keyboard or by a right click and selecting Delete selected item(s).

For each item in the sequencer a new tab will popup where the individual Measurement Class can be configured. Double click on an item to jump to the corresponding tab. Some items of the sequencer tree however have no graphical interface, e.g. Loop, Hold, Stop, MakeFile, or PlotData.

To see the basic operation of the sequencer, have a look at the examples which can be loaded via Settings -> Load Setting

Arrangements

The sequencer presents all measurements in a tree like hierarchy. The more they are shifted to the right side, the lower is the level of hierarchy. As any tree, there exist branches. If you have a single branch, all items are nested into each other. This is the most simple and basic configuration you can realize. During the measurement, all items are looped for the number of set values of the above item. Thus, the correct order of the items and their set values directly infuences the measurement procedure. Each combination of the set values of all items will be applied. Whenever all devices in one branch are configured to their set value, the readout of a measurement point begins and all device in the branch are read out.

If you put items on the same level of hierarchy, you will automatically create a second branch of the tree. Now, SweepMe! will run through the first branch, followed by the second branch. Only the Measurment Classes of the current branch are used to apply the setvalues and readout the measurement values. Of course, these two branches might have a common parent item, so that the measurement will switch between the two branches for each set value of the common parent item. Please see the following example.

Example

Visualization of the traversing of the sequencer which has a device with two consecutive children.

Let's consider a sequencer arrangement with three SMUs where SMU 1 has two direct subelements, SMU 2 and SMU 3. SMU 2 and SMU 3 shall be at the same depth of the sequencer tree, i.e. they will be swept consecutively.

The measurement will then have the following sequence:

  1. SMU 1 applies the first value of the sweep
  2. SMU 2 will run its full sweep, while SMU 3 is still off
  3. SMU 2 is switched off and now SMU 3 runs its full sweep
  4. SMU 3 is switched off
  5. SMU 1 applies the next value of its sweep (or the measurement is finished, if no further values shall be swept)
  6. Repeat the process starting with 2.

This measurement process is shown schematically in the animation on the right.

Setting and reading

All items have at least one set value which will be used to indicate their presence in the tree, and to make them participating in the read out of the sequence. Some items, however, have multiple values, e.g. a Source-Measure-Unit SMU typically has several values in order realize a current-voltage curve.

When reading out the sequence, represented by the tree, the values of each item are iterated, and for each value of one item, the prior procedure is again done for the children items which are below in the hierarchy of the tree.

There is a crucial difference between setting a value and reading a value!

Setting a value: Whenever values of an item are iterated, they are forwarded to their Measurement Classes. As a consequence, the sequence of items, has a crucial impact on the measurement procedure, i.e. in which order parameters are applied to your devices.

Reading a value: Whenever the end of a branch of the tree is reached, reading of the device parameters is started. Standardized SweepMe! functions are called in order to apply, measure, and call the parameters of all items of the current branch of the tree. Thus, independent of the exact serial arrangement in the current branch, all items are read out. The major difference is the order in which the device are called, the order in which the data is saved into the file, and the order in which items appear in various combo boxes.

If only one item has multiple values and a purely serial arrangement is used, the position of each item, except of MakeFile and PlotData, can nicely be used to adjust the order of setting and reading parameters.

Use of MakeFile

Use of PlotData