Elletra’s presentation : December 2003 A quick presentation of TANGO.

Slides:



Advertisements
Similar presentations
Archivage « Contrôle Machine » Groupe Gestion de Données 26 January 2014 Meeting Tango February ESRF Archiving.
Advertisements

Experiment Control Systems at the LHC An Overview of the System Architecture An Overview of the System Architecture JCOP Framework Overview JCOP Framework.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Photolithography Machine Control System Ben Conrad and Mark Edwards Projects in Computer Engineering II December 9, 2003.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
OPC Overview OPC Device Support (PLC Gateway for 3.14) Ralph Lange – EPICS Collaboration Meeting at SLAC, April 2005.
June 2010 JM Chaize, ESRF/CERN control workshop 1 Overview of TANGO Control system E UROPEAN S YNCHROTRON R ADIATION F ACILITY
SCADA and Telemetry Presented By:.
1. 2 How do I verify that my plant network is OK? Manually: Watch link lights and traffic indicators… Electronically: Purchase a SNMP management software.
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
Computerized Train Control System by: Shawn Lord Christian Thompson.
1 Archiving Workshop (Soleil, May 2010) Archiving System Status.
Ch 1. Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2012.
The Future of TANGO or Quo Vadis TANGO ?. TANGO Future The future can be divided into 2 parts : The Realworld The Dreamworld.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Using PVSS for the control of the LHCb TELL1 detector emulator (OPG) P. Petrova, M. Laverne, M. Muecke, G. Haefeli, J. Christiansen CERN European Organization.
Modern Software Engineering for Distributed Embedded Systems Joseph Voelmle, Carlos Daboin, Joanne Sirois, Josh Gallegos Mentor: Dr. Janusz Zalewski.
History Server & API Christopher Larrieu Jefferson Laboratory.
Imperial College Tracker Slow Control & Monitoring.
Upgrade to Real Time Linux Target: A MATLAB-Based Graphical Control Environment Thesis Defense by Hai Xu CLEMSON U N I V E R S I T Y Department of Electrical.
OLE for Process Control. Talk Outline u OPC Overview u What is OPC? u Why OPC at CERN? u OPC functionality and architecture? u OPC Data Access u Access.
SCADA Systems - What is the scope of this talk? What are SCADA systems? What are their structure and main features? How open are they? How are they evolving?
SCADA. 3-Oct-15 Contents.. Introduction Hardware Architecture Software Architecture Functionality Conclusion References.
DEVS Namespace for Interoperable DEVS/SOA
JCOP Workshop September 8th 1999 H.J.Burckhart 1 ATLAS DCS Organization of Detector and Controls Architecture Connection to DAQ Front-end System Practical.
TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement.
2A – Acquisition and Automation technology Application Features Summary.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Topics of presentation
1 20th March 2007 – Tango Meeting – G.Abeillé ICALEPS 2005 Overview architecture of SOLEIL technical solutions for Beam Lines Control « A control system.
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Computer Software Chapter 4.
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
Management of the LHCb DAQ Network Guoming Liu * †, Niko Neufeld * * CERN, Switzerland † University of Ferrara, Italy.
What is Eclipse? Official Definition: Eclipse Evolution
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
Petra III Status Teresa Núñez Hasylab-DESY Tango Meeting DESY,
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
5-Oct-051 Tango collaboration status ICALEPCS 2005 Geneva (October 2005)
NICA control system, beam diagnostics V.Andreev, E.Gorbachev, A.Kirichenko, D. Monakhov, S. Romanov, G.Sedykh, T. Rukoyatkina, V.Volkov VBLHEP, JINR, Dubna.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
Controls & Monitoring Overview J. Leaver 03/06/2009.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Réunion Contrôle Expérience 28/03/ Experiments Controls Vision, ideas, tasks to begin with … Alain Buteau Andy Götz.
Big traffic data processing framework for intelligent monitoring and recording systems 學生 : 賴弘偉 教授 : 許毅然 作者 : Yingjie Xia a, JinlongChen a,b,n, XindaiLu.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
GAN: remote operation of accelerator diagnosis systems Matthias Werner, DESY MDI.
CEA DSM Irfu SIS LDISC 18/04/2012 Paul Lotrus 1 Control Command Overview GBAR Collaboration Meeting Paul Lotrus CEA/DSM/Irfu/SIS.
1 September 2007 – Tango Meeting – A.Buteau ICALEPS 2005 Status report SOLEIL September 2007.
MPD Slow Control System historical background, present status and plans D.S. Egorov, R.V. Nagdasev, V.B. Shutov V.B.Shutov /21.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Tango workshop : ICALEPS / October 2005 TANGO main concepts.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
Tango Collaboration Meeting May 13 th 2009Sardana Status Report Sardana Status Report Tango Collaboration Meeting May 13 th, 2009 Tiago Coutinho - ALBA.
Overview of TANGO Control system
Device Pool Status Report TANGO Collaboration Meeting April 17, 2008
Status report SOLEIL May 2009
                                                                       TANGO Collaboration Experience for running a multi-site international software project.
