240 likes | 270 Views
Learn about the Rapid Application Development Environment (RADE) based on LabVIEW, its characteristics, and its application in control systems, test facilities, and expert diagnostics. Discover the benefits of using LabVIEW, such as fast programming, drag and drop GUI development, wide range of analysis libraries, and integration with control infrastructure.
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