In addition to the usual API commands available for instrument
configuration and data retrieval, e.g.,
poll), the LabOne API
also provide a number of so-called Modules:
high-level interfaces that perform common tasks such as sweeping data or
The Module's functionality is implemented in LabOne API directly as a separate software component.
The different tabs in the LabOne UI are often based directly on a LabOne Module. The behaviour of the LabOne UI can therefore often be directly mapped to the LabOne API.
It is possible to create more than one instance of a LabOne Module. Each instance creates a separate session to the connected Data Server and therefore does not disturb other modules or the main session.
Since each session consumes on both sides resources it is recommended to remove unused modules and try to keep the amount of modules to a minimum.
The following modules are available:
|Sweeper||Obtaining data whilst performing a sweep of one of the instrument's setting, e.g., measuring a frequency response.|
|Data Acquisition||Recording instrument data <
|Device Settings||Saving and loading instrument settings to and from (XML) files.|
|PID Advisor||Modeling and simulating the PID incorporated in the instrument.|
|Scope Module||Obtaining scope data from the instrument.|
|Impedance||Performing impedance measurements.|
|Multi-Device Synchronisation||Synchronizing the timestamps of multiple instruments.|
|AWG||Working with the AWG.|
|Precompensation Advisor||Working with the AWG.|
LabOne Modules are, similar to the devices, controlled mainly through nodes. Each module has a defined list of available nodes. The API of the modules offer the same set of functions to manipulate and read the nodes.
An important difference to Data Server communication is that the LabOne Modules life directly in the Client. Therefore changing node values do not require any network communication and take effect immediately. This is also the reason why there is only a single type of commands for settings and getting node values.
In addition to the nodes all LabOne Modules have additional commands :
- execute command to start the module execution.
- finish command to stop the execution.
- finished command to check if the execution has finished.
- progress command to check the progress of the execution with a number between 0 and 1.
- read command to read the module output data.
- save command to save measured data to a file.
- trigger command to execute a manual trigger.
Although all LabOne Modules have the same additional commands, not all of them
make use of all of the commands. Some commands, e.g. the
trigger command might
not me used, but still are available, in all modules.