21
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

Software Frameworks for Acquisition and Control

European PhD – 2009

Horácio Fernandes

Page 2: 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;

Page 3: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;

Page 4: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;

Page 5: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;

Page 6: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;

Page 7: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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.

Page 8: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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

Page 9: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

Eu

rop

ean

Ph

D

User-interface (1/2)

Page 10: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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

Page 11: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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.

Page 12: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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.

Page 13: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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

Page 14: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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.

Page 15: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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.

Page 16: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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.

Page 17: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

Eu

rop

ean

Ph

D

System overviewWithout SDAS

With SDAS

Page 18: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;

Page 19: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;

Page 20: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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

Page 21: Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes

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;