tango on embedded devices: the bimorph mirror application case fulvio billè roberto borghes,...

23
TANGO on embedded TANGO on embedded devices: the Bimorph devices: the Bimorph Mirror application case Mirror application case Fulvio Billè Fulvio Billè Roberto Borghes, Roberto Borghes, Roberto Pugliese, Roberto Pugliese, Lawrence Iviani Lawrence Iviani Instrumentation & Measurement Software Instrumentation & Measurement Software Experiments Division Experiments Division Elettra (Sincrotrone Trieste S.C.p.A.) Elettra (Sincrotrone Trieste S.C.p.A.)

Upload: polly-harris

Post on 29-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.)

Page 2: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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

Page 3: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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?

Page 4: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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

Page 5: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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

Page 6: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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

Page 7: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

SY900S Power supply SY900S Power supply systemsystem

MultichannelMultichannelHigh voltageHigh voltageBipolarBipolarHigh precisionHigh precisionHigh stabilityHigh stabilityRemote controlRemote control

Page 8: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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

Page 9: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

XCS butterfly architectureXCS butterfly architecture

XCScore

bpsdbeamwatch

POWSUP

module

DB

configureinstead of

programming

BIMORPH

module xxxmodule

yyymodule

tcps

TANGO

epics

Page 10: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.

Page 11: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.

Page 12: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

The web interface of the The web interface of the systemsystem

Page 13: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.

Page 14: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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, …)

Page 15: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.

Page 16: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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(...))..

Page 17: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

ASCII Configuration fileASCII Configuration file

Attribute type

UnitsMin & Max

XCS get command

TANGO attributeXCS set command

TANGO command

Page 18: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.

Page 19: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

TANGO Client examplesTANGO Client examples

Using JIVEUsing ATK

Page 20: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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.

Page 21: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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)

Page 22: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement

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)

Page 23: TANGO on embedded devices: the Bimorph Mirror application case Fulvio Billè Roberto Borghes, Roberto Pugliese, Lawrence Iviani Instrumentation & Measurement