Download presentation
Presentation is loading. Please wait.
Published byErica Wilkinson Modified over 9 years ago
1
Industrial Control Engineering ADE Rapid Application Development Environment based on LabVIEW
2
Industrial Control Engineering Outline MTA Why RADE? The challenge Coping with large applications RADE today Hands On session
3
Industrial Control Engineering EN-ICE-MTA labview.support@cern.ch
4
Industrial Control Engineering Why was RADE developed?
5
Industrial Control Engineering The Origin 10.000+ Magnets 1750 Circuits 13000+ Tests
6
Industrial Control Engineering The Challenge
7
Industrial Control Engineering The Challenge Linux Windows Mac GPN TN DB CMW RBAC Timing Files PLC DAQ
8
Industrial Control Engineering RAD(E) RAD(E) (rapid application development) is a concept that products can be developed faster and of higher quality through: Gathering requirements Prototyping Defer design improvements to the next release Less formality in reviews and communication Re-use of software components
9
Industrial Control Engineering The Scope Short development time applications Rapidly evolving applications Punctually used applications Stand-alone systems
10
Industrial Control Engineering Fast programming Rapid learning curve Drag and drop GUI development Wide range of analysis libraries Light/independent environment Integration with CERN infrastructures LabVIEW Initial Requirements
11
Industrial Control Engineering RADE Applications EN-ICE-MTA11 RADE Palette
12
Industrial Control Engineering Training Support LabVIEW TemplatesConfiguration filesDocumentation DB Files JAPC libs PLCCMWJava The Framework
13
Industrial Control Engineering 13RADE Applications EN-ICE-MTA LabVIEW user application LabVIEW C/C++ shared lib Java Server SDDS PLC MTA-lib RBACRIO SQL TGM ALARM eLogBook RADE Core Technology
14
Industrial Control Engineering RADE Applications
15
Industrial Control Engineering 15 RADE Applications
16
Industrial Control Engineering Coping With Large Applications
17
Industrial Control Engineering Fast programming Rapid learning curve Drag and drop GUI development Wide range of analysis libraries Light/independent environment Integration with CERN infrastructures Source control and distribution Instance generation Dedicated templates LabVIEW Large Application Requirements
18
Industrial Control Engineering Source Control
19
Industrial Control Engineering Distribution RADE Installer
20
Industrial Control Engineering Project Generator
21
Industrial Control Engineering Typical design Create, Use & Destroy
22
Industrial Control Engineering Dedicated Templates
23
Industrial Control Engineering Development help Design patterns and templates in RADE LabVIEW Guides http://j2eeps.cern.ch/wikis/display/EN/LabVIEW+Guides http://j2eeps.cern.ch/wikis/display/EN/LabVIEW+Guides Code review: make LabVIEW code beautiful
24
Industrial Control Engineering EN-ICE-MTA & & Hardware Software PXI CompactRIO LabVIEW TestStand DIAdem and other NI products
25
Industrial Control Engineering LabVIEW support LabVIEW installation problems When to contact us? labview.support@cern.ch labview.support@cern.ch cern.ch/labview
26
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA26 MTA Why RADE? The challenge Coping with large applications RADE today Hands On session
27
Industrial Control Engineering RADE today
28
Industrial Control Engineering Present domains of use… Accelerator Improvements Test facilities Expert tools
29
Industrial Control Engineering LabVIEW for CERN Developing applications for CERN Providing access to CERN infrastructure with RADE
30
Industrial Control Engineering RADE has become adult Copes with the classical software development challenges Enables LabVIEW to be used for accelerator applications Thank you for your attention ! Conclusion
31
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA31 MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends SQL: CERN Database connections SDDS: Offline data from the front-ends RBAC: Role based access control MTAlib and OpenG toolkits
32
Industrial Control Engineering RADE Applications EN-ICE-MTA32 RADE Input/Output (RIO) Live data from the front-ends
33
Industrial Control Engineering What is RIO? CERN front-ends JAPC RADE Input/Output (RIO) Client applications
34
Industrial Control Engineering What is RIO? CERN front-ends JAPC RADE Input/Output (RIO) Client applications
35
Industrial Control Engineering RADE Applications EN-ICE-MTA35 RIO: Basics 1. 2. 3.
36
Industrial Control Engineering JAPC or CMW? JAPC
37
Industrial Control Engineering Get data from front-end URL of device + Cycle Data type
38
Industrial Control Engineering Set data to front-end URL of device + Cycle Data type
39
Industrial Control Engineering Subscription to front-end data Set URL, Cycle and Data type in open.vi Put operation.vi in a loop Check for timeout and error
40
Industrial Control Engineering RIO data types Field nameField data type DDouble BoolBoolean C2D300String [ ] I642D300I64 [ ] [ ] C1D300String Japc2Lv_T2-abcopm02/Mixed: Field name in LV = field name of device Field type in LV = field type of device
41
Industrial Control Engineering Additional configurations of RIO operations paramDescription.viabortSubscription.vi setFilter.vi RBACNewToken.vi RBACTokenInfo.vi
42
Industrial Control Engineering Goal: Implement GET/SET operations for CERN device using RIO Toolkit. RADE Applications EN-ICE-MTA42 Exercise Get and Set data on a CERN device
43
Industrial Control Engineering Goal: Implement subscription to data from CERN device. RADE Applications EN-ICE-MTA43 Exercise Subscribe to data from device
44
Industrial Control Engineering The device “PR.GSQDN1/CCV” has the following fields: lambdaX: I32 data: Double msg: String Which of the following Data Type is not correct? Quiz 1 RADE Applications EN-ICE-MTA44 1.2.3. 4.
45
Industrial Control Engineering The device “PR.BPM/Setting” has the following fields: bucketBBB: I32[ ] bucketSelect: I16 gain: I32 Which of the following Data Type is not correct? Quiz 2 RADE Applications EN-ICE-MTA45 1.2.3. 4.
46
Industrial Control Engineering What is wrong with this VI: Quiz 3 RADE Applications EN-ICE-MTA46
47
Industrial Control Engineering This VI is correct: Quiz 3 RADE Applications EN-ICE-MTA47
48
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA48 MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends SQL: CERN Database connections SDDS: Offline data from the front-ends RBAC: Role based access control MTAlib and OpenG toolkits
49
Industrial Control Engineering RADE Applications EN-ICE-MTA49 SQL CERN Database Connections
50
Industrial Control Engineering RADE Applications EN-ICE-MTA50 Query to Database
51
Industrial Control Engineering LHC Logging and Measurement databases 51RADE Applications EN-ICE-MTA
52
Industrial Control Engineering RADE Applications EN-ICE-MTA52 LHC Logging and Measurement databases Extracts statistics for a signal data:
53
Industrial Control Engineering RADE Applications EN-ICE-MTA53 Search signal names
54
Industrial Control Engineering Goal: Extract signal data from LHC Logging DB using the SQL_MA.vi RADE Applications EN-ICE-MTA54 Exercise Extract data from LHC Logging DB
55
Industrial Control Engineering Which VI is used to execute SQL queries for CERN databases? SQL.vi Quiz 4 RADE Applications EN-ICE-MTA55 Where can we find it in the RADE palette? RADE -> SQL
56
Industrial Control Engineering How to extract signal data from LHC logging Database? SQL-MA.vi -> lhclog Quiz 5 RADE Applications EN-ICE-MTA56
57
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA57 MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends SQL: CERN Database connections SDDS: Offline data from the front-ends RBAC: Role based access control MTAlib and OpenG toolkits
58
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA58 Offline data from the front ends
59
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA59 Offline data from the front ends Each SDDS data file consists of an ASCII header describing the names and types of the data stored in the file. The data follows after the header, and may be in ASCII or binary. SDDS Header SDDS Body
60
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA60 Offline data from the front ends SDDS files are used to store Post Mortem and similar event data Our SDDS library has the capability to read such files (not write).
61
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA61 Offline data from the front ends The palette consists of two parts, which are used independently. SDDS Express SDDS Advanced Express: Reads the SDDS file and displays it graphically. Advanced: Intended for applications that doesn’t display graphs. Less overhead.
62
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA62 Offline data from the front ends SDDS Express SDDS_Open_Files: Reads the file path and outputs the header info and signal names. SDDS_Select:Used to select the signals. Default behaviour is a popup window. Can be omitted completely to use all available signals. SDDS_Read: Reads the signals selected and outputs the data. SDDS_Display:Formats the data so that it can be easily be displayed in a graph.
63
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA63 Offline data from the front ends Manual signal selection Signals can be selected without user interaction. Wire signals as a constant and disable the popup dialogue. One signal type can be displayed per SDDS_Display VI.
64
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA64 Post Mortem Browser PM Server Logging DB LSA DB LHC-Layout DB
65
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA65 MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends SQL: CERN Database connections SDDS: Offline data from the front-ends RBAC: Role based access control MTAlib and OpenG toolkits
66
Industrial Control Engineering 66RADE Applications EN-ICE-MTA RBAC Provides a level of security for accessing sensitive equipment The underlying architecture is developed by controls middleware (CMW) Both Windows and Linux platforms are supported Role Based Access Control
67
Industrial Control Engineering RBAC RADE Applications EN-ICE-MTA67 Role Based Access Control
68
Industrial Control Engineering 68RADE Applications EN-ICE-MTA The token is stored by a numeric reference Valid until expired or destroyed Don’t store your password on the block diagram: Enter your password in a GUI at startup of your application RBAC Usage
69
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA69 MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends SQL: CERN Database connections SDDS: Offline data from the front-ends RBAC: Role based access control MTAlib and OpenG toolkits
70
Industrial Control Engineering MTA-lib RADE Applications EN-ICE-MTA70
71
Industrial Control Engineering RADE Applications EN-ICE-MTA71 LabVIEW Community pages (non-NI): www.openg.orgwww.openg.org – Forum and wiki www.lavag.orgwww.lavag.org – Forum and file repository Let us know if there is something you’d like to see in our MTA-palette. OpenG community One of the few non-NI LabVIEW communities Offers several green, time-saving VIs Many polymorphic VIs, build executable to improve speed.
72
Industrial Control Engineering MTA-lib: Data Palette RADE Applications EN-ICE-MTA72 Variants: Container that can contain different data types. Great for generic programming, but can add overhead.
73
Industrial Control Engineering RADE Applications EN-ICE-MTA73 OpenG Use case: Variants containing generic data. This is the case for basic numeric types and strings.
74
Industrial Control Engineering RADE Applications EN-ICE-MTA74 OpenG Use case: Variants with run-time types. What about arrays? Retrieves the array type.
75
Industrial Control Engineering RADE Applications EN-ICE-MTA75 OpenG Use case: Variants with run-time types. What about clusters? Notice the variant to data usage.
76
Industrial Control Engineering RADE Applications EN-ICE-MTA76 OpenG Use case: Variants with run-time types. Live demo of the VI. Quick look at the application control palette.
77
Industrial Control Engineering RADE Applications EN-ICE-MTA77 OpenG use case: Array to cluster Let’s have a look at the one shipped with LabVIEW “You have connected two clusters of different content.”
78
Industrial Control Engineering RADE Applications EN-ICE-MTA78 OpenG Use case: Array to cluster The cluster size needs to be adjusted This OpenG VI looks interesting…
79
Industrial Control Engineering RADE Applications EN-ICE-MTA79 OpenG Use case: Array to cluster Array size can now vary without manual intervention. Displaying it as a cluster. What happens if the array size doesn’t match the cluster? A runtime error. Conclusion: Use a typedef cluster!
80
Industrial Control Engineering MTA-lib: Array Palette RADE Applications EN-ICE-MTA80
81
Industrial Control Engineering RADE Applications EN-ICE-MTA81 OpenG Use case: Array manipulation Conditional Auto-Indexing Tunnels Remove Duplicates From 1D Array Filter 1D Array Note: this feature has been built into loops in LabVIEW 2012.
82
Industrial Control Engineering RADE Applications EN-ICE-MTA82 OpenG Use case: Array manipulation Delete elements from array (polymorphic) 1D 2D
83
Industrial Control Engineering RADE Applications EN-ICE-MTA83 OpenG Use case: Array manipulation Index array elements (polymorphic) 1D 2D
84
Industrial Control Engineering RADE Applications EN-ICE-MTA84 OpenG Use case: Array manipulation Search 1D array Sort array (Polymorphic)
85
Industrial Control Engineering MTA-lib: String Palette RADE Applications EN-ICE-MTA85
86
Industrial Control Engineering RADE Applications EN-ICE-MTA86 Multi-line string to array OpenG Use case: String array constant 1D String array to string - Basically array to spreadsheet Combining string and array tools.
87
Industrial Control Engineering MTA-lib: Time Palette RADE Applications EN-ICE-MTA87
88
Industrial Control Engineering RADE Applications EN-ICE-MTA88 OpenG Use case: Wait/delay Instead: Additional functionality: - Boolean input that specifies if it should wait when there is an error. - Occurrence reference for aborting (optional). Also comes in as “wait until next ms multiple”.
89
Industrial Control Engineering www.cern.ch/RADE
90
Industrial Control Engineering Questions
91
Industrial Control Engineering What is RADE? RADE Applications EN-ICE-MTA91 JAPC Databases
92
Industrial Control Engineering Distributed Architecture System I/O
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.