Tango Administrative Tools
by Prasad Mane (05IT6012) School of Information Technology
PLC / SCADA / HMI Controllers: Name : Muhammad Zunair Comsats University Date: 28-October-2018.
Tango in a Nutshell 31/12/2018.
Introduction to Data Structure
TANGO from an EPICS perspective
Presentation transcript:

Elletra’s presentation : December 2003 A quick presentation of TANGO

Elletra’s presentation : December 2003 Agenda TANGO a quick tour –Tango : a software bus –Tango : a distributed system Tango : main concepts –Device –Commands –Attributes Present current high level “ready to use” applications –Configuration –Supervision –Logging –Archiving Strengths of TANGO –On the Controls point of view –On the Software engineering point of view –Interest for beamline controls Tango is a small and simple system : LUCIA example Generic scan capabilities

Elletra’s presentation : December Part I - A quick tour of TANGO

Elletra’s presentation : December 2003 TANGO system: A software bus

Elletra’s presentation : December 2003 Tango : A software bus Analogy with an electronical bus because: –Each card plugged on the bus has a well- identified function –Each card is not or hardly coupled to the others –Development of each card can be decoupled TANGO software Bus interface But each card must respect a strict and well-defined interface in order to connect to the bus Hardware Device (motor…) Board

Elletra’s presentation : December 2003 Interface The Interface : –describes what the Device is supposed to do –It’s only a promise of the services you may expect from the Device But there isn’t any magic !!! –Code has to be written to fullfill the promised services MOTOR: Hardware control code Hardware Commands: - GoForward()… Attributes: - Speed (R/W)… An example of a Device Interface : A motor

Elletra’s presentation : December 2003 Tango provides much more than just the bus !!! Bus Logiciel TANGO User applications User’s development environments python,Labview MATLAB, IGOR, High level « ready to use » applications SCADA TANGO Devices Device Hardware Device Hardware Software bus TANGO Logging Configuration Archiving Monitoring

Elletra’s presentation : December 2003 TANGO : A software solution to integrate distributed and heterogeneous systems

Elletra’s presentation : December 2003 Distributed systems: SOLEIL example for Machine Control The system components are geographically distributed on machines interconnected by a computing network: –More than 100 Compact PCI frontend –More than 100 PLC –Dozens of operator stations

Elletra’s presentation : December 2003 Heterogeneous systems on hardware and software levels Slow industrial systems: PLC Fast acquisition systems : CPCI, VME, … Ready to use systems: –LINAC control/command –Control software sold with equipments (Residual gas analyzers, SCIENTA analyzers, …) Heterogeneous operating systems –Scientific applications under Linux –Drivers/libraries under WIN32 or under Linux How to obtain a coherent whole from heterogeneous hardware and software?

Elletra’s presentation : December 2003 From concepts to computers reality Bus Logiciel TANGO User applications User’s development environments python,Labview MATLAB, IGOR, High level « ready to use » applications SCADA TANGO Devices Hardware Device Hardware Software bus TANGO Logging Configuration Archiving Monitoring

Elletra’s presentation : December 2003 From concepts to computers reality And the winner is : CORBA

Elletra’s presentation : December 2003 TANGO : introduction CORBA = 1 generic tool support to the development of distributed applications A powerful but cumbersome tool No functionalities «ctrl/cmd oriented» Control System CORBA

Elletra’s presentation : December 2003 TANGO : introduction a framework CORBA ctrl/cmd oriented –A toolbox to implement the system –A specialization of CORBA adapted to the needs CORBA Framework Control System TANGO CORBA

Elletra’s presentation : December 2003 TANGO: APIs and platforms Programming APIs/Languages –C++ (performances) –Java (portability) –Python (scripts) –Others (Matlab, Igor Pro, LabView) Platforms –Linux –Windows NT/2000/XP –Sun-Solaris Servers Clients

Elletra’s presentation : December II - Main concepts

Elletra’s presentation : December 2003 What is a Device ?

Elletra’s presentation : December 2003 TANGO: device : definition device = 1 to control –Hardware or software –«physical» device / «logical» device device = 1 polymorphous object –1 equipement (ex: 1 power supply) –1 collection of equipment (ex: 1 motor + 1 coder) –1 cluster of devices : a monochromator a complete subsystem (a LINAC !) –A pure software component : A scan server for instance

