37
ni.com NI Training & Certification Certified LabVIEW Developer Exam Preparation Course Jason Strydom Application Engineer National Instruments

Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

Embed Size (px)

Citation preview

Page 1: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

ni.com

NI Training & Certification

Certified LabVIEW Developer

Exam Preparation Course

Jason Strydom

Application Engineer

National Instruments

Page 2: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

2 ni.com

Agenda

• CLD exam process, format and scoring

• CLD exam objective and theme

• Design your way to exam success

• Preparation resources and exam tips

• Questions

Page 3: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

3 ni.com

CLD Exam Logistics

• CLD Exam Process

• CLD Exam Grading

Page 4: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

4 ni.com

CLD Exam Process

• A PC with LabVIEW 2013 is provided

• Application development specification includes the following:

• Screen shot of Front Panel and the VI on USB Key

• Description of the controls and indicators

• General requirements

• Functional specifications of the application

• LabVIEW documentation, Express VIs and examples may be used

• No external resources permitted

• Time allowed for exam: 4 hours

Page 5: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

5 ni.com

CLD Exam Grading Criteria

Grading Criteria Points on Exam Percentage

Functionality 15 37.5%

Style 15 37.5%

Documentation 10 25%

Total Points 40 100%

Passing grade is 70 % or higher

Page 6: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

6 ni.com

CLD Exam: Objectives and Themes

• CLD Exam Objectives

• CLD Exam Themes

Page 7: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

7 ni.com

What skills does a CLD demonstrate?

• Problem solving skills

• LabVIEW competency

• Modular, scalable, and maintainable application design experience

• Consistent documentation

• Moderate development (wiring) speed

• Debugging and testing

Page 8: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

8 ni.com

CLD Exam Theme

• Exams are based on a sequencer type application

• Step order is configurable via an input file or user interface

• Timing is an essential aspect of the application

• Output or log file may be required

• Application must respond to user interface activity within 100 ms

Page 9: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

9 ni.com

CLD Exam Theme Scenario – Sequencer

Step 1 Execute: x secs

Step 2 Execute: y secs

Step 3 Execute: z secs

Start

Program design should be scalable to adapt to additional steps

Page 10: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

10 ni.com

CLD Exam Theme Scenario – Sequencer

Wait for m secs

Wait for n secs

Wait f

or

k s

ecs

Program design should be scalable to adapt to additional steps

Step 1 Execute: x secs

Step 2 Execute: y secs

Step 3 Execute: z secs

Start

Page 11: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

11 ni.com

CLD Exam Theme Scenario – Sequencer

Step 1 Execute: x secs

Step 2 Execute: y secs

Step 3 Execute: z secs

Start

Step 2,10,2 Step 3,4,3 Step 1,6,5

*.csv / *.ini

Wait for m secs

Wait for n secs

Wait f

or

k s

ecs

Page 12: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

12 ni.com

CLD Exam Design

• Design Patterns

• Timing Methods

• Development Style

• Documentation

• Error Handling

Page 13: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

13 ni.com

Design Patterns for CLD Applications

Design Pattern Advantage Disadvantage

State machine • Handles sequence control

• Cannot handle storing of sequences

• May not be responsive enough to user

interface events

Page 14: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

14 ni.com

State Machine Design Pattern

Page 15: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

15 ni.com

Design Patterns for CLD Applications

Design Pattern Advantage Disadvantage

State machine • Handles sequence control

• Cannot handle storing of sequences

• May not be responsive enough to user

interface events

Queue based user

interface Event

Handler

• Extends state machine to

store sequences

• Handles user interface

events

• Does not allow intensive event or

sequence processing

• User interface events need to be

controlled by limiting access to front

panel controls

Page 16: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

16 ni.com

Queue Based UI Event Handler Design Pattern

Page 17: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

17 ni.com

Design Patterns for CLD Applications

Design Pattern Advantage Disadvantage

State machine • Handles sequence control

• Cannot handle storing of sequences

• May not be responsive enough to user

interface events

Queue based UI

Event Handler

• Extends state machine to

store sequences

• Handles user interface

events

• Does not allow intensive event or

sequence processing

• User interface events need to be

controlled by limiting access to FP

controls

Producer /

Consumer with

Events

• Responsive to user

interface events

• Allows intensive event and

sequence processing

• Does not integrate non-user interface

events well

Page 18: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

18 ni.com

Producer / Consumer Design Pattern

Page 19: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

19 ni.com

CLD Exam Design

