Upload
hoangngoc
View
343
Download
17
Embed Size (px)
Citation preview
ni.com
NI Training & Certification
Certified LabVIEW Developer
Exam Preparation Course
Jason Strydom
Application Engineer
National Instruments
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
3 ni.com
CLD Exam Logistics
• CLD Exam Process
• CLD Exam Grading
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
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
6 ni.com
CLD Exam: Objectives and Themes
• CLD Exam Objectives
• CLD Exam Themes
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
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
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
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
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
12 ni.com
CLD Exam Design
• Design Patterns
• Timing Methods
• Development Style
• Documentation
• Error Handling
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
14 ni.com
State Machine Design Pattern
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
16 ni.com
Queue Based UI Event Handler Design Pattern
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
18 ni.com
Producer / Consumer Design Pattern
19 ni.com
CLD Exam Design
1. Design Patterns
2. Timing Methods
3. Development Style
4. Documentation
5. Error Handling
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
21 ni.com
Execution Timing Control
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
23 ni.com
Software Timing Control: Functional Global
Functional Global Using Get/Date Time In secs function
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
25 ni.com
Software Timing Control: Elapsed Time Express VI
Elapsed Time Express VI
This is a subVI from the Car Wash sample exam
26 ni.com
CLD Exam Design
1. Design Patterns
2. Timing Methods
3. Development Style
4. Documentation
5. Error Handling
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
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 !!
29 ni.com
CLD Exam Design
1. Design Patterns
2. Timing Methods
3. Development Style
4. Documentation
5. Error Handling
30 ni.com
Error Handling in CLD Applications
Stop VI on error when specified
31 ni.com
CLD Exam: Preparation
1. Preparation Resources
2. Effective Exam Preparation
3. Exam taking tips
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):
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
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!!
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
36 ni.com
Additional Resources
• Darren Nattinger’s practical tips on CLD readiness • http://labviewartisan.blogspot.com/2009/01/labview-certification-
preparing-for-cld.html
• Re-watch the CLD Prep class online • http://www.youtube.com/watch?v=f8vpHkvhOyQ
• Email [email protected]
ni.com
Questions?