User Tools

Site Tools


Translations of this page:

en:essey

Return to Contents

History

Sonix is abbreviation of SOftware for Neutron INstruments on X11 base. It was originated in 1992. First installation of Sonix prototype has been put into operation in 1995. This version works in the VME hardware platform in the environment of Os-9 real time operating system. The X window system is used for the graphical user interface (GUI). In the beginning of 21 century we decided to replace VME hardware with PC and Os-9 to MS Windows operating came into operation in 2004 and being used up to now. At the moment little bit less than 20 installations have been made at FLNP and some other centers in RF. The MFC and PyQt were used to create GUI.

Structure

Sonix structure is more or less traditional. It is modular, hierarchical, uses database concept. It consists of control modules and several types of user interfaces: command line, two types of universal GUI, specialized GUIs. A web interface is also available.

The Varman database is the heart of the system. It is used as a local parameter storage with fast access for inter-module communication. At every moment it contains full information about the measurement (with the exception of spectra). The Varman means “variable manager”. It was created at IRI Delft, Netherlands in 1997. The original version worked in the OS-9 environment and manipulates with single variables (motor position, temperature value etc.) . In 2003 it was redesigned for Windows at FLNP. the New version also contains descriptions how parameters are structured. So actually it is structures storage. A snapshot of Varman is used in Sonix data format together with the spectra file.

Devices: Drivers and Servers

From the user point of view Devices are “objects” to access and control the setup or software components. Device interface is unified. Devices usually are inplemented as the exe files in C++. They are also implemented commands for low level control and reaction on Sonix signals (abort, suspend, continue etc.) They are configurable. Each driver has a mode to generate empty parameter structure in the file for further configuration with configuration editor. Drivers are modules at low level control. They can serve both hardware and software devces. List of available drivers includes modules for all controllers and other setup components used at FLNP instruments. Adapters are software devices representing group of similar devices as one virtual device. Servers handles some drivers. At the moment there are four servers:

  • for exposition control - manage all detectors at the instrument
  • to read spectra for online visualization
  • for motors control (actually not so important)
  • for script interpretation – is intended to execute an experimental procedure (script). In The Sonix script is a pure Python code. To simplify script creation there is so called instrument library particular to each instrument. The script interpreter is able to run script in a normal or step-by-step modes, to abort, suspend and continue the execution. Nice implemented features is the possibility to check correctness of the script before its execution.

Sonix GUIs

The Sonix+ has several GUIs. There are universal GUIs and specialized GUIs.

The universal GUI is organized according to principle – each window is dedicated to one of the main user’s needs. For ordinary users there are three main needs to watch: current state of the instrument (value of parameters), the measurement history (log file), the picture of spectra (spectrum). The fourth need, of course, is to control the measurement process. Thus, four clients (windows or widgets) are generally sufficient to conduct any experiment at every instrument. For experienced users (instrument responsible) there are two additional programs: configuration editor for configuring the system and the panel to load/unload and check consistence of the system

There are two sets of universal GUI. The “old” GUI was implemented with MFC and consists of four separate clients. The “new” one is implemented with PyQt and matplotlib on the base of special set of widgets. Each widget is devoted to particular function and can be used either alone or as an element of complex construction. The user can mix clients of both GUIs as he likes.

GUI set of widgets

This picture demonstrates the universal GUI in the center and components available in our GUI set around it.

Spectra viewer

Point detectors

The left window is for file or spectra selection. The right - displays the spectrum or spectra using matplotlib panel. Usual operations like changing colors, zooming etc. are provided. It is possible to display spectra from detectors online also.

Data from PSDs are displayed as color map for 1D and as a three color maps for projections on one of the planes (TofX, TofY or XY) for 2D. There are four cursors for each map limiting the range for summing. The overall sum is displayed at the bottom. There are additional graphs to show sums along two axes of the map.

Watch list widget This widget allows the user to select most interesting parameters to supervise online.

Log file widget

This widget is intended to view contents of current log file or one of previous. Color corresponds to the type of record: green or white – OK, yellow – warning, red - error message.

Si widget The widget allows to select script file, execute it, end control the execution process. At this picture green light on the left means that script is executed, yellow light – that exposition is suspended, red light indicates the reason for suspend.

Finally have a look on universal GUI. It consists of four widgets just mentioned and provides some additional functions for manual control of motors exposition etc.

Specialized GUIs are intended for calibration of some instruments (YuMO, Epsilon, reflectometers). There are some “private» GUIs developed mostly for instrument on other centers (Mond(KI), Nsd(KI), D3 (Zarechny)) where users are not so familiar with modern computer technologies. These GUIs are also build on the base of widget set mentioned above.

Web interface

The WebSonix system is intended to be an alternative user interface to the main Sonix+ GUI. For this reason the page layout correspond to the layout of the Sonix+ GUI with the exception of script interpreting, which temporary is under modification.

Current activity

Design of a centralized archive for measured data with appropriate services (automatic measurement registration, visualization, information search etc.) is main point at the agenda.

Return to Contents

kirilov 2015/12/02 15:38

en/essey.txt · Last modified: by 127.0.0.1