17
Sardana suite Antonio Milán Otero Kontrols & IT services (KITS)

Antonio Milán Otero Kontrols & IT services (KITS) · Agenda What is Tango? What is Sardana? Sardana components Sardana suite Community Contributing

Embed Size (px)

Citation preview

Sardana suiteAntonio Milán Otero

Kontrols & IT services (KITS)

Agenda

● What is Tango?

● What is Sardana?

● Sardana components

● Sardana suite

● Community

● Contributing

What is Tango?

A toolbox to implement control systems using CORBA as the transport layer.

● A specialization of CORBA adapted to control.

● Hides the complexity of CORBA to the programmer.

● Adds specific control system features.

CORBA

TANGO

Control System

CORBA

TANGO

Control System

CORBA

TANGO

Control System

CORBA

TANGO

Control System

OK, yes … What is Tango?

Tango device servers developed in Java, C++, Python

Tango DS can run in Linux, Windows, Mac OS X

TANGO Software Bus

Tango DSTango DS Tango DSTango DS Tango DSTango DS

Tango DSTango DS Tango DSTango DS

ClientClient

ClientClientClientClient

Tango DSTango DS

Command 1Command 1

Command 2Command 2

Command 3Command 3

Attribute 1Attribute 1

Attribute 2Attribute 2

HWHW

HWHW

SWSW

SWSW

HWHW

Property 2Property 2

Property 1Property 1

What is Sardana?

Sardana is a software suite for Supervision, Control and Data Acquisition in scientific installations. It aims to reduce cost and time of design, development and support of the control and data acquisition systems.

Sardana components

Hardware

1 – What is the first thing that we need?

Hardware

motors Ccd cameras Acquisition cards

Or whatever

Pool

Sardana components

Hardware

(Py)Tango Taco Epics

Pool

2- Make the hardware work together

Pool -> manage and synchronize hardware and software

Pool

Controllers

HW

Ctrl

Ctrl

HW

Hardware

Sardana components

Macroserver

Hardware

(Py)Tango

Pool

Taco Epics

3- Procedures to automatize tasks

Macroserver & Macros

Set of standard macros provided.Two ways to expand it:1.Sequences of macros2.Develop new macros

Sardana components

Taurus CLI (spock)

Hardware

Macroserver

(Py)Tango

Pool

Taco Epics

4- Interfaces to interact with the system

• Graphical User Interface [GUI] (Taurus framework )

• Command line interface (spock)

Sardana components

5- Generic GUI framework

• Common look & feel for different subsystems, beamlines, experiments GUIs.

• Easy for the users to customize their GUIs.

Generic GUI framework

Taurus

Hardware

Macroserver

(Py)Tango

Pool

Taco Epics

CLI (spock)

Sardana components

6- Last but not least … specific GUI

Specific GUI that helps you to run and control your experiment.

Generic GUI framework

Taurus

Hardware

Macroserver

(Py)Tango

Pool

Taco Epics

CLI (spock)

Specific GUI

Sardana Suite

Generic GUI framework

Taurus

Hardware

Macroserver

(Py)Tango

Pool

Taco Epics

CLI (spock)

Specific GUI

Sardana Community

Contributing● Contributions to core repositories

following GitFlow

● All code pushed to develop branch is reviewed and integrated by an integrator manager.

● 2 integrators at Alba, 1 at Desy, 1 at ESRF and 1 at Max IV.

● New features implemented via Sardana Enhancement Proposals (SEP)

● Small changes: Ticket + patch

SEP Workflow

References

● Projects in Sourceforge:http://sf.net/p/sardanahttp://sf.net/p/tauruslib

● Documentation:http://sardana-controls.orghttp://taurus-scada.org

● Contribution:Introduction to SEP:http://sourceforge.net/p/sardana/wiki/SEP0/Code contribution workflow:http://sourceforge.net/p/sardana/wiki/SEP7/

Questions?