TANGO on embedded TANGO on embedded devices: the Bimorph devices: the Bimorph Mirror application caseMirror application case
Fulvio Billè Fulvio Billè Roberto Borghes, Roberto Borghes,
Roberto Pugliese, Roberto Pugliese,
Lawrence IvianiLawrence Iviani
Instrumentation & Measurement SoftwareInstrumentation & Measurement SoftwareExperiments DivisionExperiments DivisionElettra (Sincrotrone Trieste S.C.p.A.)Elettra (Sincrotrone Trieste S.C.p.A.)
OutlineOutline
What is a NAD?What is a NAD?
XCS Controller architectureXCS Controller architecture
The specific application:The specific application:➢ SY900S a power supply system for Bimorph SY900S a power supply system for Bimorph
MirrorsMirrors
XCS InterfacesXCS Interfaces➢ Web, EPICS, TcpsWeb, EPICS, Tcps➢ TANGOTANGO
Future developmentsFuture developments
What is a NAD?What is a NAD?A Network Attached Device (NAD) is an A Network Attached Device (NAD) is an instrument that can be interfaced via LAN. instrument that can be interfaced via LAN.
But ... what about theBut ... what about the comunication protocol? comunication protocol? Some instruments have MODBUS-TCP/IPSome instruments have MODBUS-TCP/IP Most of them have its own protocol ...Most of them have its own protocol ...
Why not moving to standards ...Why not moving to standards ... HTTP?HTTP? Channel Access (EPICS)?Channel Access (EPICS)? CORBA (TANGO)?CORBA (TANGO)? Webservices/GRIDservices?Webservices/GRIDservices?
A NAD’s based control A NAD’s based control systemsystem
Each NAD speaks the same protocolEach NAD speaks the same protocol
There is no needed for a centralized control systemThere is no needed for a centralized control system
Each client application (GUI) speaks directly to NADs in a uniform wayEach client application (GUI) speaks directly to NADs in a uniform way
Intranet / Internet
GUI application
The specific application: The specific application: Bimorph mirror controllerBimorph mirror controller
Bimorph material allow on-line adjustments to Bimorph material allow on-line adjustments to optimize the shape and hence the beam.optimize the shape and hence the beam.This method can:This method can:
Correct thermalCorrect thermalmodificationmodification
Modify opticsModify optics
Bimorph mirrorBimorph mirror
The electrodes of bimorph mirror are split in The electrodes of bimorph mirror are split in more segments to obtain optimal correction.more segments to obtain optimal correction.Each segment need a power supply.Each segment need a power supply.The performance of the system is strictly The performance of the system is strictly connected with the power supply performanceconnected with the power supply performance
-V+V
SY900S Power supply SY900S Power supply systemsystem
MultichannelMultichannelHigh voltageHigh voltageBipolarBipolarHigh precisionHigh precisionHigh stabilityHigh stabilityRemote controlRemote control
The XCS software The XCS software architecturearchitecture
Our NAD, the bimorph mirror controller, is based Our NAD, the bimorph mirror controller, is based on XCS architectureon XCS architectureThe XCS architecture is the core of the Elettra The XCS architecture is the core of the Elettra Beamline Control System.Beamline Control System.This system is used to control ~ 20 beamlines at This system is used to control ~ 20 beamlines at Elettra (total ~10000 variables)Elettra (total ~10000 variables)XCS was initially developed for LynxOS but now XCS was initially developed for LynxOS but now runs also under Linuxruns also under LinuxXCS has native tools for web accessXCS has native tools for web access
XCS butterfly architectureXCS butterfly architecture
XCScore
bpsdbeamwatch
POWSUP
module
DB
configureinstead of
programming
BIMORPH
module xxxmodule
yyymodule
tcps
TANGO
epics
XCS role for the bimorph XCS role for the bimorph applicationapplication
Usable interface for the final applicationsUsable interface for the final applications
Usable interface for different type of usersUsable interface for different type of users IInstallation, Commissioning, Debug, End usernstallation, Commissioning, Debug, End user
Safe operationSafe operation Mirror can be seriously damaged if the voltages set Mirror can be seriously damaged if the voltages set
pattern is not correctpattern is not correct
Implements special algorithm to optimize the Implements special algorithm to optimize the
behavior of bimorph mirror.behavior of bimorph mirror.
ConfigurationConfiguration
The system is self-configured.The system is self-configured.
At start-up the controller recognizes each power-At start-up the controller recognizes each power-
supply module and loads from it the calibration supply module and loads from it the calibration
parameters.parameters.
The configuration of XCS database is changed The configuration of XCS database is changed
when needed.when needed.
The web interface of the The web interface of the systemsystem
EPICS interfaceEPICS interface
A minimal EPICS ioc runs inside the instrument A minimal EPICS ioc runs inside the instrument controller.controller.
Use the ASYN driver to communicate to XCS via Use the ASYN driver to communicate to XCS via loopback ethernet device.loopback ethernet device.
The DB of the IOC is configured automatically when the The DB of the IOC is configured automatically when the topology of the modules is changed accordingly to the topology of the modules is changed accordingly to the XCS database.XCS database.
Tcps InterfaceTcps Interface
Is the basic XCS network interface.Is the basic XCS network interface.
A very simple ASCII protocol on A very simple ASCII protocol on TCP/IP allow the user to get and TCP/IP allow the user to get and set the system points.set the system points.
With this interface you can have a With this interface you can have a programmatic interface to XCS programmatic interface to XCS from every from every typetype of client language of client language (C, C++, java, python, perl, (C, C++, java, python, perl, LabVIEW, IDL, fuzzyCLIPS, …)LabVIEW, IDL, fuzzyCLIPS, …)
SY900S Device ServerSY900S Device Server
A device server called SY900S runs inside the A device server called SY900S runs inside the controllercontroller
Via web interface we set the address of the Via web interface we set the address of the
Database Device ServerDatabase Device Server
At boot the device server exports its commands At boot the device server exports its commands
and attributes to the remote TANGO Database.and attributes to the remote TANGO Database.
Commands and attributes are dynamically Commands and attributes are dynamically
configured accordingly to the XCS database.configured accordingly to the XCS database.
SY900S Device Server SY900S Device Server Special Initial operationsSpecial Initial operations
Read custom configuration file of XCS “Read custom configuration file of XCS “GETGET” and ” and ““SETSET” commands.” commands.
Export each “Export each “GETGET” command as TANGO read ” command as TANGO read attribute (attribute (export_attribute(...)export_attribute(...)).).
Export each “SExport each “SETET” command as TANGO ” command as TANGO command command (export_command(...))(export_command(...))..
ASCII Configuration fileASCII Configuration file
Attribute type
UnitsMin & Max
XCS get command
TANGO attributeXCS set command
TANGO command
SY900S Device Server SY900S Device Server runtime operationsruntime operations
Each request coming from a TANGO client is translated Each request coming from a TANGO client is translated into a XCS command.into a XCS command.
SY900Sdevice server
TCPS interface
XCScore
Bimorph controller
To TANGO client
From TANGO client
A TCPS request is then performed via loopback device.A TCPS request is then performed via loopback device.
The reply is translated and sent to the TANGO client.The reply is translated and sent to the TANGO client.
TANGO Client examplesTANGO Client examples
Using JIVEUsing ATK
Bimorph Mirror application Bimorph Mirror application future developmentsfuture developments
The system will hold inside the procedures to The system will hold inside the procedures to compute the interaction matrix and all needed to compute the interaction matrix and all needed to calculate the set of voltages to obtain the calculate the set of voltages to obtain the desired shape.desired shape.
The user will send commands directly in optical The user will send commands directly in optical
parameter (radius of curvature, …).parameter (radius of curvature, …).
The system will maintain optimal optical The system will maintain optimal optical
performance closing a loop with a wave front performance closing a loop with a wave front
analyzer.analyzer.
Remarks / ConsiderationsRemarks / Considerations
The Elettra Beamline Control System architecture (XCS) The Elettra Beamline Control System architecture (XCS) was ported to Linux and reused for embedded devices.was ported to Linux and reused for embedded devices.
The Web tools developed for the XCS The Web tools developed for the XCS (Bpsd/Beamwatch) can be used for supervision and (Bpsd/Beamwatch) can be used for supervision and configuration via WEB.configuration via WEB.
The EPICS and TANGO interfaces were added to allow The EPICS and TANGO interfaces were added to allow the user to have a transparent and uniform interface of the user to have a transparent and uniform interface of the mirror controller (NAD concept).the mirror controller (NAD concept).
The generic user can access the system using tcps The generic user can access the system using tcps protocol with every kind of languageprotocol with every kind of language
EPICS and TANGO interfaces are generic bridges to the EPICS and TANGO interfaces are generic bridges to the XCS control system where XCS acts always as a serverXCS control system where XCS acts always as a server
We are developing a WebServices / GRIDservices We are developing a WebServices / GRIDservices enabled XCS version (GRIDCC FP6 project) enabled XCS version (GRIDCC FP6 project)
AcknowledgementsAcknowledgements
R. Signorato (Accel)R. Signorato (Accel)R. Sabjan (Cosylab)R. Sabjan (Cosylab)Instrumentation for measurement Group Instrumentation for measurement Group (Elettra)(Elettra)Software for measurement Group (Elettra)Software for measurement Group (Elettra)Machine Control Group (Elettra)Machine Control Group (Elettra)
Top Related