Presentation is loading. Please wait.

Presentation is loading. Please wait.

Industrial Control Engineering ADE Rapid Application Development Environment based on LabVIEW.

Similar presentations


Presentation on theme: "Industrial Control Engineering ADE Rapid Application Development Environment based on LabVIEW."— Presentation transcript:

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


Download ppt "Industrial Control Engineering ADE Rapid Application Development Environment based on LabVIEW."

Similar presentations


Ads by Google