Concept: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
SweepMe! combines the benefits of programs with a [[graphic user interface]] (GUI) that are easy to use with the benefits of programming languages that enable a high flexibility. Content that is added once to SweepMe! by skilled programmers can then be used by people with less experience in programming to perform measurements on a complex level.
SweepMe! combines the benefits of programs with a graphic user interface (GUI) that are easy to use with the benefits of programming languages that enable high flexibility. Content added to SweepMe! by skilled programmers can be used by people with less programming experience for complex measurements.  


== The SweepMe! GUI ==
SweepMe! has two windows. The left window configures your measurement and contains the menu. The right window, "Dashboard," displays plots and widgets for interaction during a measurement.


== Procedures ==
== Procedures ==
 
'Programming' is done in the [[Sequencer]] tab where Modules can be placed via drag&drop to create measurement procedures. Each module corresponds to either a logical function, a measurement device, or any other hardware component. The modules act as for-loops over a defined parameter variation. With that, complex tree-like structures can be created by nesting modules into each other, creating branches and nested for-loops. Modules of the same type can even be added multiple times. Almost any procedure can be understood and represented that way. For example, a [[Temperature]] module varies temperatures, and an [[SMU]] module varies voltages. Nesting an SMU module into a Temperature module allows measuring temperature-dependent current-voltage curves.
'Programming' is done in the [[Sequencer]] tab where Modules can be placed by drag&drop. You can create complex nested tree-like structures with multiple branches. Almost any procedure can be understood and represented that way. Modules of the same type can be added multiple times.


== Modules ==
== Modules ==
Each [[Module]] added to the sequencer comes with its own GUI for configuration. There are different kinds of Modules:
[[:Category:Basic Modules|Basic Modules]] control file generation, repetitions, and waiting time.
[[:Category:Device Modules|Device Modules]] give access to measurement equipment via Device Classes. Whenever possible, Device Modules provide a common interface to a certain group of devices, e.g. [[SMU]] for source-measuring units, [[Spectrometer]] for spectrometers, [[Monochromator]] for monochromators and so on. Thus, the handling of the modules will be independent of the hardware manufacturer. There also exist generic Device Modules that can be used to implement devices that merely return values (e.g. a thermometer, a sensor, etc.) using [[Logger]] or where you mainly set a value (e.g. a motor, a signal, etc.) using [[Switch]].
[[:Category:Add-on Modules|Add-on Modules]] extend SweepMe!'s functionality.


Each [[Module]] that is added to the sequencer comes with an own GUI that allows to adjust it. There are different kinds of Modules. [[Basic Modules]] allow you to control the file generation of the measured data, doing repetitions, and to add some waiting time. [[Device Modules]] give you access to your measurement equipment by loading Device Classes. Whenever possible, Device Modules provide a common interface to a certain class of devices, e.g. [[SMU]] for source-measuring units, [[Spectrometer]] for spectrometers, [[Monochromator]] for monochromators and so on. Thus, the handling of the modules will be independent of the vendor. There also exist generic Device Modules that can be used implement devices that merely return values (e.g. a thermometer, a sensor, etc.) using [[Logger]] or where you mainly set a value (e.g. a motor, a signal, etc.) using [[Switch]]. Further [[Add-on Modules]] that are not part of the free main program can extend the functionality of SweepMe! in any direction.
== Drivers ==


== Device Classes ==
[[Drivers]] can be created and added to the program, designed to fit a specific "Device Module."
Generalized drivers can be shared across users, ensuring each instrument needs inclusion only once. Drivers are versioned and shared via the SweepMe! server and are published as open-source on the [[https://github.com/SweepMe/instrument-drivers| instrument-drivers repository]]. Uploaded drivers get a webpage on [[https://sweep-me.net/devices/]] with details about the instrument, handling of the driver, and links to the manufacturer or manual. Feel free to contact us for additional information.


[[Device Classes]] can be freely created and added to the program. They must be prorammed in a way to fit to a certain Device Module. A well-designed Device Class can be used via the respective Device Module for different measurement tasks and procedures. Because of that Device Classes can be used by all users and each equipment only needs to be included once. Device Classes can be versioned and shared via our SweepMe! server.  
== Widgets ==
After creating a measurement procedure, add widgets to display results during the run. For example, [[Plot]] draws graphs, and [[Monitor]] displays important values.


== Features ==
== Features ==
 
Features like saving data, and creating settings are done for each measurement procedure used in the same way. These features are optimized based on the feedback of all users and should be therefore convenient to use.
Features like saving data, plotting data, and creating settings are for each measurement procedure used in the same way. These features are optimized based on the feedback of all users and should be therefore convenient to use.

Latest revision as of 18:52, 14 February 2024

SweepMe! combines the benefits of programs with a graphic user interface (GUI) that are easy to use with the benefits of programming languages that enable high flexibility. Content added to SweepMe! by skilled programmers can be used by people with less programming experience for complex measurements.

The SweepMe! GUI

SweepMe! has two windows. The left window configures your measurement and contains the menu. The right window, "Dashboard," displays plots and widgets for interaction during a measurement.

Procedures

'Programming' is done in the Sequencer tab where Modules can be placed via drag&drop to create measurement procedures. Each module corresponds to either a logical function, a measurement device, or any other hardware component. The modules act as for-loops over a defined parameter variation. With that, complex tree-like structures can be created by nesting modules into each other, creating branches and nested for-loops. Modules of the same type can even be added multiple times. Almost any procedure can be understood and represented that way. For example, a Temperature module varies temperatures, and an SMU module varies voltages. Nesting an SMU module into a Temperature module allows measuring temperature-dependent current-voltage curves.

Modules

Each Module added to the sequencer comes with its own GUI for configuration. There are different kinds of Modules: Basic Modules control file generation, repetitions, and waiting time. Device Modules give access to measurement equipment via Device Classes. Whenever possible, Device Modules provide a common interface to a certain group of devices, e.g. SMU for source-measuring units, Spectrometer for spectrometers, Monochromator for monochromators and so on. Thus, the handling of the modules will be independent of the hardware manufacturer. There also exist generic Device Modules that can be used to implement devices that merely return values (e.g. a thermometer, a sensor, etc.) using Logger or where you mainly set a value (e.g. a motor, a signal, etc.) using Switch. Add-on Modules extend SweepMe!'s functionality.

Drivers

Drivers can be created and added to the program, designed to fit a specific "Device Module." Generalized drivers can be shared across users, ensuring each instrument needs inclusion only once. Drivers are versioned and shared via the SweepMe! server and are published as open-source on the [instrument-drivers repository]. Uploaded drivers get a webpage on [[1]] with details about the instrument, handling of the driver, and links to the manufacturer or manual. Feel free to contact us for additional information.

Widgets

After creating a measurement procedure, add widgets to display results during the run. For example, Plot draws graphs, and Monitor displays important values.

Features

Features like saving data, and creating settings are done for each measurement procedure used in the same way. These features are optimized based on the feedback of all users and should be therefore convenient to use.