MakeFile: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
MakeFile is the essential Module to control file generation and file filling.
Last update for: Version 1.5.3


The position of MakeFile in the sequencer determines how many files are created:
MakeFile is the essential Module to control file generation, file names, and file filling.
* For each variation above MakeFile a new file is generated.
* Each variation below MakeFile is written into the latest generated file.
* For each branch of the sequencer below MakeFile separate files are generated, because each branch could have a different data structure.
* Each file has an ID which can be changed by double-clicking the MakeFile item in the sequencer.
* The ID is necessary to make sure that no file is generated twice and that the sequence of the generated files can be recovered.
* The ID consists of a number related to the branch in the sequencer and an ongoing index for each file.


Each file has the same structure with 4 header lines:
== Usage and rules ==
* 1st header line: Variable
 
MakeFile is placed in the sequencer as any other module. Its correct position has strong impact onto how many files are created. Therefore, it is important to know the following rules:
 
# For each variation (Sweep) of a Module above MakeFile, a new file will be generated.
# For each [[Branch]], MakeFile is in, a separate file will be generated.
# If there are multiple MakeFile in one branch, the lowest one will determine the file generation and the ID string.
# If no MakeFile is in one branch or if MakeFile is unchecked, no file will generated.
 
If you have no MakeFile in your sequencer, SweepMe will automatically add it at the top of each top level module to make sure you do not lose any data. To circumvent this behavior, you can:
* Go to 'Options' -> 'Sequencer' -> Disable automatic adding of MakeFile
* Use at least one MakeFile in your sequencer and uncheck it
 
== File name ==
 
Each file has a name consisting of
 
* file name as given in the Measurement tab of the program
* an ID, consisting of the number of the branch and the number of the repetition, and
* the SweepValues of all Modules above MakeFile in the sequencer
 
The ID is very important to make sure that in any case a unique file name is given. You can change the ID string by double-clicking on the Module MakeFile.
 
=== Examples ===
 
'''"Sample34 Test2_ID3-4_Loop1=10.txt"'''
 
* file name is 'Sample34 Test2' is the name given in the program
* ID3-4 is the ID given by the MakeFile, '3' is the third branch of the sequencer, '4' means the forth file generated for this branch
* The module with the label 'Loop1' is above MakeFile in the sequencer and has currently the SweepValue 10.
 
'''"FET12_Output1-3_Vgs=1.txt"'''
 
* file name is 'FET12' is the name given in the program, e.g. a field-effect transistor is measured, abbreviated with 'FET'
* Output1-2 is the ID. The default string 'ID' has been changed to 'Output' to indicate that this file saves data that belongs to an output characteristic. '1' indicates that this file belongs to the first branch of the sequencer, '2' means that it is the second file that has been generated for this branch. 
* The label of the module 'SMU' has been changed to 'Vgs' because the gate-source voltage is varied by this module.
 
This example demonstrates how the file name is changed to represent that an output characteristic at gate-source voltage of 1 V is measured for sample 'FET12'. 
 
== File structure ==
 
Each file has the same structure with 3 header lines:
* 1st header line: Module label + variable
* 2nd header line: Unit
* 2nd header line: Unit
* 3rd header line: Module
* 3rd header line: empty
* 4th header line: empty
 
The data is always written to the latest file that has been generated or activated by Make File.
The order of the columns is related to the order of the Modules of the particular [[Branch]] for which the file is saved.
Thus, you can change the order of columns by changing the order of Modules in the sequencer (as long it does not change your sweep procedure).
However, the first two columns are always related to the invisible root Module of the sequencer being [[Time]] and this behavior cannot be changed.


Then, the data comes and the order of columns is related to the order of Modules in the branch for which the file is saved. Thus, you can change the order of columns be changing the order of Modules in the sequencer (as long it does not change your sweep procedure).
Data will not be written into the file if the save type of a variable is set to 'False'. It can be the case if:
* The option 'save' in modules like [[Calc]] or [[CustomFunction]] is not checked.
* It is defined in a DeviceClass to not save a particular variable by changing the save type to 'False'.
* Variables of a Module have save type of 'False' but can be seen because their plot type is 'True'.


The first two columns are always related to the invisible root Module of the sequencer being [[Time]] and this behavior cannot be changed, yet.
== Description of the measurement ==


The setting of your measurement is not saved in the data files but in a separate ".set" file in which all elements of the graphical user interface are stored. That way, data files have always the same structure.
Many programs save meta data in the header of the data files which makes it sometimes difficult to import data files by other programs. In SweepMe!, the setting of your measurement is not saved to the header of the data files but in a separate ".set" file in which all elements of the graphical user interface are stored. That way, data files have always the same structure.


