1 / 12

How to Integrate LabVIEW Applications into a Tango Control System

http://www.tango-controls.org/. How to Integrate LabVIEW Applications into a Tango Control System. About this talk…. Aim overview of a work in progress m ain motivation: turning a LabVIEW application into a Tango device server Part 1 :

smatthew
Download Presentation

How to Integrate LabVIEW Applications into a Tango Control System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://www.tango-controls.org/ How to Integrate LabVIEW Applications into a Tango Control System N. Leclercq – Synchrotron SOLEIL

  2. About this talk… • Aim • overview of a work in progress • main motivation: turning a LabVIEW application into a Tango device server • Part 1 : • foundations & core components of the proposed solution • how to write a Tango device in LabVIEW: the laborious way • NicolasLeclercq - Synchrotron SOLEIL • Part 2 : • solution enhancement on LabVIEW side • how to write a Tango device in LabVIEW: the magical way • Birgit Ploetzeneder – ELI Beamlines

  3. Problem & Solution • The problem • how to integrate subsystems delivered with a LabVIEW interface into a TANGO control system? • The current offer • the Tango binding for LabVIEW: a pure client platform :-( • the DataSocketapproach: very limitedsolution, works but doesn’t scale well • The solution • add server support to the existing Tango binding for LabVIEW • 100% native [no indirection, no intermediate protocol]

  4. Client VIs Tango Bindings for LabVIEW [Vis library] Client API Tango Bindings for LabVIEW [C++ shared library] Client API Tango Core [C++ shared library]

  5. Client VIs Tango Bindings for LabVIEW [Vis library] Server VIs Client API Tango Bindings for LabVIEW [C++ shared library] Server API Client API Tango Core [C++ shared library] Server API

  6. LabVIEW Application w/ Tango interface Client VIs Tango Bindings for LabVIEW [Vis library] Server VIs Client API Tango Bindings for LabVIEW [C++ shared library] Server API Client API Tango Core [C++ shared library] Server API

  7. The LabVIEW Server API [main VIs] • Starting up • Handling client requests • Shutting down

  8. The LabVIEW Server API [impl. pattern]

  9. The LabVIEW Server API [main VIs] • CmdArgIn & ArgOut • Get/Set AttrValue • Misc.

  10. Supported Tango features • So far, support for Tango 9 minus {Pipes, DevEncoded} • Pipes support to be studied [e.g. mapping? LV Cluster?] • Almost everything configured via POGO • e.g. default prop. value, polling, … • one exception: inheritance mechanism [to be implemented] • Everything taken in charge by the Tango kernel • e.g. [write,read]_attributes, events, …

  11. Demo: let’s rewrite TangoTest in LabVIEW • Step 1 • 1.1 - open POGO, • 1.2 - define the device interface • 1.3 - the generate the XMI file (and nothing else) • Step 2 • register your device into the Tango database • Step 3 • specify the path to the XMI file [repository] • dedicated PathToPogoXmiFileclass property • Step 4 • implement the device in LabVIEW using the provided VIs • done!

  12. Thanks! Any question?

More Related