Sequencer: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:
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.
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.
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.
During the measurement, all items are looped for the number of [[Sweep value|Sweep values]] of the above item. Thus, the correct order of the items and their Sweep 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.
Each combination of the Sweep 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.
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 Sweep values 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 Sweep value of the common parent item. Please see the following example.


==Example==
==Example==
[[File:Sequencer_example_visualization.gif|480px|thumb|Visualization of the traversing of the sequencer which has a device with two consecutive children.]]
[[File:Sequencer_example_visualization.gif|480px|thumb|Visualization of the traversing of the sequencer which has a device with two consecutive children.]]
Let's consider a sequencer arrangement with three [[SMU|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.
Let's consider a sequencer arrangement with three [[SMU|SMUs]] where SMU 1 has two direct subelements, SMU 2 and SMU 3. SMU 2 and SMU 3 shall be at the same hierachy of the sequencer tree, i.e. they will be swept consecutively.


The measurement will then have the following sequence:
The measurement will then have the following sequence:
# SMU 1 applies the first value of the sweep
# SMU 1 applies the first Sweep value of the sweep
# SMU 2 will run its full sweep, while SMU 3 is still off
# SMU 2 will run its full sweep, while SMU 3 is still off
# SMU 2 is switched off and now SMU 3 runs its full sweep
# SMU 2 is switched off and now SMU 3 runs its full sweep
# SMU 3 is switched off
# SMU 3 is switched off
# SMU 1 applies the next value of its sweep (or the measurement is finished, if no further values shall be swept)
# SMU 1 applies the next Sweep value of its sweep (or the measurement is finished, if no further values shall be swept)
# Repeat the process starting with 2.
# Repeat the process starting with 2.


Line 31: Line 31:
==Setting and reading==
==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.
All items have at least one Sweep 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.
Some items, however, have multiple set 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.  
When reading out the sequencer, the Sweep values of each item are iterated, and for each Sweep 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!
There is a crucial difference between setting a [[Sweep value]] and reading a [[Measurement value]]!


'''Setting a value:'''  
'''Setting a Sweep value:'''  
Whenever values of an item are iterated, they are forwarded to their [[Measurement Classes]].  
Whenever set values of an item are iterated, they are forwarded to their [[Measurement Classes]] to be applied.  
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.
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:'''
'''Reading a Measurement value:'''
Whenever the end of a branch of the tree is reached, reading of the device parameters is started.  
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.
Standardized SweepMe! [[Sequencer procedure|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.
Thus, independent of the arrangement of the items 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.
The major difference is the order in which the devices 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 MakeFile==
For each combination of Sweep values of items above [[MakeFile]], a text file will be generated into which the latest measurement points will be saved. All measurement points related to items below MakeFile and their combinations of Sweep values will not generate a new text file. Please start the example ''example_SMU.set'' via ''Settings'' -> ''Load Setting'' to see the effect of MakeFile.


==Use of PlotData==
==Use of PlotData==
For each combination of Sweep values of items above [[PlotData]], the plot windows will actualized. The higher PlotData is placed in the sequencer, the less often a plot is actualized. This can be helpful to prevent the measurement slowing down if a lot of points are measured in a short time or if huge amount of measurement points will be swept through


[[Category:Manual]]
[[Category:Manual]]

Revision as of 19:20, 26 November 2017

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 Sweep values of the above item. Thus, the correct order of the items and their Sweep values directly infuences the measurement procedure. Each combination of the Sweep 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 Sweep values 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 Sweep 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 hierachy 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 Sweep 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 Sweep 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 Sweep 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 set values, e.g. a Source-Measure-Unit SMU typically has several values in order realize a current-voltage curve.

When reading out the sequencer, the Sweep values of each item are iterated, and for each Sweep 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 Sweep value and reading a Measurement value!

Setting a Sweep value: Whenever set values of an item are iterated, they are forwarded to their Measurement Classes to be applied. 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 Measurement 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 arrangement of the items in the current branch, all items are read out. The major difference is the order in which the devices are called, the order in which the data is saved into the file, and the order in which items appear in various combo boxes.

Use of MakeFile

For each combination of Sweep values of items above MakeFile, a text file will be generated into which the latest measurement points will be saved. All measurement points related to items below MakeFile and their combinations of Sweep values will not generate a new text file. Please start the example example_SMU.set via Settings -> Load Setting to see the effect of MakeFile.

Use of PlotData

For each combination of Sweep values of items above PlotData, the plot windows will actualized. The higher PlotData is placed in the sequencer, the less often a plot is actualized. This can be helpful to prevent the measurement slowing down if a lot of points are measured in a short time or if huge amount of measurement points will be swept through