240 likes | 391 Views
R apid A pplication D evelopment E nvironment based on LabVIEW. Adriaan Rijllart CERN EN-ICE. CS Workshop, GSI, February 26-27, 2009. Why?. Identified controls applications domains. Beam Control JAVA. SCADA PVSS. Test & Development. LabVIEW, MatLab, scripts, etc.
E N D
Rapid Application Development Environmentbased on LabVIEW Adriaan Rijllart CERN EN-ICE CS Workshop, GSI, February 26-27, 2009
Why? Adriaan Rijllart CERN EN-ICE
Identified controls applications domains • Beam Control JAVA • SCADA PVSS • Test & Development LabVIEW, MatLab, scripts, etc. Rapid Application Development Environment (RADE) Adriaan Rijllart CERN EN-ICE
Test & Development applications characteristics • Short development time applications (i.e. specific analysis) • Rapidly evolving applications (i.e. machine development) • Punctually used applications (i.e. expert diagnostics) • Stand-alone systems (i.e. test facilities) Adriaan Rijllart CERN EN-ICE
LabVIEW programming language our contribution Requirements • Fast programming • Drag and drop GUI development • Rapid learning curve • Wide range of analysis libraries • Light/independent environment • Integration with the control infrastructure Adriaan Rijllart CERN EN-ICE
Other reasons for choosing LabVIEW • We have a deep experience (more then 10 years) • CERN site license since many years • Commonly used in accelerators control in other labs: • LabVIEW is the second most used programming language used for accelerator control, as shown in ICALEPCS2007 presentations • A world wide LabVIEW Accelerator User Group has been set up by ORNL during ICALEPCS2007 • EPICS and Tango have made a LabVIEW interface to their environments, mainly for the same reasons (rapid application development) Adriaan Rijllart CERN EN-ICE
…and for the accelerators at CERN? LabVIEW is widely used (with custom libraries made by equipment groups) Some examples … Adriaan Rijllart CERN EN-ICE
Java GUI LV app Server app JAPC FESA 3rd party driver Equip. driver LabVIEW as equipment test tool Integration after test Equipment Adriaan Rijllart CERN EN-ICE
Example in AB: Optical Interface Board Tester (CO) Adriaan Rijllart CERN EN-ICE
LV app CMW CMW wrapper LabVIEW as specialist tool Java GUI Server app JAPC FESA Equip. driver Equipment Adriaan Rijllart CERN EN-ICE
Example in AB: SPS Power Converter View (PO) Adriaan Rijllart CERN EN-ICE
LV GUI LV2JAPC LabVIEW as GUI Java GUI Server app JAPC FESA Equip. driver Equipment Adriaan Rijllart CERN EN-ICE
Example in AB: Bunch Shape Measurement (OP) Adriaan Rijllart CERN EN-ICE
LV app SDDSlib LabVIEW as independent application Java GUI Server app JAPC SDDS FESA Equip. driver Equipment Adriaan Rijllart CERN EN-ICE
Example in AB: Post Mortem Analysis (CO) Adriaan Rijllart CERN EN-ICE
Proposed framework Adriaan Rijllart CERN EN-ICE
Covered domains Test facilities Expert tools Machine development Adriaan Rijllart CERN EN-ICE
Building blocks 2. Control Integration • Maintained interface libraries • CMW • RBAC • SDDS • DB • JAPC 1. Installation • Clear LabVIEW version policy • NFS installation for Linux • Windows TS installation 4. Development help • Defined GUI • Application templates • Configuration files • Training • Documentation 3. Support • Information Webpage • Mailing list • JIRA for issue tracking • User support Adriaan Rijllart CERN EN-ICE
Building blocks 2. Control Integration • Maintained interface libraries • CMW • RBAC • SDDS • DB • JAPC 1. Installation • Clear LabVIEW version policy • NFS installation for Linux • Windows TS installation 4. Development help • Defined GUI • Application templates • Configuration files • Training • Documentation 3. Support • Information Webpage • Mailing list • JIRA for issue tracking • User support Adriaan Rijllart CERN EN-ICE
The RADE framework Defined GUI Configuration files Application templates Documentation Training LabVIEW libs JAPC SDDS Support Data Bases Adriaan Rijllart CERN EN-ICE
RADE internal architecture Adriaan Rijllart CERN EN-ICE
RADE implementation example 1 C/C++ shared library Adriaan Rijllart CERN EN-ICE
RADE implementation example 2 Java interface Adriaan Rijllart CERN EN-ICE
ADE Questions? Adriaan Rijllart CERN EN-ICE