Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
-
date post
20-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Software Frameworks for Acquisition and Control
European PhD – 2009
Horácio Fernandes
Eu
rop
ean
Ph
D
CODAC ...in a nutshell
• Modular system designed to control and operate physics experiments, namely fusion devices;
• Components are connected through a protocol (CORBA) allowing them to run in different operating systems and to be written in different computer languages;
• Data is time stamped and indexed by events;
Eu
rop
ean
Ph
D
System overview (1/3)Central server: works as bridge between all the other components. It is responsible for managing all the connections, commands and data broadcast;
Database Controller : interfaces with the installed database. No commitment to any particular type of data storage solution;
Eu
rop
ean
Ph
D
System overview (2/3)Nodes: are responsible for driving the devices and for data readout. Generic nodes, with the CORBA communication protocol to the Central Server already implemented, are provided in different languages and can be extended to integrate any hardware device;
User Client: libraries which allow to configure and control the system. These can be connected to a user-interface or another CDAQ System;
Eu
rop
ean
Ph
D
System overview (3/3)
Security Manager – the Central Server queries this component to authenticate users and nodes and authorize all operations. The security schema used (LDAP, SQL, etc.) is abstracted by the security manager;
Eu
rop
ean
Ph
D
XML• Hardware is defined in XML;• Using this information FireSignal
automatically creates the user-interfaces for each hardware;
• All the inputs are also validated according to provided XML;
Eu
rop
ean
Ph
D
Integrating new hardware
• Communication protocol should be available in various languages (Java, Python and C++);
• Nodes can be live connected and disconnected from the system;
• A connector between the device driver and the node must be developed for each new type of hardware.
Eu
rop
ean
Ph
D
Events
• An event is something important which occurs during the machine operation in particular during the shot cycle;
• It is defined by a unique identifier, a numeric identifier and a time stamp;
• Every tokamak has at least one event. The shot is usually the main event.– Example:
•Unique Identifier: SHOT•Numeric identifier: 14234•Time Stamp: 23/04/06
Eu
rop
ean
Ph
D
User-interface (1/2)
Eu
rop
ean
Ph
D
User interface (2/2)
• Configure hardware• Set-up predefined events• Internationalized• Data sharing• Experiment following• Management tools• Data profiles
– Filter available data according to each user requirements
Eu
rop
ean
Ph
D
User privileges and roles
• There are three main groups of users:– Normal users: only have permissions
to follow the shots;– Operators: allowed to change
hardware parameters and launch shots;
– Administrators: are allowed to perform system administration and have the same permissions of the operators.
• User groups allow users to configure specific hardware.
Eu
rop
ean
Ph
D
Plugins
• Software abstractions which allow to change the way the system behaves without changing the core libraries;
• New functionalities can easily be added;
• Most of the FireSignal components are plugin based;
• Each data type as a set of plugins which know how to display and format the data.
Eu
rop
ean
Ph
D
FireSignal as a subsystem• FireSignal can also work as a
subsystem;• It translates the commands received
from the main CDAQ and drives the connected hardware;
• In this case the minimum configuration is a Node and a Central Server
Eu
rop
ean
Ph
D
License
• FireSignal is open-source (GPL);• The source code is available and can be
changed, either to correct problems or add new functionalities;
• Why is it important?– Price: it is free. If you test and use it the ROI
is immediately positive;– Reliability: if a problem is found, you don't
have to wait (or pay) for it to be solved;– Community effort: share drivers, plugins,
new databases support, new security schemes, among others.
Eu
rop
ean
Ph
D
Data Access - the problem
• Scientists need to access data from different laboratories;
• Each laboratory has its own way of retrieving data;
• Scientists have to spend time and effort learning how the different data access schemes work, change their analysis code for each experiment and manage updated versions for each different program and library required.
Eu
rop
ean
Ph
D
The solution
• Hide all complexity from end-users;• Scientists only have to learn once
how to access data;• Users don't ask data for information
directly to the association's database but to a software layer;
• The software layer provides the same data access functions in all associations.
Eu
rop
ean
Ph
D
System overviewWithout SDAS
With SDAS
Eu
rop
ean
Ph
D
Technology(1/2)
• SDAS is based on Remote Procedure Calls (RPC);
• The SDAS server is formed by an XML-RPC server and by a connector to the storage mechanism;– Each association must develop a
software component which translate the SDAS calls into something meaningful to the data storage system;
Eu
rop
ean
Ph
D
Technology(2/2)
• Data is indexed by time and events• SDAS server and libraries available
on Python, Java and C++;• Currently the system is read-only;• Merge with MDSPlus would provide
the best of the two worlds;
Eu
rop
ean
Ph
D
Integration with data analysis tools• SDAS libraries are easily integrated
in programs such as MatLab, SciLab, Mathematica and IDL;
• SDAS provides over 20 functions which allow to:– Search parameters and events;– Retrieve single and multiple data
Eu
rop
ean
Ph
D
Installation
• You will need:– PC
• To host the SDAS server;
– Storage system• A component which translates SDAS
requests into database queries must be developed;
– An experienced developer should take one week to develop, test and deploy;
– The license is GPL;