Download presentation
Presentation is loading. Please wait.
Published byDinah Fields 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 x RAD (rapid application development) concept: - Develop products faster and in higher quality than with traditional methods 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 Example Data Analysis Application: To analyse power aborts in LHC circuits Data from Logging DB Developed in 3 days
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 Training Support LabVIEW TemplatesConfiguration filesDocumentation DB Files JAPC libs PLCCMWJava RADE Framework
12
Industrial Control Engineering RADE 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 Java
13
Industrial Control Engineering RADE Applications EN-ICE-MTA RADE Palette
14
Industrial Control Engineering RADE Applications
15
Industrial Control Engineering RADE Applications
16
Industrial Control Engineering Outline MTA Why RADE? The challenge Coping with large applications RADE today Hands On session
17
Industrial Control Engineering Coping With Large Applications
18
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 Dedicated templates LabVIEW Large Application Requirements
19
Industrial Control Engineering Source Control
20
Industrial Control Engineering Distribution RADE Installer
21
Industrial Control Engineering Project Generator
22
Industrial Control Engineering Typical design Create, Use & Destroy
23
Industrial Control Engineering State Machine Template
24
Industrial Control Engineering Development help RADE design patterns and templates LabVIEW Guides: cern.ch/enice/RADE-Guides cern.ch/enice/RADE-Guides Code review: make LabVIEW code beautiful
25
Industrial Control Engineering EN-ICE-MTA & & Hardware Software PXI CompactRIO LabVIEW TestStand DIAdem and other NI products
26
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA 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 Conclusion
31
Industrial Control Engineering LabVIEW & RADE Support labview.support@cern.ch labview.support@cern.ch cern.ch/labview cern.ch/rade Thank you for your attention !
32
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA 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
33
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends RBAC: Role based access control SQL: CERN Database connections MTAlib and OpenG toolkits
34
Industrial Control Engineering RADE Applications EN-ICE-MTA RADE Input/Output (RIO) Live data from the front-ends
35
Industrial Control Engineering What is RIO? CERN front-ends JAPC RADE Input/Output (RIO) Client applications
36
Industrial Control Engineering What is RIO? CERN front-ends JAPC RADE Input/Output (RIO) Client applications
37
Industrial Control Engineering JAPC or CMW? JAPC
38
Industrial Control Engineering RADE Applications EN-ICE-MTA RIO: Basics 1. 2. 3.
39
Industrial Control Engineering Get data from front-end
40
Industrial Control Engineering Set data to front-end
41
Industrial Control Engineering Subscription to front-end data Put operation.vi in a loop Check for timeout and error
42
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
43
Industrial Control Engineering Additional configurations of RIO operations paramDescription.viabortSubscription.vi setFilter.vi RBACNewToken.vi RBACTokenInfo.vi
44
Industrial Control Engineering Goal: Implement GET/SET/Subscribe operations for CERN device using RIO Toolkit. RADE Applications EN-ICE-MTA Exercise Get, Set and Subscribe data on a CERN device
45
Industrial Control Engineering Goal: Implement subscription to data from CERN device. RADE Applications EN-ICE-MTA45 Exercise Subscribe to data from device
46
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-MTA 1.2.3. 4.
47
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-MTA 1.2.3. 4.
48
Industrial Control Engineering What is wrong with this VI? Quiz 3 RADE Applications EN-ICE-MTA
49
Industrial Control Engineering This VI is correct. Quiz 3 RADE Applications EN-ICE-MTA
50
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA 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
51
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends RBAC: Role based access control SQL: CERN Database connections MTAlib and OpenG toolkits
52
Industrial Control Engineering RBAC RADE Applications EN-ICE-MTA Role Based Access Control
53
Industrial Control Engineering RADE 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
54
Industrial Control Engineering RADE 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
55
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends RBAC: Role based access control SQL: CERN Database connections MTAlib and OpenG toolkits
56
Industrial Control Engineering RADE Applications EN-ICE-MTA SQL CERN Database Connections
57
Industrial Control Engineering RADE Applications EN-ICE-MTA Query to Database
58
Industrial Control Engineering LHC Logging and Measurement databases RADE Applications EN-ICE-MTA
59
Industrial Control Engineering RADE Applications EN-ICE-MTA LHC Logging and Measurement databases Extracts statistics for a signal data:
60
Industrial Control Engineering RADE Applications EN-ICE-MTA Search signal names
61
Industrial Control Engineering Goal: Extract signal data from LHC Logging DB using the SQL_MA.vi RADE Applications EN-ICE-MTA Exercise Extract data from LHC Logging DB
62
Industrial Control Engineering Which VI is used to execute SQL queries for CERN databases? SQL.vi Quiz 4 RADE Applications EN-ICE-MTA Where can we find it in the RADE palette? RADE -> SQL
63
Industrial Control Engineering How to extract signal data from LHC logging Database? SQL-MA.vi -> lhclog Quiz 5 RADE Applications EN-ICE-MTA
64
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA 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
65
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA Offline data from the front ends
66
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA 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
67
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA 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).
68
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA 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.
69
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA 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.
70
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA 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.
71
Industrial Control Engineering SDDS RADE Applications EN-ICE-MTA Post Mortem Browser PM Server Logging DB LSA DB LHC-Layout DB
72
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA 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
73
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA 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
74
Industrial Control Engineering Outline RADE Applications EN-ICE-MTA MTA Why RADE? The challenge Coping with large applications RADE today Hands On session RIO: Live data from the front-ends RBAC: Role based access control SQL: CERN Database connections MTAlib and OpenG toolkits
75
Industrial Control Engineering MTA-lib RADE Applications EN-ICE-MTA
76
Industrial Control Engineering RADE Applications EN-ICE-MTA Non-NI LabVIEW Communities: www.openg.orgwww.openg.org – Forum and wiki www.lavag.orgwww.lavag.org – Forum and file repository You’d like to have something more in the MTA palette? -> Let us know OpenG community Non-NI LabVIEW community Several green “time-saving” VIs Many polymorphic VIs → build executable to improve performance
77
Industrial Control Engineering MTA-lib: Data Palette RADE Applications EN-ICE-MTA Variant: A container that can contain different data types. Great for generic programming, but can add overhead.
78
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Variants containing generic data.
79
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Variants with run-time types. What about arrays? Retrieves the array type.
80
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Variants with run-time types. What about clusters? Notice the variant to data usage.
81
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Variants with run-time types. Live demo of the VI. Quick look at the application control palette.
82
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Array to cluster The one shipped with LabVIEW “You have connected two clusters of different content.”
83
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Array to cluster The cluster size needs to be adjusted Interesting OpenG VI
84
Industrial Control Engineering RADE Applications EN-ICE-MTA 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!
85
Industrial Control Engineering MTA-lib: Array Palette RADE Applications EN-ICE-MTA
86
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Array manipulation Remove Duplicates From 1D Array Filter 1D Array
87
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Array manipulation Delete elements from array (polymorphic) 1D 2D
88
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Array manipulation Index array elements (polymorphic) 1D 2D
89
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Array manipulation Search 1D array Sort array
90
Industrial Control Engineering MTA-lib: String Palette RADE Applications EN-ICE-MTA
91
Industrial Control Engineering RADE Applications EN-ICE-MTA 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.
92
Industrial Control Engineering MTA-lib: Time Palette RADE Applications EN-ICE-MTA
93
Industrial Control Engineering RADE Applications EN-ICE-MTA OpenG Use case: Wait/delay OpenG Additional functionalities: Wait on Error? Abort (optional) Also “Wait Until Next ms Multiple” LabVIEW
94
Industrial Control Engineering RADE Applications EN-ICE-MTA The right size front panel without effort ! Fit front panel to largest decoration MTA-lib: Application Control
95
Industrial Control Engineering www.cern.ch/rade
96
Industrial Control Engineering Questions
97
Industrial Control Engineering What is RADE? RADE Applications EN-ICE-MTA97 JAPC Databases
98
Industrial Control Engineering Distributed Architecture System I/O
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.