Elletra’s presentation : December 2003 Commands Generics commands Specifics commands

Elletra’s presentation : December 2003 TANGO: device : interface: command Has a communication interface –interface = commands + attributes commands  actions attributes  physical units Hardware control code Interface CommandsAttributes GenericsSpecificsGenericsSpecifics Init State Status PowerOn PowerOff - current TANGO Software Bus

Elletra’s presentation : December 2003 TANGO: device : interface : command Generic commands exist for EVERY Device –Ping, Init, State, etc … Specific commands –Are defined by the Device developer –have : 0 or 1 in argument (argin) –give : 0 or 1 out argument (argout) argin & argout = 1 of the 20 TANGO types Execution : –launch the command_inout function with the following arguments : command name In parameter of the command Output: –result of command execution – Exemple Python : >> motor_phi.command_inout(“AxisBackward") >> motor_phi.command_inout(“GoToPosition“,100)

Elletra’s presentation : December 2003 Attributes

Elletra’s presentation : December 2003 TANGO: device : interface Has a communication interface –interface = commands + attributes commands  actions attributes  physical units Hardware control code Interface CommandsAttributes GenericsSpecificsGenericsSpecifics Init State Status PowerOn PowerOff - current TANGO Software Bus

Elletra’s presentation : December 2003 TANGO: device interface : attribute Definition –Physical unit produced or administrated by the device –ex: motor position, power emitted by a power supply, … Format : from 0 to 2 dimensions SCALAR SPECTRUM (i.e. vector) IMAGE (i.e. matrix) Type DEV_SHORT, DEV_LONG, DEV_DOUBLE –scalar, spectrum or image DEV_STRING –scalar only Accessibility –READ read-only access –WRITE write-only access –READ_WRITE Read-and-write only access set values vs actual value

Elletra’s presentation : December 2003 TANGO: device : interface : attribute Obtain/modify the current value of an attribute? –Prog. Env. OO (C++, Java, Python) dev.read_attribute(s) (attr_name_list) dev.write_attribute(s) (attr_name_list) Python Example: >> x = mouse.read_attribute ("positionX") >> print x.value >> x.value=100 >> mouse.write_attribute (x)

Elletra’s presentation : December 2003 State

Elletra’s presentation : December 2003 TANGO: device : state Tango internally manages a state Machine Each Device has an associated state –Device behavior = fonction (internal state) query -> internal state-> execute or error internal status generated by the device developer –14 predefined status ON, OFF, CLOSE, OPEN, INSERT, EXTRACT, MOVING, STANDBY, FAULT, INIT, RUNNING, ALARM, DISABLE, UNKNOWN a color code defined by Tango is associated to each status

Elletra’s presentation : December Part III - High-level applications

Elletra’s presentation : December 2003 Configuration of the control system

Elletra’s presentation : December 2003 Configuration: needs Properties ens-[seg]/dom/elem.1 ens-[seg]/dom/elem.2 ens-[seg]/dom/elem.3 several of them myDevice Commands Attributes Statuses ID Unique Needs –Define equipments present in the experiment Control/Command system –Parameterize equipments Parameters linked to the Hardware (GPIB address, etc.. ) Min and max attributes values Alarm thresholds Etc

Elletra’s presentation : December 2003 Configuration: database (static) Configuration database –Critical element of the system –unique source of information for devices and clients Implementation –1 dedicated device = TANGO interface of a SGBD –The TANGO_HOST environment variable = host_name:host_port (ex: localhost:20000) defines the static database that is used TANGO Software Bus 1 dedicated TANGO device = TANGO interface of a SGBD 1 information storage medium: 1 computing database Configuration

Elletra’s presentation : December 2003 Jive Graphical Application for TANGO control system Configuration: tool

Elletra’s presentation : December 2003 Supervision

Elletra’s presentation : December 2003 Supervision: needs Needs –Interact with equipments directly –Have an overview of the status of each equipment –Monitor the evolution of any Device attribute DeviceTree/ATK Panel Generic applications to design and customize your graphical interfaces, displaying, for a set of equipments

Elletra’s presentation : December 2003 Supervision: tool –Custom Java Applications : Using TANGO ATK library which provides Java GUI widgets which manage refresh of values, errors, connexion issues

Elletra’s presentation : December 2003 Logging

Elletra’s presentation : December 2003 LogViewer Visualise, filter and analyse errors and informations, emitted in « real time » by the different Devices of the control system Logging: tool

Elletra’s presentation : December 2003 Archiving

Elletra’s presentation : December 2003 TANGO Software Bus Archiving Historical database Device Device PoweSupply : Attribut Voltage TimeStamp Valeur : 15h 23mn 12 s : 15h 23mn22 s : 15h 23mn32 s : 15h 23mn42 s 374 Several databases Archiving Record attributes values: –Following specific criteria (frequency or other), the archiving system is supposed to memorize the values of any attribute of any Device of the control system. Extract values From client applications like a MATLAB application –From “ready-to-use” MAMBO application

Elletra’s presentation : December 2003 Developper tool

Elletra’s presentation : December 2003 E2 : POGO : Code generation Define TANGO Interface a Device with a graphical tool Generate html documentation of the Device

Elletra’s presentation : December Part IV - Strengths of TANGO

Elletra’s presentation : December 2003 Tango a solution for new Controls issues Controls trends –Less and less direct connection to HW (Digital or Analog I/O) –Link to Hardware is very often done through Software links API & libraries Third parties systems Tango is a very good Software glue to face these new integration challenges

Elletra’s presentation : December 2003 Tango : a software component philosophy Allowing to share developments between Controls systems –Decouples High level applications and HW Controls –  the software can therefore be developed by different people A device is a « Software Component » per se –Can be reused in different Controls System –Can be used by another Device Monochromator Device Hardware Device TANGO Control System Device PROXIMA Controls Systems

Elletra’s presentation : December 2003 Tango is a small and simple system : LUCIA example LUCIA = SOLEIL beamline installed at SLS Only 2 computers for the Controls System –1 CPCI crate running Tango Controls System –1 PC running java and IGOR high level applications About 10 differents kinds of Device –Motion Control DeviceServer –Slits DeviceServer –Counter/Timer DeviceServer –Analog Input DeviceServer –MultiChannel analyser DeviceServer –PicoAmmeter DeviceServer, –ScanServer DeviceServer, etc.. About 50 devices running in the Controls System Tango fits well also for these small scale systems

Elletra’s presentation : December 2003 An interesting upcoming feature for beamlines: A generic Scan mechanism  Aim: build a generic scan server which can  scan any number and kind of Actuators (for instance motors)  read any number and kind of Sensors (for instance counters)  in different scanning modes e.g. 1d, 2d, 3d,  Commands (abstract):  SetActuators  SetSensors  SetBeginPositions, SetScanSteps, SetStepsNumber  Scan1D  Scan2D  ReadScan  WriteScan  Algorithm :  move actuators, wait, start sensors (counters), read sensors, write data First scanning modes implemented First Version running on LUCIA With a Java GUI interface

Elletra’s presentation : December Part IV - Temporary conclusion on TANGO

Elletra’s presentation : December 2003 Tango in one picture Device Bus Logiciel TANGO LoggingMonitoring Configuration (motor…) Hardware (E/S…) Hardware Archivage environments Utilisateurs: MATLAB, IGOR, python,Labview Device TANGO Software Bus LoggingMonitoring Configuration Hardware (E/S…) Hardware Archiving Users environments: MATLAB, IGOR, python,Labview Bindings Ready-to-use High-level Applications The bus and Devices development tools

Elletra’s presentation : December 2003 Tango: more links The source code is available on SourceForge – The ESRF site reference – The SOLEIL site reference –

Elletra’s presentation : December Annexes - Various Details …

Elletra’s presentation : December 2003 TANGO: device : interface : command TANGODescMatlab DEV_VOIDno argin and/or no argout- DEV_STATEdevice status1-by-n char array DEV_STRINGcharacters array1-by-n char array DEV_BOOLEANboolean1-by-1 uint16 array DEV_SHORTSigned 16 bits integer1-by-1 int16 array DEV_USHORTUnsigned 16 bits integer1-by-1 uint16 array DEV_LONGSigned 32 bits integer1-by-1 int32 array DEV_ULONGUnsigned 32 bits integer1-by-1 uint32 array About argin & argout types… DEV_FLOAT32 bits floating point1-by-1 single array DEV_DOUBLE64 bits floating point1-by-1 double array DEVVAR_CHARARRAYtable of bytes (i.e. characters )1-by-n char array DEVVAR_ SHORTARRAYtable of signed 16 bits integers1-by-n int16 array DEVVAR_ USHORTARRAYtable of unsigned 16 bits integers1-by-n uint16 array DEVVAR_ LONGARRAYtable of signed 32 bits integers1-by-n int32 array DEVVAR_ ULONGARRAYtable of unsigned 32 bits integers1-by-n uint32 array DEVVAR_ FLOATARRAYtable of 32 bits floating points1-by-n single array

Elletra’s presentation : December 2003 TANGO: device server Dev Bus Logiciel TANGO Dev TANGO Software Bus Practically, 1 executable called DeviceServer –Is in charge of « connecting » several Devices to the bus –The system can be parameterized so as to change the list of Devices, which 1 DeviceServer has to administrate Device Server DServer Device