To see how to read in data files, please follow this link: [[Loading data files]].
To see how to read in data files, please follow this link: [[Loading data files]].
== Metadata and further instrument parameters ==
Data that is not saved yet via the measurement data files or the setting file can be saved by the following options:
* A DeviceClass for a [[Logger]] or a [[Formular] are used to add parameters that describe the measuremnt
* A DeviceClass saves instrument parameters to a self-made file that is saved in the temp folder. If the file name starts with "temp_....", it will automatically copied to the measurement data using the button "Save Data".
* in planning: Use the widget 'Description' to add further text/information to your measurement data.




[[Category:Modules]]
[[Category:Modules]]
[[Category:Basic Modules]]

Revision as of 21:47, 8 July 2019

Last update for: Version 1.5.3

MakeFile is the essential Module to control file generation, file names, and file filling.

Usage and rules

MakeFile is placed in the sequencer as any other module. Its correct position has strong impact onto how many files are created. Therefore, it is important to know the following rules:

  1. For each variation (Sweep) of a Module above MakeFile, a new file will be generated.
  2. For each Branch, MakeFile is in, a separate file will be generated.
  3. If there are multiple MakeFile in one branch, the lowest one will determine the file generation and the ID string.
  4. If no MakeFile is in one branch or if MakeFile is unchecked, no file will generated.

If you have no MakeFile in your sequencer, SweepMe will automatically add it at the top of each top level module to make sure you do not lose any data. To circumvent this behavior, you can:

  • Go to 'Options' -> 'Sequencer' -> Disable automatic adding of MakeFile
  • Use at least one MakeFile in your sequencer and uncheck it

File name

Each file has a name consisting of

  • file name as given in the Measurement tab of the program
  • an ID, consisting of the number of the branch and the number of the repetition, and
  • the SweepValues of all Modules above MakeFile in the sequencer

The ID is very important to make sure that in any case a unique file name is given. You can change the ID string by double-clicking on the Module MakeFile.

Examples

"Sample34 Test2_ID3-4_Loop1=10.txt"

  • file name is 'Sample34 Test2' is the name given in the program
  • ID3-4 is the ID given by the MakeFile, '3' is the third branch of the sequencer, '4' means the forth file generated for this branch
  • The module with the label 'Loop1' is above MakeFile in the sequencer and has currently the SweepValue 10.

"FET12_Output1-3_Vgs=1.txt"

  • file name is 'FET12' is the name given in the program, e.g. a field-effect transistor is measured, abbreviated with 'FET'
  • Output1-2 is the ID. The default string 'ID' has been changed to 'Output' to indicate that this file saves data that belongs to an output characteristic. '1' indicates that this file belongs to the first branch of the sequencer, '2' means that it is the second file that has been generated for this branch.
  • The label of the module 'SMU' has been changed to 'Vgs' because the gate-source voltage is varied by this module.

This example demonstrates how the file name is changed to represent that an output characteristic at gate-source voltage of 1 V is measured for sample 'FET12'.

File structure

Each file has the same structure with 3 header lines:

  • 1st header line: Module label + variable
  • 2nd header line: Unit
  • 3rd header line: empty

The data is always written to the latest file that has been generated or activated by Make File. The order of the columns is related to the order of the Modules of the particular Branch for which the file is saved. Thus, you can change the order of columns by changing the order of Modules in the sequencer (as long it does not change your sweep procedure). However, the first two columns are always related to the invisible root Module of the sequencer being Time and this behavior cannot be changed.

Data will not be written into the file if the save type of a variable is set to 'False'. It can be the case if:

  • The option 'save' in modules like Calc or CustomFunction is not checked.
  • It is defined in a DeviceClass to not save a particular variable by changing the save type to 'False'.
  • Variables of a Module have save type of 'False' but can be seen because their plot type is 'True'.

Description of the measurement

Many programs save meta data in the header of the data files which makes it sometimes difficult to import data files by other programs. In SweepMe!, the setting of your measurement is not saved to the header of the data files but in a separate ".set" file in which all elements of the graphical user interface are stored. That way, data files have always the same structure.

To see how to read in data files, please follow this link: Loading data files.

Metadata and further instrument parameters

Data that is not saved yet via the measurement data files or the setting file can be saved by the following options:

  • A DeviceClass for a Logger or a [[Formular] are used to add parameters that describe the measuremnt
  • A DeviceClass saves instrument parameters to a self-made file that is saved in the temp folder. If the file name starts with "temp_....", it will automatically copied to the measurement data using the button "Save Data".
  • in planning: Use the widget 'Description' to add further text/information to your measurement data.