antonio milán otero kontrols & it services (kits) · 2017-03-23 · sardana suite community...
TRANSCRIPT
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
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
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/