Transcript Tango ATK

Tango Application Toolkit
(Tango ATK)
Faranguiss PONCET
Jean-Luc PONS
ESRF – Grenoble - FRANCE
ICALEPCS 2005
Tango ATK
1
Tango ATK
•
•
•
•
•
What is Tango?
Goals of Tango Application Toolkit (ATK)
Software Architecture
Inside Tango ATK
Synoptic drawing and viewing
ICALEPCS 2005
Tango ATK
2
What is Tango?
A CORBA based framework for distributed and object oriented control systems
Control System
TANGO
Framework
CORBA
CORBA
CORBA
Central Tango component : Device
Dev
O
Dev
O
Dev
O
Dev
O
Dev
O
Dev
O
Distributed
Software
TANGO
Control
System
Dev
O
ICALEPCS 2005
Dev
O
Dev
O
Dev
O
Tango ATK
Dev
O
Dev
O
3
What is Tango?
The device is a remote object
TANGO software Bus
network
Interface:
Device
(position,…)
(on, off,…)
•Attributes
•Commands
Implementation
HardWare
ICALEPCS 2005
Tango ATK
(motor,…)
4
What is Tango?
Software Bus for distributed control software
QTango
Python
TANGO Application Toolkit (ATK)
Java
C++
TANGO Software Bus
Java
Dev
Dev
C++
Dev
Dev
OPC
ICALEPCS 2005
Tango ATK
5
Tango ATK goals
•Provide a framework to speed up the
development of Tango Applications
•Help standardize the look and feel of the
applications
•Implements the core of “any” Tango Java
client
•Is extensible
ICALEPCS 2005
Tango ATK
6
Software Architecture
Application
Tango ATK
Java Swing
ICALEPCS 2005
Tango Java API
Tango ATK
7
Software Architecture
Control
Application
Myviewer.setModel(coreObject)
Model
View
ATKCore
ATKWidget
Attribute
NumberSpectrumViewer
AttributeList
NumberScalarListViewer
Command
CommandComboViewer
CommandList
StateViewer
… etc.
… etc.
Tango Java API
Java Swing
ICALEPCS 2005
Tango ATK
8
Inside Tango ATK
ATKCore sub-package provides the classes which implement the model
View
Model
ATKWidget
ATKCore
Tango Java API
ATK Attribute Viewer
ATK Attribute Viewer
Notify all it’s
attribute listeners
Attribute
Attribute Change Event
Connects to
Subscribes to Tango Events
Tango Device Attribute
Error occurs
Notify all it’s error
listeners
ATK Error Viewer
ICALEPCS 2005
Tango ATK
9
Inside Tango ATK
ATKWidget sub-package provides the classes to view and to interact with
ATKCore objects
NumberSpectrumViewer
NumberImageViewer
View
ATKWidget
Java Swing
CommandComboViewer
ICALEPCS 2005
Tango ATK
ScalarListViewer
10
Synoptic
Use Jdraw editor to draw the synoptic
Give the “panel”
Associate
parts of
class
the drawing
name to to
beTango
popped
components
up
when this (attributes,
object is clicked
commands)
ICALEPCS 2005
Tango ATK
11
Synoptic
Launch the ready to use ATK application “SimpleSynopticAppli” to test the
synoptic at run time
ICALEPCS 2005
Tango ATK
12
Synoptic
Design your own specific ATK application using your favorite Java IDE
ICALEPCS 2005
Tango ATK
13
Synoptic
Final synoptic application
ICALEPCS 2005
Tango ATK
14
Conclusion
New control applications at ESRF are now based on Tango ATK
The QTango developed at ELETTRA follows the same design
pattern and software architecture.
ATK Java Beans have been successfully integrated in a
Java Scada system at SOLEIL
ICALEPCS 2005
Tango ATK
15
Thank you for your attention
More information : http://www.esrf.fr/tango
http://www.elettra.trieste.it/~tango/index.html
http://www-controle.synchrotron-soleil.fr:8001/collaboration
ICALEPCS 2005
Tango ATK
16