1. Design Patterns

2. Timing Methods

3. Development Style

4. Documentation

5. Error Handling

Page 20: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

20 ni.com

Timing Methods for CLD Applications

o Execution timing control allows us to regulate how quickly a loop executes on the processor

Timing Type Timing Method Applications

Execution timing control

Wait (ms) Wait Until Next (ms) multiple

Regulate execution of state machine loop to allow other programs to run on the computer

Page 21: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

21 ni.com

Execution Timing Control

Page 22: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

22 ni.com

Timing Methods for CLD Applications

o Software timing control allows us to time a real-world operation to perform for a set time period.

Timing Type Timing Method Applications

Software timing control

Get Date/Time in sec. Tick Count

Good general purpose timing method for timing a sequence operation. Encapsulate in functional global or SubVI

Page 23: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

23 ni.com

Software Timing Control: Functional Global

Functional Global Using Get/Date Time In secs function

Page 24: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

24 ni.com

Timing Methods for CLD Applications

Timing Type Timing Method Applications

Software timing control

Get Date/Time in sec. Tick Count

Good general purpose timing method for timing a sequence operation. Encapsulate in functional global or SubVI

Express Elapsed time VI

Measures Elapsed time with stop / reset control functions. Ready made solution !!

Other useful Software timing control methods: • Event Case Timeout – Useful to stop an operation if no user activity is detected • Synchronization VI Timeout - Useful for executing an operation at specific time periods

Page 25: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

25 ni.com

Software Timing Control: Elapsed Time Express VI

Elapsed Time Express VI

This is a subVI from the Car Wash sample exam

Page 26: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

26 ni.com

CLD Exam Design

1. Design Patterns

2. Timing Methods

3. Development Style

4. Documentation

5. Error Handling

Page 27: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

27 ni.com

CLD Application Style Small things that make a Big Difference !!

• Avoid the use of local variables when you can use a wire

• Use property nodes to modify control attributes and control values but not indicator values

• Type-define reused enums and data structures

• Close references if opened explicitly

• Avoid data coercion and default tunnels

• Avoid copies of code - Develop SubVI if code is reused

• Create readable block diagram • Avoid unnecessary bends, overlapping objects, wires

Page 28: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

28 ni.com

Documenting CLD Applications Documentation Example

Label wires to identify their use

Label constants

Description and tool tips for UI controls

Block diagram comments

VI / SubVI Properties » Documentation

Tip: Brevity !!

Page 29: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

29 ni.com

CLD Exam Design

1. Design Patterns

2. Timing Methods

3. Development Style

4. Documentation

5. Error Handling

Page 30: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

30 ni.com

Error Handling in CLD Applications

Stop VI on error when specified

Page 31: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

31 ni.com

CLD Exam: Preparation

1. Preparation Resources

2. Effective Exam Preparation

3. Exam taking tips

Page 32: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

32 ni.com

Preparation Resources

• Browse to southafrica.ni.com

• Enter CLD in the search

• Click on resulting link:

• On the CLD page, click on the following link (bottom):

Page 33: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

33 ni.com

Tips for Exam Preparation

• Test yourself: • Time yourself through the sample exams

• Evaluate your solutions using the Exam Preparation Guide and the evaluation criteria given at the end of the guide

• Do better: • Incorporate best practices in all your LabVIEW projects

• Use the generic sequencer model to develop new scenarios

• Improve your coding speed – use Quick Drop!

• Find optimal ways to solve problems in LabVIEW

Page 34: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

34 ni.com

Tips for Exam

• Take a few minutes to plan your application • Decide on the best main VI architecture for the application

• Decide which modules / SubVIs you will need to create

• Decide on the timing method

• Focus on getting most of the core functionality working

• Document the VI and SubVIs

• Clean up block diagram towards the end

• Pace yourself…Time passes quickly when you are having fun!!

Page 35: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

35 ni.com

What happens after the exam?

• Exam proctor transmit exam project to NI for evaluation

• Candidates receive results in 4 weeks • Exams are evaluated by two engineers

• Successful candidates receive logos and certificate by mail • CLDs must recertify every two years or certify as CLA

• Unsuccessful candidates can improve on the feedback given on the evaluation sheet

• Re-attempt the exam when prepared

Page 37: Certified LabVIEW Developer Exam Preparation Coursesouthafrica.ni.com/sites/default/files/Certified LabVIEW Developer... · Certified LabVIEW Developer Exam Preparation Course

ni.com

Questions?